Will Tipton Video Pack 2 - Solving Poker

119 replies [Last post]
alexrjl's picture
alexrjl
Offline
New User
Joined: Oct 3 2010
Installation problem

I seem to be failing at literally the first hurdle with this: When I try to import pokereval, I get the follow error

ImportError                               Traceback (most recent call last)
<ipython-input-1-ba86388f21dc> in <module>()
----> 1 import pokereval

C:\Users\alex.Owner-PC\Anaconda\lib\site-packages\pokereval\__init__.py in <module>()
     28 import sys
     29 #_pokereval = __import__('_pokereval_' + sys.version[0] + '_' + sys.version[2])
---> 30 import _pokereval_2_7 as _pokereval
     31 
     32 from types import *

ImportError: DLL load failed: %1 is not a valid Win32 application.

I've tried reinstalling pokereval to no avail. Anyone have an idea what's going on?

yaqh's picture
yaqh
Offline
Veteran
Joined: Feb 5 2009
Hm, I suspect this means that

Hm, I suspect this means that you have 64 bit python installed but a 32bit version of the pokereval library.. Could you post the versions of the various things you installed during the setup video?


IamIndifferent's picture
IamIndifferent
Offline
New User
Joined: Jul 2 2015
PioSolver vs Tipton's Vidpack

I have PioSolver and am quite happy with it for postflop study.

My question is: what benefit would I gain from buying Tipton Video pack?

I have extensive background in programming so that is not an issue.

I'm looking to analyse pre-flop ranges for both HUSNG and 6max 3B and 6max single raised pots especially cold calling ranges by position. ATM, I can't do this in Piosolver as far as I'm aware. Can I figure out how to do this with Tipton Vid Pack (automating analysis over 1755 strategically different flops)?

yaqh's picture
yaqh
Offline
Veteran
Joined: Feb 5 2009
Hey, I'm not really sure what

Hey, I'm not really sure what kind of analysis you have in mind, but certainly anything you can do for one flop will be easy to do for all of them.. it's just a for loop. I'd recommend checking out the free intro videos for more specifics as far as what we build over the course of the series. 

Will


IamIndifferent's picture
IamIndifferent
Offline
New User
Joined: Jul 2 2015
Analysis

I would like to validate the analysis in your book Vol 2, Section 15.2, p335+ pseudo-equilibriums for pre-flop for various short stacks but using 1755 flops (versus I think you used 135 flops).

If i can get "close" to your HUSNG results, I'd then like to take the same approach to 6max 3B pots (smaller SPR to limit treesize) for certain HU simplified combinations such as BB 3B vs SB raise. 

Am I being overly ambitious here or is this a practical thing to try to achieve on my 2.4Ghz 8Gb +SSD laptop? (I don't mind if the analyses take several weeks to complete). How do I estimate how long this might take to run?

(I've watched all the intro vids multiple times to try to make sure I've grasped the scope of the vid pack).

Lunastar's picture
Lunastar
Offline
New User
Joined: Aug 25 2014
whats my mistake?

in the hand vs hand eq calculations  our return is (numWins + numTies / 2.0) / numRunouts

in our example we hav numWIns = 41 numties =0 and numrunouts = 44

when i use this and calculate (41+0 /2.0) / 44 i get 0.9318... instead of 0.136...

Whats my mistake ? My program shove me 0.136  so i code right. But i just wanna test it on myown and so where is my mistake in thinking?

ANother questions, do u have a link for the whole pokereval stuff for c++`?

regards

 

SerialChiller's picture
SerialChiller
Offline
New User
Joined: Mar 5 2016
Problem with plot out the hand table

Hi folks,

I  have problems with making the table: 

Only the AA cells shows up

I tried to print out 'results', it seems like it is good:

<svg><rect x="0" y="0" width="20" height="20" fill="#ffffff"></rect><text x=0 y=20 font-size=12 >AA</text></svg>

<svg><rect x="0" y="0" width="20" height="20" fill="#ffffff"></rect><text x=0 y=20 font-size=12 >
AA</text></svg><rect x="0" y="20" width="20" height="20" fill="#ffffff"></rect><text x=0 y=40 font-size=12 >AK</text></svg>
<svg><rect x="0" y="0" width="20" height="20" fill="#ffffff"></rect><text x=0 y=20 font-size=12 >AA</text></svg><rect x="0" y="20"
 width="20" height="20" fill="#ffffff"></rect><text x=0 y=40 font-size=12 >AK</text></svg><rect x="0" y="40" width="20" height="20" 
fill="#ffffff"></rect><text x=0 y=60 font-size=12 >AQ</text></svg>

 

 

What am I doing wrong?

Thanks

yaqh's picture
yaqh
Offline
Veteran
Joined: Feb 5 2009
Looks like you're

Looks like you're adding 

</svg>

too soon. You're appending it inside the inner loop, whereas it should just go once, at the very end. Remember that the amount of indentation is what determines what is in which loop.

Will


SerialChiller's picture
SerialChiller
Offline
New User
Joined: Mar 5 2016
debugging

Hello again :),

I almost finished the video series, but I have some problems when doing the ficticious play. When calling the dofp function it seems it doesn't return anything. I tried to comment out some lines, and it starts to print out numbers from 1 to 100. It seems like if it has some problems with the setMaxExplEVs function. It runs only if the hero is "BB". 

What could be the bug here?

 

 

UPDATE:

After some debugging I managed to run the function. But I got an error message and it prints out only 100% and 0% ranges. Where could be the problem?

Thanks

ps: I really enjoyed writing the code so far.

 

yaqh's picture
yaqh
Offline
Veteran
Joined: Feb 5 2009
Hi SerialChiller, it's hard

Hi SerialChiller, it's hard to tell what's going wrong from the info you've given, but it seems like it could be a lot of things.

Did you see the debugging tips I wrote here? http://www.husng.com/content/will-tipton-hunl-video-pack-2-0?page=1#comment-41976

I'd recommend giving that a shot. As I mention there, practice debugging is an important part of learning to program, and if you don't figure it out, it'll produce some good info you can post here to point us towards the problem.

Will


Ardor's picture
Ardor
Offline
New User
Joined: Oct 19 2016
Hi everybody,It occurs me a

Hi everybody,

It occurs me a strange string with the AhKdQs2d spot (end of the video 15).

First, when I run all the cells of the program, the code seems (apparently) to be right because  iPython returns zero error message. I have debugged all I could (I am a newbie regarding Python)  following the videos and the debugging in this thread step by step.

So ,after running 300 iterations for the AhKdQs2d spot, I have an ultimate (and big) issue when I want to display the ranges at each nodes:

- BB checks 0% of his starting range (the top to 65%) at the turn, and consequently after checking he can't bet  the river1 nor the river2 (left side of the tree). Unfortunatly, despite of this fact, SB fold a part of this range at the nodes 13 and 9 !!! (so after the parent nodes 8 and 12 where BB could bet at the river if he had some turn checking range at this point).

- As BB checks 0% at the turn, he bets 100% of his starting range (the top to 65%). The more strange here is that at this side of the tree (right side, nodes 15 until 29), all BB and SB ranges split correctly !!!

So I don't understand what could happen here. Someone have an idea ?

I post some image links to help the process:

My tree:

http://imgur.com/SRRxZ2a

The BB and SB starting ranges:

http://imgur.com/oEoWUi0

The solution for the nodes 1 and 2:

http://imgur.com/JMtdFdH

For the node 15 (when BB bet 100% of this starting range and then the BB and SB ranges split correctly for each children of this parent):

http://imgur.com/a/xTDxV

And for the nodes 8 and 9 (when SB fold after BB bet 0% !!!):

http://imgur.com/a/JhcgZ

For advance, thank you and sorry for my english, it's not my native language !! Sure you guess it ^^

UPDATE : my bad, I had set for the first turn 6s instead of 6d...

 

BEafterRB's picture
BEafterRB
Offline
New User
Joined: Sep 27 2011
getStartingRangeOf() takes exactly 1 argument (2 given)

Hello, I am having trouble debugging the following:

https://gyazo.com/ed66981289037874f91a22b89efb929e

 

I have spent a while now going over the code, 2p2, and this thread to see if others had similar problems and it doesn't seem so. I'm not sure exactly why it is saying I'm giving 2 arguments to getStartingRangeOf()

 

Thanks so much for the help and for this very cool product!

 

yaqh's picture
yaqh
Offline
Veteran
Joined: Feb 5 2009
Hey,You've written

Hey,

You've written 'self.getStartingRangeOf(player)' and it tells you 'getStartingRangeOf() takes exactly 1 argument (2 given)'.

The two arguments it's referring to are self and player. When you call getStartingRangeOf like this, self is implicitly passed in as the first argument, even though it doesn't show up in the argument list when you call the method. It should be explicitly included when you define the method, though, e.g.:

class StrategyPair:

<...snip...>

def getStartingRangeOf(self, player):

So I'd guess that maybe you've forgotten one of the arguments when you defined the method.

Will


BEafterRB's picture
BEafterRB
Offline
New User
Joined: Sep 27 2011
Thanks!

Thank you very much!

BEafterRB's picture
BEafterRB
Offline
New User
Joined: Sep 27 2011
soln.dump()

I am so close to wrapping up this series, but am having a problem with my strategies it seems. When I do soln.dump() as in video 14, here are the results that I get:

https://gyazo.com/36b46d47b3d60428fb2ed7027300a859

I have checked the codes and looked for mistakes or differences and don't know where to go from here without further complicating my situation. Help!

Thanks in advance.

outfit's picture
outfit
Offline
New User
Joined: Dec 25 2016
64-bit

Will Python 2.7 version using the 64-bit installer be compatible with this video series today? What is the latest version of Python I can use today? Thanks

 

outfit's picture
outfit
Offline
New User
Joined: Dec 25 2016
I figured it out. I can't

I figured it out. I can't wait to start.

bill.carson's picture
bill.carson
Offline
New User
Joined: Jul 30 2014
I ordered these videos awhile

I ordered these videos awhile back ( could be a year or more ago ) ... is there away I can download them again ? I don't have them on my hard-drives anymore .

Honestly , I wasn't able to achieve much success with it but would like to try again . One thing I didn't understand is how to make the program converge to a solution and how to find the optimum number of iterations . Is there a way ? Last time I tried , I found that the more iterations I put , the solution doesn't seem to converge but the ranges just keep getting tighter and tighter . How am I supposed to tell when it is done ?

 

 

 

yaqh's picture
yaqh
Offline
Veteran
Joined: Feb 5 2009
Hi Bill, There isn't really

Hi Bill,

There isn't really an optimum number of iterations. Instead, the solutions should get closer and closer to the right answer, and you can stop once they're "close enough", which you generally decide because they're not changing much anymore. So, that's the first way you'll usually decide you're more or less done: the strategies aren't changing much anymore.

You can also look at the EVs of the maximally exploitative strategies you get in each iteration. At the equilibrium, where both players are playing maximally exploitatively at the same time, the two players' maximally exploitative EVs will just add up to the total number of chips in play. But away from an equilibrium, both players will be able to find an edge when you compute their max.expl. EVs, so the sum will be greater than the amount of chips in play. So you can also watch that sum as your program runs -- once it gets "pretty close" to the total number of chips in play, you're done.

All this said, what you see here -- ranges just getting tighter and tighter and disappearing -- probably indicates you have a bug and are just getting incorrect answers...

Hope this helps,

Will