gpt4 book ai didi

algorithm - 在“二加二”扑克手牌评估器上,您如何从传给它的 7 张牌中找出最好的 5 张牌组合?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:35:35 25 4
gpt4 key购买 nike

是否可以从等效值中提取该信息?

据我所知,当量值越高越好。也可以从等值(value)中提取类别和等级。但是有没有办法从你传给它的 7 张牌中找出最好的 5 张牌组合?

Twoplustwo 是最快的扑克手牌评估器(每秒评估 14-15 百万手牌)。您将 7 张牌交给它,它会吐出一个手牌等值(value)。值越高,卡越好。

这是关于 twoplustwo 的精彩总结:http://www.codingthewheel.com/archives/poker-hand-evaluator-roundup#2p2

上面链接的缓存版本: http://web.archive.org/web/20130116102452/http://www.codingthewheel.com/archives/poker-hand-evaluator-roundup

最佳答案

(免责声明:我正在开发一种扑克软件,除其他外,还可以进行手牌评估)

You give your 7 cards to it and it spits out a hand equivalence value.

有几位评估员在做这件事,如果我没记错的话,他们中的一些人每秒计算超过一亿手牌 (!)。这些评估器基本上归结为在一个巨大的数组中进行 7 次数组查找,并且只需要几个周期(尽管缓存未命中)来评估一手牌。我不认为 14-15 百万/秒是最快的。如果我没记错的话,CactusKev 的求值器要快 10 倍。

现在回答你的问题:

how do you get the best 5 cards combination out of the 7 that you passed to it?

好吧,它不会告诉你但是一旦你有了手的力量,它就会变得非常容易:你不需要重新发明轮子。

您可以使用强度来简化“七分之五”的计算。

也可以使用其他图书馆,直接给您最好的五张牌(而不仅仅是他们的实力),或者您可以使用实力自己找到五张最好的牌。

我只是举几个例子...

  • 您知道您有一个葫芦(又名“船”),然后您知道您正在寻找三张点数相同的牌,然后是最好的一对(如果有两对,但你肯定能找到至少一对,因为评估员告诉你你有一条船)。

  • 您知道自己有顺子:从最好的一张开始找出五张相邻的牌(注意特殊的轮箱情况)。

    您还可以对直道进行更巧妙的处理:您可以利用每条可能的直道的强度,并将评估者给您的强度与这些进行比较。如果它匹配,比如说,一个 10-high 顺子,那么只需寻找任何 T、9、8、7 和 6 牌(无论花色如何)。

  • 你知道你“没有对子”:只需拿走你找到的五张最大的牌

  • 等等

只有几个不同的等级......它们可能是,例如:

NO_PAIR
ONE_PAIR
TWO_PAIRS
SET
STRAIGHT
FLUSH
FULL_HOUSE
FOUR_OF_A_KIND
STRAIGHT_FLUSH

(如果您愿意,您当然可以创建中间的“轮盘顺子”、“轮盘同花顺”和“皇家同花顺”等情况)

一旦您知道您的手是哪种类型的手(多亏了您使用的快速评估器),只需切换到一段代码,该代码可以从该手牌的 7 手中找出最好的 5 手。

我认为这是继续进行的好方法,因为您可以利用超快的计算器,然后它会大大简化您的逻辑。

在启动时,您需要计算一次强度,例如通过计算:

HIGHEST_NO_PAIR_HAND = ultraFastEvaluator( "As Kd Qh Jc 9d 5s 2c" );

HIGHEST_FULL_HOUSE = ultraFastEvaluator( "As Ac Ad Kh Ks 8s 2h" );

我当然不提倡在这里使用字符串。这只是一个例子...

然后,您可以为每一手牌找到实际的五把最好的牌:

  • 使用快速评估器计算强度
  • <= HIGHEST_NO_PAIR_HAND 吗?
    • 是:拿五张最高的牌
    • 否:是 <= HIGHEST_ONE_PAIR_HAND 吗?是:取最高对+最高三张牌否:是否 <= HIGHEST_TWO_PAIRS_HAND?
      • 等等

所以在我看来,您可以重用直接从七个中找到五个最好的 API,或者完全重写您自己的 API,但是如果您使用快速评估器的结果来简化您的计算,它会更快逻辑。

编辑 请注意,不一定有一种方法可以做到“七选五”。例如,As Ac 在 Kc Kd Qh Qs 2c 公共(public)牌上,“As Ac Kc Kd Qh”和“As Ac Kc Kd Qs”都是“五强”(最后的 Q 花色无关紧要)。

关于algorithm - 在“二加二”扑克手牌评估器上,您如何从传给它的 7 张牌中找出最好的 5 张牌组合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9935212/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com