General info about the project

Project intentions were born from the idea of online poker automation. But as online poker rooms have a negative attitude to poker botting and prohibit it, ideas of poker decision-making have found their way into the "Poker advisor" project.

Project aim is real-time assistance to poker player in decision making under multitabling conditions (playing multiple tables at a time). While playing multiple tables player attention can be not in time with hand playing speed. This is often error-prone and can turn into a minus game and cost a lot of money. Poker decision making is also influenced by human factor and such a psychological condition as tilt. Poker advisor can significantly reduce the impact of these factors on the decisions taken.

The essence of the project is to formalize player decision factors, identify them in real time in specific situations and prompt the user their analysis and recommended decision. Also decision making algorithm is not based on some rules but must be inferred on the basis of player's game style. In order to implement it the principles of artificial neural networks were used. The task for neural networks is to adopt player trends of decision making via special training algorithms on the basis of player's hand history.

The process is as follows:

  1. You start the program.
  2. The system detects open poker tables and starts their monitoring in parallel mode. Then you can open and close tables - the system will start\stop their polling automatically.
  3. Monitoring is performed using table screenshots obtained in real time several times per second. Data is extracted by pattern recognition algorithms using poker mechanics. I. e. only those parts of screenshot are detected that are currently required by the mechanics of the hand.
  4. As soon as the turn of the player comes in current betting round, the system extracts decision-making factors from current hand history. Then they are analyzed and displayed to the user.
  5. The system converts analyzed data into neural data (numbers from -1 to 1) and transfer it to artificial neural network which actually makes a decision.
  6. You see recommended decision. Since the decision is taken by the neural network, trained on the basis of your own hand histories, in most cases, this decision should match your vision of the game.

On preflop there are several factors for decision making in Texas Hold'em:

  • Starting hand strength;
  • Position;
  • Players’ stacks;
  • Betting dynamics and sizing (action);
  • Statistics on opponents.

On postflop there are much more factors:

  • Current hand strength;
  • Presence of draws to straight, flush or overpair;
  • Board texture;
  • Position;
  • Players’ stacks;
  • Current action;
  • Action on previous streets (betting rounds);
  • Opponent statistics.

Each of these factors is decomposed into smaller and more specific indicators that can be formalized and implemented programmatically.

The following features are currently implemented:

  • PokerStars table detection and real-time monitoring on the basis of Texas Hold’em mechanics;
  • Preflop factors extraction: starting hand strength, position, player stacks, preflop action;
  • Postflop factors extraction: current hand strength, draw presence, board texture, position, stacks, current action;
  • UI and functionality of neural network training;
  • PokerTracker database connectivity, PokerStars hand history extraction and parsing for neural net training.

Not implemented tasks:

  • Actions on previous betting rounds;
  • Opponent statistics;
  • Custom training algorithm to improve quality of neural net training. Currently iRPROP+ implementation from Encog library is used;
  • Support for other rooms in addition to PokerStars;
  • Holdem Manager connectivity;
  • Tournaments support (future versions);
  • Omaha support (future versions).

To estimate CTP version of the app visit download page on this site.