ViewWiki

העולם, קצת יותר מקרוב

אוטומטים תאיים ומשחק החיים.

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

גלו את הסצנה מאמר אינטראקטיבי

01 / הניסוי

שמונה שכנים. שני כללים.

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

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

הגרסה האינטראקטיבית נטענת…

ההסבר שלמטה זמין כבר עכשיו, בזמן שהסצנה נטענת.

כל התאים משתנים בבת אחת, פעם בדור, לפי ספירת שמונת שכניהם. הלוח מראה 44 על 36 תאים ורץ בקצב של שמונה דורות בשנייה.משחק החיים משוחק על לוח אינסופי. הלוח הזה סופי, ומעבר לשוליו יש עוד 32 תאים ריקים בכל צד, שבהם רחפנים בורחים מסיימים את מעופם; אחרי כמה מאות דורות הוא מתחיל שוב מאותו מצב התחלתי. הצבעים בשלב צורות נקבעים כשמשווים כל קבוצת תאים ל־30 הדורות האחרונים, ולכן קבוצה שצפופה בין אחרות מוצגת כמי שעוד לא התייצבה.

02 / שלוש משפחות

לעמוד, להבהב או לנוע.

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

נשאר במקום01
דור 0דור 1דור 2

דומם

לכל תא חי יש שניים או שלושה שכנים חיים, ולאף תא ריק אין בדיוק שלושה, ולכן שום דבר לא נולד ושום דבר לא מת.

מחזור
דור אחד
זז
לא
הקטן ביותר
ריבוע, 4 תאים
הצבע בשלב צורות
ירוק
חוזר באותו מקום02
דור 0דור 1דור 2

מתנד

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

מחזור
2 דורות
זז
לא
הקטן ביותר
מהבהב, 3 תאים
הצבע בשלב צורות
כתום
חוזר הלאה03
דור 0דור 2דור 4

חללית

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

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

אף אחת מהצורות האלה לא כתובה בכלל. B3/S23 רק אומר מה תא אחד עושה עם מספר אחד, מספר השכנים החיים שלו; ריבועים, מהבהבים ורחפנים הם מה שקורה כשכל התאים מפעילים אותו בבת אחת.

לוח שמשחק בעצמו

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

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

  • תא מת שיש לו בדיוק 3 שכנים חיים נולד.
  • תא חי שיש לו 2 או 3 שכנים חיים שורד.
  • כל תא אחר מת בדור הבא, מבדידות כשיש לו פחות משני שכנים או מצפיפות כשיש לו יותר משלושה.

זה כל הכלל, ונהוג לכתוב אותו B3/S23: נולד עם 3, שורד עם 2 או 3. מערכת כזאת, רשת של תאים שכולם מתעדכנים יחד לפי אותו כלל מקומי, נקראת אוטומט תאי.

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

חזרה לניסוי

כל תא סופר עד שמונה

הכלל לא מזכיר אף צורה. הוא רק אומר מה תא אחד עושה עם מספר אחד. ההפתעה היא מה המספר הזה עושה כשכל התאים משתמשים בו באותו רגע.

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

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

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

חזרה לניסוי

דוממים, מתנדים וחלליות

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

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

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

חזרה לניסוי

תותחים וגדילה בלי סוף

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

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

נסו: בחרו בהתחלה את תותח רחפנים. זרם רחפנים יוצא מהתותח שמאחור משמאל וצועד לעבר החזית מימין, אחד כל 30 דורות. בשלב צורות התותח נצבע בסגול; נסו להעביר את נולד עם ל־3 או 6 ולבדוק אם הוא עדיין עובד.

חזרה לניסוי

לשנות את הכללים

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

לכללים אחרים יש אופי משלהם. HighLife, B36/S23, מתנהג כמעט כמו משחק החיים אבל מוסיף צורה שמעתיקה את עצמה. Seeds, B2 בלי הישרדות בכלל, מתפוצץ כמעט מכל התחלה. Maze, B3/S12345, מצמיח מסדרונות. בשנות ה־80 מיין סטיבן וולפרם אוטומטים תאיים לארבע מחלקות גסות: כאלה שמתים או נעשים אחידים, כאלה שמתייצבים לצורות דוממות או חוזרות, כאלה שנשארים כאוטיים, וכאלה, כמו משחק החיים, שיוצרים מבנים ארוכי חיים שפועלים זה על זה. רק המחלקה הרביעית נוטה ליצור משהו שמתחשק לתת לו שם.

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

חזרה לניסוי

מחשב עשוי רחפנים

זרם של רחפנים יכול לשאת אות: רחפן בשביל 1 ורווח בשביל 0. שני זרמים שנחצים יכולים להשמיד זה את זה, וזה מספיק כדי לבנות שערים לוגיים, והתותחים משמשים שעונים. ב־1982 הראו קונוויי ועמיתיו שמשחק החיים יכול, עקרונית, לחשב כל מה שמחשב יכול: הוא שלם טיורינג, בעל אותו כוח כמו המכונות שבמאמר מכונות טיורינג וחישוביות. ב־2000 בנה פול רנדל מכונת טיורינג עובדת מצורות של משחק החיים, וב־2010 מצא אנדרו וייד את Gemini, צורה שבונה עותק של עצמה והורסת את המקור.

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

אוטומטים תאיים ותיקים ממשחק החיים. בשנות ה־40 תכנן ג’ון פון נוימן, בעקבות הצעה של סטניסלב עולם, אוטומט על רשת שבו לכל תא 29 מצבים, שיכול להעתיק את עצמו, כדי להראות שמכונה יכולה להתרבות. אוטומטים פשוטים יותר רצים על שורה אחת של תאים: כלל 30 של וולפרם יוצר דפוסים אקראיים מספיק כדי לשמש מקור למספרים אקראיים, ועל כלל 110 הוכיח מתיו קוק שהוא אוניברסלי. אותו רעיון, כללים מקומיים פשוטים שיוצרים סדר שאיש לא תכנן, מופיע גם בלהקות זרזירים, אף שציפורים מנווטות ברכות במרחב במקום להדליק ולכבות תאים.

מה המודל הזה משמיט

  • הלוח סופי. ללוח של משחק החיים אין קצוות. הלוח הזה מראה 44 על 36 תאים (פחות בטלפון) ומחשב עוד 32 תאים מכל צד מחוץ לטווח הראייה, שם רחפנים בורחים מסיימים בקצת שברים מול גבול מת קבוע. צורות שגדלות הרבה, כמו ה־R־פנטומינו, יכולות להשתנות בגלל הגבול הזה, ולכן הלוח לא תמיד מסתיים כמו שהיה מסתיים לוח אינסופי.
  • הוא מתחיל מחדש. כל התחלה רצה כמה מאות דורות ואז מתחילה שוב מאותו מצב התחלתי, ולכן זרם הרחפנים של התותח מפסיק לגדול על המסך.
  • הזמן מואט. הלוח רץ בשמונה דורות בשנייה, ובשלב שכנים בפחות מדור אחד, כדי שתוכלו לעקוב אחרי כל צעד. האריחים עולים ושוקעים כדי להראות שינוי; בכלל עצמו תא פשוט מתחלף. בשלב שכנים הלוח מגדיל חלק ממנו כמו מסך, והמסגרת והמצלמה נשארות במקומן.
  • הצבעים הם ניחוש של צופה. בשלב צורות כל קבוצת תאים שקרובים זה לזה עד שני תאים מושווית ללוח של עד 30 דורות קודם. דוממים, מתנדים וחלליות מסומנים לפי מה שעשו; קבוצה שצפופה, מתנגשת או שמחזורה ארוך מ־30 מוצגת כמי שעוד לא התייצבה, והתותח מזוהה רק משום שהמודל הציב אותו.
  • חי ומת הם שמות. אין כאן ביולוגיה. אלה המטפורה של קונוויי לדלוק וכבוי, שנבחרה משום שהצורות נראות כאילו הן גדלות, נעות ומתות.

מותר לעשות בהם שימוש חוזר, עם קרדיט ל־ViewWiki וקישור לעמוד הזה.

04 / ללמוד את זה בקורס

תרגול, צעד אחר צעד.

השיעור הזה מלמד את הנושא עם שאלות שנבדקות.

  1. כללים פשוטים, התנהגות מורכבת מדעי המחשב · חישוביות