Próbuję opracować sztuczną inteligencję do gry karcianej i trochę utkwiłem w technice / algorytmie, którego powinienem użyć. Oto kilka założeń dotyczących gry:
- Po rozdaniu kart graczom nie ma losowości. Mam tu na myśli to, że każdy gracz może wybrać, które karty zagrywa, ale nie następuje losowy proces, jak w przypadku rozdawania kart na początku gry.
- Istnieją ograniczenia dotyczące kart, które można zagrać, gdy karta została już zagrana.
- Gracz, który wygrywa lewę, gra najpierw. Np. Gracz 1 zagrywa kartę, Gracz 2 zagrywa kartę i wygrywa. Następnie Gracz 2 zagrywa kartę, a następnie Gracz 1 gra.
Znam wiele wskazówek / zasad (np. Jeśli wiem, że gracz ma karty A, B, C, powinienem zagrać w D), co pomaga mi wygrać w grze. Dlatego najpierw chciałem użyć sieci bayesowskiej do opisania tych zasad. Problem polega na tym, że nie znam żadnych prawdopodobieństw do przypisania, ale mógłbym obliczyć heurystykę na podstawie historii gier (przeciwko człowiekowi). Po drugie, bardzo prawdopodobne jest, że nie znam wszystkich zasad i że istnieją pewne ukryte reguły, które są potrzebne AI do znalezienia optymalnej gry.
Nie jestem pewien, czy byłby to dobry sposób na opracowanie sztucznej inteligencji dla takiej gry karcianej?
Zastanawiam się także, czy istnieją inne techniki, które najlepiej pasowałyby do problemu. Na przykład rzuciłem okiem na minimax (może z algorytmem przycinania), ale czy byłby dobrą opcją dla tego problemu? Nie jestem pewien, ponieważ najważniejsze gry są na początku gry, gdy występują najwyższe nieznane parametry (większość kart nie jest jeszcze zagrana).