久久久国产一区二区_国产精品av电影_日韩精品中文字幕一区二区三区_精品一区二区三区免费毛片爱

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
查看: 9772|回復: 11

如何讓機器人通過自學習的方式學會玩“石頭、剪刀、布”游戲?

[復制鏈接]
#
發(fā)表于 2016-4-8 17:44:57 | 只看該作者 |正序瀏覽 |閱讀模式
本帖最后由 劉景亞 于 2016-4-11 18:26 編輯 % U5 ^2 t+ s. {

( @3 @* _  w" A. t' e  n前段時間的人機圍棋大戰(zhàn)賺足了人們的眼球,Google公司的AlphaGO也使機器學習和深度學習讓更多的人有了一定的了解,可謂做了一次很好的科技普及。7 h; a6 M  Q# Z- [; Q
現(xiàn)在我們從簡單問題入手,如何基于機器學習,通過自學習的方式讓機器人學會玩“石頭、剪刀、布”游戲?
' ^" \1 e8 ]8 C7 Y. B不知大家有何建議?歡迎大家發(fā)言參加討論。

. J6 E4 }; X( T3 b% l; k) H*******************************************************************************************
1 r, b6 F* K9 O% }4 x分割線以上為原貼
3 S4 g) s. a8 x3 @5 ?( i$ C*******************************************************************************************
! R5 Y. l' }4 X/ }/ w5 I非常感謝各位大俠的參與和討論。
# Z+ ~6 e1 y( @  u# ^! j3 Y# L關(guān)于機器人玩“石頭、剪子、布”游戲,我本打算分三個問題和步驟和大家一起探討。看到討論中,大家對這三個方面都有所涉及。' f( N3 c- ~; \' }  M' ?1 T
下面我把我對這個問題的認識拋出來與大家交流分享。
& E" A5 ]5 O. r! L要讓一個機器人玩“石頭、剪刀、布”,我們分三步走。- O9 @. t% I& O# S7 A
第一步,如何讓機器人通過自學習的方式學會游戲規(guī)則?比如,一開始機器人并不知道石頭、剪子和布,哪個贏哪個,要玩游戲首先得學會規(guī)則。當然要實現(xiàn)這一步,有比較簡單的辦法,最直接的是程序員編程時,直接定義這個規(guī)則,這是以前經(jīng)常用的傳統(tǒng)的方法。現(xiàn)在我們想通過一種新的方法來實現(xiàn),讓機器人像小孩一樣,通過不斷地實踐、摸索和總結(jié)掌握這個規(guī)則,也就是自學習和機器學習。
3 J: s# i5 E3 I0 I) z( J第二步,如何讓機器人在掌握規(guī)則后大概率獲勝?6 k$ s+ i4 x( z: S' C/ L
第三步,能不能通過一種方法,使機器人在每局對戰(zhàn)時100%獲勝?/ e& |& M5 s6 j
*****************************************************************************************
# b- E1 k( P# ~' g" n關(guān)于第一步,可以用如下方法實現(xiàn):讓機器人和人對戰(zhàn),在對戰(zhàn)的實踐過程中訓練機器人,使其不斷自學習以掌握規(guī)則。在對戰(zhàn),人始終隨機出,機器人一開始并不知道規(guī)則,也隨機出。贏了有獎勵,輸了有懲罰,隨著對戰(zhàn)次數(shù)的增多,機器人就會對出拳的種類形成“價值判斷”。在訓練過程中,機器人會反復判斷,是隨機出還是基于已經(jīng)學到的部分知識。經(jīng)過不斷訓練,機器人就會學會游戲規(guī)則。這個過程區(qū)別于以往的程序員直接定義,和人類的學習過程十分類似。
+ Y7 F4 V: C0 d/ C4 Y3 e$ J+ J那么這個方法有沒有效果,我們驗證一下。4 j" B" H. |. B* S
下圖是我與機器人玩25局的情況,注意這個機器人一開始并不知道游戲規(guī)則。我隨機出拳,機器人一開始也隨機出,贏了獎勵,輸了懲罰。大家會發(fā)現(xiàn),從第11局開始,機器人就已經(jīng)完全掌握了規(guī)則。: a! `+ u* \! j; Y6 Q
' g% t, V8 _+ \! [

) A8 X! R. u" S( a- _1 m- `$ P8 d1 o3 Y% h. n4 R$ R

; w% B8 g, H, c' m1 I) c, H' W
# h8 P* n) x# q9 u& H# M7 f7 L2 @1 h

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有賬號?注冊會員

×
回復

使用道具 舉報

12#
發(fā)表于 2016-5-8 09:46:29 | 只看該作者
樓主位沒有說明,這個機器人是帶視覺識別系統(tǒng)的吧?8 {, r, @0 w/ J% O- o, r! K. }) ]" \
單純從概率和經(jīng)驗上,是無法判斷人接下去出什么的。
: p3 n; {" l! C0 ?% K, j
11#
 樓主| 發(fā)表于 2016-4-11 18:42:59 | 只看該作者
下圖是我與機器人每次玩25局,重復了6次的實驗結(jié)果。' \4 w% f" S, s6 c! s* Q
圖中1表示機器人勝,2表示機器人負,3表示平局。" d7 v1 a( G6 _* s9 ]: @& N
可以看出,機器人基本上在10局左右,就會掌握規(guī)則。
0 ~8 ]4 h. J0 g7 `! C' i

6 s  P( O+ [( m, L' j: L8 H2 K! m' Y: K# d2 ?8 [" x6 P7 S

! S0 c, ^# m: v$ q1 u) v

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有賬號?注冊會員

×

評分

參與人數(shù) 1威望 +1 收起 理由
不懂的太多xx + 1

查看全部評分

10#
發(fā)表于 2016-4-11 10:14:52 | 只看該作者
用上“分歧終端機”呢,非誠勿擾里的那個

點評

可作為應(yīng)用案例  發(fā)表于 2016-4-11 18:25
9#
發(fā)表于 2016-4-9 07:58:07 | 只看該作者
可以根據(jù)對方出拳的情況,用多項式擬合,然后用多項式預(yù)測下一步對方出什么,對方每出一次拳,就修正多項式

點評

這個方法可行性可進一步討論  發(fā)表于 2016-4-11 18:25
8#
發(fā)表于 2016-4-8 20:45:29 | 只看該作者
樓主的意思應(yīng)該是“如何讓機器人學會玩剪刀石頭布”,而不是“使機器人玩”剪刀石頭布吧……3 y1 f, Q' k# I7 V! l5 I8 C5 f
樓上都跑偏了吧

點評

大家討論的問題都會涉及,我在主樓做了進一步說明。  發(fā)表于 2016-4-11 18:24
7#
發(fā)表于 2016-4-8 20:25:16 | 只看該作者
這是一個隨機概率的問題,石頭,剪刀,布就是三個動作點,然后隨機輸出一個動作點就會呈現(xiàn)一個動作就好了,從理論上來講是完全可行的

點評

實質(zhì)就是這樣的了,又不是下象棋。象棋之類的話還要一個內(nèi)核,一個掃描和伺服。你就石頭剪刀布的話就用幾個氣缸也可以控制手勢  發(fā)表于 2016-4-11 19:17
這個思路可進一步探討  發(fā)表于 2016-4-11 18:24
6#
發(fā)表于 2016-4-8 19:54:31 | 只看該作者
     玩石頭剪刀布沒問題。很簡單。生成1 2 3 隨機數(shù)分別代表石頭剪刀布。  自學習估計這個論壇里懂得就少了。去個程序員論壇估計能弄明白自學習的程序的都不多。頂多就是 分析下 這個人出什么的概率,和出完什么再出什么的概率。然后弄個算法分析下他會出什么的概率最大。再高科技點,就分析他出什么之前的渾身表情動作等。

點評

歡迎交流探討  發(fā)表于 2016-4-11 18:23
5#
發(fā)表于 2016-4-8 19:06:20 | 只看該作者
crazypeanut 發(fā)表于 2016-4-8 18:38 # Z1 A) A! w7 e. `8 Q+ f
如果不考慮心理學因素的話,猜拳不是博弈系統(tǒng),是一個純概率系統(tǒng),樣本空間為(剪,石),(剪,布),(剪 ...
/ [+ p, b! ]. X! }" B, |; R
之前好像有一個日本的機械手,就是這么干的,動作相當靈活
! |' d+ f- q" w. d

點評

實質(zhì)就是這樣的了,又不是下象棋。象棋之類的話還要一個內(nèi)核,一個掃描和伺服。你就石頭剪刀布的話就用幾個氣缸也可以控制手勢  發(fā)表于 2016-4-11 19:17
日本東京大學的研究室  發(fā)表于 2016-4-11 18:22
4#
發(fā)表于 2016-4-8 18:38:22 | 只看該作者
本帖最后由 crazypeanut 于 2016-4-8 18:39 編輯 - S1 x% [# ]( Y( u' ^5 S  H
1 T9 q1 G2 s( t7 v" L
如果不考慮心理學因素的話,猜拳不是博弈系統(tǒng),是一個純概率系統(tǒng),樣本空間為(剪,石),(剪,布),(剪,剪),(石,剪),(石,布),(石,石),(布,剪),(布,石),(布,布)
7 i7 V% `; ^- l4 t2 |1 @) y6 b2 q. e% ?" N8 ?# W$ n& U
獲勝組合是(剪,布),(石,剪),(布,石),概率為1/3,相應(yīng)的,平局組合和輸?shù)艚M合均為1/3
) y/ [8 |0 H. B5 l3 G: Z& Y; e4 U" t
因此,如果沒有心理學算法在里面,用隨機算法隨機選擇出拳的話,獲勝幾率不會超過1/3! ~2 R0 J% e& C2 d% q7 k2 s
% j4 d, @/ v( J9 _. W# {
而將心理學因素考慮進去,就像8爺所說的,要加上圖形系統(tǒng),增加了復雜性,也偏離了正道0 u, ]. y. l, {' _' x% P

, n( Y8 K3 j4 {9 @9 |% }& N( H個人建議,選擇五子棋或者黑白棋作為研究對象更合適,五子棋和黑白棋應(yīng)該算是最簡單的博弈系統(tǒng)了,棋子就黑白兩種,相對容易處理
* I5 l3 T* @7 Y. a7 W' [% A" ]& x: X/ m
有人可能說井字棋更簡單,但是作為博弈系統(tǒng),井子棋有不敗的策略,沒有太大的研究價值

點評

我在主樓對該系統(tǒng)做了進一步說明,歡迎探討交流。  發(fā)表于 2016-4-11 18:22
之前好像有一個日本的機械手,就是這么干的,動作相當靈活  詳情 回復 發(fā)表于 2016-4-8 19:06
998那方法,是“作弊”的方法,相當于滯后一步。要是根據(jù)上一步出法,就是考慮心理學,博弈和統(tǒng)計,求個概率勝法。  發(fā)表于 2016-4-8 18:56
3#
發(fā)表于 2016-4-8 18:15:31 | 只看該作者
應(yīng)該上一個圖形處理系統(tǒng),先分辨對面這家伙是誰,再決定怎么玩,! |: m2 M$ D( Q& p, ^$ S
) V' M; ]7 B0 v
人的活動,是有固定姿態(tài)的,比如下一步怎么活動,有細微表現(xiàn),總結(jié)了這些姿態(tài),就可以勝了對面的家伙,: i) K( x+ i( ^4 ?5 w
  D# ~4 y) A6 @

點評

998大俠高人,這是我們做這個系統(tǒng)的最終目的和最高境界。  發(fā)表于 2016-4-11 18:21
8也的觀點讓我想起了那個很有名的猜拳理論。高舉拳,將注意力放在對方的手上,在出手的一瞬間,按照人的行為習慣,手會有一個瞬時的形態(tài)變化,據(jù)此可判斷對方出的是什么。只要眼力好,勝率超過95%  發(fā)表于 2016-4-9 02:24
8爺,久仰大名。他表達的不是這個意思,他舉得是圍棋的例子。所以他想要知道的是邏輯上的自學習,簡單點說,就是第一次和這個人下棋因為走這一步輸了,下次他就不會再走這步了。是類似這種邏輯怎么用程序?qū)崿F(xiàn),  發(fā)表于 2016-4-8 20:04
8爺,久仰大名。他表達的不是這個意思,他舉得是圍棋的例子。所以他想要知道的是邏輯上的自學習,簡單點說,就是第一次和這個人下棋因為走這一步輸了,下次他就不會再走這步了。是類似這種邏輯怎么用程序?qū)崿F(xiàn),  發(fā)表于 2016-4-8 20:03
八爺學過心理學吧,我有一親戚,以前流行喝酒猜拳的時候,陌生人頂多剛開始會輸幾把。熟人逢他必喝,假如他想喝了才會故意輸。就是機靈,觀察細致  發(fā)表于 2016-4-8 18:22
您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規(guī)則

Archiver|手機版|小黑屋|機械社區(qū) ( 京ICP備10217105號-1,京ICP證050210號,浙公網(wǎng)安備33038202004372號 )

GMT+8, 2025-8-23 13:01 , Processed in 0.112297 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回復 返回頂部 返回列表