乙個猜牌遊戲,是否有必勝策略?

時間 2021-06-01 00:34:58

1樓:醉月

最優就是把對方的牌在你的牌之前亮完。或者是知道,一旦有一方牌被知道,肯定下乙個就能猜到底牌。而且你自己叫自己的這個方案幾乎是坑死自己的,

2樓:

帶概率的問題怎麼會有必勝策略呢。。

我一次就猜對了你拿我沒辦法呀~

如果求最優解寫出零和博弈的Value矩陣然後求均衡點吧喵~

3樓:春戈村野門

利用規則漏洞。當對手喊出一張你沒有的手牌。輪到你的回合,喊出同一張,快速觀察有對手沒有亮牌的動作趨勢,若無,則快速開啟那張牌。

4樓:劉磊

第一感覺是這樣:我猜的時候,從所有未翻開的牌裡隨機選乙個來報。這樣,如果選出來的不是我的牌,根據對方翻牌與否,我就收穫了資訊。

但是,不管有沒有收穫資訊,我肯定沒有洩露任何資訊,因為我選擇的牌是隨機的。即使對方完全清楚我的策略也沒用。

假設對方也是同樣的策略,那麼獲勝概率可以寫乙個遞推公式來算。

這個策略不是最優。例如,或許可以調整隨機數生成器,讓它稍傾向於不在我手上的牌。因為不再是完全均勻的隨機,我會洩露一點資訊,但有更大的概率選中外面的牌,所以更大概率獲得資訊。

每輪一定機會獲得收益,自己不會露出破綻,也不會利用對方的破綻,還挺好玩的吧。

5樓:周星宇

佔坑。。感覺是cf原題。。

來自Codeforces Beta Round #78 div1 E題:Problem - E - Codeforces

是把原問題強化一下變成張牌的情況。無必勝策略,但可以依據方法提高勝率。

設為:自己手上還有n 張牌未公開,對手手上還有m 張牌未公開時的勝率。

若選擇直接猜答案:勝率為

若選擇猜對手的牌: 概率局面變為;概率沒有猜中,於是對手下一回合獲勝。因此綜合勝率為

於是有如下轉移方程:

這樣只考慮了無欺騙的情況。//我有這麼天真嗎?

可以斷言自己的某張牌是對方的,誘使對手下一回合猜錯輸掉;當然對手也會考慮到被欺騙的可能性。

當選擇第二種斷言時,自己有兩種策略:

策略a:斷言自己的某張牌是對方的

策略b:從張牌中隨機選一張

對手也有兩種策略:

策略1:相信對方挑的牌不在對方手上

策略2:除非對方挑的牌在自己手上,相信對方挑的牌就在對方手上

於是有四種情況:

情況a1:對方下回合直接輸掉,本方勝率為1。

情況a2:對方成功排除掉一張本方的牌,本方勝率為。

情況b1:和之前的分析一樣,本方勝率為。

情況b2:有概率猜中對方的牌,因此接下來的勝率仍然為;有的概率對方以為猜的牌是本方手牌,因此對方下回合一定無法取勝,於是再下回合本方取勝。本方綜合勝率為。

既然是乙個零和博弈的話,設對方相信的概率為,四種情況勝率為,,,,則根據納什均衡解方程,當時本方勝率最大,則。//update 2015.8.6

6樓:王贇 Maigo

我覺得這真是個鬥智鬥勇的遊戲啊。

我只能分析前幾層,無法給出定量的分析。

對於遊戲的任意一方,他的目標是,確定不在自己手裡的6張牌中哪一張是底牌。為了縮小範圍,他可以進行的操作就是報一張不在自己手裡的牌。如果這張牌在對方手中,就縮小了範圍;如果這張牌不在對方手中,那麼他就知道這張牌是底牌,下一回合就是可以揭底牌了。

但是,如果對方知道自己採用這種策略,那麼一旦自己報的牌不在對方手中,對方就可以搶先知道報的牌是底牌了。

為了避免這種情況,就需要在適當的時候「虛晃一槍」,報一張自己手中的牌。如果對方沒有想到你會報自己的手牌,就會立即猜測這張牌是底牌,從而輸掉。

現在假設對方也想到了你可能報自己的手牌,所以你報的牌如果不在對方手中,那麼就是沒有資訊量的。但報自己的手牌也不能為自己縮小範圍,屬於「損人不利己」的行為,應當少做。

所以正確的策略應該是以報手中沒有的牌為主,偶爾報一張手中有的牌。但對方就也可以通過觀測來估計你做出兩種行為的概率,如果能以比較大的概率確定底牌,就可以放手搏一把。……

乙個數學遊戲,是否有必勝策略?

畦哇矽 寫了程式驗證,結論是沒人能贏。下列程式在我的電腦上執行了 2.718 秒,輸出是 0。include using namespace std intwin 10 10 10 10 前兩位是敵人的數,後兩位是我的數。我面臨這個狀態時會贏是1,會輸是 1,還沒計算是0。intcheck inta...

蠶食遊戲是否存在必勝策略?

BaTon 存在的,後手者只要不斷保證單次回合結束時剩餘奇數個餅乾,且一定不在最終回合之前選擇 1,2 或者 2,1 的情況下,後手者應該是必勝的。自己在離散數學課上想的,可能又不嚴謹處,請指正。 Allen 無論A採取什麼策略,A都只有兩種結局 A勝,A敗。A勝了那麼A就有獲勝策略,如果A敗了,那...

JS猜數字遊戲如何判斷乙個數字是否被猜過?

yee han var n 0 var lastAnswer null var 答案陣列 題主的問題裡沒有要求記錄使用者輸入的答案,如果有需求的話,就加上這個。function 使用者輸入之後的處理函式 int 使用者輸入的值 else 胡小濺 第一種方法 建個陣列,使用者輸入時檢查陣列最後乙個數是...