Skip to content

Latest commit

 

History

History
110 lines (69 loc) · 8.6 KB

File metadata and controls

110 lines (69 loc) · 8.6 KB
graph LR
    CLI_Application["CLI Application"]
    AI_Core_Training_Module["AI Core & Training Module"]
    Game_Logic_State_Management["Game Logic & State Management"]
    Hand_Abstraction_Clustering["Hand Abstraction & Clustering"]
    Terminal_Interface["Terminal Interface"]
    Web_Visualization_Backend["Web Visualization Backend"]
    Web_Visualization_Frontend["Web Visualization Frontend"]
    CLI_Application -- "controls" --> AI_Core_Training_Module
    CLI_Application -- "initiates" --> Hand_Abstraction_Clustering
    CLI_Application -- "outputs to" --> Terminal_Interface
    AI_Core_Training_Module -- "interacts with" --> Game_Logic_State_Management
    AI_Core_Training_Module -- "provides status to" --> Terminal_Interface
    AI_Core_Training_Module -- "provides progress to" --> Web_Visualization_Backend
    Hand_Abstraction_Clustering -- "provides data to" --> AI_Core_Training_Module
    Game_Logic_State_Management -- "provides state to" --> AI_Core_Training_Module
    Game_Logic_State_Management -- "provides state to" --> Terminal_Interface
    Game_Logic_State_Management -- "provides state to" --> Web_Visualization_Backend
    Web_Visualization_Backend -- "provides data to" --> Web_Visualization_Frontend
    click CLI_Application href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/poker_ai/CLI_Application.md" "Details"
    click AI_Core_Training_Module href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/poker_ai/AI_Core_Training_Module.md" "Details"
    click Game_Logic_State_Management href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/poker_ai/Game_Logic_State_Management.md" "Details"
    click Hand_Abstraction_Clustering href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/poker_ai/Hand_Abstraction_Clustering.md" "Details"
    click Terminal_Interface href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/poker_ai/Terminal_Interface.md" "Details"
    click Web_Visualization_Backend href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/poker_ai/Web_Visualization_Backend.md" "Details"
    click Web_Visualization_Frontend href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/poker_ai/Web_Visualization_Frontend.md" "Details"
Loading

CodeBoardingDemoContact

Details

The poker AI system is structured around a central CLI Application that orchestrates various AI functionalities. This application controls the AI Core & Training Module, which is responsible for the AI's learning processes, interacting closely with the Game Logic & State Management component to simulate poker games. The Hand Abstraction & Clustering module pre-processes hand data, providing optimized information to the AI Core & Training Module. User interaction and real-time feedback are handled by the Terminal Interface for command-line users and a Web Visualization Frontend for graphical representation. The Web Visualization Frontend receives its data from the Web Visualization Backend, which in turn gathers game state and AI progress from the AI Core & Training Module and Game Logic & State Management. This architecture ensures a clear separation of concerns, facilitating both efficient AI training and intuitive user monitoring.

CLI Application [Expand]

The primary command-line interface for users to initiate, control, and interact with the poker AI system. It acts as the orchestrator for various AI tasks (training, clustering, playing) and provides direct user feedback.

Related Classes/Methods:

AI Core & Training Module [Expand]

Encapsulates the core AI algorithms (e.g., CFR, CFR+), manages the entire AI training lifecycle (start, resume), and handles both single-process and distributed training coordination. This module is central to the AI's learning process.

Related Classes/Methods:

Game Logic & State Management [Expand]

Manages the fundamental rules, state transitions, and actions within a poker game (e.g., short deck poker). This includes applying player actions, managing betting rounds, and evaluating poker hands to determine winners.

Related Classes/Methods:

Hand Abstraction & Clustering [Expand]

Responsible for pre-processing poker hand data, generating abstracted representations of hands, and building efficient lookup tables for card information. This optimizes the computational demands of the AI algorithms.

Related Classes/Methods:

Terminal Interface [Expand]

Provides a text-based user interface for displaying real-time game progress, AI training status, and results directly within the terminal. It includes rendering game elements and managing result storage for terminal display.

Related Classes/Methods:

Web Visualization Backend [Expand]

A server-side component that exposes APIs to provide game state data and AI training progress to the web-based visualization frontend. It acts as the data provider for the interactive web application.

Related Classes/Methods:

Web Visualization Frontend [Expand]

The client-side web application responsible for rendering interactive visualizations of poker game play and AI training progress. It consumes data from the Web Visualization Backend.

Related Classes/Methods: