בינה מלאכותית ואסטרטגיית משחק
כללי
כאשר פותחו שיטות המשחק לבלקג'ק, כמו האסטרטגיה הבסיסית, שיטות הספירה השונות וההתאמות הנדרשות למשחק בהתאם לספירה (Illustrious 18), זה היה באמצע המאה הקודמת ויכולות המחשוב היו מוגבלות.
היום גם יכולות המחשב הן מתקדמות יותר וגם התפתחה ההבנה שמחשב יכול לפתח שיטת משחק באופן עצמאי (אלגוריתמים גנטיים, בינה מלאכותית וכו) כשהרעיון הוא לנסות, ובעזרת יכולות מחשב גבוהות יותר, למצוא שיטות משחק טובות יותר מאשר האסטרטגיה הבסיסית או שיטות ספירה חזקות יותר ועם ביצועים טובים יותר מהשיטות המוכרות עד כה.
לפני כמה שנים קראתי את המאמר Evolving Strategies in Blackjack משנת 2004 והאמת? לא עשיתי איתו הרבה.
היום כשתחום הבינה המלאכותית כל כך מתקדם חזרתי למאמר הזה וניסיתי לבדוק את השיטה, ותוך כדי שיטוט ברשת מצאתי עוד שני מאמרים מאותו עולם תוכן Real Valued Card Counting Strategies for the Game of Blackjack ו Evolving blackjack strategies using cultural learning in multi–agent systems משנת 2020 ויש עוד כאלו.
התקשיתי למצוא ייחוס למאמרים אלו ב Google Scholar, במיוחד לשניים האחרונים אך לראשון כן היו ציטוטים.
לא מצאתי גם מאמרים המנתחים שיטת אלו על מנת לבדוק חזרתיות של התוצאות.
בכל מקרה, הצגתי בכמה הזדמנויות בעבר שעל מנת לבחון שיטת משחק שפיתחנו, נשתמש בסימולציות בשביל לראות שאכן השיטה עובדת, ועכשיו, כל העולמות האלו נפגשים במקום אחד.
Real Valued Card Counting Strategies for the Game of Blackjack
המאמר של Real Valued Card Counting Strategies for the Game of Blackjack מנסה לחשב, תוך שימוש באלגוריתמים גנטיים, מה הם ערכי ספירה מתגלגלת האופטימליים על מנת לשפר את מדדי הביצוע Betting Correlation (BC), Playing Efficiency (PE), Insurance Correlation (IC).
העניין הוא שמתקבלות תוצאות שהן שברים שקשה עד בלתי אפשרי ליישם בפועל, ככה:
קלף 10 A 2 3 4 5 6 7 8 9
ערך ספירה מתגלגלת 5.06- 1.16- 0 3.1 4.51 4.93 4.62 3.9 2.7 2.36-
כאשר הכותבים פיתחו הטבלה, הם חישבו הערכים לקלפים של אס ו 2-9. את הערכים של קלפים ששווים 10 הם חישבו אחורה מתוך זה שהספירה היא מאוזנת (ספירה של חבילה מלאה תתחיל באפס ותסתיים באפס). נייס
יותר מזה, גם כאשר המחברים מעגלים המספרים, מתקבלים ערכים שלא מובן מאילו לזכור אותם כחלק מהספירה המתגלגלת.
הכותבים גם מציינים את זה בתחילת המאמר...
לבסוף, אין התייחסות להמרה מספירה מתגלגלת לאמיתית שהיא זו שמכתיבה לנו איך להמר ואיך לשחק.
מתוך כל אלו, לא בדקתי את המודל ואיך מתפקד.
Evolving Blackjack Strategies Using Cultural Learning in Multi–Agent Systems
במאמר של Evolving Blackjack Strategies Using Cultural Learning in Multi–Agent Systems מציגים הכותבים שיטה לבנית אסטרטגיית משחק, אך לא מציגים מה היא השיטה שפותחה אלא רק את התוצאות.
העניין הוא שהשיטה נבדקה על שחקן בודד מול הדילר שמשחק על חבילה בודדת המעורבבת לפני כל יד (יותר דומה למשחקים הממוחשבים שניתן למצוא ברשת ופחות למשחק בקזינו פיסי או Live Dealer ברשת).
מה גם שהמדד שנבדק במאמר הוא אחוז הנצחונות של האסטרטגיה שפותחה לעומת אחוז הנצחונות באסטרטגיות ידועות, מה שאומר שההסתכלות היא חלקית כיוון שאין התייחסות לידיים שאנו מפצלים או מכפילים ובכך מנצלים טוב יותר מצבים שיש לנו בהם יתרון.
Evolving Strategies in Blackjack
במאמר של Evolving Strategies in Blackjack מציג הכותב אסטרטגיה חדשה במקום האסטרטגיה הבסיסית (נקרא לה האסטרטגיה המתפתחת) וכן רשימת התאמות לאסטרטגיה הבסיסית (רעיון דומה לזה של Ilustrious 18) על בסיס ספירת Hi Lo.
אמנם הכותב לא מפרט איך עובד האלגוריתם שפיתח אבל הוא מציג אותו בקווים כלליים:
" A (4+4) evolutionary algorithm (EA) was used to optimize the strategies in light of three million simulated hands"
" Strategies were represented as entries in matrices describing decisions for hit/stand, double down, and split. Simple mutation was used to create an offspring from each parent, altering multiple entries in the strategy. In addition, the option to stop play was allowed based on a hand played. "
מרכיב נוסף שהוא מתאר במשחק, הוא שכיוון שאס משחק תפקיד חשוב במשחק (מרכיב יד של בלקג'ק שמשלמת 3:2, כלומר פי 1.5 מההימור המקורי) אז, הוא מפסיק לשחק כאשר שני אסים או יותר יצאו בסיבוב בודד, או כאשר קיבל זוג 9 (?? לא ברור)
לשיטתו, הורצו 10 דורות (Generations) שלקחו כל אחד 3 ימים במשחק עם חבילה בודדת ואז לעוד 10 דורות למשחק על 4 חבילות.
לאחר כל ההרצות התקבלה טבלת האסטרטגיה המתפתחת הזו:
כאשר:
H - Hit לקחת עוד קלף
S - Stand לעמוד ולא למשוך קלפים נוספים
D - Double להכפיל ההימור ובתמורה לקבל עוד קלף אחד בלבד
P - Split לפצל היד לשתיים
וגם פה לא לקוחים ביטוח
הכותב מציג שבמשחק על חבילה אחת הוא השיג יתרון של 0.218% על הבית ובמשחק על 4 חבילות צמצם את היתרון של הבית ל 0.245%-.
מקובל שבמשחק לפי האסטרטגיה הבסיסית על חבילה אחת המשחק הוא מאוזן ואין יתרון לבית או לשחקן, כך שעל פניו האסטרטגיה המתפתחת מהווה שיפור לעומת האסטרטגיה הבסיסית.
משחק עם 4 חבילות לפי האסטרטגיה הבסיסית משקף יתרון לבית של כ 0.4% כך שגם פה השיטה מתפתחת מהווה שיפור.
הרצתי סימוצלציה של 1,000,000 ידיים לאסטרטגיה המתפתחת על 4 חבילות וזה מה שקיבלתי:
מדד אסטרטגיה בסיסית אסטרטגיה מתפתחת
רווח ממוצע ליד [$] 0.039- 0.06-
יתרון של הבית 0.4%- 0.6%-
שונות 132.96 138.03
יחס ממוצע לסטית תקן 0.346- 0.513-
הימור ממוצע הוא 10$
אגב, כשהכותב חישב את היתרון של הבית במשחק של 4 חבילות לפי האסטרטגיה הבסיסית אזי קיבל יתרון לבית של 0.41%.
ייתכן וההפרשים בין הסימולציה שלי לבין המצויין במאמר נובעים משלוש סיבות, הראשונה היא שלא גילמתי את הרעיון שהציג בו הוא מפסיק לשחק אם יש שני אסים, או שקיבל זוג 9 באותו הסיבוב כיוון שלא ברור מה הכוונה, כלומר האם הכוונה היא שבנקדות זמן שרירותית כלשהי, מערבבים החבילות לבקשת השחקן? אם כן אזי זו בקשה שלא עומדת במבחן המציאות. הקזינו לא יעצור המשחק לבקשתך ויערבב הקלפים רק כי ביקשנו.
על אחת כמה וכמה אם יש עוד שחקנים ליד השולחן.
אם השחקן בוחר לקום מהשולחן זה שלו. רק קחו בחשבון שאם יש שחקנים ממתינים מהצד אז לא יאפשרו לכם להשאר ליד השולחן ולחכות ליותר מכמה ידיים בודדות. כך שאם לא תשחקו, תתבקשו לפנות הכסא ותאבדו המקום ליד השולחן.
אחרת, האם הכוונה היא שהשחקן קם, המשחק ממשיך והשחקן מצטרף לאחר הערבוב? מה עושים אם יש ספירה גבוהה אבל יצאו שני אסים בסיבוב מסויים? עדיין מפסיקים לשחק? בקיצור נקודה לא ברורה.
אפשרות שניה שיכולה להסביר את ההפרשים בין הסימולציה לתוצאות במאמר היא חוקי המשחק. אמנם הכותב ציין שהוא מתבסס על חוקים סטנדרטיים (מה שנקרא Las Vegas strip rules) אבל לא פירט מה הם.
אני השתמשתי בחוקים שעל פיהם התבססתי בסימולציות קודמות וניתן לראות אותן ואת ההשפעה שלהן על היתרון של הבית כאן.
אפשרות שלישית להסביר ההפרשים היא ט.ל.ח.
בכל מקרה הנה החוקים שהוזנו לסימולציה:
6 חבילות עם 75% Penetration
בלקג'ק קלאסי ולא ארופאי
ניתן לפצל עד 4 ידיים
מותר להכפיל לאחר פיצול
לא ניתן לפצל אסים פעם שניה
לא ניתן למשוך קלפים לאחר פיצול זוג אסים
ניתן להכפיל על כל זוג קלפים ראשונים
לא ניתן להכפיל לאחר פיצול אסים
דילר עומד על 17 רך
לא ניתן להכנע
הכותב גם מציע שיטה שונה להחרגות מהאסטרטגיה הבסיסית כאשר סופרים קלפים.
הבסיס הוא שיטת ה Hi Lo שדיברנו עליה לא מעט בדף של ספירת קלפים.
הנה מה שכתב המחבר על השיטה שפיתח עבור שיטת הספירה:
"For evolving counting strategies, the best-evolved basic strategy and two random variants of this strategy were further evolved using a (3+3)-EA in single-deck play. Mutation affected the threshold for a decision in each of the situations. The number of hands used in simulation to evaluate a strategy was set initially to 400,000 and increased over time to speed the process. Fifty generations were executed."
זו טבלת ההחרגות שהכותב מציע:
וביטוח לוקחים מספירה של 2+ ומעלה
הנה מה שקיבל:
מספר חבילות יתרון של השחקן
1 1.821%
2 0.927%
4 0.305%
8 0.115%-
זה שהיתרון של השחקן יורד ככל שמספר החבילות עולה הוא ידוע, אבל זה שעל אף שסופר קלפים, גם אם זה ל 8 חבילות, הוא נשאר עם יתרון שלילי, לא מסתדר, אך לשיטתו של הכותב במספר חבילות גבוה, הספירה תהיה לרוב סביב האפס כך שאין משמעות לספירה.
זה נכון ולא נכון. ראינו כשחישבנו שיטות משחק שונות שאכן מרבית הידיים נעות סביב האפס או בספירות נמוכות (כ 58% מהידיים יהיו בספירות של 1,0,1- במשחק עם 6 חבילות) אבל הרעיון הוא שבספירות גבוהות שמים יותר כסף בחוץ ובספירות נמוכות שמים פחות או לא משחקים כלל בספירות שליליות ואז הממוצע המשוקלל יוצא חיובי לטובתנו.
מה שלא מצויין במאמר הוא תמהיל ההימור או במילים אחרות מה גובה ההימור בכל ספירה.
כמו כן, לא ציין מה ה Penetration במשחק שיכול כמובן להשפיע על מספר הידיים בספירות גבוהות שתראו
גם כאן הרצתי סימולציה של 1,000,000 ידיים לשיטת המשחק המוצעת על 6 חבילות.
אותו מודל הימור כמו בחישובים קודמים:
מה שלא מצויין במאמר הוא תמהיל ההימור או במילים אחרות מה גובה ההימור בכל ספירה.
כמו כן, לא ציין מה ה Penetration במשחק שיכול כמובן להשפיע על מספר הידיים בספירות גבוהות שתראו
גם כאן הרצתי סימולציה של 1,000,000 ידיים לשיטת המשחק המוצעת על 6 חבילות.
אותו מודל הימור כמו בחישובים קודמים:
ספירה אמיתית סכום ההימור
1-> 0
1,0,-1 5
2 20
3 30
4,5 50
≥6 60
על תקציב של 5,000 $
הנה מה שיצא:
מדד אסטרטגיה מתפתחת אסטרטגיה מתפתחת + ספירה וטבלת החרגות
רווח ממוצע ליד 0.0805$- 0.073$
הימור ממוצע 10$ 7.69$
יתרון של הבית/שחקן 0.805%- 0.96%
שונות 138.28 275.98
סיכוי להפסיד הקופה 100% 6%
(ROR)
רק נזכיר שביצועי האסטרטגיה הבסיסית ספירה לפי Hi Lo והחרגות בהתאם ל Illustrious 18 יניבו התוצאות הבאות:
מדד אסטרטגיה מתפתחת אסטרטגיה מתפתחת + ספירה וטבלת החרגות
רווח ממוצע ליד 0.048$- 0.087$
הימור ממוצע 10$ 7.69$
יתרון של הבית/שחקן 0.48%- 1.13%
שונות 133.02 269.7
סיכוי להפסיד הקופה 100% 4%
כך שאם נשווה הביצועים של האסטרטגיה המתפתחת וההחרגות המוצעות במאמר בספירה לפי Hi Lo לביצועים של האסטרטגיה הבסיסית עם ספירה לפי Hi Lo והחרגות בהתאם ל Illustrious 18 נראה שהיתרון של השחקן במקרה זה נמוך יותר, והשונות גבוהה מעט יותר, וכן גם ה ROR מעט גבוה יותר.
אבל שוב, ייתכן וישנם הבדלים בחוקי המשחק בין מה שאני הזנתי ובין מה שביצע הכותב וכן לא ברור תמהיל ההימור או ה Penetration.
ט.ל.ח.