Gå till innehåll

Recommended Posts

Postad

Jag har lite idéer om olika program som jag vill skriva ihop, men inte riktigt har kunskap till. Dels en del pokerrelaterat (bla mönstersökning av satsningar, spelarkategorisering, förbättrad HH-presentation, lösare av någorlunda enkla riversituationer via simulering linjärprogrammering, enklare simulator för jam-situationer, handklassificerare för texas givet en HD, och lite andra saker) samt även för att jag helt enkelt tycker om att programmera.

 

I teorin skulle jag antagligen kunna lära mig det här på egen hand, men jag är väldigt ostrukturerad i min vardag och det är lite svårt att sätta av tid till det här och jag har inte riktigt hittat någon guide som passar mig (de jag hittat börjar för lågt eller för högt på inlärningskurvan).

 

Av de språk jag tittat på mest så verkar perl eller python mest tilltalande, dock verkar perl mer underhållskrävande pga den kompakta vokabulären och syntaxen i språket. Men jag har en känsla av att de flesta programmerare antagligen använder andra språk än python pga att det språket är relativt färskt och mig veterligen än så länge inte haft särskilt stort intåg på svenska universitet och högskolor.

 

Allra helst vill jag ha någon som kan träffas i Lundtraken eller Kalmar, men jag kan eventuellt tänka mig något över nätet också.

 

Ersättningsmässigt så kan jag antingen tänka mig att betala i cash (nivå beroende på erfarenhet och kompetens, men jag är rätt generös) eller i ett enkelt 1:1-förhållande mot pokercoachning / diskussion om det kännns intressant.

 

Kunskaperna jag letar efter är:

 

Någorlunda stor programmeringsvana (eg kunna skriva exempelvis en sudokulösare utan större problem), helst inom python även om andra språk är ok. Språket ska i vart fall vara lätt att använda för att exempelvis söka igenom en hög HH-filer och skriva in delar av dem i en eller flera andra filer.

 

Kunskaper inom SQL (särskilt dialekterna som PT och andra analysprogram använder sig av) och annan databashantering är naturligtvis väldigt användbara.

 

Kunskaper inom spelteori, genetisk programmering, linjär programmering, optimering, statistisk, simulering och liknande ämnen är en klar bonus.

 

Tips på tutorials och andra resurser mottages också tacksamt så klart.

Postad

För att förtydliga mina idéer lite.

 

HH:ar kan presenteras väldigt mycket bättre än vad de gör idag. Den grundläggande förbättringen jag tänkt mig är att presentera bet som fraktion av potten istället för ett dollartal, på det sättet så presenteras betstorleken automatiskt utan att man behöver tänka beräkna något i onödan. I samma anda så vill jag även få med annan information som är lätt att automatisera, exempelvis att betet även presenteras som % av spelbar stack, maximala implicita odds, implicita odds för ett pottbet, minimal equity för att syna ned bet från dåvarande gata. Ytterligare en tanke är att kunna presentera bet och stackar grafiskt i relation till pottstorleken istället för enbart numeriskt då det sättet torde vara mer intuitivt för många.

 

Spelarkategorisering är helt enkelt ett sätt att dela upp spelarna i en databas efter olika kriterier för att t.ex kunna se hur de presterar vinstmässigt eller om olika egenskaper korrelerar.

 

Satsningsmönster är särskilt intressanta att titta på för fixlimit eftersom det är en så begränsad mängd mönster som kan förekomma där, särskilt HU. Främst tänker jag mig det som ett sätt att hitta olönande spel (exempelvis openlimp) så att man kan undvika dem, samt även att se vilka spel som ser olönsamma ut utan att vara det.

 

Jag vill också ha lite alternativa mått till de som presenteras i PT. Ett exempel är betkonsistens, alltså i vilken utsträckning en spelare tenderar att fortsätta spela som han gjort på tidigare gator i samma hand. Det finns rimligen en hel del andra mått som torde vara intressanta att titta på.

 

Vad gäller riverspelslösaren så vill jag helt enkelt skriva ett program som givet HD för två spelare och bräda hittar en exakt eller ungefärlig spelteoretisk lösning. Ett alternativ här är ett program som givet en färdig strategi hittar den maximala motstrategin.

 

Simulatorn för jam-situationer är helt enkelt tänkt att automatisera beräkningarna man gör när man ställer in och tror sig veta motståndarens HD och vilka händer man synar med. Alltså, man knappar in storlek på bet, pott, motståndarens HD och strategi och får ut värdet på spelet.

 

Handklassificeraren är tänkt att ta en (eller flera) HD:ar plus bräda och ge tillbaka sannolikheten för händer av olika sorter (eg underpar, par + färgdrag, färgdrag + överkort, överkort utan drag, överpar, etc). Alternativt att presentera sannolikheten för olika händer klumpat i grupper över hur de presterar mot en randomhand (eller avancerat en given HD).

 

Och ja, jag har också funderat på en sudukolösare. Konceptuellt har jag tänkt på tre olika grundläggande versioner, en som systematiskt löser dem med logik en som kör en genetisk simulering, och en som använder sig av ett neuralt nät. Fast jag har inte skrivet en rad kod en, har bara skissat på strukturen av programmet.

Postad

Tänk på att exempelvis simuleringar och genetiska algoritmer implementerade i python kommer att ta väldigt lång tid, så just de delarna bör du nog rikta in dig på att skriva i ett annat språk. Om du vill göra så och vilket språk det i så fall blir kan du bestämma när du har kommit så långt.

 

Till dess kan du hitta väldigt mycket av det du behöver för att bygga upp dina programmerings- och pythonskills på http://www.python.org. För genetisk programmering och neurala nät osv har jag lärt mig det mesta jag kan från boken "Artifical Intelligence - A modern approach" (Russel/Norwig, Prentice Hall).

Postad
Tänk på att exempelvis simuleringar och genetiska algoritmer implementerade i python kommer att ta väldigt lång tid, så just de delarna bör du nog rikta in dig på att skriva i ett annat språk.

Fast om jag förstått saken rätt är en av fördelarna med python att det är relativt lätt att anropa program skrivna i andra språk, vilket gör att man kan borde kunna göra huvudstrukturen i python och de beräkningsintensiva bitarna i C eller vad sjutton nu de hippa programmerna använder för att optimera sånt.

 

Du är inte intresserad av ett ta ett skott på att hjälpa mig att komma igång med programmeringen?

Postad
Om du hann börja med AI-kursen innan du hoppade av kogvet har du antagligen redan boken som Svinto rekommenderar.

Jo, vill minnas det. Fast jag vill också minnas att jag gjorde mig av med den för ett tag sen tillsammans med ett par resväskor andra böcker.

 

Vad jag minns så var den inte särskilt intressant ur ett rent kodningsperspektiv, utan snackade mer principer.

Postad

Det här låter ju intressant. Jag kan tänka mig att hjälpa till.

 

Jag jobbar till vardags som utvecklare/verksamhetskonsult, och har erfarenhet av det mesta av de saker du skriver om. PM:a mig om du är intresserad.

Postad
Ska tilläggas f.ö. att du borde börja med att lära dig regexp ordentligt (jag kan låna ut böcker till dig) om du ska syssla med HH-konvertering osv.

En av de första sakerna jag gjorde var att skaffa en regexpbok. Tyvärr insisterar den på att göra större delen av exemplen i perl. Har du någon bok som inriktar sig på något lite mer lättlärt språk?

Postad
Tänk på att exempelvis simuleringar och genetiska algoritmer implementerade i python kommer att ta väldigt lång tid, så just de delarna bör du nog rikta in dig på att skriva i ett annat språk.

Fast om jag förstått saken rätt är en av fördelarna med python att det är relativt lätt att anropa program skrivna i andra språk, vilket gör att man kan borde kunna göra huvudstrukturen i python och de beräkningsintensiva bitarna i C eller vad sjutton nu de hippa programmerna använder för att optimera sånt.

 

Poker-eval finns ju som modul till Python. Dessutom är det väldigt lätt att koppla till en MySQL-databas med Python. I FL räcker det antagligen med enkla parameterstudier men annars finns ju bl.a. optimeringsalgoritmer i SciPy

Postad
Tänk på att exempelvis simuleringar och genetiska algoritmer implementerade i python kommer att ta väldigt lång tid, så just de delarna bör du nog rikta in dig på att skriva i ett annat språk.

Fast om jag förstått saken rätt är en av fördelarna med python att det är relativt lätt att anropa program skrivna i andra språk, vilket gör att man kan borde kunna göra huvudstrukturen i python och de beräkningsintensiva bitarna i C eller vad sjutton nu de hippa programmerna använder för att optimera sånt.

Ja, python är utan tvivel lämpligt för det mesta du vill göra och det är heller inga problem att skriva tidskritiska delar i exempelvis C.

 

Du är inte intresserad av ett ta ett skott på att hjälpa mig att komma igång med programmeringen?

Jag hjälper dig gärna med frågor via mail eller ICQ, men jag är inte jättesugen på nåt seriöst upplägg med bestämda tider och ersättning. Om jag känner mig själv rätt kommer det väldigt snabbt att kännas som ett måste och bli dåligt för alla inblandade.

Postad
Ska tilläggas f.ö. att du borde börja med att lära dig regexp ordentligt (jag kan låna ut böcker till dig) om du ska syssla med HH-konvertering osv.

 

Bara jag som tycker att regexp är sjukt drygt? Måste i princip alltid sitta med dokumentationen framme när jag pysslar med det. :)

  • 6 months later...

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...