Algorithm 修改21点,使电脑赢多于输

Algorithm 修改21点,使电脑赢多于输,algorithm,artificial-intelligence,pseudocode,Algorithm,Artificial Intelligence,Pseudocode,我想创建一种算法,让电脑在一个经过修改的21点游戏中赢的比输的多 红牌是负牌,黑牌是正牌 我将用伪代码来写它,我想确定使计算机赢得更多游戏的概率部分(最后一行) 以下是我的尝试: //Hand out 2 random cards for each person selection of 2,3,4,5,6,7,8,9,J,Q,K,A. //Store these in an array with their equivalent value. Card =[2,3,4,5,6,7,8,9,

我想创建一种算法,让电脑在一个经过修改的21点游戏中赢的比输的多

红牌是负牌,黑牌是正牌

我将用伪代码来写它,我想确定使计算机赢得更多游戏的概率部分(最后一行)

以下是我的尝试:

//Hand out 2 random cards for each person selection of 2,3,4,5,6,7,8,9,J,Q,K,A. 
//Store these in an array with their equivalent value. 
Card =[2,3,4,5,6,7,8,9,J,Q,K,A]
Also, colour of card is random red or black.
Value_AI=0
Value_Human=0
Bust_Human=0
Bust_ AI=0

All of the below is in a big loop that loops each time a player is bust

Do this for both players, until Value_AI or Value_Human>21
If colour==red then
Value=value – card
Else
    Value=value+card

If Value_AI >21 then
    Bust_ AI+=1
    Print “Computer has bust”
    Break 

If Value_Human >21
        Bust_ human+=1
        Print “You have bust”
        Break

    Else
        Hand out another card for both

If Bust_ AI> Bust_ human then
**//Increase the probability of getting an ace and a card with a value of 10 for the computer**

你可以让人走在电脑前面。然后,当他们两个都崩溃时,默认情况下,这将是一台计算机获胜,因为计算机不需要运行。这将把一场公平的游戏变成一场有利于计算机的游戏。

你可以让人走在计算机前面。然后,当他们两个都崩溃时,默认情况下,这将是一台计算机获胜,因为计算机不需要运行。这将把一场公平的游戏变成一场有利于计算机的游戏。

你可以让人走在计算机前面。然后,当他们两个都崩溃时,默认情况下,这将是一台计算机获胜,因为计算机不需要运行。这将把一场公平的游戏变成一场有利于计算机的游戏。

你可以让人走在计算机前面。然后,当他们两个都崩溃时,默认情况下,这将是一台计算机获胜,因为计算机不需要运行。这应该会把一个公平的游戏变成一个有利于计算机的游戏。

现在,你的伪代码似乎不包括任何一个玩家选择停止接收卡的选项,这是21点游戏的核心选择。收到最新的卡后,您需要让AI选择是否需要另一张卡。这可能是算法中将实际智能构建到AI中的最佳点,因此您可以增加其获胜概率,而不必像您在伪代码中所建议的那样硬编码获胜。最简单的选择是让你的AI计算下一张卡发送其值超过21的概率。这里有一些伪代码(看起来你在抽牌后并没有从牌堆中取出牌,所以我不考虑这一点):

highest\u safe=21-值\u AI
n_safe_cards=最高的_safe-1+13//第二个13表示所有红牌,而-1表示1不是一张牌
prob_safe=n_safe_cards/26//因为有28张可能的卡(我想你不是有意要从列表中去掉10张)
如果安全概率小于5:
别再拿牌了

这将导致你的AI更经常地获胜,因为这将使它发挥最佳效果。如果你想让它更容易被击败,你可以在它决定停止接牌的阈值上添加一些噪音。

现在,你的伪代码似乎没有包括任何一个玩家选择停止接牌的选项,这是21点游戏的核心选择。收到最新的卡后,您需要让AI选择是否需要另一张卡。这可能是算法中将实际智能构建到AI中的最佳点,因此您可以增加其获胜概率,而不必像您在伪代码中所建议的那样硬编码获胜。最简单的选择是让你的AI计算下一张卡发送其值超过21的概率。这里有一些伪代码(看起来你在抽牌后并没有从牌堆中取出牌,所以我不考虑这一点):

highest\u safe=21-值\u AI
n_safe_cards=最高的_safe-1+13//第二个13表示所有红牌,而-1表示1不是一张牌
prob_safe=n_safe_cards/26//因为有28张可能的卡(我想你不是有意要从列表中去掉10张)
如果安全概率小于5:
别再拿牌了

这将导致你的AI更经常地获胜,因为这将使它发挥最佳效果。如果你想让它更容易被击败,你可以在它决定停止接牌的阈值上添加一些噪音。

现在,你的伪代码似乎没有包括任何一个玩家选择停止接牌的选项,这是21点游戏的核心选择。收到最新的卡后,您需要让AI选择是否需要另一张卡。这可能是算法中将实际智能构建到AI中的最佳点,因此您可以增加其获胜概率,而不必像您在伪代码中所建议的那样硬编码获胜。最简单的选择是让你的AI计算下一张卡发送其值超过21的概率。这里有一些伪代码(看起来你在抽牌后并没有从牌堆中取出牌,所以我不考虑这一点):

highest\u safe=21-值\u AI
n_safe_cards=最高的_safe-1+13//第二个13表示所有红牌,而-1表示1不是一张牌
prob_safe=n_safe_cards/26//因为有28张可能的卡(我想你不是有意要从列表中去掉10张)
如果安全概率小于5:
别再拿牌了

这将导致你的AI更经常地获胜,因为这将使它发挥最佳效果。如果你想让它更容易被击败,你可以在它决定停止接牌的阈值上添加一些噪音。

现在,你的伪代码似乎没有包括任何一个玩家选择停止接牌的选项,这是21点游戏的核心选择。收到最新的卡后,您需要让AI选择是否需要另一张卡。这可能是算法中将实际智能构建到AI中的最佳点,因此您可以增加其获胜概率,而不必像您在伪代码中所建议的那样硬编码获胜。最简单的选择是让你的AI计算下一张卡发送其值超过21的概率。这里有一些伪代码(看起来你在抽牌后并没有把牌从牌堆中拿出来,所以我不会把它考虑到acco中
highest_safe = 21 - value_AI
n_safe_cards = highest_safe - 1 + 13 //the second 13 is for all of the red cards and the - 1 is because 1 is not a card
prob_safe = n_safe_cards/26 //since there are 28 possible cards (I'm assuming you didn't mean to leave 10 off your list)
if prob_safe < .5:
    stop taking cards