קודגורו: הריאליטי של הגיקים
מה הביא השבוע עשרות נערים, בחורים ונערה אחת למכון וייצמן? התשובה: משחק 'הישרדות' וירטואלי בו התוכנה הזוכה היא זו שמחסלת את כל המתחרות
שגעון תוכניות הריאליטי הצליח לחדור גם ליעד מבוצר כמו מכון ויצמן למדע. לא מדובר, אמנם, במאבק פטריוטי על זכייה בתואר המדברר הרשמי כמו "השגריר" עתיר יצרים וסיליקון כמו "הדוגמניות" אך גם מארגני "קוד גורו אקסטרים" טוענים כי התחרות שיזמו היא סוג של ריאליטי.
במסגרת התחרות, שנערכה שלשום (ג') במכון ויצמן בשיתוף פעולה עם IBM, אלדין והמרכז הבינתחומי בהרצליה, התחרו ביניהם צעירים מצטיינים מכל הארץ במסגרת אישית וקבוצתית.
במה מדובר?
הזוכה בתחרות על התואר "השורד הדיגיטלי" אמור להיות המפתח שייצור את הקוד שיישרוד אחרון במאבק מול התוכנות של המתחרים בזירה וירטואלית. מעין דרווינזם טכנולוגי, אם תרצו.
על הקוד להיכתב בשפת האסמבלי, שפה הנחשבת "לשפת סף" כלומר אחת משפות התוכנה הפשוטות ביותר. התוכניות המתמודדות נכתבות בשפת אסמבלי 8086 סטנדרטי, נטענות כולן למרחב זכרון משותף ("הזירה"), ומורצות במקביל על ידי אמולטור – מנוע המשחק (תוכנה המייצרת סביבת משחק מדומה), אשר קובע על פי הקודים שמורצים עליו, איזו תוכנה הצליחה לשרוד, להשתלט על האחרות ואז לזכות בנקודה.
במלחמה כמו במלחמה, גם כאן, על המתכנתים הצעירים ליצור קוד אשר יצליח "לכבוש" כמה שיותר שטחים, ולהתחמק מ"ההפצצות" של התוכנות היריבות. כלומר, עליהם להוכיח טקטיקה יעילה ולהראות חשיבה יצירתית. הפגיעה בתכנית מתחרה נעשית על ידי פגיעה בקוד אותו התכנית מריצה".
המלחמה מתבצעת הקודים "נזרקים" אל תוך האימולטור, ומתחילים להשתלט על תאים בזיכרון. הקוד הזוכה הוא זה שיצליח לנטרל את שאר הקודים, לכבוש תאי זיכרון של תוכנות אחרות "ולהשתלט" על תאים ריקים. הניצחון מוכרז ברגע שנוצלו כל משאבי הזיכרון ואחת התוכנות, שהצליחה לכבוש את מירב השטח במסך (כל קוד מאופיין על ידי צבע משלו), מנצחת במשחק.
גם מצטיינים זקוקים ל'פוש'
"התחרות פתוחה לכל הגילאים ונערכה בעיקר בכדי לתת פוש לצעירים המצטיינים". מסביר גבי צ'רטוק, אחד ממארגני התחרות, את הסיבה לתחרות הגאונים. "זה משהו בסגנון המצטיינים של המצטיינים. כאשר כיום החברה נותנת את הדחיפה בעיקר לחלשים ומי שמצטיין, בדרך כלל נשאר לבד ולא מקבל דחיפה כי הוא יכול להסתדר בעצמו".
לאחר כשלוש שעות של מלחמת תוכנות, הוקראו שמות הזוכים. הקבוצה של יונתן ואלון התייצבה במקום הראשון לאחר שהצליחה לנצח במרב הפעמים ורשמה לעצמה כ-40 נצחונות מתוך 100 ניסיונות. השניים זכו בסכום של 2,000 שקל כקבוצה וב-40 אלף שקל כל אחד למילגה לבינתחומי.
"על אף שפיתוח התוכנית לא ארך זמן רב, הקדשנו המון לגיבוש אסטרטגיה שתצליח לנצח את כולם". יונתן מציין כי "עניין האסטרטגיה פתוח. כל אחד יכול לאמץ טקטיקה של אומנות לחימה, או רעיונות מעולם אחד ולהשליך אותם לעולם התוכנה".
למקום השני, עם פער של כ-15 נקודות, הגיעה הקבוצה של
בועז מנוחין ורובי פיינשטיין, בני 17 מירושלים אשר כינו עצמם 'DIME'. השניים זכו בסכום כולל של 1,500 שקל. ובמקום השלישי, מתמודד יחיד, ארז מרמת גן אשר גרף לכיסו סכום של 1,000 שקל.
"הקבוצה שהשיגה את המקום הראשון עשתה את זה עם חשיבה נהדרת, פשוט חשיבה יפהפיה" ניתח מנוחין. "הם הצליחו כי הייתה להם טקטיקה משולבת. טקטיקה מנצחת. כלומר להפציץ את כל המסך, להרוג את כולם ורק אז לעבור לטקטיקה שלנו, כלומר לבצע סריקה ולוודא ששום דבר לא נשאר על המסך".
כמה זה קשה? תקופה של שבוע לימודי אסמבלר תספיק על מנת להיכנס לתחרות?
"כן. אבל צריך להתרגל בעיקר לסוג שונה של חשיבה. לא צריך להסביר מה זה הקסאדצימלי. מספיק להשתתף ברמה הבסיסית ביותר ואפשר להגיע למקום טוב".
אך ארז, שזכה במקום השלישי סייג את דבריו של מנוחי, כי הוא אף פעם לא נתקל במישהו שהצליח ללמוד את שפת התכנות הזו בשבוע.
"זה לא נורא להיות חנון מחשבים"
תחרות הקודגורו נערכת זה שש שנים ומכונה "אולימפיאדה למדעי המחשב". באופן מסורתי, המתחרים אמורים להשיב נכונה על השאלונים המוצגים להם, להתחרות זה בזה בדרך לנצחון. מנגד, היוזמה של "קודגורו אקסטרים", שהתקיימה לראשונה השנה, מיועדת לעודד תחרות צוותית. "עם זאת, ברור כי ארבעה הגופים והחברות שנטלו חסות על אירוע מעוניינים לאתר תלמידים מצטיינים", אמר צ'רטוק.
"רצינו שאנשים ידעו שזה לא נורא להיות 'חנון מחשבים' ולעודד את המצטיינים להצטיינות יתר", אומר ד"ר יוסי אלרן, רכז התחרות מטעם מכון וייצמן למדע.
תחרות יצירת וירוסים?
"התוכניות שפיתחנו הן מאוד פשוטות, מותאמות לחוקים של המשחק, כולל התקפות והתחמקויות". אמר אלון, "עם זאת, הקוד רץ על אמולטור ולא יכול לצאת החוצה. גם אם יתפשט, הוא לא יהווה סכנה או יגרום לקריסת מערכות מחשבים ושרתים".
מנוחין חושב קצת אחרת: "לדעתי מלחמת התוכנות הזו היא מין הדמיה של וירוסים. אפשר ליצור מהשפה הזו וירוסים אבל אנחנו לא מתעסקים בזה. זה דורש ידע רב ומעמיק בשפה. הידע שדרוש להכנת וירוסים הוא שונה בתכליתו מהידע איתו מכינים קוד למשחק מלחמה".
![](/images/letter.png)
![](/images/arrow.jpg)