חילוק באפס


חילוק באפס


הקדמה

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


למה אסור לחלק באפס

חילוק באפס הוא מעשה לא מוסרי בעל השלכות הרסניות וכל אחד שמנסה לעשות את זה עליו להתבייש בעצמו והוא צריך לשבת בכלא ללא הזדמנות לשחרור על תנאי. אם לחלק מספר באפס כל חוקי המתמטיקה יישברו והעולם יחדל מלהתקיים, ותיכף תבינו למה. חילוק היא הפעולה ההפוכה מכפל וזה אומר שכל כפל חייב להיות זהה לחילוק שלו. למשל, 10 לחלק ל-2 זה 5. ואילו 5 כפול 2 זה 10. באופן נוסחאתי ניתן לומר שהחוק קובע כי מנה כפול מחנה חייבת להיות שווה למונה. אין מספר בעולם ששובר את החוק הזה. כל המספרים כאחד מצייתים לחוק זה כמו חלקיקים לחוקי הטבע, כולם חוץ מהאפס. אנחנו לא יודעים למה שווה מספר חלקי 0 אז ניתן למספר הלא חוקי הזה שם - נקרא לו Z. אם Z היה קיים המתמתיקה הייתה קורסת. מדוע? תחשבו על המשוואה הבאה: 1 חלקי 0 שווה Z. 

מכאן לפי החוק יוצא כי

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


אבל אולי בכל זאת

המתמטיקה נועדה כדי לשרת אותנו. היא אמורה לעזור לנו להתמודד עם דברים שיש לנו בעולם הזה. נגיד בעזרת אלגברה ניתן לספור דברים, ובעזרת גיאומטריה לשרטט אותם. ככל שאנחנו לומדים על העולם יותר ככה אנחנו צריכים מתמטיקה יותר מסובכת כדי לדעת לתאר את הדברים באופן נכון והגיוני המשקף את המציאות. אבל גם ההיפך נכון. יש כלים מתמטיים שהיו נטו תיאורטיים ללא כל שימוש מעשי בהתחלה, אבל הם קיבלו שימוש מעשי מאוחר יותר עם התפתחות של המדע וטכנולוגיות חדשות. למשל מספרים מדומים. המספר i הוא שורש ריבועי של מספר שלילי. ואילו . למספרים המדומים היום יש שימוש בתחום הנדסת החשמל. אבל את החשמל גילו במאה ה-16 ואילו את המספרים המדומים המציאו ב-1572. חשבון אינפיניטסימלי (Calculus) הומצא בשנות ה-1670, והיום משתמשים בו בבינה מלאכותית. אנחנו לעולם לא יכולים לדעת כיצד הכלים המתמטיים שלנו עלולים לשרת אותנו בעתיד.

חוץ מזה מתמטיקה היא פשוט נושא מעניין שכיף לדון בו ולחקור אותו. אז בואו נדון בעולם שבו הספרה Z קיימת. כאשר אנחנו מכפילים מספר אחד באחר אין לנו זכות בחירה עליו, יש תוצאה אחת בלבד שהיא נכונה. הספרה Z לעומת זאת כאשר מוכפלת באפס יכולה להיות כל מספר שנרצה. או שהיא למעשה כל המספרים בו זמנית. זה לא בדיוק סדרה כמו שאנחנו מבינים אותה במושג המתמטי אלה ממש כל המספרים בו זמנית ואילו אנחנו לוקחים את Z ומכפילים אותו באפס אנחנו כאילו תופסים אותו באיזשהו שלב בזמן ואז מכל המספרים שבעולם הוא נהיה המספר שממנו הוא התקבל, כלומר, המספר שחילקנו באפס כדי לקבל אותו. זה אומר שאמנם Z כפול 0 שווה ל-1 או ל-2 או לכל ספרה אחרת, אין שיווין ללא Z כפול 0. או במילים אחרות אבל זה לא אומר ש-כי במקרה אחד הוא לא כמו במקרה אחר. כל מקרה של תלוי במחנה שממנו Z התקבל. 


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

בואו נראה מה יקרה, ללא חילוק באפס קודם, מה יקרה אם נוסיף, נחסיר, נחלק או נכפיל את Z? התשובה היא כל המספרים בעולם. למשל, מה זה Z כפול 5? זה הכל, כל המספרים בו זמנית. כנ"ל גם אם נעלה את Z בחזקת 400 או נוציא ממנו שורש ריבועי. לא משנה איזו פעולה נעשה על Z התשובה תמיד תהיה כל המספרים בעולם. 


פתרונות לבעיות אמיתיות

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

זוהי דוגמא לבעיית NP. למה? כי על מנת באמת למצוא את האופציה הכי טובה עלי להריץ את כל האופציות האפשריות, שזה הרבה מאוד אופציות. למעשה כמות האופציות היא כאשר n = כמות הכבישים. . זה אומר שהאלגוריתם צריך לעשות 4,096 חישובים ואז להשוות ביניהם כדי למצוא את המינימום (הדרך הכי קצרה). ככל הש-n יעלה, גודל העבודה יעלה באופן אקספוננציאלי.


ועכשיו נכניס למשוואה את הספרה Z. הספרה Z היא כל הספרות האפשריות בו זמנית. תארו לעצמכם אם היתה לנו דרך לייצר מחשוב שבאמת יכול להכיל ספרה כזאת. מחשב שיכול להכפיל, לחלק או להוסיף את כל האפשריות בו זמנית היה פותר בעיות כאלה במהירות ובקלות כי בעבורו בעיה כזאת נשלחת לרכיב Z שמעבד את כל האופציות בו זמנית. אני לא יכול לדמיין לעצמי אפילו כיצד זה יעבוד, אבל שמעתי שמדענים כן עובדים על זה. בניגוד למחשב רגיל העובד על ביטים (כלומר 0 או 1), מחשב קוונטי יכול להשתמש בסיב שנקרא "קיוביט" שהוא סוג של 0/1 בו זמני כזה. אני לא בדיוק יודע כיצד הוא עובד כי זה משהו מאוד מסובך שדורש תואר בפיזיקה כדי להבין באמת, אבל אני יכול להגיד שממה שאני מכיר, קיוביט הוא בדיוק זה - כמה דברים בו זמנית. הוא עובד על מדידת הסופרפוזיציה של החלקיק והוא יכול לבצע כמות גדולה של מדידות בו זמנית. מחשבים כאלה עוד לא קיימים בשוק אבל ברגע שהם יצאו, אנחנו נחייה בעולם הרבה יותר פשוט. עולם שבו מכונות יכולים לחשב לנו את כל האופציות בקלות וביעילות ולתת לנו פתרונות לבעיות בכל תחומי החיים. הנדסה, מחשוב, עיבוד מידע בכמויות גדולות וכו'. 


תגובות