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

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
查看: 9767|回復: 11

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

[復制鏈接]
1#
發(fā)表于 2016-4-8 17:44:57 | 只看該作者 |倒序瀏覽 |閱讀模式
本帖最后由 劉景亞 于 2016-4-11 18:26 編輯
1 @+ h! t; s/ _# }' J7 C+ ~' B7 y' C1 w4 z9 g- D% g
前段時間的人機圍棋大戰(zhàn)賺足了人們的眼球,Google公司的AlphaGO也使機器學習和深度學習讓更多的人有了一定的了解,可謂做了一次很好的科技普及。
0 B1 n/ \; D' j  l現(xiàn)在我們從簡單問題入手,如何基于機器學習,通過自學習的方式讓機器人學會玩“石頭、剪刀、布”游戲?  v" Q1 a# `8 F2 n) D
不知大家有何建議?歡迎大家發(fā)言參加討論。

, N! C1 C# R" r3 D/ s# k7 t*******************************************************************************************: t: G, o% a2 C4 U) Z; R0 S
分割線以上為原貼' w0 H) R* K3 }# C; w" u! m% U
*******************************************************************************************
* G& }" e* w* U( l: U: G非常感謝各位大俠的參與和討論。
: n2 C7 a8 J4 a# j, I! k6 o1 U關(guān)于機器人玩“石頭、剪子、布”游戲,我本打算分三個問題和步驟和大家一起探討??吹接懻撝?,大家對這三個方面都有所涉及。" d$ R/ V# V* f, k. U3 Y( {3 `
下面我把我對這個問題的認識拋出來與大家交流分享。
7 A% M7 H9 O* J/ l$ @' s! z& @- G! \9 v5 Z要讓一個機器人玩“石頭、剪刀、布”,我們分三步走。7 m5 t& K% Z7 Q3 Z( |8 P
第一步,如何讓機器人通過自學習的方式學會游戲規(guī)則?比如,一開始機器人并不知道石頭、剪子和布,哪個贏哪個,要玩游戲首先得學會規(guī)則。當然要實現(xiàn)這一步,有比較簡單的辦法,最直接的是程序員編程時,直接定義這個規(guī)則,這是以前經(jīng)常用的傳統(tǒng)的方法。現(xiàn)在我們想通過一種新的方法來實現(xiàn),讓機器人像小孩一樣,通過不斷地實踐、摸索和總結(jié)掌握這個規(guī)則,也就是自學習和機器學習。
2 F( H/ g; }. n3 Q( G第二步,如何讓機器人在掌握規(guī)則后大概率獲勝?
' y8 c1 z* D; w2 k. W1 ?" h第三步,能不能通過一種方法,使機器人在每局對戰(zhàn)時100%獲勝?9 T3 n1 k# \8 X0 x' q
*****************************************************************************************
! c* r5 V" y1 I3 t! i  v關(guān)于第一步,可以用如下方法實現(xiàn):讓機器人和人對戰(zhàn),在對戰(zhàn)的實踐過程中訓練機器人,使其不斷自學習以掌握規(guī)則。在對戰(zhàn),人始終隨機出,機器人一開始并不知道規(guī)則,也隨機出。贏了有獎勵,輸了有懲罰,隨著對戰(zhàn)次數(shù)的增多,機器人就會對出拳的種類形成“價值判斷”。在訓練過程中,機器人會反復判斷,是隨機出還是基于已經(jīng)學到的部分知識。經(jīng)過不斷訓練,機器人就會學會游戲規(guī)則。這個過程區(qū)別于以往的程序員直接定義,和人類的學習過程十分類似。* [1 E4 y  r1 z: Z) P; X
那么這個方法有沒有效果,我們驗證一下。
$ v& X5 U! X8 k4 L- Z下圖是我與機器人玩25局的情況,注意這個機器人一開始并不知道游戲規(guī)則。我隨機出拳,機器人一開始也隨機出,贏了獎勵,輸了懲罰。大家會發(fā)現(xiàn),從第11局開始,機器人就已經(jīng)完全掌握了規(guī)則。, k: W  z. l! m; U( G& s- ^
) c8 c5 |" G: f+ f9 u# c/ Q8 A

0 S1 }& F, J5 ^. \# s: V/ {2 L+ J+ K# L, d5 P9 }

, {" p, Q6 H: s; f- u! N" a* t
$ D9 T( I$ r! G9 W5 v+ |' S1 g

本帖子中包含更多資源

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

×
回復

使用道具 舉報

2#
發(fā)表于 2016-4-8 17:54:56 | 只看該作者
這種純概率的東西,要做算法是很簡單,但是勝率要提上去不容易啊

點評

我們要想一種方法,最終實現(xiàn)100%獲勝。  發(fā)表于 2016-4-11 18:20
3#
發(fā)表于 2016-4-8 18:15:31 | 只看該作者
應(yīng)該上一個圖形處理系統(tǒng),先分辨對面這家伙是誰,再決定怎么玩,
0 ~8 f& Q' g' m) Q! x4 y5 V# c: O/ V7 |/ b5 O- o
人的活動,是有固定姿態(tài)的,比如下一步怎么活動,有細微表現(xiàn),總結(jié)了這些姿態(tài),就可以勝了對面的家伙,/ A* V. [2 t1 e0 \
6 H* v, a! G( z9 V& }# }

點評

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
4#
發(fā)表于 2016-4-8 18:38:22 | 只看該作者
本帖最后由 crazypeanut 于 2016-4-8 18:39 編輯 7 I% r0 C! e8 e$ \/ _! _3 T, J

, {/ q0 r" g3 S$ ^如果不考慮心理學因素的話,猜拳不是博弈系統(tǒng),是一個純概率系統(tǒng),樣本空間為(剪,石),(剪,布),(剪,剪),(石,剪),(石,布),(石,石),(布,剪),(布,石),(布,布)
2 [7 L9 |; L* B8 j) T( G( q
  @4 I( D2 u1 p' [; |- j$ e獲勝組合是(剪,布),(石,剪),(布,石),概率為1/3,相應(yīng)的,平局組合和輸?shù)艚M合均為1/3
8 v. B$ \$ P4 R, c" Q- a" j6 \0 U3 k- E* ?( ]% A
因此,如果沒有心理學算法在里面,用隨機算法隨機選擇出拳的話,獲勝幾率不會超過1/3
  q' j/ R6 H! K; A* e0 R) z, \7 v; a
而將心理學因素考慮進去,就像8爺所說的,要加上圖形系統(tǒng),增加了復雜性,也偏離了正道* c) t/ m, K& A- o5 ?. |& X# W: M
( R& g/ h2 C# p* z
個人建議,選擇五子棋或者黑白棋作為研究對象更合適,五子棋和黑白棋應(yīng)該算是最簡單的博弈系統(tǒng)了,棋子就黑白兩種,相對容易處理: o; m/ M0 P' D

& R; K0 x- f! N; }, z! ?有人可能說井字棋更簡單,但是作為博弈系統(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
5#
發(fā)表于 2016-4-8 19:06:20 | 只看該作者
crazypeanut 發(fā)表于 2016-4-8 18:38
$ E% V# K. n: C9 d如果不考慮心理學因素的話,猜拳不是博弈系統(tǒng),是一個純概率系統(tǒng),樣本空間為(剪,石),(剪,布),(剪 ...

& y/ S1 ^3 v: j之前好像有一個日本的機械手,就是這么干的,動作相當靈活# L) t5 x2 K- f/ Q8 m2 v- y

點評

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

點評

歡迎交流探討  發(fā)表于 2016-4-11 18:23
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
8#
發(fā)表于 2016-4-8 20:45:29 | 只看該作者
樓主的意思應(yīng)該是“如何讓機器人學會玩剪刀石頭布”,而不是“使機器人玩”剪刀石頭布吧……# V! B5 K6 w$ S3 V6 \6 t
樓上都跑偏了吧

點評

大家討論的問題都會涉及,我在主樓做了進一步說明。  發(fā)表于 2016-4-11 18:24
9#
發(fā)表于 2016-4-9 07:58:07 | 只看該作者
可以根據(jù)對方出拳的情況,用多項式擬合,然后用多項式預(yù)測下一步對方出什么,對方每出一次拳,就修正多項式

點評

這個方法可行性可進一步討論  發(fā)表于 2016-4-11 18:25
10#
發(fā)表于 2016-4-11 10:14:52 | 只看該作者
用上“分歧終端機”呢,非誠勿擾里的那個

點評

可作為應(yīng)用案例  發(fā)表于 2016-4-11 18:25
您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規(guī)則

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

GMT+8, 2025-8-23 10:05 , Processed in 0.081613 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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