תורת החישוביות/כריעות שפות/רדוקציה חישובית: הבדלים בין גרסאות בדף

תוכן שנמחק תוכן שנוסף
Gran (שיחה | תרומות)
מ הגבלת תוכן
Gran (שיחה | תרומות)
מ הגהה
שורה 5:
נתונה הבעיה: עבור רשימת מספרים הנתונה כקלט, מצא האם קיימים שנים מספרים זהים.
 
פתרון אפשרי הוא ראשית למיין את הרשימה, ואז לבצע סריקה על הרשימה הממוינת לאיתור שני מספרים עוקבים זהים. כלומר, ראשית אנו '''ממירים''' את הקלט לקלט אחר (רשימה ממוינת), ואח"כ אנחנו '''פותרים בעיה קלה''' בהרבה – מציאת שני מספרים זהים ברשימה ממויינת.
 
לא כל המרה לבעיה אחרת תעזור לנו לפתרון הבעיה המקורית. כדי לפתור בשיטה זו נדרשות תכונות תכונות מסויימות מתהליך ההמרה:
שורה 18:
# f ניתנת לחישוב
# הרדוקציה <u>תקפה</u>: <math>x\in L_1</math> אם״ם <math>f(x)\in L_2</math>
{{להשלים|ציור שמראה את המיפוי מהשפה האחת אל השניה. חייב להיות כזה בקומונס}}.
 
{{להשלים|ציור שמראה את המיפוי מהשפה האחת אל השניה. חייב להיות כזה בקומונס}}.
 
נאמר ששפה <math>L_1</math> '''ניתנת לרדוקציה''' ל־<math>L_2</math> אם קיימת רדוקציה מ־<math>L_1</math> ל־<math>L_2</math>, ונסמן: <math>L_1 \le L_2</math>.
שורה 39 ⟵ 38:
הוכח <math>L_U \le \text{HP}</math>.{{ש}}
נגדיר את הפונקציה <math>f(\langle M \rangle)=(\langle A \rangle,x)</math> כאשר <math>\langle A \rangle</math> היא קידוד של מ״ט שנבנית מתוך הקידוד של M באופן הבא: כל מעבר של M למצב <math>q_{rej}</math> מוחלף בלולאה אינסופית (למשל, ע״י מעבר למצב חדש q שתמיד עובר לעצמו, ללא תלות בקלט). נובע:
* M ו־A מתקדמות באופן זהה פרט לכך שאם M מנסה לדחות, A נכנסת ללולאה.:
*לכן:
** אם M לא עוצרת ← A לא עוצרת
** אם M דוחה ← A לא עוצרת
** אם M מקבלת ← A מקבלת
* לכן, אם <math>(\langle M \rangle,x)\in L_U</math>, כלומר, M מקבלת את הקלט x אזי A מקבלת את הקלט x, ובפרט עוצרת עליו, ומתקיים <math> (\langle A \rangle,x)\in\text{HP} </math>.
*מצד שני כאשר <math>(\langle M \rangle,x)\notin L_U</math> אזי M או דוחה את x או לא עוצרת עליו. בשני המקרים A לא עוצרת על x ומתקיים <math> (\langle A \rangle,x)\notin\text{HP} </math>.
<math> (\langle A \rangle,x)\notin\text{HP} (example)</math>
*משני אלו נובעת התקפות של הרדוקציה. קל לראות שזו פונקציה מלאה וניתנת לחישוב ע״י מ״ט (כל שהמכונה נדרשת לעשות הוא החלפת הקידוד של מעבר ל־<math>q_{rej}</math> במעבר אחר).