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

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
查看: 9775|回復: 11

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

[復制鏈接]
1#
發表于 2016-4-8 17:44:57 | 只看該作者 |倒序瀏覽 |閱讀模式
本帖最后由 劉景亞 于 2016-4-11 18:26 編輯
2 A) E& h* Y, S$ T2 S8 H$ k3 l$ d5 q- p8 i& P
前段時間的人機圍棋大戰賺足了人們的眼球,Google公司的AlphaGO也使機器學習和深度學習讓更多的人有了一定的了解,可謂做了一次很好的科技普及。
+ g, ~+ T2 F4 d, d8 T5 C" w現在我們從簡單問題入手,如何基于機器學習,通過自學習的方式讓機器人學會玩“石頭、剪刀、布”游戲?
6 s% P& R+ `1 o不知大家有何建議?歡迎大家發言參加討論。
0 T: u; O& \0 f3 J$ [
*******************************************************************************************8 a1 j$ B- B9 Z* I0 C
分割線以上為原貼. g( }/ E! P- b, O$ Y1 q3 M
*******************************************************************************************
5 M/ l/ p$ f9 g) G非常感謝各位大俠的參與和討論。
& [! y+ J9 N+ \' O關于機器人玩“石頭、剪子、布”游戲,我本打算分三個問題和步驟和大家一起探討。看到討論中,大家對這三個方面都有所涉及。
* g) U/ }2 h9 K+ f下面我把我對這個問題的認識拋出來與大家交流分享。
3 y! ?0 e4 c1 l/ {要讓一個機器人玩“石頭、剪刀、布”,我們分三步走。
1 \  P7 |, A# q第一步,如何讓機器人通過自學習的方式學會游戲規則?比如,一開始機器人并不知道石頭、剪子和布,哪個贏哪個,要玩游戲首先得學會規則。當然要實現這一步,有比較簡單的辦法,最直接的是程序員編程時,直接定義這個規則,這是以前經常用的傳統的方法。現在我們想通過一種新的方法來實現,讓機器人像小孩一樣,通過不斷地實踐、摸索和總結掌握這個規則,也就是自學習和機器學習。
  F( i/ D3 D9 T! {+ o: E第二步,如何讓機器人在掌握規則后大概率獲勝?
( g8 d! Q- l/ X! N' k" Z! K+ }第三步,能不能通過一種方法,使機器人在每局對戰時100%獲勝?( _$ D& B! c1 N3 p" _' L  N
*****************************************************************************************" w4 N. ^8 v- i$ z2 }( ^3 Q8 B5 i, o
關于第一步,可以用如下方法實現:讓機器人和人對戰,在對戰的實踐過程中訓練機器人,使其不斷自學習以掌握規則。在對戰,人始終隨機出,機器人一開始并不知道規則,也隨機出。贏了有獎勵,輸了有懲罰,隨著對戰次數的增多,機器人就會對出拳的種類形成“價值判斷”。在訓練過程中,機器人會反復判斷,是隨機出還是基于已經學到的部分知識。經過不斷訓練,機器人就會學會游戲規則。這個過程區別于以往的程序員直接定義,和人類的學習過程十分類似。; I5 T3 a. `, c2 j6 e
那么這個方法有沒有效果,我們驗證一下。  ?" N+ O2 E! m* f" [  w
下圖是我與機器人玩25局的情況,注意這個機器人一開始并不知道游戲規則。我隨機出拳,機器人一開始也隨機出,贏了獎勵,輸了懲罰。大家會發現,從第11局開始,機器人就已經完全掌握了規則。8 o- p+ e* I* g  f: {9 V

/ U5 C' |" D8 s* k5 b) ?- o

& q* P7 X+ @7 t) f% m$ s% ]- {' j3 N$ @  u/ t. g' W$ q: A

) F( S; x* x0 Z) ?; V: A" H  {1 }; U: y0 I9 U; C) _. }7 a: @

本帖子中包含更多資源

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

×
回復

使用道具 舉報

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

點評

我們要想一種方法,最終實現100%獲勝。  發表于 2016-4-11 18:20
3#
發表于 2016-4-8 18:15:31 | 只看該作者
應該上一個圖形處理系統,先分辨對面這家伙是誰,再決定怎么玩,
/ W7 K, E( Q1 u  a5 Y) I& i3 k9 X( c6 _& T
人的活動,是有固定姿態的,比如下一步怎么活動,有細微表現,總結了這些姿態,就可以勝了對面的家伙,
5 l- g+ A+ z4 R
. W/ B1 u- N  ^  B  ?

點評

998大俠高人,這是我們做這個系統的最終目的和最高境界。  發表于 2016-4-11 18:21
8也的觀點讓我想起了那個很有名的猜拳理論。高舉拳,將注意力放在對方的手上,在出手的一瞬間,按照人的行為習慣,手會有一個瞬時的形態變化,據此可判斷對方出的是什么。只要眼力好,勝率超過95%  發表于 2016-4-9 02:24
8爺,久仰大名。他表達的不是這個意思,他舉得是圍棋的例子。所以他想要知道的是邏輯上的自學習,簡單點說,就是第一次和這個人下棋因為走這一步輸了,下次他就不會再走這步了。是類似這種邏輯怎么用程序實現,  發表于 2016-4-8 20:04
8爺,久仰大名。他表達的不是這個意思,他舉得是圍棋的例子。所以他想要知道的是邏輯上的自學習,簡單點說,就是第一次和這個人下棋因為走這一步輸了,下次他就不會再走這步了。是類似這種邏輯怎么用程序實現,  發表于 2016-4-8 20:03
八爺學過心理學吧,我有一親戚,以前流行喝酒猜拳的時候,陌生人頂多剛開始會輸幾把。熟人逢他必喝,假如他想喝了才會故意輸。就是機靈,觀察細致  發表于 2016-4-8 18:22
4#
發表于 2016-4-8 18:38:22 | 只看該作者
本帖最后由 crazypeanut 于 2016-4-8 18:39 編輯
& B8 [9 Q; _4 k8 C4 U$ o+ t, Y
' N, c/ q. L4 Q0 O如果不考慮心理學因素的話,猜拳不是博弈系統,是一個純概率系統,樣本空間為(剪,石),(剪,布),(剪,剪),(石,剪),(石,布),(石,石),(布,剪),(布,石),(布,布)
) K' _4 z! H- `  d  ?4 \- v# J6 H. {; ^3 K3 {, i
獲勝組合是(剪,布),(石,剪),(布,石),概率為1/3,相應的,平局組合和輸掉組合均為1/3" Y6 @8 D3 y) p! h) o

! E' H4 A! z# L3 p, U因此,如果沒有心理學算法在里面,用隨機算法隨機選擇出拳的話,獲勝幾率不會超過1/3
7 J7 `" ?0 d$ P9 ~  T2 N3 G5 y
2 {8 n+ N$ p4 f: k6 A而將心理學因素考慮進去,就像8爺所說的,要加上圖形系統,增加了復雜性,也偏離了正道
: {) }( l  J0 S3 d& U
  r. t2 K# a5 t9 r$ f個人建議,選擇五子棋或者黑白棋作為研究對象更合適,五子棋和黑白棋應該算是最簡單的博弈系統了,棋子就黑白兩種,相對容易處理- w0 A% ^) ]. I# X" h

. D# l  N/ f3 p& Z7 k有人可能說井字棋更簡單,但是作為博弈系統,井子棋有不敗的策略,沒有太大的研究價值

點評

我在主樓對該系統做了進一步說明,歡迎探討交流。  發表于 2016-4-11 18:22
之前好像有一個日本的機械手,就是這么干的,動作相當靈活  詳情 回復 發表于 2016-4-8 19:06
998那方法,是“作弊”的方法,相當于滯后一步。要是根據上一步出法,就是考慮心理學,博弈和統計,求個概率勝法。  發表于 2016-4-8 18:56
5#
發表于 2016-4-8 19:06:20 | 只看該作者
crazypeanut 發表于 2016-4-8 18:38
) Y+ ^# z7 ^* m. X如果不考慮心理學因素的話,猜拳不是博弈系統,是一個純概率系統,樣本空間為(剪,石),(剪,布),(剪 ...

2 c; y% @$ @/ |: I9 u2 r4 m) _之前好像有一個日本的機械手,就是這么干的,動作相當靈活% h/ B6 D3 c% d

點評

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

點評

歡迎交流探討  發表于 2016-4-11 18:23
7#
發表于 2016-4-8 20:25:16 | 只看該作者
這是一個隨機概率的問題,石頭,剪刀,布就是三個動作點,然后隨機輸出一個動作點就會呈現一個動作就好了,從理論上來講是完全可行的

點評

實質就是這樣的了,又不是下象棋。象棋之類的話還要一個內核,一個掃描和伺服。你就石頭剪刀布的話就用幾個氣缸也可以控制手勢  發表于 2016-4-11 19:17
這個思路可進一步探討  發表于 2016-4-11 18:24
8#
發表于 2016-4-8 20:45:29 | 只看該作者
樓主的意思應該是“如何讓機器人學會玩剪刀石頭布”,而不是“使機器人玩”剪刀石頭布吧……
' Z7 a$ |  m% |) ?樓上都跑偏了吧

點評

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

點評

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

點評

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

本版積分規則

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

GMT+8, 2025-8-23 17:19 , Processed in 0.079199 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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