[爆卦]井字遊戲怎麼玩不會輸是什麼?優點缺點精華區懶人包

為什麼這篇井字遊戲怎麼玩不會輸鄉民發文收入到精華區:因為在井字遊戲怎麼玩不會輸這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!發信人[email protected] (scwei),看板Programming標 ...



: o=>PC x=>USER
: x . . x . . x . . x . o x . o x . o x . o
: . . . => . o . => . o . => . o . => . o . => o o . => o o .
: . . . . . . . . x . . x x . x x . x x x x
^^^^^

把這一步換成其他方式可以不敗,但要勝利還要使用者失誤


: 於是電腦就輸啦..其它三種只是這個的旋轉罷了..
: 問題來啦..上面每一步都是合情合理的啊..
: 應該要怎麼判斷,才能讓電腦能夠勝呢??
: 我實在想不出來.. :~~~~(
: 所以我懷疑沒有不敗的井字遊戲耶.. 還是我漏想了什麼呢??
以前有看過一本書,先下的人絕對不會輸的擺法...
* - -
- - -
* - *
只要掌握到這三*,就不會輸

但要一定贏我想應該沒有這種演算法...

: 有沒有絕對不敗的演算法存在呢??

> -------------------------------------------------------------------------- <

發信人: [email protected] (璉璉), 看板: Programming
標 題: Re: 沒有不敗的井字遊戲??!!
發信站: 成大資訊所_BBS (Mon Dec 14 09:18:58 1998)
轉信站: Ptt!news.ntu!bbs.ee.ntu!freebsd.ntu!news.cs.nthu!netnews.csie.nctu!net

==> [email protected] (_/ Tako \_) 在 programming 版提到:
: 最近我寫了一個井字遊戲程式,可以讓USER先下..
: 然後我讓電腦自己測試走完所有的步數..得到這個結果..
: 若USER先下,共有617種結果..
: 電腦勝的結果有417種..電腦敗的有4種..和局的有196種
: 大家一定和我覺得很奇怪..電腦也會敗?? (難道程式寫得太爛嗎?? :P)
: 我想來想去,人工判斷應該沒問題啊..怎麼會有這4種呢..
: 我把這4種調出來看..發現它是這樣的走法..
: o=>PC x=>USER
: x . . x . . x . . x . o x . o x . o x . o
: . . . => . o . => . o . => . o . => . o . => o o . => o o .
: . . . . . . . . x . . x x . x x . x x x x

x . . x . . x . . x o . x o . x o . x o x x o x x o x
. . . => . o . => . o . => . o . => . o . => . o . => . o . => . o o => x o o
. . . . . . . . x . . x . x x o x x o x x o x x o x x

: 於是電腦就輸啦..其它三種只是這個的旋轉罷了..
: 問題來啦..上面每一步都是合情合理的啊..
: 應該要怎麼判斷,才能讓電腦能夠勝呢??
: 我實在想不出來.. :~~~~(
: 所以我懷疑沒有不敗的井字遊戲耶.. 還是我漏想了什麼呢??
: 有沒有絕對不敗的演算法存在呢??

因為你的程式下錯步!!
增加考慮因程式下的點, 導致對手的守步會如何走.
--
______________________________________________________本版因有你們而壯大
T.L. Cheng 子璉
_______________________________________________________________________.
請各位來成大資研BBS BASIC 版坐坐, 也歡迎你討論 WinHelp
請支援成立 BASIC討論版及 News Group, 讓 BASIC有個家!
2-D 徐昇網分析 (含交集分析) http://feitsui.hyd.ncku.edu.tw/TLCheng/Thiessen/
--
Origin: 成大資工BBS站 (vlsi1.csie.ncku.edu.tw) From: 140.116.77.68

> -------------------------------------------------------------------------- <

發信人: [email protected] (多喝水), 看板: Programming
標 題: Re: 沒有不敗的井字遊戲??!!
發信站: 紅色魔鬼 (Mon Dec 14 11:56:38 1998)
轉信站: Ptt!news.ntu!bbs.ee.ntu!freebsd.ntu!news.cs.nthu!news.im.fju!bsd1



只要能佔住一角和中間就不會輸了......
先考慮角及中間.....
(1)一角被佔即佔中間.....考慮有無危險....
無危險則再佔住任一角.........
(2)中間被佔....則任佔一角......接下來只要考慮有無危險即可....
無危險則任意下.......


--
Origin: 紅色魔鬼(bsd.im.fju.edu.tw) From: alphac4.im.fju.edu.tw



> -------------------------------------------------------------------------- <

發信人: [email protected] (Class 類別的物件), 看板: Programming
標 題: Re: 沒有不敗的井字遊戲??!!
發信站: 台北科大電子DORAMI (Mon Dec 14 12:20:47 1998)
轉信站: Ptt!news.ntu!news.mcu!news.cs.nthu!netnews.csie.nctu!aidebbs!dorami

【 在 [email protected] (_/ Tako \_) 的大作中提到: 】
: 最近我寫了一個井字遊戲程式,可以讓USER先下..
: 然後我讓電腦自己測試走完所有的步數..得到這個結果..
: 若USER先下,共有617種結果..
: 電腦勝的結果有417種..電腦敗的有4種..和局的有196種
: 大家一定和我覺得很奇怪..電腦也會敗?? (難道程式寫得太爛嗎?? :P)
: 我想來想去,人工判斷應該沒問題啊..怎麼會有這4種呢..
: 我把這4種調出來看..發現它是這樣的走法..
: o=>PC x=>USER
: x . . x . . x . . x . o x . o x . o x . o
: . . . => . o . => b o . => . o . => . o . => o o . => o o .
: . . . . . . a c x . . x x . x x . x x x x
--1-- --2--

--1--: 以下五子棋的觀點來說, 當對手有連成雙活二 ( 因為三顆棋就贏了 )
你就必須要把對手的其中一個造成雙活二的棋檔住.. 所以並不會走 --2--
因為以那樣的走法, 並沒有把對手的棋步檔住, 反而你那一步是白下的..
而要檔住對方的雙活二, 有三個點一定要選擇一點檔住, 即 a, b, c 三點.

搞不懂為何你要這樣下.. 那當然不會平手...
要這樣下才對.....
x . . x . . x . . x . . x . . x . o x . o
. . . => . o . => . o . => o o . => o o x => o o x => o o x => ... 合局..
. . . . . . . . x . . x . . x . . x x . x

: 於是電腦就輸啦..其它三種只是這個的旋轉罷了..
: 問題來啦..上面每一步都是合情合理的啊..
: 應該要怎麼判斷,才能讓電腦能夠勝呢??
: 我實在想不出來.. :~~~~(
: 所以我懷疑沒有不敗的井字遊戲耶.. 還是我漏想了什麼呢??
: 有沒有絕對不敗的演算法存在呢??

你的程式寫錯了啦..
井字遊戲應該是
只有雙方平手的情況才對.. ( 因為我曾把所有的棋步都畫過一次 )
你有把所有的情況都手畫過一次嗎?
一定是雙方合棋.. 不然就是有一方不會玩.. 棋力不夠.. 懂嗎?
若user 先下.. 電腦是一點贏的機會也沒有的...

--
※ 來源:‧北科大電子 DORAMI bbs.en.ntut.edu.tw‧[FROM: sun.cc.ntut.edu.tw]

> -------------------------------------------------------------------------- <

發信人: [email protected] (kee), 看板: Programming
標 題: Re: 沒有不敗的井字遊戲??!!
發信站: Unconfigured (Mon Dec 14 21:02:46 1998)
轉信站: Ptt!news.ntu!ctu-gate!news.nctu!newsfeed.berkeley.edu!news-peer1.sprin

On 13 Dec 1998 17:31:43 GMT, [email protected] (_/ Tako \_)
wrote:

>最近我寫了一個井字遊戲程式,可以讓USER先下..
>然後我讓電腦自己測試走完所有的步數..得到這個結果..
>
>若USER先下,共有617種結果..
>電腦勝的結果有417種..電腦敗的有4種..和局的有196種
>
>大家一定和我覺得很奇怪..電腦也會敗?? (難道程式寫得太爛嗎?? :P)
>我想來想去,人工判斷應該沒問題啊..怎麼會有這4種呢..
>我把這4種調出來看..發現它是這樣的走法..
>
>o=>PC x=>USER
>
> x . . x . . x . . x . o x . o x . o x . o
> . . . => . o . => . o . => . o . => . o . => o o . => o o .
> . . . . . . . . x . . x x . x x . x x x x

這 o 只要下在 x 的對角, x 便難以取勝了。

x . . x . .
.. . . => . . .
.. . . . . o


>
>於是電腦就輸啦..其它三種只是這個的旋轉罷了..
>
>問題來啦..上面每一步都是合情合理的啊..
>應該要怎麼判斷,才能讓電腦能夠勝呢??
>我實在想不出來.. :~~~~(
>
>所以我懷疑沒有不敗的井字遊戲耶.. 還是我漏想了什麼呢??
>有沒有絕對不敗的演算法存在呢??
>
>--
> * Origin: ★ 交通大學資訊科學系 BBS ★ <bbs.cis.nctu.edu.tw: 140.113.23.3>


> -------------------------------------------------------------------------- <

發信人: [email protected] (PA), 看板: Programming
標 題: Re: 沒有不敗的井字遊戲??!!
發信站: 從零開始 (Mon Dec 14 21:24:43 1998)
轉信站: Ptt!news.ntu!bbs.ee.ntu!freebsd.ntu!fromzero

※ 引述《[email protected] (kee)》之銘言:
: On 13 Dec 1998 17:31:43 GMT, [email protected] (_/ Tako \_)
: wrote:
: >最近我寫了一個井字遊戲程式,可以讓USER先下..
: >然後我讓電腦自己測試走完所有的步數..得到這個結果..
: >若USER先下,共有617種結果..
: >電腦勝的結果有417種..電腦敗的有4種..和局的有196種
: >大家一定和我覺得很奇怪..電腦也會敗?? (難道程式寫得太爛嗎?? :P)
: >我想來想去,人工判斷應該沒問題啊..怎麼會有這4種呢..
: >我把這4種調出來看..發現它是這樣的走法..
: >o=>PC x=>USER
: > x . . x . . x . . x . o x . o x . o x . o
: > . . . => . o . => . o . => . o . => . o . => o o . => o o .
: > . . . . . . . . x . . x x . x x . x x x x
x . . x . . x . o
o o . => o o x => o o x => 合棋
. . x . . x . . x
形成 oo. 的優先權應該高於阻檔對方形成 n xx. 的優先權!

: 這 o 只要下在 x 的對角, x 便難以取勝了。
: x . . x . .
: .. . . => . . .
: .. . . . . o
: >於是電腦就輸啦..其它三種只是這個的旋轉罷了..
: >問題來啦..上面每一步都是合情合理的啊..
: >應該要怎麼判斷,才能讓電腦能夠勝呢??
: >我實在想不出來.. :~~~~(
: >所以我懷疑沒有不敗的井字遊戲耶.. 還是我漏想了什麼呢??
: >有沒有絕對不敗的演算法存在呢??
: >--
: > * Origin: ★ 交通大學資訊科學系 BBS ★ <bbs.cis.nctu.edu.tw: 140.113.23.3>

> -------------------------------------------------------------------------- <

發信人: [email protected] (吸血鬼~怒焰), 看板: Programming
標 題: Re: 沒有不敗的井字遊戲??!!
發信站: 台灣科技大學銀河之旅 (Tue Dec 15 09:34:25 1998)
轉信站: Ptt!news.ntu!ctu-gate!news.nctu!news.ee.ntust!NTUST_MI

【 在 [email protected] (_/ Tako \_) 的大作中提到: 】
: 最近我寫了一個井字遊戲程式,可以讓USER先下..
: 然後我讓電腦自己測試走完所有的步數..得到這個結果..
: 若USER先下,共有617種結果..
: 電腦勝的結果有417種..電腦敗的有4種..和局的有196種
: 大家一定和我覺得很奇怪..電腦也會敗?? (難道程式寫得太爛嗎?? :P)
: 我想來想去,人工判斷應該沒問題啊..怎麼會有這4種呢..
: 我把這4種調出來看..發現它是這樣的走法..
: o=>PC x=>USER
: x . . x . . x . . x . o x . o x . o x . o
: . . . => . o . => . o . => . o . => . o . => o o . => o o .
: . . . . . . . . x . . x x . x x . x x x x
: 於是電腦就輸啦..其它三種只是這個的旋轉罷了..
: 問題來啦..上面每一步都是合情合理的啊..
: 應該要怎麼判斷,才能讓電腦能夠勝呢??
: 我實在想不出來.. :~~~~(
: 所以我懷疑沒有不敗的井字遊戲耶.. 還是我漏想了什麼呢??
: 有沒有絕對不敗的演算法存在呢??

遊戲程式的寫法若能使用遊戲樹的觀點去跑一次
把會輸的走法移除不讓電腦下
這樣子就頂多會出現和的机會了
就不會出現輸的机會...

--
※ 來源:台灣科技大學銀河之旅 BBS[bbs.cs.ntust.edu.tw] ◆來自:140.118.41.160

> -------------------------------------------------------------------------- <

發信人: [email protected] (璉璉), 看板: Programming
標 題: Re: 沒有不敗的井字遊戲??!!
發信站: 成大資訊所_BBS (Tue Dec 15 10:36:17 1998)
轉信站: Ptt!news.ntu!ctu-gate!news.nctu!netnews.csie.nctu!netnews2.csie.nctu!n

==> [email protected] (kee) 在 programming 版提到:
: On 13 Dec 1998 17:31:43 GMT, [email protected] (_/ Tako \_)
: wrote:
: >最近我寫了一個井字遊戲程式,可以讓USER先下..
: >然後我讓電腦自己測試走完所有的步數..得到這個結果..
: >若USER先下,共有617種結果..
: >電腦勝的結果有417種..電腦敗的有4種..和局的有196種
: >大家一定和我覺得很奇怪..電腦也會敗?? (難道程式寫得太爛嗎?? :P)
: >我想來想去,人工判斷應該沒問題啊..怎麼會有這4種呢..
: >我把這4種調出來看..發現它是這樣的走法..
: >o=>PC x=>USER
: > x . . x . . x . . x . o x . o x . o x . o
: > . . . => . o . => . o . => . o . => . o . => o o . => o o .
: > . . . . . . . . x . . x x . x x . x x x x
: 這 o 只要下在 x 的對角, x 便難以取勝了。
: x . . x . .
: . . . => . . .
: . . . . . o

o 這是必輸的下法耶! x就能必勝! 主導權一路掌握在 x中!
x . . x . . x . . x . . x . x
. . . => . . . => . . . => o . . => o . .
. . . . . o x . o x . o x . o

雙活二!!
o 就輸了
--
______________________________________________________本版因有你們而壯大
T.L. Cheng 子璉
_______________________________________________________________________.
請各位來成大資研BBS BASIC 版坐坐, 也歡迎你討論 WinHelp
請支援成立 BASIC討論版及 News Group, 讓 BASIC有個家!
2-D 徐昇網分析 (含交集分析) http://feitsui.hyd.ncku.edu.tw/TLCheng/Thiessen/
--
Origin: 成大資工BBS站 (vlsi1.csie.ncku.edu.tw) From: 140.116.77.68

> -------------------------------------------------------------------------- <

發信人: [email protected] (等待...), 看板: Programming
標 題: Re: 沒有不敗的井字遊戲??!!
發信站: 成大工科忘情小築 (Tue Dec 15 11:41:12 1998)
轉信站: Ptt!news.ntu!spring!news.csie.ncu!news.ice.cycu!ccnews.nsysu!news.civi

: o 這是必輸的下法耶! x就能必勝! 主導權一路掌握在 x中!
: x . . x . . x . . x . . x . x
: . . . => . . . => . . . => o . . => o . .
: . . . . . o x . o x . o x . o
: 雙活二!!
: o 就輸了

x . . x . .
. . . => . o .
. . . . . .

這樣就解決了

基本上,井字遊戲的下法是先佔住中央,不然就要先佔住角落

以上面為例,x下在角落,則o一定要下在中央,否則輸的機率會很大


--
※ 來源:‧成大工科忘情小築 bbs.es.ncku.edu.tw‧[FROM: 140.116.110.205]

> -------------------------------------------------------------------------- <

發信人: "青衫" <[email protected]>, 看板: Programming
標 題: Re: 沒有不敗的井字遊戲??!!
發信站: SEEDNet News Service (Tue Dec 15 12:42:49 1998)
轉信站: Ptt!news.ntu!feeder.seed.net.tw!news.seed.net.tw!not-for-mail

> : >最近我寫了一個井字遊戲程式,可以讓USER先下..
> : >然後我讓電腦自己測試走完所有的步數..得到這個結果..
> : >若USER先下,共有617種結果..
> : >電腦勝的結果有417種..電腦敗的有4種..和局的有196種
> : >大家一定和我覺得很奇怪..電腦也會敗?? (難道程式寫得太爛嗎?? :P)
> : >我想來想去,人工判斷應該沒問題啊..怎麼會有這4種呢..
> : >我把這4種調出來看..發現它是這樣的走法..
> : >o=>PC x=>USER
> : > x . . x . . x . . x . o x . o x . o x . o
> : > . . . => . o . => . o . => . o . => . o . => o o . => o o .
> : > . . . . . . . . x . . x x . x x . x x x x
> : 這 o 只要下在 x 的對角, x 便難以取勝了。
> : x . . x . .
> : . . . => . . .
> : . . . . . o
>
> o 這是必輸的下法耶! x就能必勝! 主導權一路掌握在 x中!
> x . . x . . x . . x . . x . x
> . . . => . . . => . . . => o . . => o . .
> . . . . . o x . o x . o x . o
>
> 雙活二!!
> o 就輸了

o下在中間沒錯, x下在對角, 但o不該也下在對角,
因x以右上,左下想做成雙活二. 只要下在四邊,
這盤便必定為和棋. (o先兩個了, x必擋, 而不能下在對角處)
因此電腦應該是不敗的才對...


--

青衫詩客 - 小邱.



> -------------------------------------------------------------------------- <

發信人: [email protected] (開著天窗兜風), 看板: Programming
標 題: Re: 沒有不敗的井字遊戲??!!
發信站: 成大資訊所_BBS (Tue Dec 15 12:43:47 1998)
轉信站: Ptt!news.ntu!ctu-gate!news.nctu!netnews.csie.nctu!netnews2.csie.nctu!n

==> [email protected] (吸血鬼~怒焰) 在 programming 版提到:
: 【 在 [email protected] (_/ Tako \_) 的大作中提到: 】
: : 最近我寫了一個井字遊戲程式,可以讓USER先下..
: : 然後我讓電腦自己測試走完所有的步數..得到這個結果..
: : 若USER先下,共有617種結果..
: : 電腦勝的結果有417種..電腦敗的有4種..和局的有196種
: : 大家一定和我覺得很奇怪..電腦也會敗?? (難道程式寫得太爛嗎?? :P)
: : 我想來想去,人工判斷應該沒問題啊..怎麼會有這4種呢..
: : 我把這4種調出來看..發現它是這樣的走法..
: : o=>PC x=>USER
: : x . . x . . x . . x . o x . o x . o x . o
: : . . . => . o . => . o . => . o . => . o . => o o . => o o .
: : . . . . . . . . x . . x x . x x . x x x x

x o . x o . x o . x o x x o x x o x
. o .=>. o .=>. o .=>. o .=>. o o=>x o o
. . x. . x x o x x o x x o x x o x x
這總走法如何??
沒有必勝,但有必不敗
--
Origin: 成大資工BBS站 (vlsi1.csie.ncku.edu.tw) From: 210.61.84.24

> -------------------------------------------------------------------------- <

發信人: [email protected] (小日立), 看板: Programming
標 題: Re: 沒有不敗的井字遊戲??!!
發信站: 交大資科_BBS (Tue Dec 15 18:07:12 1998)
轉信站: Ptt!news.ntu!ctu-gate!news.nctu!netnews.csie.nctu!news.cs.nthu!news.ci

==> 在 [email protected] (璉璉) 的文章中提到:
> x . . x . . x . . x o . x o . x o . x o x x o x x o x
> . . . => . o . => . o . => . o . => . o . => . o . => . o . => . o o => x o o
> . . . . . . . . x . . x . x x o x x o x x o x x o x x
^^^^^可以攻擊,只是這個點是正確的,可以建立Break
point,讓電腦能知道由贏轉輸的地方(當然要存檔),每次電腦都會有學習的機會,這樣
就可以免去邏輯判斷上的錯誤...

小日立.
--
* Origin: ★ 交通大學資訊科學系 BBS ★ <bbs.cis.nctu.edu.tw: 140.113.23.3>

> -------------------------------------------------------------------------- <

發信人: "青衫" <[email protected]>, 看板: Programming
標 題: Re: 沒有不敗的井字遊戲??!!
發信站: SEEDNet News Service (Tue Dec 15 19:12:09 1998)
轉信站: Ptt!news.ntu!feeder.seed.net.tw!news.seed.net.tw!not-for-mail

小日立 wrote:

> ==> 在 [email protected] (璉璉) 的文章中提到:
> > x . . x . . x . . x o . x o . x o . x o x x o x x o x
> > . . . => . o . => . o . => . o . => . o . => . o . => . o . => . o o => x o o
> > . . . . . . . . x . . x . x x o x x o x x o x x o x x
> ^^^^^可以攻擊,只是這個點是正確的,可以建立Break
> point,讓電腦能知道由贏轉輸的地方(當然要存檔),每次電腦都會有學習的機會,這樣
> 就可以免去邏輯判斷上的錯誤...

哎呀,這種小遊戲用Game Tree展開便得了,不過9!的變化而已
(最深9層)...
而且Evalue Function太容易了,不是勝便是敗.
像象棋便比較難了些, 不過至少也有一些規則可以計算得失,
將族的Evalue Function算是不錯的了.
最難的大概是圍棋了, 目前尚無很好的Evalue Function,
再者, Game Tree展開不適用於太複雜的Game,
即使加入Alpha-Beta Cut, 速度也快不了多少.
展開的層數少, 自然棋力便差.


--

青衫詩客 - 小邱.



> -------------------------------------------------------------------------- <

發信人: [email protected] (cyy), 看板: Programming
標 題: Re: 沒有不敗的井字遊戲??!!
發信站: 台大計中椰林風情站 (Thu Dec 24 08:34:45 1998)
轉信站: Ptt!news.ntu!Palmarama

> 什麼是演算法。
> _/ Tako _ 撰寫於文章 <[email protected]>...
> >最近我寫了一個井字遊戲程式,可以讓USER先下..
> >然後我讓電腦自己測試走完所有的步數..得到這個結果..
> >
> >若USER先下,共有617種結果..
> >電腦勝的結果有417種..電腦敗的有4種..和局的有196種
> >
> >大家一定和我覺得很奇怪..電腦也會敗?? (難道程式寫得太爛嗎?? :P)
> >我想來想去,人工判斷應該沒問題啊..怎麼會有這4種呢..
> >我把這4種調出來看..發現它是這樣的走法..
> >
> >o=>PC x=>USER
> >
> > x . . x . . x . . x . o x . o x . o x . o
> > . . . => . o . => . o . => . o . => . o . => o o . => o o .
> > . . . . . . . . x . . x x . x x . x x x x
> >

x . . x . . x . . x . . x . . x . . x . x x o x
. . . => . o . => . o . => . o o => x o o => x o o => x o o => x o o
. . . . . . . . x . . x . . x o . x o . x o . x

tie if computer is smart enough!
--
☆ [Origin:椰林風情] [From: saba.cs.washington.edu] [Login: **] [Post: 15]

你可能也想看看

搜尋相關網站