בין שבע ערים

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

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

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

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

מולקולות ה די-אן-אי בנויות כשני גדילים השזורים זה בזה
ומוחזקים יחד באמצעות מעין "שלבים". כל שלב כזה בנוי משני
נוקליאוטידים, כשכל גדיל תורם לשלב נוקליאוטיד אחד משלו. מרכיבי
הנוקליאוטידים זהים בעיקרם, ורק רכיב אחד שלהם שונה מנוקליאוטיד
לנוקליאוטיד. מרכיב זה הוא בסיס חנקני, ועל-פיו אפשר לזהות את
הנוקליאוטיד כולו. בדי-אן-אי קיימים ארבעה סוגי בסיסים חנקניים:
אדנין המסומן באות A, טימין המסומן באות T, ציטוזין המסומן באות C'
וגואנין המסומן באות G. סדר ההיצמדות של הנוקליאוטידים, קבוע.
A תמיד ייקשר ל-T (ולהיפך), ו-C תמיד ייקשר ל-G (ולהיפך). כך, למעשה,
גדיל אחד של די-אן-אי יכול לשמש תבנית מושלמת ליצירתו של הגדיל
הנגדי שלו. ההתאמה בין השניים מזכירה התאמה והיצמדות של שני
חלקי רוכסן.

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

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

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

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