למישהו יש נסיון עם AI לשש-בש?
יש לי פרוייקט לכתוב AI למשחק שש-בש ואני תוהה האם שימוש באלגוריתם MINIMAX (או אלפא-בתא) יהיה מתאים כאן. הבעיה היא שההסתעפות בכל צעד מאוד גדולה. בהינתן זוג קוביות, אני מעריך שיש בערך 20 מסעים חוקיים. אם הקוביות עוד לא בידי, אז יש להכפיל את המספר הזה פי 21, כי יש 21 אפשרויות לתוצאות הקוביות. המסקנה היא, שאם אני חושב צעד אחד קדימה בלבד (כלומר, המהלך שלי + המהלך של היריב) אני כבר מגיע לכ-8000 לוחות. עוד מהלך קדימה אחד וכבר הגעתי למעל 3 מליון לוחות ויותר מזה, כבר אין סיכוי לחשב בזמן סביר. לכן נראה לי שעדיף לוותר על שימוש באלגוריתם מינימקס, ובמקום זאת להתמקד ביצירת פונקצית יוריסטיקה כמה שיותר טובה, כאשר הכוונה ב"טובה" היא לכזאת שתהיה דומה כמה שיותר להחלטות שאני הייתי מבצע אילו הייתי משחק במקום המחשב. אחרי שאכתוב היוריסטיקה כזאת, אעבור רק על 20 האפשרויות להמהלך הבא, ואבחר מביניהן את זו שההיוריסטיקה תיתן לה את הניקוד הגבוה ביותר. מה דעתכם? יש לכם אולי רעיונות אחרים? למישהו מכם יש נסיון בכתיבת AI לשש-בש?
יש לי פרוייקט לכתוב AI למשחק שש-בש ואני תוהה האם שימוש באלגוריתם MINIMAX (או אלפא-בתא) יהיה מתאים כאן. הבעיה היא שההסתעפות בכל צעד מאוד גדולה. בהינתן זוג קוביות, אני מעריך שיש בערך 20 מסעים חוקיים. אם הקוביות עוד לא בידי, אז יש להכפיל את המספר הזה פי 21, כי יש 21 אפשרויות לתוצאות הקוביות. המסקנה היא, שאם אני חושב צעד אחד קדימה בלבד (כלומר, המהלך שלי + המהלך של היריב) אני כבר מגיע לכ-8000 לוחות. עוד מהלך קדימה אחד וכבר הגעתי למעל 3 מליון לוחות ויותר מזה, כבר אין סיכוי לחשב בזמן סביר. לכן נראה לי שעדיף לוותר על שימוש באלגוריתם מינימקס, ובמקום זאת להתמקד ביצירת פונקצית יוריסטיקה כמה שיותר טובה, כאשר הכוונה ב"טובה" היא לכזאת שתהיה דומה כמה שיותר להחלטות שאני הייתי מבצע אילו הייתי משחק במקום המחשב. אחרי שאכתוב היוריסטיקה כזאת, אעבור רק על 20 האפשרויות להמהלך הבא, ואבחר מביניהן את זו שההיוריסטיקה תיתן לה את הניקוד הגבוה ביותר. מה דעתכם? יש לכם אולי רעיונות אחרים? למישהו מכם יש נסיון בכתיבת AI לשש-בש?