1 of 12

אלגוריתמים 2 – תרגול 1

 

ניר סון

2 of 12

בעיות חיפוש מול בעיות הכרעה

  • בעיות הכרעה (הגדרה לא פורמלית): בעיות שהתשובה שלהן היא בוליאנית (true/false). בעיות כאלה נקראות גם שפות.

​

  • בעיות חיפוש (הגדרה לא פורמלית): בעיות שהתשובה שלהן היא לא בוליאנית (אלא הפתרון עצמו).

​

  • דוגמה:
  • בהנתן גרף G ומספר טבעי k, האם קיימת בגרף קליקה בגודל k?
  • בהנתן גרף G ומספר טבעי k, מצאו קליקה בגודל k בגרף (אם קיימת. אם לא החזירו null).

​

3 of 12

  • בשיעורים הבאים נדבר כמעט ורק על בעיות הכרעה (שפות)
  • נרצה להראות שבעיות חיפוש שקולות לבעיות הכרעה

​

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

בעיות חיפוש מול בעיות הכרעה

4 of 12

3-color

  • 3-Color = {<G> | the vertices G can be colored with 3 colors, that that no two ends of an edge have the some color}

​

בהנתן גרף, צריך לקבוע האם אפשר לצבוע את קודקודיו בשלושה צבעים, כך שאף זוג קודקודים שכנים לא צבועים באותו הצבע.

מהי בעיית החיפוש המתאימה?

- בהנתן גרף, החזירו צביעה של קודקודיו בשלושה צבעים, כך שאף זוג קודקודים שכנים לא צבועים באותו הצבע. אם לא ניתן לעשות זאת, החזירו ״אין פתרון״.

​

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

5 of 12

Self reduction for 3-col

  •  

6 of 12

P and NP

  •  

7 of 12

CNF-SAT & K-CNF-SAT

  •  

8 of 12

2-CNF-SAT is in P

  •  

9 of 12

  •  

10 of 12

  •  

11 of 12

  •  

 

12 of 12

  •