NP ו- P כמה שאלות

student47

New member
NP ו- P כמה שאלות

"הגדרות" לא פורמליות (הגרשיים הם משום שהגדרה חייבת להיות פורמלית):

P זו קבוצת הבעיות שניתן למצוא להן פתרון בזמן סביר.
NP זו קבוצת הבעיות שניתן לבדוק בזמן סביר האם פתרון מוצע כלשהו עבורן הוא אכן פתרון לבעיה.

ההגדרות הפורמליות הן:

L in P אם קיימת מכונת טיורינג דטרמיניסטית שמכריעה את L בזמן פולינומי.
(זמן פולינומי משמעותו שקיים פולינום q כך שלכל *x in Sigma מתקיים: zz |M(x)| <= q(|x|) zz (כאשר zz |M(x)| zz זה מספר הצעדים של M בריצת x).

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

כעת, יש לי כמה שאלות:

1. הדימיון בין ההגדרה הלא פורמלית של P להגדרה הפורמלית של P מובן לי. אבל לא ברור לי הדימיון בין ההגדרה הלא פורמלית של NP להגדרה הפורמלית של NP. או במילים אחרות, למה הפירוש האינטואיטיבי של ההגדרה הפורמלית של NP, הוא ההגדרה הלא פורמלית של NP?

2. אינטואיטיבית, למה P מוכל ב-NP?

3. פורמלית, P מוכל ב-NP אם מראים שכל מכונת טיורינג דטרמיניסטית היא בפרט לא דטרמיניסטית.
כיצד מוכיחים שכל מכונת טיורינג דטרמיניסטית, היא לא דטרמיניסטית?

תודה מראש לעונים.
 

אורי769

New member
תשובות

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