Select Page
Poker Forum
Over 1,292,000 Posts!
Poker ForumTournament Poker

SNGs - Constructing real opponent ranges

Results 1 to 12 of 12

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #1

    Default SNGs - Constructing real opponent ranges

    Constructing real opponent ranges #1 - Background


    This is going to be a series of articles that look at constructing real shoving and calling ranges for our opponents. In the first article I'm going to start laying some groundwork. Later articles will cover more SQL code, custom stats and reports. I hope this series will improve your game and help you get the best out of WIZ.

    I think one of the most complicated things to do in SNGs coming to grips with pushing and shoving ranges. Everyone tells you not to use the default ranges in WIZ, but how do we know what ranges we should be using? I've played thousands of SNGs and, while I'm better at approximating ranges than when I first began, I still don't have an entirely clear picture of these ranges. I'm sure I'm not alone in this boat and I'm sure there are load of people that are interested in doing something exactly something like this.

    Armed with my quest of finding ranges, I fired up Hold em Manager (HEM) with the intention of getting these ranges. I quickly learned that while HEM is quite good for analysing your own play, it's almost entirely useless for constructing your opponents ranges. HEM was simply never intended to be used in this way, so there are no useful reports, stats or methods for building these ranges. A lot of what I'm going to show you here is information I have found and tweaked for myself. I don't guarantee it will work for everyone, nor is it going to be error free.

    Disclaimer

    Right from the outset I'm going to say that this isn't for the feint-hearted. I'm going to show you code that you will have to run yourself. This isn't quick or easy to do and involves some work on your part. While none of what I'm going to show you should damage your database, there is a possibility that it could happen. I don't accept any responsibility if you break anything. Also this guide applies to HEM, but this method could work for other databases that use PostgreSQL.

    Why can't I just ask HEM for the ranges?

    The first annoying thing you are going to come across in HEM is that it doesn't allow you to work with groups of your opponents. While you can run a fantastic array of stats on yourself, you can't run them on a group of other players …. or can you? There are work-arounds to achieve this like this awesome blog article that I stumbled across Learn Good Them SNGs #2 - Hand Ranges | SickRead.com . I was impressed by the level of ingenuity in the article and applied the same method to my database, but I was left craving more when I didn't have the fine level control I wanted. I wanted better control over what constituted a shove and the analysis to be cleaner when more than 2 players are in the hand.

    Aliases

    The answer lies in aliases in HEM. This allows you to group together players as one entity, in the same way as you group your screen names into an alias so you can analyse your play across poker sites. This is going to allow us to group together all our villains together and analyse them as an average player … happiness! Unfortunately HEM only allows you add player at a time to an alias. That's great if you have a bored grandmother who knows what a computer mouse is and not so great if you don't. Fortunately for you, I have a cunning plan. We are going to make an alias and automatically add players in the HEM backend program, PostgreSQL.

    I first have to explain a bit of how HEM works. HEM is a gigantic database driven by a database management program called PostgreSQL. Some you may have heard of MySQL, that's Oracle's version of SQL, a database language. PostgreSQL is an open source version that basically does the same thing. Think of it as Open Office versus MS Office. Behind the pretty HEM Graphical User Interface (GUI) is PostgreSQL. Every time you run a report, results, look at hands, you are interacting with tables and columns in the PostgreSQL database. Every time you use a filter, it's actually writing a SQL query in the background and fetching the information. When you make a new alias in HEM, it basically does the same thing we are about to do without you having to run all the code manually.

    In the next instalment of this article series (read – when I have time), we are going to make a new alias that you can work in the HEM GUI. I'll give you the code, some screen shots and a good dose of courage!
    Last edited by Nakamura; 06-15-2011 at 07:10 PM. Reason: Fixed typo, MySQL belongs to Oracle obv!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •