Gå till innehåll

Hur funkar pokerprogram?


Hjort

Recommended Posts

Som Dolly sa: Fixed är en vetenskap medans NL är en konst.

Och det stämde förstås inte då heller*, båda formerna passar utmärkt in under vetenskap. Överlag så ser jag inte direkt någon motsättning mellan vetenskap och konst.

 

Finns ju tydligen ruggigt bra datorer på fixed limit som kan räkna sannorlikheten att den har bästa handen och därmed vinna på fixed,

Det är inte så fixlimitprogrammen fungerar, snarare tittar de på hela block av strategier och kör lite simuleringar. Alternativt så löser de ett fetstort linjärt ekvationssystem.

 

*Doyle må vara extremt mycket bättre än mig på poker, men något vidare fast grepp om vetenskap verkar han inte ha.

 

* Lite småbokstäver :) - QoS *

Länk till kommentar
Dela på andra webbplatser

Finns ju tydligen ruggigt bra datorer på fixed limit som kan räkna sannorlikheten att den har bästa handen och därmed vinna på fixed

 

Mig veterligen finns det ingen dator alls som kan spela vinnande i varken FL eller NL. Det finns väl någon bot som klarar sig rätt bra HU, men det är också allt. Men det där kommer säkert snart Hjort att berätta mer om.

 

men på nl är det ruggigt mycket mer som spelar in och det handlar mer om att spela motståndaren.

 

Det kan jag väl kanske hålla med om.

 

//Hickmott

 

EDIT: Och snabbare än jag var han också. :)

Länk till kommentar
Dela på andra webbplatser

Mig veterligen finns det ingen dator alls som kan spela vinnande i varken FL eller NL. Det finns väl någon bot som klarar sig rätt bra HU, men det är också allt. Men det där kommer säkert snart Hjort att berätta mer om.

Det finns program som klarar sig rätt bra överlag shorthanded och rimligen också vid fullbord. Shortstack NL borde inte heller vara något större problem. Grejen är ju bara att det inte finns något större intresse för någon som programmerat ihop ett verkligt expertprogram att dela det med världen då det genast minskar värdet på programmet drastiskt.

Länk till kommentar
Dela på andra webbplatser

Det är inte så fixlimitprogrammen fungerar, snarare tittar de på hela block av strategier och kör lite simuleringar. Alternativt så löser de ett fetstort linjärt ekvationssystem.

Ekvationssystem bestående av vad? Rent intuitivt känns det som att det finns två varianter på pokerbottar.

 

1) Ett program som vid varje val tar in alla parametrar av vikt och räknar ut bästa EV-move med ren logik. Nån sorts försök att efterlikna hur vi människor resonerar alltså. Jag skulle tro att de flesta försök till bottar är av denna modell.

 

2) Ett program bestående av nån sorts AI-komponent, typ ett neuralt nät. Man tränar nätet med ett antal situationer där man vet vad bästa valet är och sen kommer det att kunna göra "smarta" val i många andra situationer också. Det här verkar skitcoolt och jag funderar lite på att göra det själv, mest för att se om det funkar.

 

Att simulera vid varje valsituation eller att ge programmet nån övergripande strategi verkar oerhört korkat och klumpigt.

Länk till kommentar
Dela på andra webbplatser

Ekvationssystem bestående av vad? Rent intuitivt känns det som att det finns två varianter på pokerbottar.

Det är för HU-poker och är en spelteoretiskt utbetalningsmatris, i stort sett en uppställning av alla möjliga strategier (i pokerfallet kort+betmönster) naturligtvis hyffsat förenklat. Det går att göra sådana lösningar för alla spel som kan formuleras som tvåspelars nollsummespel.

 

1) Ett program som vid varje val tar in alla parametrar av vikt och räknar ut bästa EV-move med ren logik. Nån sorts försök att efterlikna hur vi människor resonerar alltså. Jag skulle tro att de flesta försök till bottar är av denna modell.

Vet inte riktigt vad ovanstående innebär egentligen, de flesta datorer lär ju använda sig av ren logik och det är ju för övrigt inte särskilt likt hur vi faktiskt tänker vid bordet.

 

2) Ett program bestående av nån sorts AI-komponent, typ ett neuralt nät. Man tränar nätet med ett antal situationer där man vet vad bästa valet är och sen kommer det att kunna göra "smarta" val i många andra situationer också. Det här verkar skitcoolt och jag funderar lite på att göra det själv, mest för att se om det funkar.

Det funkar i någon utsträckning ja, kolla på pokis forum och utvecklar lista för mer info.

 

Att simulera vid varje valsituation eller att ge programmet nån övergripande strategi verkar oerhört korkat och klumpigt.

Simulation funkar rätt bra faktiskt.

Länk till kommentar
Dela på andra webbplatser

(Kanske ide att flytta den här delen till en egen tråd?)

Det är för HU-poker och är en spelteoretiskt utbetalningsmatris, i stort sett en uppställning av alla möjliga strategier (i pokerfallet kort+betmönster) naturligtvis hyffsat förenklat. Det går att göra sådana lösningar för alla spel som kan formuleras som tvåspelars nollsummespel.

Jag tror att jag har en liten aning om vad du pratar om, men jag är inte alls övertygad om att det skulle vara bättre än något annat alternativ. (eller ens lika bra)

 

Vet inte riktigt vad ovanstående innebär egentligen, de flesta datorer lär ju använda sig av ren logik och det är ju för övrigt inte särskilt likt hur vi faktiskt tänker vid bordet.

Nu missuppfattade du mig nog helt. Den här typen av program skulle samla alla parametrar och göra ett resonemang ungefär som vi gör när vi spelar. Förenklat exempel på situation som löses med logik enligt mänsklig modell:

 

OM minHand = halvbra OCH motståndaren = weak OCH potten = liten SÅ höj.

 

Det är ju ungefär så vi tänker och så skulle en bot kunna fungera. Jag misstänker att skitbottarna (typ winholdem) som sprids på nätet fungerar såhär, men att grundlogiken är alldeles för enkel och dessutom felaktig och att de flesta användarna inte fattar det.

 

Det (neurala nät) funkar i någon utsträckning ja, kolla på pokis forum och utvecklar lista för mer info.

Jag är övertygad om att det kan funka betydligt bättre än i någon utsträckning. Ska kolla in forumet snart, måste ju fördjupa mig i nåt nu när det är tentor och allt... :?

 

Simulation funkar rätt bra faktiskt.

När? Hur? Och på vilka sätt är det bättre än t.ex logik eller nn?

 

Egentligen finns det väl inget som säger att man inte kan skriva en superbra bot med vilken metod man vill, men eftersom FL (fullbord) oftast är hyffsat mekaniskt så borde man kunna komma undan med ren logik.

Länk till kommentar
Dela på andra webbplatser

Det är för HU-poker och är en spelteoretiskt utbetalningsmatris, i stort sett en uppställning av alla möjliga strategier (i pokerfallet kort+betmönster) naturligtvis hyffsat förenklat. Det går att göra sådana lösningar för alla spel som kan formuleras som tvåspelars nollsummespel.

Jag tror att jag har en liten aning om vad du pratar om, men jag är inte alls övertygad om att det skulle vara bättre än något annat alternativ. (eller ens lika bra)

Det ger ju garanterat minst 0 i EV och troligen mer mot det stora flertalet spelare, så det är väl rätt vettigt. Särskilt om man inte ännu lärt sig motståndarens tendenser än.

 

Nu missuppfattade du mig nog helt. Den här typen av program skulle samla alla parametrar och göra ett resonemang ungefär som vi gör när vi spelar. Förenklat exempel på situation som löses med logik enligt mänsklig modell:

 

OM minHand = halvbra OCH motståndaren = weak OCH potten = liten SÅ höj.

 

Det är ju ungefär så vi tänker och så skulle en bot kunna fungera. Jag misstänker att skitbottarna (typ winholdem) som sprids på nätet fungerar såhär, men att grundlogiken är alldeles för enkel och dessutom felaktig och att de flesta användarna inte fattar det.

Ok, jag blev lite förvirrad av att de skulle använda logik, vi tenderar ju att dels processa rejält med information omedvetet och dels använda oss av rejält med tumregler (som ofta kan sakna logisk grund).

 

Simulation funkar rätt bra faktiskt.

När? Hur? Och på vilka sätt är det bättre än t.ex logik eller nn?

Det används i många av pokibotarna och kombineras i flera fall med neurala nät, det är alltså inte frågan om antingen eller.

 

Egentligen finns det väl inget som säger att man inte kan skriva en superbra bot med vilken metod man vill, men eftersom FL (fullbord) oftast är hyffsat mekaniskt så borde man kunna komma undan med ren logik.

En superbra bot kan du nog helt glömma att skriva med explicita if-then regler. Ett par orsaker:

 

Du måste kunna spela poker superbra och verbalisera all din kunskap. Jag tror att en stor del av en toppspelares kunskap helt enkelt inte är tillgänglig för honom på det sättet.

 

Det blir en väldigt, väldigt stor lista.

Länk till kommentar
Dela på andra webbplatser

Det ger ju garanterat minst 0 i EV och troligen mer mot det stora flertalet spelare, så det är väl rätt vettigt. Särskilt om man inte ännu lärt sig motståndarens tendenser än.

Minst 0 i EV gäller väl bara om man bortser från raken, och det kan man ju inte gärna göra. Sen gissar jag att detta är just teori och inte helt givet att realisera.

 

Ok, jag blev lite förvirrad av att de skulle använda logik, vi tenderar ju att dels processa rejält med information omedvetet och dels använda oss av rejält med tumregler (som ofta kan sakna logisk grund).

Självfallet är det en förutsättning att man får med alla parametrar som har betydelse. En annan grej man kan fundera på är om de informationer vi eventuellt använder omedvetet gör våra beslut bättre eller sämre.

 

Det (simulering) används i många av pokibotarna och kombineras i flera fall med neurala nät, det är alltså inte frågan om antingen eller.

Det låter i så fall högst rimligt.

 

En superbra bot kan du nog helt glömma att skriva med explicita if-then regler.

Det menar jag inte heller. If-then-reglerna använde jag bara för att förklara vad jag menar med logik i jämförelse med andra grundmetoder.

Det stora problemet med en bot som baserar sig på logik är ju att den inte kommer att kunna spela bättre än vad du själv kan (borträknat tilt och feltryck och tillfällig dumhet osv). En möjlighet är att låta botten styras av logik i mer eller mindre självklara situationer, exempelvis i preflopspel, där man ändå inte har någon glädje av ett neuralt nät.

Länk till kommentar
Dela på andra webbplatser

Minst 0 i EV gäller väl bara om man bortser från raken, och det kan man ju inte gärna göra. Sen gissar jag att detta är just teori och inte helt givet att realisera.

En av pokibotarna (sparbot) är ju just en approximation av det här, och den spelar ju riktigt hyffsad HU-poker (även om den är långt mer slagbar än vad pokis marknadsföring ger intryck av).

Länk till kommentar
Dela på andra webbplatser

En av pokibotarna (sparbot) är ju just en approximation av det här, och den spelar ju riktigt hyffsad HU-poker (även om den är långt mer slagbar än vad pokis marknadsföring ger intryck av).

Visst, men så länge den är slagbar har den ju per definition inte minst 0 i ev. Teorin är säkert jättebra men det stora problemet är ju just att man aldrig kommer att kunna göra nåt mer än bättre approximationer (och således aldrig vara garanterad 0 i ev).

 

Nu menar jag dock inte att någon annan metod skulle kunna ge garanterat minst 0 i ev, bara påpekar att det är en rätt stor glipa mellan teori och vad man kan implementera.

Länk till kommentar
Dela på andra webbplatser

Nu menar jag dock inte att någon annan metod skulle kunna ge garanterat minst 0 i ev, bara påpekar att det är en rätt stor glipa mellan teori och vad man kan implementera.

Vad man faktiskt kan konstatera är att det första försöket med en sådan lösning gav en förhållandevis stark bot och senare versioner av samma sak kommer ju knappast ge en svagare version.

Länk till kommentar
Dela på andra webbplatser

Ge det tid... det var ingen som 1996/97 trodde att Deep Blue skulle ha en chans mot Kasparov... Vad fel de fick :) nu pratar vi iofs superdator, men PS3 borde ju ge ett litet smakprov på vad som kommer för "datorer" (visst, ps3 är en spelkonsoll) framöver... PS3 gick väl rakt in på 87:e plats superdatorer världen över... ganska irrelevant, min poäng är dock att det går att få maskiner att slå människor... I Schack i alla fall :) så med rätt datorkraft så borde en bot förr eller senare kunna slå människan i Poker.. Bara lite flummiga tankar från mig iaf! keep up the wierd discussion!

Länk till kommentar
Dela på andra webbplatser

  • 2 weeks later...

Schack är ett s.k överblickbart problem. Dv.s ingen information är dold och för varje drag motspelaren gör finns det ett motdrag som med oändligt stort minne kan räknas fram. Deep BLue kan bara tänka ett visst djup kombinerat med att den har blivit lärd vissa taktiska saker.

Jag har svårt att tänka mig en vinnande AI poker robot. Med den datorkraft som finns, kanske nån kan skriva ett halvbra program som blir rånat av bra spelare.

Länk till kommentar
Dela på andra webbplatser

Schack är ett s.k överblickbart problem. Dv.s ingen information är dold och för varje drag motspelaren gör finns det ett motdrag som med oändligt stort minne kan räknas fram. Deep BLue kan bara tänka ett visst djup kombinerat med att den har blivit lärd vissa taktiska saker.

Jag har svårt att tänka mig en vinnande AI poker robot. Med den datorkraft som finns, kanske nån kan skriva ett halvbra program som blir rånat av bra spelare.

 

jo, men det var det som var lite min poäng också, att det ska bli intressant att se hur långt de kan komma i avseendet pokerbottar i framtiden, iom att processorkraft å så växer...

Länk till kommentar
Dela på andra webbplatser

En stor skillnad är att schackprogram är direkt beroende av beräkningskapacitet. De sökalgoritmer och liknande som används är i många fall redan optimala. Pokerprogram har naturligtvis nytta av att kunna få många beräkningar utförda, särskilt om man ska simulera i realtid och liknande, men det är inte kritiskt på samma sätt som i schack.

 

Om man tar ett schackprogram som skrevs på 70-talet och kör det på en av dagens datorer kommer det att spela oerhört mycket bättre än vad det gjorde då. Om man tar ett pokerprogram och kör det på en dator som är några hundra gånger snabbare tror jag inte att det visar speciellt stor skillnad i resultatet.

Länk till kommentar
Dela på andra webbplatser

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gäst
Svara i detta ämne...

×   Du har klistrat in innehåll med formatering.   Ta bort formatering

  Endast 75 max uttryckssymboler är tillåtna.

×   Din länk har automatiskt bäddats in.   Visa som länk istället

×   Ditt tidigare innehåll har återställts.   Rensa redigerare

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Skapa nytt...