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