Wpis z mikrobloga

Tak sobie dumam nad projektem #ai związanym z grami. Zastanawiam się nad Pokerem Texas Hold’em. Wiem, że kilka projektów tego typu już powstało, wydaje się to więc fajnym tematem na start.

Może ktoś z was już coś takiego kombinuje i moglibyśmy połączyć siły? Jedynym warunkiem z mojej strony jest to, że projekt musi być rozwijany na licencji FLOSS i publicznie dostępny. No i myślę, że projekt ten będę rozwijał w #python bo nic innego póki co nie przypadło mi do gustu ( ͡° ͜ʖ ͡°)

Ktoś? Coś? Pytam również #machinelearning
  • 47
@smyl: Aktualnie planuję poświęcić 5h/tydzień.
Od czego zacząć:
* spisać cele i określić na którym etapie chciałbym je realizować
* zorientować się czy np. to (https://ishikota.github.io/PyPokerEngine/) narzędzie nam wystarczy do symulacji, czy potrzebujemy też jakiś symulator stworzyć od nowa
* zorganizować jakaś strukturę continous integration
* podumać więcej czy w ogóle ma to ręce i nogi ;)
@LowcaG: Heads up to tylko mały podzbiór projektu, także pytanie trochę bez sensu. Coś co się sprawdza przy 10 graczach tym bardziej się nada do heads up
Heads up to tylko mały podzbiór projektu, także pytanie trochę bez sensu. Coś co się sprawdza przy 10 graczach tym bardziej się nada do heads up


@visez: ależ oczywiście, tylko dlaczego pytanie bez sesnu?

To tak jak byś powiedział. Czy ktoś zbuduje ze mną blok?
A ja pytam a może taki jednopiętrowy betonowy garaż?

A ty na to:
Pytanie bez sensu, bo garaż będzie podzbiorem tego bloku, jak zbudujemy blok to
Coś co się sprawdza przy 10 graczach tym bardziej się nada do heads up


@visez: Jeśli chodzi o samo heads up i nadawania się to hm.. inspiracją do tego jest zdanie jakigoś mistrza który powiedział, że jeżeli by o tym przeciwnik nie wiedział to on może licytować bez patrzenia na swoje karty i uważa, ze wygra z każdym (oczywiście gorszym od niego ;) )

A i można zrobić eksperyment z "botem"
no nie do końca bo blok może w ogóle nie mieć garażu. To bardziej tak jakbyś spytał czy blok będzie miał dach :D


@visez: Ten blok ma garaż ( ͡° ͜ʖ ͡°) (podziemny)

Przykład wymyśliłem na szybko, chodzi o clue. po prostu headsup jest prostszy
no nie do końca bo blok może w ogóle nie mieć garażu. To bardziej tak jakbyś spytał czy blok będzie miał dach :D


@visez: aj aj, teraz widzę doczego dążysz.
\
Ok, to powiem inaczej.

Zbudujemy 10 blok?
A może jednopiętrówke na początek?

Bez sensu pytanie przecież nasz blok będzie miał 1 piętro ( ͡° ͜ʖ ͡°)

Lepiej? :)

chodziło mi o to aby zacząć od czegoś
@Avitus: @visez: sprzątanie powoduje u mnie że jakieś wolne myśli mi chodzą po głowie ;)

Otóż łatwo udowodnić, że bot rający tylko w headup nie jest podzbiorem bota grącego w 10 graczy.

Otóż, aby bot grający w 10 graczy doszedł do headup musi być 8 pasów.

A 8 pasów to wielka informacja której nie ma przy headup.

Więc, nie, headup to nie jest podzbiór 10 graczy. ( ͡° ͜
@LowcaG: jeśli 8 passów to wielka informacja, a nie ma jej w full-ring to właśnie dlatego heads-up jest jego podzbiorem. Mam wrażenie że sam udowodniłeś zaprzeczenie do swojej tezy :D
jeśli 8 passów to wielka informacja, a nie ma jej w full-ring to właśnie dlatego heads-up jest jego podzbiorem. Mam wrażenie że sam udowodniłeś zaprzeczenie do swojej tezy :D


@visez: Nie no czekaj, dwie sytuacje
10 graczy) jeżeli mamy 8 passów dostajemy w wtedy 2 graczy.
2 graczy) od startu mamy 2 graczy, nie mamy tej informacji o 8 passach.

dwie całkiem inne sytuacje. Jednak informacyjnie, 2 sytuacja nie jest zdecydowanie
@LowcaG: może inaczej. Rozważmy przestrzeń możliwych cech dowolnego produktu np. samochodu, z tym założeniem że istnieje samochód który zawiera wszystkie możliwe cechy przestrzeni, nazwijmy go superamfibią. I teraz pytanie czy Peugot 206 jest podzbiorem tej superamfibii?
@visez: ok, zadam inaczej pytanie, bo nie ustaliliśmy pewnej wspólnej płaszczyzny i być może tracimy czas.

Czy uważasz, że jeżeli nauczymy bota grać (najlepiej jak się da) tylko w 10 osobowym stoliku przy którym zawsze jest 10 osób (mogą powiedzieć pass oczywiście), to również uwzględnimy wszystkie sytuacje z head up bo jest podzbiorem?

Bo czy chodzi Ci o to, że dla Ciebie gra w 10 osób to sytuacja gdzie, siedzą tylko
@LowcaG: jak bot moze być zawsze tylko dla 10 osób? Przecież jesli do flopa dojdzie połowa to będzie dużo. Na rivierze już prawie zawsze heads-up. Jeśli AI jest w stanie grać z 10 to będzie w stanie grać z 6 czy heads-up dlatego że gry z mniejszą ilością graczy są podprzestrzenią modelu, a nie zupełnie innym modelem jak sam napisałeś.
jak bot moze być zawsze tylko dla 10 osób? Przecież jesli do flopa dojdzie połowa to będzie dużo. Na rivierze już prawie zawsze heads-up. Jeśli AI jest w stanie grać z 10 to będzie w stanie grać z 6 czy heads-up dlatego że gry z mniejszą ilością graczy są podprzestrzenią modelu, a nie zupełnie innym modelem jak sam napisałeś


@visez: aa czyli ok, czyli mam rację ;) (i zaraz ją udowodnię;)
@visez: Jednym zdaniem, będąc na river (czy gdziekolwiek prawie) w headup, masz historię działań która nigdy nie występuje w grze w 10, gdzie na riverze jest 2 graczy. w grze w 10 wie znacznie więcej. a w headup 2 musi działąć w stanie większej niewiedzy.
@visez: jeszcze minsie nasunelo.

Jezeli grasz w headsup i jestes na riverze mozesz podjac wieksze ryzyko niz gdy jestes na riverze gdzie zostalo 2 graczy a 8 zpasowalo.

Bo gdy grales w 10 to twoj przeciwnik na riverze to ten ktory mial najlepsze karty(pomijam teraz psychologie) z 9 graczy. Reszta z pasowala ti teraz zalezy od momentu ich pasu jezeli na starcie to mieli w ogole slabe karty czyli przeciwnik ma
@LowcaG: chodzi mi o to że gra na 10 zwykle redukuje się do heads-up po kilku turach. I w tym sensie jeśli bot nauczy się grać przeciwko 10 to przeciwko 1 będzie mu łatwiej, dlatego że gra przeciwko 10 zawiera w sobie grę przeciwko 2, 5, .., 10. Zasady gry są te same w każdym przypadku. Można spokojnie przenosić parametry sieci, vide transfer learning.

Jednym zdaniem, będąc na river (czy gdziekolwiek
chodzi mi o to że gra na 10 zwykle redukuje się do heads-up po kilku turach.


@visez: nie jest to prawdziwe zdanie

Jak przed chwila napisalem.

Bot grajacy w 10 osobowe stoly na riverze jeden na jednego powinien byc bardziej pasywny niz na riverze jeden na jednego w heads

Ma po prostu mniejsze szanse na wygrana.

To jak z bramkami i zonkiem.
@LowcaG: nie mówię wcale że nie. Sytuacja jest inna, ale podobna i tylko o to się rozchodzi. Mówisz tak jakby gra przeciwko 1 była zupełnie czym innym niż przeciwko 8 passom, a nie jest. Zasady są te same i transferowalne
@visez: bycie podzbiorem a bycie podobna sytuacja to calkiem rozne rzeczy.

Gdyby bylo podzbiorem to znaczy ze w grze w 10. Beda takie same stany i wtedy bedzie mozna podjac te sama rownie dobra decycje.

A river we 2 pokazuje caloem cos innego. W grze w 10 masz mniejsze szanse na wygrana. Wiec mozez podjac inna decyzje.

Czyli jezeli w podobej sytuacji (river jeden na jednego) w headsup moge/musze podejmowac inne
@LowcaG: przestrzeń stanów pokera jest tak głęboka, że nie ma sensu mówienie o 2 takich samych stanach. Rozumiem co masz na myśli, tylko czy dla każdego układu np przeciwko 5 vs 6 graczom uczyłbyś osobną sieć, czy może korzystał z parametrów znalezionych dla tego którego zaimplementowałeś wcześniej.
przestrzeń stanów pokera jest tak głęboka, że nie ma sensu mówienie o 2 takich samych stanach. Rozumiem co masz na myśli, tylko czy dla każdego układu np przeciwko 5 vs 6 graczom uczyłbyś osobną sieć, czy może korzystał z parametrów znalezionych dla tego którego zaimplementowałeś wcześniej.


@visez: a co bym zrobił to inna historia ;)

To, że można wykorzystać sieci strzelam wyuczone które rozpoznają twarze do uczenia rozpoznawania kotów, nie oznacza,
@LowcaG: ludzie nie są podzbiorem kotów, ale ludzie i koty są podzbiorami zwierząt i można znaleźc wymiar w którym różnicę w dowolnie zdefiniowanej zwierzęcości ludzi i kotów będziesz mógł wyrazić w postaci liczbowej Skoro tak to możesz rozpiąć milion sieci gdzie ludzie będą podzbiorami kotów lub wice wersja ( ͡° ͜ʖ ͡°)
Pewnie gdyby nauczyć sieć odróżniać ludzi i koty od węży i ryb. W stylu: ludzie
jeden parametr więcej w enumie i już się da :D


@visez: i teraz przypomnij sonie moje pierwsze pytanie o wspolnych plaszczyznacj. To.jest drugi scenariusz gdzie graja dwie osoby przy stoliku 10 osobowym :)

Ale odpowiedziales cos innego.

Wiec teraz zmieniamy scenariusz i nie mamy o czym mowic.

Powtorzę mamy bota ktory gra tylko z 10 osobami nie ma scenariusza ze czeac nie gra jest to wszechwladny bot ktory przeszedl wszystrkie mozliwe
przecież to jest oczywiste lol :D


@visez: no i od poczatku to mowie. Bo to nie jest podzbior gry tylko w 10. Tylko obydwie gry sa podzbiorem calej gry w pokera tak jak ludzie i koty sa podzbiorem zwierzat.

I jezeli mamy wszechmocny komputer ktory przelwcial wszystkie zbiory stany wszystko normalnie 42, to zawsze wykryje czlowieka i malpe. Ale jak by tylko przelecial wszystkie stany tylko czlowieka to z malpami moze
@LowcaG: Rozumiałem grę vs10 jako zbiór wszystkich możliwych gier tzn całą grę pokera, czyli również heads-up. Jeśli uczysz vs 10 to siłą rzeczy uczysz też vs4 czy 8.

Czy sieć vs 10 jest sprowadzalna do sieci vs 1? Tak. Czy relacja jest wzajemna? Nie. Nie da się przewidywać gier vs10 na podstawie treningu vs1, ale tylko na podstawie vs10 możesz trenować vs1 i w tym wymiarze można mówiśz o inkluzywności bo
@Avitus: btw dlaczego FLOSS?


@visez: A dlaczego by nie? Nie będziemy przecież tworzyć super tajnego silnika do grania w turniejach pokerowych online ;-)

@Avitus: pisałbym się na to, tylko kurna przez cały prawie listopad nie będę mógł...


@smyl: Spoko, aktualnie nie ustaliliśmy jeszcze kto, z czym, kiedy i jak ... więc w listopadzie raczej za dużo się nie zadzieje chyba.

@Avitus na wykopie było już dużo nawiedzonych, którzy