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

זוהי דוגמא פשוטה למערכת דינמית דיסקרטית בה החפיסת קלפים (יחד עם הסידורים שלה) זו המערכת, והערבוב זו הפעולה הדינמית. אפשר בצורה דומה ליצור מערכות יותר רציפות. למשל, כאשר אתם מכינים את הקפה האהוב עליכם, ואתם מוזגים לתוכו חלב ומערבבים, כמה זמן לוקח לערבב אותו עד שהוא באמת "מעורבב"?
כמו שהדומגאות האלו מראות, מערכות דינמיות יכולות לתאר מגוון מאוד רחב של תופעות בכל מני תחומים, החל מערבוב קלפים וקפה כמו למעלה, דרך מחקר של גידול אוכלוסיות (כאשר הדינמיות זה הילודה ותמותה של הפריטים באוכלוסיה), ועד נסיונות לחזות מחירי מניות בבורסה, או לחקור תבניות של מזג האוויר.
מידול מתמטי
איך ממדלים מערכת כזאת באמצעות מתמטיקה? נסתכל על הדוגמא פשוטה של ערבוב הקלפים, ונגדיר את הקבוצה \(\Omega\) של כל הסידורים האפשריים של חפיסת קלפים (ויש !52 כאלו ערבובים). ערבוב של החפיסה זה פשוט "שינוי של הסידור" או במילים אחרות פונקציה \( f: \Omega \to \Omega \).
ערבוב של החפיסה מספר פעמים, זה פשוט הפעלת הפונקציה פעם אחר פעם, כלומר הסתכלות על \(f(f(\cdots f(f(\omega)) \cdots ))\).
עכשיו, אפשר לשאול כל מני שאלות על התהליך הזה, כמו איך הנקודת התחלה \(\omega\) משפיעה עליו, או מה אפשר להגיד על הסידור המתקבל אחדי ערבוב אחד, או 10 ערבובים, או 100 ערבובים וכו'.
זהו מודל מאוד בסיסי של מערכת דינמית ואפשר להרחיב אותו בהרבה צורות. למשל, במקום ערבוב דיסקרטי אפשר להסתכל על ערבובים רציפים (חשבו ערבוב של הקפה) , או אולי הפעולת ערבוב שלנו נבחרת בצורה אקראית, או שאולי הערבוב עצמו תלוי בסידור קלפים הנתון (או במילים אחרות – מישהו מרמה במשחק…).
בעוד שלמדל מערכת דינמית זה רב הפעמים יחסית פשוט, רק צריך לדעת מה הקבוצה שלנו ומה הפונקציה, השאלות המעניינות מתחילות כאשר אנחנו רוצים להבין איך לחקור אותה.
איך חוקרים מערכות דינמיות
אחת הדרכים לחקור מערכות דינמיות כאלו היא לחפש את המצבים שהכי קל להבין את הדינמיקה שלהם. פה, כנראה המקרה הכי פשוט הם המצבים שלא משתנים תחת הפעולה שלנו, שנקראים מצבי שבת.
כדי לתת מוטיבציה לרעיון הזה, חשבו על המערכת הבאה של יחסים בין אוכלוסיות של טורפים ונטרפים, או בצורה יותר ספציפית שועלים וארנבים.
המערכת שלנו פה היא שתי האוכלוסיות של שועלים וארנבים, והדינמיקה היא בעצם ההתדקמות בזמן והשינוי של האוכלוסיות תוך כדי. אם יש קצת מדיי ארנבים, אז לשועלים לא יהיה מה לצוד ולאכול, ולכן האוכלוסיה שלהם תצטמצם. אבל אם זה קורה, ואוכלוסיית השועלים קטנה, אז הם יצודו פחות ארנבים, ולכן האוכלוסיה של הארנבים תגדל. זה יכול להוביל חזרה את אוכלוסיית השועלים לגדול, שיוביל את אוכלוסיית ארנבים לקטון בגלל הציד, שיגרום לאוכלוסיית השועלים לקטון וככה המעגל חוזר על עצמו.
המערכת הזאת יכולה להיות מאוד מסובכת, אבל אולי היא מכילה איפשהו מצב מאוד פשוט. אולי יש כמות ארנבים מסויימת וכמות מתאימה של שועלים, כך שהגידול הטבעי של הארנבים מצטמצת עם כמות הארנבים שהשועלים צדים, ולכן גודל האוכלוסיה שלהם לא משתנה, ובאותה צורה גודל האוכלוסיה של השועלים לא משתנה? אם נגיע למצב כזה, אז תמיד נשאר בו, ולכן קל מאוד להבין את המערכת שם.
מקרה קצת יותר כללי של המצבי שבת האלו הן תבניות מחזוריות. אולי המערכת כן משנה את המצב, אבל חוזרת אליו בצורה מחזורית אחרי מספר צעדים. אם היא חוזרת חזרה פעם אחת, אז היא תחזור אינסוף פעמים ולכן גם שם יחסית קל להבין את המערכת (למרות שזה עדיין לא אומר שקל לזהות את המצבים האלו).

מפה הלאה יש עוד כל מני הכללות, למשל ניתן לשאול מה קורה אם מתחילים במצב ש"קרוב" בצורה כלשהי למצב מחזורי. האם כאשר ניתן למערכת להתקדם נתקרב יותר ויותר לתבנית המחזורית ממוקדם? או לחלופין, אולי דווקא נתרחק ממנה? מה קורה אם נתחיל בנקודה "כללית"? האם יש יותר סיכוי להיות מחזורי או לא מחזורי?
כמו שאפשר לראות יש הרבה שאלות שאפשר לשאול על מערכות כאלו, אפילו בכלליות הרבה הזאת.
קבוצת ג'וליה
לבסוף, בואו נסתכל על מערכת דינמית מאוד פשוטה – המערכת עצמה היא הנקודות במישור המרוכב, והפעולה הדינמית היא פשוט \(f(z) = z^2\).
האם יש למערכת הזאת נקודות שבת? זה בדיוק שקול לשאלה של מציאת פתרונות למשוואה \(z^2=z\), או במילים אחרות יש לנו שתי נקודות שבת \(z=0,1\).
מה יקרה אם נפעיל את הפעולה הזאת שוב ושוב ושוב? אם \(|z|<1\) לא קשה לראות שהמסלול של הנקודה יתקרב יותר ויותר לנקודה השבת בראשית. אם לעומת זאת נתחיל נתחיל על מעגל היחידה, כלומר \(|z|=1\) , אז מסתבר שיש מספר התנהגויות:
- אם מראש התחלנו ב \(z=1\) אז זו נקודת שבת. באופן יותר כללי, יכולים להיות מסלולים מחזוריים (הסתכלו למשל על שורשי יחידה מסדר 3 או 5).
- אולי המסלול כולו לא מחזורי, אבל בשלב מסוים נכנס לתוך מחזור. למשל, אם מתחילים עם \(z=i\) אז אחרי שנעלה את זה בריבוע פעמיים נגיע ל \(z=1\) ואז בעצם נהיה במסלול מחזורי (מגודל 1).
- יכול להיות שהמסלול לעולם לא חוזר על עצמו וכל הזמן נותן נקודות שונות.
לבסוף, אם נתחיל עם נקודה \( z>1 \) אז המסלול שלנו ישאף לאינסוף. כל פעם שנעלה בריבוע את המספר המרוכב, הגודל שלו יעלה בריבוע ולכן יגדל לאינסוף. זה בעצם מרמז שיש בעצם "נקודת" שבת נוספת – הנקודה באינסוף. הרי במובן מסוים מתקיים ש \( \infty^2 = \infty \).
אם נשים לרגע בצד את מעגל היחידה, בעצם המסלולים של כל הנקודות או ששואפים לאפס או לאינסוף. לכן, שאלה מעניינת נוספת שאפשר לשאול זה "כמה מהר" הם שואפים לאינסוף. למשל, אם \(|z|>1\) אבל ממש קרוב ל 1, ייקח למסלול שלו יותר זמן לשאוף לאינסוף, מאשר למשל אם \(|z|>2\).

פה מגיע הרעיון המעניין לצבוע את הנקודות לפי כמה מהר המסלול שלהן שואף לאינסוף (אם הוא בכלל שואף לשם). במקרה של הפונקציה \(f(z)=z^2\) כמו למעלה, התמונה תהיה די פשוטה, אבל אם נשנה את זה אפילו קצת, למשל \(f(z)=z^2+c\) עבור קבוע \(c\) כלשהו, אז פתאום נקבל את הפרקטלים שראינו בהתחלה, כלומר גם כאשר נתמקד באזור מסויים ונגדיל את התמונה, נראה שוב תמונה דומה למה שהתחלנו איתה:

קצת אנימציות וויזואליזציות
כמובן, שאחד הדברים המעניינים במערכות הדינמיות האלו הוא, כפי שאמרנו בהתחלה, הויזואליזציה שלהן, אז הנה מספר דוגמאות:
איפה אפשר ללמוד עוד
כפי שנכתב למעלה, מערכות דינמיות הן מעין שם שיכול לתאר תופעות כל כך מגוונות, כך שהן לא בדיוק שייכות לקורסים ספציפים. להיפך – כמעט בכל קורס שתלכו אליו מתחבאות מערכות כאלו ואתם רק צריכים לשאול את המרצה או המתרגל היכן הן מתחבאות. אפילו בקורס הראשון של אלגברה, כל רעיון הלכסון הוא בעצם כלי כדי לחקור את המערכת הדינמית של מרחב וקטורי שכופלים אותו במטריצה שוב ושוב ושוב ורוצים לראות לאן זה מתפתח.
בהינתן הנקודת מבט הזאת, ישנן כמה מערכות דינמיות מאוד מעניינות (לדעת הכותב) ששווה ללמוד:
הילוכים מקריים על גרפים: מה קורה כאשר בוחרים צומת על גרף, ובכל שנייה בוחרים באקראי קשת שעליה מתקדמים?
זוהי בעיה שמופיעה בצורה טבעית בהרבה מקומות במתמטיקה ומחוצה לה. תשתמעו עליה בין השאר בקורסי ההסתברות ותורת הגרפים , אבל כדאי לכם גם לבדוק את קורס תורת המטריצות. שם חוקרים את הנושא הזה דרך מטריצות ובפרט לומדים על התורה המעניינת של פרון פרובניוס.
מעבר לכך, כאשר רוצים להבין מערכות יותר מסובכות, וצריך הסתברות יותר מתקדמת, אז הרבה מהחומר נופל תחת השם של תהליכים סטוכסטיים.
דינמיקה בתורת המספרים: תורת המספרים יושבת לה בלב המתמטיקה, ולא מפתיע שגם פה יש מערכות דינמיות מעניינות. כבר כאשר למדנו לחלק מספרים שלמים, ראינו שלפעמים הפיתוח הוא סופי, לפעמים הוא אינסופי, ולפעמים הוא אינסופי אבל עם מחזוריות (נשמע מוכר?). ישנן הרבה מערכות דינמיות שמוגדרות בצורה טבעית בשפה של תורת המספרים, ובפרט כל הפיתוחים בבסיסים מסויימים (בסיס 10, בסיס 2, בסיס 16 וכו') בעצם מתארים מסלולים במערכות כאלו.
עוד פיתוח מאוד מעניין ומאוד חשוב זה הפיתוח לשבר משולב שבמובן מסוים מודד עד כמה מספר הוא רחוק מלהיות רציונלי.
כמו בדוגמא הקודמת, גם פה הרעיונות האלו מפוזרים בכל מני קורסים, אבל בפרט כדאי לבדוק את הקורס נושאים בתורה הארגודית, כאשר במובן מסוים שם שואלים איך מפרקים מערכות דינמיות גדולות לחלקים האי פריקים שלהן.