Project Icon

Poker

多平台实时对战的智能德州扑克机器人

DeeperMind是一款开源的德州扑克机器人,支持Pokerstars、Partypoker和GGPoker等多个平台的实时对战。它结合图像识别、蒙特卡洛模拟和遗传算法,可长时间自主操作。该项目提供策略分析和编辑功能,支持用户优化策略。DeeperMind还允许添加新桌面和代码贡献,是一个不断发展的社区协作项目。

DeeperMind扑克机器人适用于PokerStars、PartyPoker和GGPoker

这个扑克机器人可以在PokerStars、PartyPoker和GG Poker上自动玩牌。其他任何牌桌也可以进行映射。 它通过图像识别、蒙特卡洛模拟和基本遗传算法工作。 鼠标会自动移动,机器人可以根据大量参数潜在地连续玩几个小时。

您可以从这里下载二进制文件并直接运行可执行文件: http://www.deepermind-pokerbot.com

运行机器人:

PartyPoker:

* 使用快进牌桌
* 选择官方PartyPoker牌桌抓取器

.. figure:: doc/partypoker.gif

PokerStars:
  • 使用Zoom牌桌
  • 选择官方PokerStars牌桌抓取器
  • 对于PokerStars,您需要对客户端进行一些调整。为了使用官方PokerStars牌桌抓取器运行,它需要看起来完全如下所示:
  • 确保匹配牌的样式(4色)、盖住的牌的样式和牌桌样式。

.. figure:: doc/ps-example.png

GGPoker:

使用官方GGPoker牌桌时,确保您的GGPoker设置如下所示:

.. figure:: doc/ggpk2.png


一般设置:

如果您只想运行机器人,请执行以下操作:

从这里安装机器人的二进制文件:http://www.deepermind-pokerbot.com

然后您可以立即运行机器人。它将分析扑克客户端,移动鼠标,并根据其预编程的策略之一进行游戏。大多数策略都是基于Zoom或快进牌桌的。 欢迎您编辑和改进任何策略,以优化机器人的游戏以满足您的需求。

在大多数情况下,将扑克客户端放在虚拟机中可能很有用,以避免它干扰机器人。此外,机器人将能够在虚拟机内控制鼠标,而不会阻塞整个计算机:

  • 下载VirtualBox:https://www.virtualbox.org/

  • 例如从这里下载Windows 10 ISO文件 https://www.softlay.com/apps/operating-system

  • 创建一个新的VirtualBox环境,并使用ISO文件作为启动

  • 确保只给VirtualBox 1个CPU,因为机器人需要计算能力(主要用于OCR)

  • 在VirtualBox环境中安装PartyPoker或PokerStars

  • 直接将扑克机器人安装到您的计算机上(在VirtualBox之外)

  • 在设置中选择您的VirtualBox实例(而不是直接鼠标控制)

  • 按聊天按钮或加入此链接加入Discord聊天:https://discord.gg/xB9sR3Q7r3

  • 当前版本仅适用于Windows

  • 不要遮挡牌桌视图,因为机器人基于图像识别

  • 只应该有一个牌桌窗口可见。

  • 为获得最佳性能,最小化虚拟机中的所有窗口,除了牌桌窗口本身

  • 不要在VirtualBox中使用任何DPI缩放

  • 在设置中,尝试选择您的虚拟机而不是直接鼠标控制。这样鼠标移动就不会妨碍您。

策略分析器

  • 您可以在策略分析器中查看每种策略的盈利能力。
  • 条形图显示了在每个阶段(翻牌前、翻牌、转牌和河牌)各种行动类型导致的赢或输

更详细地查看堆叠条形图,可以为您提供如何调整策略以最大化您的赢利的线索:

.. figure:: doc/analyzer_bar2.png

分析每个阶段内的个别回合:

.. figure:: doc/analyzer_bar3.png

分析个别牌局:

.. figure:: doc/strategy_analyzer.gif

策略编辑器

机器人做决策时会考虑多种因素,可以在策略编辑器中进行调整:

  • 权益(获胜概率),通过蒙特卡洛模拟计算
  • 权益和最小跟注/下注值需要在相应曲线的左侧,机器人才不会弃牌
  • 考虑了其他各种因素,如前几轮的行为。查看策略编辑器了解更多详情。
  • 将鼠标悬停在每个项目上以查看更详细的描述

.. figure:: doc/strategy2.png

可以为每种策略编辑各种其他选项:

.. figure:: doc/strategy_editor.gif

如何改进策略的建议:


* 您通常需要至少玩2000手才能得出任何结论。5000手更好。少于1000手的任何情况都完全是随机的。
* 最好买入超过最低限额,这将提高机器人的性能,因为它有更多回旋余地。例如,在0.01/0.02的牌桌上,买入超过最低限额$2。理想情况下从$4甚至更多开始。
* 查看策略分析器并反向工作。首先改进河牌玩法,然后一旦这个好了就转到转牌,然后到翻牌等。这是因为游戏是路径依赖的。
* 如果您在范围内进行更改,可能需要调整所有最小权益,因为它会改变权益计算。
* 祝你好运!

完整版:
~~~~~~~~~~~~~

完整版允许您:

* 编辑和创建新策略
* 查看所有用户的所有策略

要购买,请点击此链接。然后您将在24小时内收到密码。
http://www.deepermind-pokerbot.com/purchase

或者,您可以通过电子邮件或Discord直接联系我并请求密码,然后支付比特币到:
1Py5o4WLYMizXc8pFPqzD4yeCAm53BhJit

如果您对代码库做出一些有意义的贡献,您也可以获得免费订阅。

最简单的贡献方式是:

- 添加新牌桌
- 添加新策略
- 直接对代码进行修复并创建拉取请求



映射新牌桌
------------------

机器人可以学习读取新牌桌,可以使用模板或通过训练基于给定模板使用数据增强的神经网络。

`点击此链接观看如何添加新牌桌的视频说明 <https://rb.gy/jut3ws>`_ 或在www.deepermind-pokerbot.com上观看视频

添加新牌桌的设置如下所示:

.. figure:: doc/scraper.png
- 打开pokerbot并点击表格设置,打开帮助创建新表格的窗口。
- 在旁边打开扑克客户端,确保未进行DPI缩放,以便pokerbot能够截图。
- 首先创建一个新模板,输入模板名称,例如Pokerstars 1-2 zoom poker。点击"空白新建"。
- 现在第一步是截取带有牌桌的Pokerstars窗口的截图。点击"截图"按钮即可。你应该在下方窗口看到屏幕的完整截图。
- 接下来标记扑克牌桌窗口的左上角,这将作为后续所有操作的参考点。先点击左上部分,再点击右下部分来标记左上角。完成后它会出现在第二个窗口中。点击"保存新选择的左上角"按钮保存。
- 现在可以通过点击"从左上角裁剪"按钮进行裁剪。这将丢弃大部分截图,只保留左上角及其右侧和下方几百像素的部分。
- 接下来标记窗口中的其他内容。从按钮搜索区域开始。同样先点击按钮区域的左上角,再点击按钮出现位置的右下角。对选择满意后,点击"按钮搜索区域"。
- 将鼠标悬停在按钮上可以看到更详细的说明。
- 请注意,你需要多次截图、裁剪(无需再次选择左上角,只需加载后裁剪图像)。然后选择不同的图像,并点击相应按钮保存。你需要教会它识别每张牌和每个按钮等。

注意事项:
------------------------------

**强烈建议在验证机器人正确运行之前不要使用真实账户进行测试(以避免账户和资金损失)**

- 运行机器人的最低系统要求:
- Windows 10 x64或更高版本(可能在较早版本上运行,但未验证其正确性)
- 4GB或更多RAM内存  
- 1.6GB硬盘空间(越多越好)
- 4核4线程或更高的处理器
- 不需要GPU(神经网络训练可选择使用GPU)
- 1920*1800屏幕分辨率(可能在更低分辨率下运行,但未验证其正确性)

- 如果使用Virtual Box,请考虑其消耗并添加到上述系统要求中
- 扑克应用通常在Windows 7或更高版本上运行
- VirtualBox 7.0.12或更高版本及其相应扩展包

通过docker运行
------------------------------

- ``$ git clone https://github.com/dickreuter/Poker.git``
- ``$ cd Poker``
- ``$ docker compose up -d``
- ``$ xhost local:root # 允许本地机器的root用户连接到X Windows显示``
- ``$ docker-compose exec app python3 main.py # 容器运行后,可以使用此命令启动机器人``

通过Python源代码运行
------------------------------
- 从此处下载PyCharm社区版作为IDE: https://www.jetbrains.com/pycharm/download/#section=windows
- 安装Anaconda https://www.anaconda.com/products/distribution
- 下载tesserocr: https://github.com/simonflueckiger/tesserocr-windows_build/releases/download/tesserocr-v2.6.0-tesseract-5.3.1/tesserocr-2.6.0-cp311-cp311-win_amd64.whl -Out tesserocr-2.6.0-cp311-cp311-win_amd64.whl 并用pip install安装whl文件
- 创建环境并运行``pip install -r requirements.txt``,然后单独运行pip install tesserocr
- 你可能还需要获取C++运行时分发包: https://visualstudio.microsoft.com/downloads/
- 从https://www.virtualbox.org/wiki/Downloads 安装VirtualBox,并将扑克客户端放入VirtualBox中。这样可以在不使用主窗口鼠标的情况下控制它。
- 在PyCharm中将上述创建的虚拟环境设置为解释器后运行``main.py``(查看YouTube教程)

包和模块:
~~~~~~~~~~~~~~~~~~~~~

main.py: 入口点

poker.scraper
^^^^^^^^^^^^^

包含用户界面和帮助映射新表格的例程

- ``recognize_table``: 基于创建的映射识别表格上不同项目的功能
- ``screen_operations``: 各种例程,如截图、裁剪等
- ``table_setup``: 与GUI相关的例程
- ``ui_table_setup``: QT用户界面。相应的py文件通过父文件夹中的makegui.bat创建。要编辑GUI,请下载QT Designer并打开.ui文件。

poker.decisionmaker
^^^^^^^^^^^^^^^^^^^

-  ``decisionmaker.py``: 基于输入做出最终决策的行动
-  ``montecarlo_numpy2.py``: 基于快速numpy的蒙特卡洛模拟来计算权益。尚未正确运行。一些测试失败。欢迎修复。
-  ``montecarlo_python.py``: 相对较慢的基于Python的蒙特卡洛权益计算。支持其他玩家的翻牌前范围。

poker.tests
^^^^^^^^^^^

-  ``test_montecarlo_numpy.py``: numpy蒙特卡洛的测试
-  ``test_pylint.py``: pylint和pydoc测试,确保符合pep8标准和静态代码分析

图形用户界面(GUI)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

- 下载开源项目的QT: https://www.qt.io/download-open-source
- 使用qt designer编辑gui/ui中的任何.ui文件

下一步优先事项
---------------

- [ ] 更新测试。一些测试目前已过时。需要更多测试
- [ ] 添加更多策略
- [ ] 从pytesseract切换到tesserocr以加快OCR速度,这应该会大大加快机器人速度
- [ ] 更好地分析收集的数据以改进策略

修复代码
~~~~~~~~~~~~~~~~~~~~~~~~

- 修复代码并向origin/master发起拉取请求:

一个人很难在扑克方面击败全世界。这就是为什么本仓库旨在创建一个协作环境,可以添加和评估模型。

要贡献,请执行以下操作:
- 获取 PyCharm 并构建虚拟 Python 环境。您可以执行:``pip install -r requirements.txt``(见上文)
- 将您的分支克隆到本地机器。您可以直接在 PyCharm 中完成:VCS --> 从版本控制检出 --> git
- 将原始仓库(您从中创建分支的仓库)添加为远程仓库,并将其命名为 upstream(与您分支的连接应命名为 origin)。这可以通过 VCS --> Git --> 远程仓库来完成
- 创建新分支:点击右下角的 master,然后点击"新建分支"
- 进行编辑
- 确保所有测试通过。在文件 --> 设置 --> Python 集成工具中切换到 pytest。然后您可以右击 tests 文件夹并运行所有测试。所有测试都需要通过。确保添加您自己的测试,只需将函数命名为 test\_... 即可
- 确保所有测试都通过。最好按上述方法运行 pytest(在 PyCharm 中只需右击 tests 文件夹并运行)。如果测试失败,您可以通过右击测试进行调试,设置断点,甚至在断点处打开控制台:https://stackoverflow.com/questions/19329601/interactive-shell-debugging-with-pycharm
- 提交您的更改(CTRL+K)
- 将更改推送到您的 origin(您的分支)(CTRL+SHIFT+K)
- 如果 upstream master 已经有更新,要使您的分支与之保持同步:变基到 upstream master:点击 PyCharm 右下角的分支名称,然后点击 upstream/master,再点击变基到。您可能需要解决一些冲突。完成后,请务必始终强制推送(ctrl+shift+k),(而不仅仅是推送)。这可以通过选择推送旁边的下拉菜单并选择强制推送来完成(重要:不要推送并合并已变基的分支到您的远程仓库)
- 在您的 github.com 上创建一个拉取请求,将您的分支合并到 upstream master
- 当您的拉取请求被批准后,它将被合并到 upstream/master
- 请确保所有测试都通过,包括 pylint 测试。您可以在本地机器上运行它们,或者在推送时检查 github 上的 travis 日志。[目前有许多测试失败,欢迎帮助修复它们!]

常见问题

左上角没有显示
~~~~~~~~~~~~~~

- 确保一切看起来与本文档顶部的图片完全一致。
    * 按钮需要看起来完全一样,并且必须是英文且未缩放。颜色需要是标准的。
    * 大多数桌子都映射到真钱。它们不适用于模拟货币。
    * 扑克桌窗口必须完全可见且不能缩放,否则无法正确检测。
    * 在 Partypoker 中,打开桌子时,选择桌子选项,然后选择**恢复默认大小**以确保桌子处于默认大小。

- 桌子映射适用于真钱的快速前进和变焦游戏。在 Partypoker 中使用 Supersonic3 桌子,或在 Pokerstars 中使用 McNaught 桌子。
- 如果仍然不工作,考虑按上述方法教它识别新桌子。

无法识别牌
~~~~~~~~~~

- 确保一切看起来与本文档顶部的图片完全一致。
    * 确保使用真钱。模拟货币的桌子是不同的。
    * 确保您坐在如上图所示的位置。
    * 目前机器人仅适用于 6 人桌。

我需要使用虚拟机吗?
~~~~~~~~~~~~~~~~~~~~

- 对于 Pokerstars,您绝对需要,否则您将在几分钟内被封禁,账户将被冻结。对于 Partypoker,我不确定。但最好查看条款和条件。

分析日志和报告问题
~~~~~~~~~~~~~~~~~~

- 在您安装扑克机器人的文件夹中,有一个包含日志文件的子文件夹 /log。在 /log/screenshots 中还有一些可能有助于调试问题的截图。
- 在此 GitHub 页面顶部的链接 https://github.com/dickreuter/Poker/issues 创建一个问题,或发送电子邮件至 dickreuter@gmail.com。

相关项目
--------
通过自我对弈训练机器人是一个单独的项目,可以在这里找到:
https://github.com/dickreuter/neuron_poker
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号