המשחק Wordle שבר את הרשת, אז ברור שמפתח ישראלי יצר בוט שמפצח אותו

מיליוני שחקנים גילו בשבועות האחרונים את המשחק Wordle – משחק פשוט אבל ממכר. מפתח ישראלי איתגר את עצמו ועכשיו הוא מציג בוט שמפצח את המילים ב-100 אחוזי הצלחה

צילום מסך

כמו Among Us, 'טייגר קינג', 'אמילי בפריז' ומניית זום, גם הגל הנוכחי מביא איתו סנסציה ויראלית חדשה. הפעם זה Wordle, משחק מילים, שנראה לכאורה פשוט, אבל עם מקדם הדבקה גבוה במיוחד: מספר השחקנים היומי במשחק זינק מ-90 שחקנים ביום בנובמבר, ל-300 אלף שחקנים ביום בתחילת ינואר, והיום, מספר השחקנים היומיים הגיע כבר ל-2 מיליון עם אינסוף חיקויים וממים ברשת.

מה זה בכלל Wordle?

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

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

הפיצוח של בת הזוג

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

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

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

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

וזה הצליח. פרייזלר הוסיף לבוט שיצר את היכולת לחשב את האנטרופיה בכל ניחוש וניחוש –  ובסופו של דבר הגיע לגביע הקדוש: 100% הצלחה בכל 2,315 משחקים שהריץ. הבוט שלו הצליח לסיים את כל המשחקים בהצלחה ב-3.5 ניחושים בממוצע.

כל הכתבות והעדכונים מעולם הטכנולוגיה וההייטק כל הכתבות והעדכונים מעולם הטכנולוגיה וההייטק מחכים לך עכשיו בערוץ גיקטיים בטלגרם

המילה הראשונה שאתם צריכים כדי להצליח

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

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

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

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

אושרי אלקסלסי

Your Friendly Neighborhood Geek. יש לכם סיפור טכנולוגי? דברו איתי: [email protected]

הגב

13 תגובות על "המשחק Wordle שבר את הרשת, אז ברור שמפתח ישראלי יצר בוט שמפצח אותו"

avatar
Photo and Image Files
 
 
 
Audio and Video Files
 
 
 
Other File Types
 
 
 

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

סידור לפי:   חדש | ישן | הכי מדורגים
רותם
Guest

אבל למה לשים צילומסך של המילה של היום בכתבה שהתפרסמה לפני 10 בבוקר??

אחד שיודע
Guest

כי זה גיקטיים. למה ציפית?

תמוס עמם
Guest

כי זה גיקטיים – למה ציפית? זו התשובה שאני הכי אוהב לראות 3>

אחד שיודע
Guest

כי זה גיקטיים. למה ציפית?

תומר
Guest

בבקשה:
let gameApp = document.getElementsByTagName('game-app')[0];
for (let c of gameApp.solution) {
gameApp.addLetter(c);
}
gameApp.submitGuess();

סתם אחד
Guest

המשחק לינגו ממש לא חדש.

מישהו
Guest

לפרסם צילום מסך עם החידה של היום *בראש הכתבה*. רשעות לשמה

אלה
Guest

רותם מספר אחת

תומר
Guest

כותב בפייתון ומתלונן על היעילות הגיוני…

לאון
Guest

מישהו הבין את האלגוריתם שבעזרתו כתבו את הבוט?
לא הבנתי את כוונת המשורר

פאי
Guest

Just open dev tools the answer is right there

ערן
Guest

הנה הקוד שלי לפתרון שפותר את המילים המשחק
https://github.com/ekrako/wordle-solver

alon
Guest

האמת שלא צריך שום בינה מלאכותית, יש דרך קלה יותר להגיע לפיתרון.
תראו פה: https://sites.google.com/view/wordle-tools/home

wpDiscuz

תגיות לכתבה: