פוקר ודירוגים

כששואלים אותי למה הלכתי ללמוד מתמטיקה ופסיכולוגיה, אני עונה שעשיתי את זה כדי להשתפר בפוקר: שחקן פוקר טוב נדרש לשלב ידע בהסתברות, בסטטיסטיקה, בתורת המשחקים, באמוציות ובפיזיולוגיה שלהם (שפת גוף, למשל), בקבלת החלטות ואולי גם בתורות אישיות.

משחק הפוקר עצמו, על הווריאציות השונות שלו, מסובך להפליא למידול ולחקירה (משחק חוזר, רב-משתתפים, לא דטרמיניסטי ועם אינפורמציה חלקית. שח-מט, למשל, הוא משחק ילדים לעומתו), והתוספת של אלמנטים פסיכולוגיים רק מגדילה את הפער בין כל מודל תיאורטי לבין המציאות. לכן, כמעט בלתי אפשרי לתאר בצורה אנליטית את אסטרטגיות המשחק של שחקנים שונים, ובפרט להשוות ביניהן ולהגיע למסקנה ברורה מי השחקן הטוב יותר.

הפוסט הנוכחי לא יעסוק בדרך הטובה ביותר לשחק פוקר. השאלה שאנסה לענות עליה בסיסית יותר, והיא כיצד בכלל ניתן להשוות בין שחקני פוקר שונים. ספציפית, בהינתן קבוצת שחקני פוקר שמשחקים זה עם זה באופן קבוע, מי השחקן הטוב יותר מביניהם?

poker-chips.png

כדי שהדיון הנוכחי לא יהיה תיאורטי לחלוטין, אבסס אותו על נתונים אמיתיים. בשנה האחרונה שיחקתי פוקר עם קבוצה פחות-או-יותר קבועה: "גרעין קשה" של בערך 10 חברים, ושחקנים מזדמנים שהצטרפו מדי פעם. שיחקנו טקסס הולדם בתצורת טורניר, כשעלות הכניסה היא 20 ש"ח לאדם (ללא rebuy) וחלוקת הפרסים קבועה בהתאם למספר השחקנים. בטורניר ממוצע השתתפו 6-7 שחקנים, והוא ארך כשעה וחצי. עבור כל משחק שהתרחש (גם לא בנוכחותי), ניהלתי רישום של השחקנים שהשתתפו ושל חלוקת הפרסים ביניהם.

בסה"כ נרשמו 377 משחקים בהם השתתפו 28 שחקנים, עם מחזור כספים של 41,300 ש"ח. מתוכם, אגביל את הדיון למשחקים שהתרחשו ברבעון השלישי של 2008: 71 משחקים בהם השתתפו 12 שחקנים, עם מחזור כספים של 7,720 ש"ח (כיוון שאסטרטגיות משחק בפוקר עשויות להשתנות לאורך זמן, דיון רציני בשאלה מי משחק טוב יותר חייב גם הוא להגביל את עצמו לתקופה באורך סביר). בקבוצת הפוקר שלנו נוהגים להסתכל על תוצאות רבעוניות, ובחרתי להתמקד ברבעון שבו באו לידי ביטוי סוגיות מעניינות לגבי דירוג השחקנים - זה לאו דוקא הרבעון שבו השגתי את התוצאות הטובות ביותר.

הגרף הבא מציג את מספר המשחקים בהם השתתף כל שחקן. כפי שניתן לראות, יש שונות גדולה בין השחקנים (חלק מהשמות בדויים):

poker-played.png

לפני שאמשיך בניתוח, נשאלת השאלה האם משחקי הפוקר שלנו חוקיים. האיסור הרלוונטי בחוק הוא סעיף י"ב בחוק העונשין, העוסק ב"משחקים אסורים, הגרלות והימורים". משחק אסור מוגדר שם כ"משחק שבו עשוי אדם לזכות בכסף, בשווה כסף או בטובת הנאה לפי תוצאות המשחק, והתוצאות תלויות בגורל יותר מאשר בהבנה או ביכולת". ניתן להתווכח האם התוצאה בטורניר פוקר אכן תלויה בגורל יותר מאשר בהבנה או ביכולת. באופן אישי, אני מאמין שלאורך זמן התשובה היא שלילית (אמנם, אם המזל היה משחק תפקיד עיקרי בפוקר, ניתן היה לצפות כי ניצחונות בטורנירים יתפלגו בצורה כמעט אחידה בין השחקנים. בפועל, ניתן להראות ברמת בטחון גבוהה ביותר כי לפחות במקרה שלנו זה לא המצב). בכל מקרה, המשחקים שלנו בודאי חוקיים כיוון שהם עומדים בסעיף 230 של החוק ("נסיבות מיוחדות"), המתיר משחקים אם הם א) מכוונים לחוג אנשים מסוים ב) אינם חורגים מגדר שעשוע או בידור ג) אינם נערכים במקום משחקים אסורים.

ובחזרה לנושא העיקרי: מהו מדד טוב לרמת המשחק של כל שחקן בטורניר נתון? מדד אפשרי, למשל, הוא המיקום אליו הגיע בטורניר. אפשרות אחרת היא למדוד בצורה כלשהי את האופן שבו שיחק ידיים ספציפיות. טענתי היא שבהינתן מספיק משחקים, המדד היחיד לטיב המשחק הוא מדד התוצאה, או במילים אחרות: כמות הכסף שהרוויח כל שחקן. מבחינתי, שחקן שמסיים כל טורניר במקום רביעי (ללא פרס), משחק משמעותית רע יותר משחקן שמסיים 90% מהטורנירים במקום האחרון (ללא פרס) ו-10% מהטורנירים במקום הראשון (עם פרס). השחקן הראשון מפסיד כסף תמיד והשחקן השני לא - ובמובן הזה, השחקן השני משחק טוב יותר. העובדה שהשחקן הראשון אולי שיחק ידיים ספציפיות טוב יותר לא רלוונטית לדיון: המטרה היחידה בפוקר היא להרוויח כסף, ובפרט לאורך זמן זהו המדד היחיד לטיב המשחק.

הגרף הבא מציג את כמות הכסף שהרוויח כל שחקן (פרסים שקיבל פחות דמי השתתפות ששילם):

poker-total.png

הסתכלות בגרף מעלה שתי נקודות מעניינות. ראשית, נשאלת השאלה האם מי שהרוויח יותר כסף הוא אכן שחקן טוב יותר (שימו לב! אמנם טענתי שמדד הכסף מייצג את טיב המשחק, אבל לא ברור בכלל שדוקא כמות הכסף הכוללת היא המדד הנכון). למשל, שי הרוויח פי 2 מניר, אבל גם שיחק פי 1.5 משחקים ממנו. האמנם שי שחקן טוב יותר? ברור שמדד שלא משקלל את כמות המשחקים ששיחק כל שחקן לא עונה על השאלה הנכונה. שנית, סולם המדידה של המדד הנוכחי אינו מייצג יחס מנה: האם ניתן לומר ששי משחק טוב יותר מניר פי 2? אם כן, פי כמה משחק שי טוב יותר מאלון?

פתרון מתבקש לבעיה הראשונה הוא למדוד את הרווח הממוצע למשחק, במקום את הרווח הכולל. פורמאלית, היינו רוצים לדעת את תוחלת המשתנה המקרי שמייצג את הרווח של כל שחקן ממשחק בודד. אם נניח שהרווח במשחקים שונים מתפלג בצורה זהה ובלתי תלויה, אז ממוצע הרווח במשחקים שראינו הוא אומד טוב לתוחלת הזו.

הגרף הבא מציג את ממוצע הרווח למשחק של כל שחקן (רווח כולל חלקי מספר משחקים):

poker-average.png

המדד הזה בודאי רלוונטי יותר לדיון מכמות הכסף הכוללת שהרוויח כל שחקן, אבל יש לו שתי בעיות מהותיות: ראשית, יש הבדל בין שחקן שהפסיד בממוצע 20 שקלים למשחק לאורך שבעה משחקים לבין שחקן שהפסיד בממוצע 20 שקלים למשחק לאורך שבעים משחקים - אבל המדד הנוכחי לא מתחשב בכך. לדוגמא, תומר הפסיד 20 שקלים בממוצע לאורך 2 משחקים, וגאס הפסיד 7.5 שקלים בממוצע לאורך 64 משחקים. כיוון שגם לשחקן מצוין יש סיכוי סביר להפסיד ב-2 המשחקים הראשונים, לא ברור בכלל שגאס צריך להחשב לשחקן טוב יותר. באופן מקביל, גיל הרוויח 30 שקלים בממוצע לאורך 2 משחקים בלבד - האם זה מספיק כדי לומר שהוא השחקן הטוב ביותר? פורמאלית, המדד שלנו הוא סטטיסטי ולכן יש לו שונות. השאלה היא כיצד להתחשב בשונות הזאת במדד הסופי. למשל, היינו יכולים לתת לכל שחקן רווח סמך, כמו בסקרי בחירות: "ארז מרוויח בממוצע למשחק בין 1.2 ל-2.4 שקלים", אבל אז היתה נשאלת השאלה איך משווים בין שני שחקנים - לפי הגבול העליון? לפי הגבול התחתון?

שנית, כדי שבכלל יהיה טעם בהשוואת תוחלות רווח של אנשים שונים, צריך להניח שהם משחקים בתנאים זהים - השאלה היא האם זה מתקיים במקרה הנוכחי. למשל, נניח ששי משחק רק במשחקים שגם אופיר משחק בהם. כיוון שאופיר מרוויח הרבה בממוצע למשחק, ברור שבמובן מסויים שי מרוויח פחות מאשר אם אופיר לא היה משחק (ובאופן כללי, כששחקנים טובים משחקים זה מול זה הם מורידים באופן מעשי את תוחלת הרווח שלהם: מדד הממוצע מוטה לטובת שחקנים שנוטים לשחק מול שחקנים טובים פחות, על חשבון שחקנים שמעדיפים - או נאלצים - לשחק מול שחקנים טובים יותר). זה מקביל לכך שפדרר ימנע מלשחק מול נאדל, ובכל זאת יצליח לעבור אותו בדירוג העולמי כי ניצח המון ילדים בני ארבע.

פתרון חלקי לבעיה האחרונה הוא לבחון בנפרד כל תת קבוצה של שחקנים. למשל, תחילה נתבונן רק במשחקים שנערכו בין אופיר, ארז, חוליאן, גאס ונתן ונחשב את ממוצע הרווח של כל שחקן במשחקים אלה. לאחר מכן נתבונן רק במשחקים שנערכו בין אופיר, ארז, חוליאן, גאס וניר, ונחשב גם שם ממוצעי רווח. בסופו של דבר, כשנסיים לעבור על כל תתי הקבוצות האפשריות, נקבל רשימה ארוכה של ממוצעי רווח לכל שחקן. כל רשימה כזאת ניתן אז לצמצם לערך יחיד ע"י ממוצע משוקלל.

הגרף הבא מציג עבור כל שחקן את מספר תתי הקבוצות שהשתתף במשחקים שלהן. כפי שניתן לראות, שחקנים מסויימים אכן נוטים לשחק בתתי קבוצות "קבועות" יחסית (ניתן להשוות את היחס בין סה"כ המשחקים של כל שחקן לבין מספר תתי הקבוצות ששיחק בהן):

poker-groups-total.png

מהו השיקלול הנכון של רשימת הממוצעים שקיבלנו לערך בודד? שיקלול טריוויאלי הוא לתת משקל זהה עבור כל תת קבוצה. שיקלול אפשרי אחר הוא לתת משקל גדול יותר לתתי קבוצות שבהן מספר גדול יותר של שחקנים. למי שמכיר מושגים בסיסיים במשחקים שיתופיים, זה עשוי להשמע מוכר: השיקלול הראשון דומה במהותו לערך בנזף, והשני לערך שפלי.

הגרף הבא מציג את ממוצע הרווח המשוקלל למשחק של כל שחקן, בשיקלול הטריוויאלי. הערך שמוצמד לכל שחקן עונה, פחות או יותר, על השאלה הבאה: אם נגריל תת קבוצה אקראית של שחקנים ונערוך ביניהם משחק, כמה ירוויח בתוחלת כל שחקן?

poker-groups-average.png

כפי שניתן לראות, המדד הזה צמצם מאוד את הפער בפסגה (למשל, ההפרש בין שי לאופיר קטן משמעותית פה לעומת מדד הממוצע הרגיל), וגם הסדר היחסי של השחקנים השתנה מעט. בפועל, מדד ממוצע הרווח המשוקלל אכן מצמצם את בעית ה"עדיף לשחק נגד שחקנים חלשים", אך בודאי אינו פותר אותה: כמו קודם, שחקן יכול לקבל דירוג גבוה יותר משחקנים טובים ממנו ע"י כך שימנע לחלוטין מלשחק מולם.

מה שנדרש הוא מדד שבו התגמול לשחקנים שניצחו שחקנים שדורגו גבוה מהם, גדול יותר מאשר התגמול לשחקנים שניצחו שחקנים שדורגו נמוך מהם. במילים אחרות, כששחקן כלשהו מנצח משחק, השינוי בדירוג שלו צריך להיות פונקציה של השחקנים שהוא ניצח, והדירוג שלו צריך לעלות יותר כשהוא מנצח שחקנים שדורגו גבוה ממנו (שוב, הניסיון כאן הוא להמנע מאפקט "פדרר והילדים" שהזכרתי קודם). דוגמא למדד כזה הוא מד הכושר של אלו - הסטנדרט העולמי לדירוג שחקני שחמט - שלמרבה הצער אינו רלוונטי לדירוג שחקני פוקר.

קצת מחשבה הובילה אותי למסקנה שהבעיה מקבילה ל… חיפוש באינטרנט!

בשלב ראשון, נשים לב שאת כל המשחקים שהתרחשו עד כה ניתן לראות כגרף מכוון וממושקל, שבו קודקודים מייצגים שחקנים והמשקלות על הקשתות מייצגות סכומי כסף שעברו משחקן לשחקן. למשל, משחק יחיד של ארבעה שחקנים (דני, אופיר, ארז, ניר) שבו ניר outplayed everyone וזכה בכל הקופה נראה כך (באדיבות Gliffy):

poker-graph.png

אם נעדכן את הקודקודים והקשתות כך שייצגו את כל המשחקים שנערכו, נקבל בסופו של דבר גרף די גדול ועמוס. בשלב זה, ניתן להפעיל על הגרף את אלגוריתם PageRank של גוגל (או בשמו החדש: PokerRank) ולקבל דירוג לכל שחקן. הדירוגים שמתקבלים הם למעשה ההסתברות הסטציונרית של שרשרת המעבר המרקובית שמייצגת את תנועת הכסף בין האנשים, או במילים אחרות, התשובה לשאלה הבאה: נניח שמישהו זורק שקל לתוך קופת הפרסים של טורניר כלשהו, והמנצח בטורניר מקבל אותו. בכל פעם שיערך משחק אח"כ, יש סיכוי כלשהו שהשקל יחליף ידיים. אחרי שיעבור הרבה זמן (והרבה משחקים נוספים), מה הסיכוי שהשקל יהיה בכיס של כל אחד מהשחקנים?

כדי להבין את הקשר בין הפסקה האחרונה לבין חיפוש באינטרנט, תחשבו על הבעיה הבאה (שהעסיקה פעם את מייסדי גוגל): בפוסט הזה יש מספר קישורים לאתרים חיצוניים, ובכל פעם שאתם נתקלים באחד כזה יש סיכוי מסוים שתלחצו עליו. משם יש סיכוי שתלחצו על לינק לאתר אחר, וחוזר חלילה. PageRank מתאים לכל אתר באינטרנט את הסיכוי שבעוד שעה (נניח), תגלשו דוקא באתר ההוא. כהערת אגב, אלגוריתם PageRank מקבל פרמטר שמגדיר את הסיכוי שתעברו מאתר א' לאתר ב' שלא מקושר אליו (למשל ע"י תקתוק ישיר בשורת הכתובת של הדפדפן). במקרה שלנו, ניתן לתת לפרמטר הזה מובן של "כמה פוקר מבוסס על מזל לעומת יכולת". אני בחרתי להריץ את האלגוריתם עם 80-20 לטובת יכולת (ככל שמניחים מעורבות חזקה יותר של מזל, ההפרשים בין דירוגי האנשים מצטמצמים, אך הסדר ביניהם לא משתנה).

הגרף הבא מציג את ערכי ה-PokerRank של השחקנים השונים:

poker-pokerrank.png

למדד ה-PokerRank יש שני יתרונות בולטים: ראשית, לראשונה קיבלנו מדד שמייצג סולם יחס. יש סיכוי של 0.14 שהשקל יסיים בידיים של ארז, וסיכוי של 0.07 שהשקל יסיים בידיים של ניר - ובמובן הזה, ארז אכן טוב מניר פי 2. שנית, המדד הזה אכן מתגמל את מי שמשחק (ומנצח) מול שחקנים שמדורגים בו גבוה - בדיוק כמו בגלישה באינטרנט, שם יש סיכוי גבוה יותר שיגיעו אליכם גולשים אם קיבלתם לינק מ-ynet מאשר מהבלוג הנוכחי.

מצד שני, למדד הזה יש גם חסרון משמעותי: ככל שתשחקו יותר, הדירוג שלכם יעלה. ואכן, הסיכוי שהשקל יסיים בידיו של שחקן מעולה שמנצח 90% מהטורנירים אבל משחק לעיתים רחוקות מאוד, קטן מהסיכוי שיסיים בידיו של שחקן ממוצע שמשחק תמיד. זאת בעיה קשה, כי בסופו של דבר אנחנו רוצים לדעת מי משחק טוב יותר, ולא רק מי משחק יותר. בכל זאת, מדד ה-PokerRank מקיים הרבה מהתכונות שהיינו מצפים למצוא במדד האידיאלי.

המדד האחרון שאציג הוא אולי המסובך ביותר להבנה, אבל לטעמי המוצלח ביותר.

הסכמנו כבר ששחקן טוב הוא פשוט שחקן שמרוויח כסף, או במילים אחרות: שחקן שתוחלת הרווח שלו למשחק חיובית. עבור כל שחקן ספציפי, ניתן לשאול עד כמה סביר שהוא אכן שחקן טוב בהינתן מדגם המשחקים שהשתתף בהם. לחילופין, ניתן לשאול את השאלה הבאה: נניח שלשחקן קופה התחלתית של 1000 ש"ח. בכל פעם שהשחקן משתתף במשחק הוא משלם את דמי הכניסה מהקופה שלו, וכל פרס שיזכה בו יכנס בחזרה לקופה. מה הסיכוי שהשחקן ישרוד לנצח, ז"א לעולם לא "יהרס"?

השאלה הזו עמוקה יותר ממה שנראה. ראשית, שימו לב שאם לשחקן יש תוחלת רווח שלילית, סיכוי ההישרדות שלו הוא ממש 0 (זאת תוצאה ישירה של החוק החזק של המספרים הגדולים). לעומת זאת, אם לשחקן יש תוחלת רווח חיובית (אבל הוא עדין יכול להפסיד מדי פעם), סיכוי ההישרדות שלו גדול מ-0, אבל קטן ממש מ-1. הסיבה היא שהשחקן עשוי להפסיד רצף של משחקים שיחסל את הקופה ההתחלתית שלו. אולי מדובר בסיכוי נמוך מאוד, אבל האפשרות קיימת.

בפועל, כמובן, תוחלת הרווח של השחקן (ומן הסתם גם התפלגות הרווח שלו למשחק) אינה ידועה לנו. מה שכן, יש לנו מדגם של משחקים שהשחקן השתתף בהם, ובעזרתו ניתן לאמוד אותה. Bill Chen פיתח מודל סטטיסטי שמאפשר לנו להעריך את סיכוי ההישרדות של שחקן תחת מספר הנחות פשוטות (בעיקר הנחות נורמאליות, שמתקיימות עבור מדגמים גדולים ממשפט הגבול המרכזי) ע"י חישוב של כמה אינטגרלים. קוראים שמתעניינים בפרטים מופנים לפרקים 22-23 בספר של צ'ן שמוזכר בסוף הפוסט.

הגרף הבא מציג את סיכוי ההישרדות של השחקנים השונים:

poker-survival.png

מה שהופך את המדד הזה למוצלח כל כך בעיני, הוא שהוא משקלל לתוכו גם את ממוצע הרווח למשחק, גם את שונות הרווח של השחקן וגם את מספר המשחקים ששיחק. מדד ההישרדות מתגמל שחקנים עם ממוצע רווח למשחק גבוה ושונות רווח למשחק נמוכה (ז"א שחקנים טובים ויציבים), ומעניש שחקנים עם ממוצע רווח למשחק נמוך ושונות רווח למשחק גבוהה (שחקנים רעים ולא יציבים). מספר המשחקים ששיחקת משמש כמגבר, ז"א יותר משחקים יגדילו את התגמול / העונש שקיבלת. בנוסף, בדומה למדד ה-PokerRank גם מדד ההישרדות מייצג סולם יחס.

אז לסיכום, מה היה לנו פה? ראינו מדדים שונים לדירוג שחקני פוקר: ממדדים סטטיסטיים פשוטים כמו ממוצע למשחק ועד מדדים מסובכים שמקורם בתיאוריה של תהליכים סטוכסטיים. בשורה התחתונה, אין תשובה חד משמעית לשאלה באיזה מדד להשתמש. כל מדד מספר לנו אינפורמציה מעט שונה על השחקנים, וכל קורא מוזמן לבחור את המדד שנראה לו ביותר. מהסתכלות על תקופות שונות של המשחקים שלנו, מדד ההישרדות הוא הקרוב ביותר לקונספט שיש לי לגבי שחקנים טובים.

אגב, כיוון שהחישובים של חלק מהמדדים כבדים יחסית (ספציפית PokerRank ומדד ההישרדות), הסטטיסטיקות והדירוגים בקבוצה שלנו כבר מזמן לא מנוהלים בקובץ Excel פשוט. היום כל העסק מנוהל ונגיש דרך אפליקצית web ייעודית שכתבתי ב-Java, ומחובר לפייסבוק דרך Facebook Connect. בנוסף למדדים שהזכרתי למעלה, האפליקציה גם מספרת לך מי הנמסיס שלך (השחקן שנוכחותו במשחק מקטינה את הרווח הממוצע שלך בצורה המשמעותית ביותר) ומי הסיידקיק שלך (השחקן שנוכחותו במשחק מגדילה את הרווח הממוצע שלך בצורה המשמעותית ביותר). אולי מתישהו אפתח אותה לשימוש גם ע"י קבוצות פוקר אחרות. ואולי לא :)

ולסיום, הנה רשימת קריאה מומלצת במיוחד למי שבכל זאת רוצה לשפר את משחק הפוקר שלו:

24 תגובות לפוסט ”פוקר ודירוגים“

  1. מאת אוהד:

    יפה מאוד.

  2. מאת אמיר:

    מדהים. בקבוצה שלנו אנחנו עסוקים מזה זמן בשאלה איך יודעים מיהו הטוב ביותר. כל הכבוד.

  3. מאת איתי:

    נאה!

  4. מאת ירונס:

    נחמד, אבל אני מעדיף את השיטה של דירוג הנבחרות של פיפ"א:
    מיכל של אטומי צסיום-139 רדיואקטיבי מזין מחולל מספרים אקראיים, שמפעיל מתקן סודי לדגימת יקומים אלטרנטיביים. על ידי דגימת תוצאות מונדיאלים בכמה מיליארדי יקומים כאלה, פיפ"א יכולה לקבוע מה הסיכוי (במובן של אחוז הצלחה מתוך מספר ניסויים חוזרים) של כל נבחרת לזכות במונדיאל ולדרג אותם על פי כך. ולא לדאוג - הם יודעים איזה יקומים לבדוק כך שהקורלציה עם היקום שלנו מקסימלית. השיטה הזו הומצאה על ידי מדענים נאצים והוברחו למערב בתוך המקטרת של עריק סובייטי.

  5. מאת MrOhad:

    which Java API library did u use in order to integrate with Facebook Connect?

  6. מאת דיסוננס קוגניטיבי:

    MrOhad:
    השתמשתי בספריית ה-javascript הרשמית של פייסבוק ובנוסף ב-facebook-java-api.

  7. מאת יהונתן קלינגר | השעשוע סביב סעיף 230 לחוק העונשין | משחק טקסס הולדם מגיע לבג"צ ‏ :: Intellect or Insanity‏:

    […] הראשונה ניתנת למענה באמצעות סטטיסטיקה (וראו את הפוסט פוקר ודירוגים בבלוג "דיסוננס קוגניטיבי, שמוכיח, לפחות לכאורה, שפוקר […]

  8. מאת יאיר:

    פוסט מעולה, תודה.

    בייחוד אהבתי את הניתוח האנליטי של היתרונות וחסרונות של כל מדד. זו בדיוק התכונה של ספקנות (וסקרנות) בריאה שחסרה לרוב האנשים, ומולידה את ה"שם הרע" שיצא לסטטיסטיקה כמתעתעת ומאחזת עיניים.

  9. מאת אסף:

    מחקר שעשוי לעניין אותך - http://www.mindhacks.com/blog/2009/07/ai_predicts_poker_be.html

  10. מאת גיא:

    שלום דני,
    מאד אהבתי את הפוסט והוא מאד מסקרן!
    אני משחק עם כמה חברים באופן קבוע והייתי שמח ליישם את אחד הדירוגים (פוקר ראנק או מדד ההשרדות) על הקבוצה שלנו..
    תוכל אולי לעזור לנו בעניין?

  11. מאת דיסוננס קוגניטיבי:

    גיא:
    בשלב זה אין דרך פשוטה להשתמש בקוד שכתבתי לחישוב המדדים. אני בתהליך של שחרור פומבי של הקוד והרחבה שלו כך שגם אנשים חיצוניים יוכלו להזין נתונים של קבוצות שלהם, אבל אני לא יכול להתחייב למתי זה יקרה.

    בינתיים, אני מציע שתתחיל לנהל רישום מסודר של כל הטורנירים שלכם: תאריך, מי השתתף, כמה כסף הכניס למשחק וכמה כסף קיבל בסופו.

  12. מאת ערס פואטי:

    [פוקר] אליפות ראש פינה הפתוחה ועוד אירועי פוקר קרובים לישראלים

    ♦ ♥ ♣ ♠

    להלן שלושה אירועי פוקר קרובים וחוקיים המיועדים בעיקר לקהל הישראלי.

    1. אליפות ראש פינה הפתוחה, Rosh Pina Open, איזשהו צימר, 11/12/09, שמונה מש…

  13. מאת orangetime | [פוקר] אז מי מהחבר’ה שלכם שחקן יותר טוב? | ערס פואטי:

    […] הזכיר לי השבוע את הפוסט המופתי הזה, מהבלוג דיסוננס קוגנטיבי. הבלוגר דני, בעל תואר ראשון […]

  14. מאת חיים:

    שלום דני,

    גם אצלנו יש את אותה בעיה - משחק פוקר של חברים שרוצים לדרג…
    אשמח מאוד לקבל אפשרות להשתמש בקוד שלך,

    הגיגים נוספים:
    1. אצלנו לא כל המשחקים זהים - המשחק הראשון הוא טורניר ללא ריביי ואז הפורשים פותחים שולחן נוסף שבו יש ריביי עד שהוא מתמלא, האם יש צורך לדרג בנפרד לפי סוגי המשחק?
    2. מה לגבי סדר הישיבה? אנחנו מגרילים את סדר הישיבה בהתחלת הערב אבל ברור שיש לסדר זה השפעה (לדעתי גדולה) על ההצלחה במשחק

  15. מאת דיסוננס קוגניטיבי:

    חיים:
    הייתי רוצה לפתוח את המערכת לשימוש של קבוצות נוספות, אבל בינתיים זה עוד בלתי אפשרי (ראה תגובתי מה-22 ביולי, 2009. כמו שאפשר להבין זה לא ממש עומד בראש סדר העדיפויות שלי, אבל יש התקדמות בנושא).

    לגבי ההגיגים הנוספים-
    השאלה היא האם לדעתך הטורניר ללא ריביי הוא משחק שונה מהטורניר עם ריביי: למשל, האם סביר ששחקן יהיה טוב בטורנירים מהסוג הראשון, אבל לא בטורנירים מהסוג השני? אם כן, יש היגיון בלדרג שחקנים בסולם שונה בכל אחד מהם. אם לא, עדיף לדרג בסולם אחד ולנצל את המדגם הגדול יותר בשביל לקבל תוצאות מדויקות יותר. תחושתי האישית היא שבמקרה הזה אין סיבה לדירוגים נפרדים.

    לגבי סדר הישיבה, אם אתם אכן מגרילים אותו בתחילת הערב ההשפעה שלו לאורך זמן תהיה מינימלית (באופן דומה להשפעה שיש לקלפים שאתה מקבל). לכן, אני מרגיש נוח להגיד שאין סיבה להתחשב בו בדירוג השחקנים.

  16. מאת אילר:

    גיליתי את הבלוג שלך היום, וכבר קראתי חצי מהפוסטים בהתמוגגות גדולה.
    סטטיסטיקה+פסיכולוגיה+כתיבה רהוטה+סקרנות+ירידה לפרטים=שילוב מנצח!
    לגבי שיטות הדירוג: לדעתי הדבר הפשוט ביותר לעשות על מנת להעריך את הרווחיות של השחקן בהתחשב בסיכון, הוא לחשב את ה-Sharpe ratio או ה-Sortino ratio (בנירמול למספר המשחקים כמובן). למי שלא מכיר: היחס הראשון מחלק את התוחלת בסטיית התקן, ואילו היחס השני מתחשב רק בהפסדים לצורך קביעת הסיכון שבמכנה.

  17. מאת דיסוננס קוגניטיבי:

    אילר:
    מענין! לא הכרתי את שני המדדים האלה - אני אוסיף אותם לאפליקציה שלי בקרוב.

    מה שכן, חסרה לי הצדקה תיאורטית למדדים האלה. לגבי המדדים שהזכרתי בפוסט אני מבין איזה מודל של העולם הם מניחים, ותחתיו על איזו שאלה הם עונים. אני מניח שמישהו עשה עבודה תיאורטית דומה לגבי שני המדדים שהזכרת (למשל מצא פונקציות תועלת שעבורן המדדים האלה מבטאים יחס העדפה בין השקעות)… אני אחפש. בכל מקרה תודה!

  18. מאת ניתוח מדעי של פינת אמת או ספק סביר | ספק סביר:

    […] מדיסוננס קוגניטיבי, פרסם פוסט מלומד ומעניין מאוד (כלומר, לאוהבי מתמטיקה וסטטיסטיקה) של […]

  19. מאת לירוי:

    פוקר זה המ שחק הכי כיף שבעולם ואני אשמח לשחק באינטרנט

  20. מאת רנן:

    פוסט אדיר שחזרתי וקראתי כבר 3-4 פעמים במהלך השנה האחרונה :-)

    שאלה שעלתה בראשי: למה לקרוא לזה PokerRank ולא PlayerRank?

    האלגוריתם הזה מספיק כללי כדי להוות אמת מידה לכל סדרת משחקים עם N משתתפים (או אפילו קבוצות שמשחקות אחת נגד השניה), ומסוגל לקחת בחשבון את ההתנהגויות השונות שמשתתפים עשויים להתנהג מול כל מני יריבים. בדיוק כמו בדוגמא שהזכרת עם פדרר.

    אפשר למשל להריץ את זה על מקבוצות כדורגל מליגת האלופות ועד שחקני warcraft ברשת.
    ובנימה אופטימית זו אשמח לציין שגם אני מחכה לראות את הקוד.

  21. מאת דיסוננס קוגניטיבי:

    אילר:
    חשבתי עוד על המדדים שהצעת, והגעתי למסקנה שהם לא מתאימים לדירוג שחקני פוקר. אני אסביר לגבי Sharpe ratio (המדד השני מסובך יותר, אבל פחות או יותר אותו טיעון תקף).

    מדד Sharpe אומר בגדול לחלק את תוחלת הרווח בסטיית התקן שלו. עכשיו, בוא נסתכל על שני שחקנים: אלי מרוויח כל משחק 10 שקלים בסיכוי 0.5, ו-15 שקלים בסיכוי 0.5. בנימין מרוויח כל משחק 10 שקלים בסיכוי 0.5, ו-20 שקלים בסיכוי 0.5. במקרה הזה, ברור שבנימין שחקן טוב יותר - הרווח שלו גדול סטוכסטית משל אלי (או כמו שכלכלן היה אומר, עדיף להשקיע בבנימין מאשר באלי).

    חישוב פשוט מראה שתוחלת הרווח של אלי היא 12.5 שקלים למשחק עם סטיית תקן 2.5, ושתוחלת הרווח של בנימין היא 15 שקלים למשחק עם סטיית תקן 5. לכן, מדד Sharpe יתן לאלי ציון 5, ולבנימין ציון 3 - ז"א ידרג את בנימין כגרוע יותר מאלי.

    אני מניח שהסיבה היא שבכלכלה לא סביר להשוות בין שתי השקעות שהרווח באחת מהן גדול סטוכסטית מהשניה (במודלים טהורים, לא סביר שהמצב הזה בכלל יתקיים). לעומת זאת בפוקר, מצבים כאלה בודאי אפשריים.

    רנן:
    תודה רבה. באופן עקרוני אתה צודק, ואין סיבה מיוחדת שמדד ה-PageRank ישמש רק לדירוג של שחקני פוקר. שתי נקודות למחשבה-

    ראשית, כמו שהראיתי יש בעיה עקרונית במדד הזה (הטיה לטובת מי שמשחק יותר משחקים). במקרה של ליגת כדורגל זה כנראה לא נורא, כי הליגה מבטיחה שכולם ישחקו מספר משחקים זהה - אבל במקרה של שחקני warcraft זאת בעיה אמיתית.

    שנית, צריך להזהר מאוד בבחירת מדד ההצלחה במשחק בודד. במשחק כדורגל, למשל, לא ברור שמדד ההצלחה הנכון הוא כמות השערים שכל קבוצה הבקיעה. האם ניצחון 5:1 מראה על יכולת טובה יותר מאשר ניצחון 2:1? אופן הניקוד בליגות כדורגל היום טוען שלא - ניצחון הוא ניצחון הוא ניצחון, בלי קשר להפרש השערים. ומה לגבי warcraft? לעומת זאת, בפוקר אני טוען שכמות הכסף שעברה ידיים היא מדד מצוין (ולמעשה, היחיד) להצלחה.

  22. מאת אילר:

    דני:
    בדיוק בשביל זה המציאו את ה-Sortino ratio, בו אתה מסתכל רק על התרומה לסטיית תקן שבאה מן ההפסדים. באופן כללי יותר אתה יכול להגדיר מדד כלשהו של רווח חלקי סיכון לפי ההגדרות שאתה מאמין בהן. הנקודה היא שכל עוד חשבון הבנק שלך סופי, ואתה שונא סיכון, תרצה לנרמל בסיכון.

  23. מאת יצא לי לחשוב על השולחן.......:

    בקיצור דני לוקח לכם הכסף ;)
    כמו שציינת מאוד קשה לעמוד יכולת במשחק כמו פוקר בגלל שפרמטרים שונים כמו צורת ישיבה קבועה למשל יכול לשנות המון!!
    לכן לדעתי יותר מענין לענות על שאלה אחרת.
    מתי הסטטיסטיקה בפוקר מתיישרת??
    גם על השאלה הזאת כמעט בלתי אפשרי לענות אבל לדעתי התשובה הלא מדוייקת במקרה הזה תיתן אינדיקציה מעניינת.
    אם אני משחק רולטה על שחור ולבן (ונגיד ברולטה אין "0" ו" 00 " אז ככחול שאני אשחק יותר פעמים ככה הסיכוי שלי להיות בכסף יותר גבוה ובשלב מסוים הסיבובים של הרולטה כמעט לא ישפיעו על ההסתברות של 50% 50%
    כי הסטטיסטיקה "מתיישרת"
    בפוקר כמובן המדד הוא בהתאם לצורת המשחק שלך ושל היריבים שלך ולשילוב בינהם (כמו שציינת נמסיס וסידקיק למשל).
    אבל מעניין לחשוב אחרי כמה ידיים "המזל" של שחקן מתאזן באופן אובייקטיבי בלי קשר ליכולות המשחק שלו. בקיצור, אם נגדיר תווך מסויים של ידיים ששמונה שחקנים מוכנים לשחק כאשר כל תווך משתנה לפי מקום הישיבה שלהם…. (בטורניר התווכים האלה הרבה יותר ברורים ואמיתיים) ולאחר מכאן נגדיר את צורת המשחק הברורה של כל השחקנים. למשמל טוף פייר בפלוף משלם 90% מהפעמים הימור עד גודל הקופה וקלף לצבע בפלוף משלם רק אם הוא מקבל יחס נכון וכו וכו(בהרבה ספרי פוקר יש אחוזים ברורים שהמקצוענים טוענים שיש לשחק). לאחר מכאן נריץ את התוכנה ונבדוק אחרי כמה ידיים אפשר להגיד בבטחון גבוהה שהסטטיסטיקה התיישרה…..כמובן שחקנים אמיתיים יטרפו את כל ההגיון הזה בשניה הראשונה של משחק אמיתי בהתאם ליכולות שלהם אבל יהיה מעניין מאוד לדעת בעולם "מושלם" כמה זמן לקח לסטטיסטיקה להיתישר בפוקר…. כל מה שמעבר לזה הוא יכולת ויתרונות יחסיים. כמובן שהבעיה העיקרית היא שכל הפרמטרים שצריך להזין לגבי צורת משחק של השחקנים תשנה את תקופת התישרות של הסטטיסטיקה אבל אני לא בטוח שבצורה משמעותית… ובכל מקרה זה יהיה נכון לשחקן שמשחק כמו בספר שמתמודד עם שחקנים כמו בספר :) גם משהו…
    מה אתה אומר?? יש בזה משהו??

  24. מאת דיסוננס קוגניטיבי:

    יצא לי לחשוב על השולחן:
    בעולם מושלם, לכל שחקן יש אסטרטגיה מוגדרת היטב של איך לפעול בכל מצב של המשחק. האסטרטגיה יכולה כמובן לכלול גם אקראיות, למשל "אם יש לי טופ פייר בריבר אני עושה קול להימור של חצי קופה ב-70% מהמקרים". במשחק יושבים כמה שחקנים שלכל אחד אסטרטגיה משלו, ואפשר לדבר על תוחלת הרווח של כל שחקן במשחק כזה.

    השאלה "מתי הסטטיסטיקה בפוקר מתיישרת" היא דרך אחרת לשאול "אחרי N משחקים, מה הסיכוי שהרווח של שחקן מסוים רחוק ביותר מ-X מהתוחלת שלו". חוק המספרים הגדולים אומר לנו שכש-N גדול מאוד, הסיכוי הזה קטן מאוד. כדי לחשב את הסיכוי במדויק אפשר להעזר באי-שוויון צ'בישב או במשפט הגבול המרכזי.

לכתוב תגובה