Teknisk arkitektur

pkradvisor är byggt med följande komponenter:

  • Bildanalys: Systemet läser av ett pokerbord från en HDMI-bild och extraherar strukturerad data, t.ex. spelarnas händer och bordets tillstånd.
  • Text-till-predikat: En Rust-baserad modul (brain/) omvandlar pokertext till predikat som kan användas för uppslag i tabeller eller externa beräkningsbibliotek.
  • Strikt datamodell: Data flödar genom väldefinierade gränssnitt för att säkerställa konsistens mellan bild, text och beräkningar.
  • Extern solver: En separat process används för att köra en flop-solver, som returnerar rekommendationer i JSON-format.
  • Felsäkerhet: Systemet undviker gissningar vid osäker indata, t.ex. ofullständig bild eller text, och förblir tyst istället för att ge felaktiga rekommendationer.

Funktioner

  • Bildigenkänning: Extraherar spelarnas händer och bordets tillstånd från en HDMI-bild.
  • Textanalys: Omvandlar pokertext till strukturerade predikat för vidare bearbetning.
  • Beslutsstöd: Ger rekommendationer baserat på fördefinierade preflop-tabeller och en extern flop-solver.
  • Tysta fel: Undviker att ge rekommendationer vid osäker eller ofullständig indata, vilket förhindrar felaktiga beslut.

Felsäkerhet och robusthet

  • Oläst stack: En oläst stack hanteras som ett eget feltillstånd och tillåts aldrig bli 0, vilket förhindrar felaktiga beräkningar.
  • Separat solver-process: Solvern körs i en egen process, och Python läser JSON-utdata från binären för att säkerställa isolering och stabilitet.
  • Tyst HUD: Om flop-bilden och handhistoriken inte stämmer överens, förblir HUD tyst istället för att ge felaktiga rekommendationer.

Tekniska detaljer

  • Rust-modul: Rust-filen fungerar som en förarhytt och visar förmågan att sätta en skarp gräns mot ett numeriskt bibliotek samt att upprätthålla ett strikt kontrakt.
  • Ingen molntjänst eller webbapp: Projektet är en lokal prototyp utan beroenden av molntjänster eller webbgränssnitt.
  • Forskningssyfte: pkradvisor är en enpersonsprototyp från sensommaren 2026 och är inte avsedd för produktion i sitt nuvarande skick.