SlideShare une entreprise Scribd logo
1  sur  17
‫מהי לוגיקה?‬
                                                   ‫תורת ההיגיון‬        ‫•‬
  ‫תורת ההיסק מתארת טיעונים תקפים - טיעונים ששומרים על אמיתות.‬          ‫•‬
                    ‫תקפות היא תכונה מבנית (תחבירית) של טיעונים‬
                  ‫תנאיי-קדם ללוגיקה: שפה בעלת תחביר וסמנטיקה.‬          ‫•‬

                                    ‫תחביר – מבנה של ביטוים בשפה.‬
‫סמנטיקה – פשר (משמעות) של הביטויים, הקשר שבין השפה לבין מה שהיא‬
                                           ‫מדברת עליו.‬


            ‫לוגיקה במדעי המחשב‬
                                  ‫מחשב מחקה יכולת שכלית (היגיון)‬       ‫•‬
                                      ‫תוכנית מחשב - סוג של הוכחה.‬      ‫•‬
                       ‫תורת התכנות- לוגיקה שימושית. אימות תוכנה.‬
                                                        ‫תכנות לוגי.‬    ‫•‬
                                                    ‫בינה מלאכותית‬      ‫•‬

                           ‫טיעונים‬
‫אם רכבת מאחרת וגם אין מוניות זמינות בתחנה, אז אלי מאחר לפגישה.‬         ‫•‬
 ‫אבל אלי לא איחר לפגישה למרות שרכבת איחרה. לכן היו מוניות זמינות‬
                                                           ‫בתחנה.‬
  ‫אם יורד גשם ולטלי אין מטריה איתה, אז היא מצטננת. טלי לא הצטננה‬       ‫•‬
                            ‫למרות שהיה גשם. לכן לטלי הייתה מטריה.‬

                                                        ‫מבנה הטיעון:‬
                ‫אם ‪ p‬וגם לא ‪ ,q‬אז ‪ .r‬לא ‪ r‬ו-‪ .p‬לכן ‪.q‬‬
                      ‫‪(p¬q(→r, ¬r  p├ q‬‬
‫תחשיב הפסוקים‬
   ‫נדון בפסוקיי חיווי, אשר יש להם בדיוק אחד משני ערכים: אמת (‪)True‬‬
                                               ‫או שקר (‪.)False‬‬
                                                ‫1. קנדה היא מדינה.‬
                                                    ‫2. משה הוא כלב‬
                                                  ‫3. סגור את הדלת!‬
                                                          ‫4. ‪|X| = X‬‬
                                             ‫5. משפט זה הוא שקר.‬
 ‫מפסוקים יסודיים ניתן לבנות פסוקים מורכבים בתוספת מילות חיבור כגון:‬
                                                        ‫ו, או, לא, וכו':‬
                     ‫קנדה היא מדינה ומשה הוא כלב.‬


                       ‫קשרים לוגיים‬
                     ‫"לא ‪."P‬‬               ‫שלילה (‪: ¬P )negation‬‬           ‫•‬
                   ‫"‪ P‬ו- ‪.“Q‬‬  ‫קוניונקציה (‪ ,conjunction‬גימום)‪:PQ‬‬          ‫•‬
                  ‫“‪ P‬או ‪.“Q‬‬   ‫דיסיונקציה (‪ ,disjunction‬איווי) ‪: PQ‬‬        ‫•‬
              ‫אימפליקציה (‪ ,implication‬אימוז) ‪" : P→Q‬אם ‪ P‬אז ‪.“Q‬‬           ‫•‬
         ‫"‪ P‬אם ורק אם ‪.“Q‬‬          ‫שקילות (‪: P↔Q )equivalence‬‬              ‫•‬


                               ‫תחביר‬
 ‫הגדרה: נוסחא נקראת בנויה היטב (‪ )well-formed formula‬אם ניתן ליצור אותה‬
                                                   ‫לפי החוקים הבאים:‬
                              ‫1. כל פסוק אטומי...,‪ p,q‬הוא נוסחא בנויה היטב.‬
                                            ‫2. קבוע ‪ ‬הוא נוסחא בנויה היטב.‬
                                        ‫3. אם ‪ A‬ו- ‪ B‬הן נוסחאות בנויות היטב,‬
‫אז גם (‪ (AB), (A  B), (A  B), (A  B) , )¬A‬הן נוסחאות בנויות היטב.‬
‫4. כל נוסחא בנויה היטב ניתן ליצור במס' סופי של צעדים ע"י שימוש בחוקים 3-1.‬
‫פסוקים מורכבים‬
                         ‫דוגמא: )‪)¬)¬p(( ,(pq) ,((pq))¬p(( ,))¬p(q‬‬
                                       ‫‪((p  q)), (p  q  r), ( p‬‬ ‫ולא‬
‫משפט (בלי הוכחה) (קריאה יחידה) כל נוסחה שייכת בדיוק ל1 מהסוגים הבאים:‬
                                                       ‫פסוק אטומי.‬   ‫1.‬
                                   ‫)‪ )¬A‬עבור נוסחה אחת ויחידה ‪.A‬‬     ‫2.‬
      ‫)‪ (A ○ B‬עבור קשר בינארי ○ אחד ויחיד ונוסחאות יחידות ‪ A‬ו-‪.B‬‬     ‫3.‬

            ‫אינדוקציה על נוסחאות‬
‫אם תכונה ‪ P‬נכונה לכל הפסוקים האטומיים, ומהנחה ש-‪ P‬נכונה לנוסחאות ‪ A‬ו-‬
   ‫‪ B‬נובע ש-‪ P‬נכונה ל-(‪ ,(AB), (AB), (AB), (AB), )¬A‬אזי ‪P‬‬
                                      ‫נכונה לכל נוסחא בנויה היטב.‬
                           ‫הסכם: אפשר להשמיט סוגריים חיצוניות וסוגריים‬
                          ‫עבור ¬. לדוגמא נרשום ‪ ¬PQ‬במקום )‪))¬P(Q‬‬

                             ‫הצרנה‬
                         ‫זהו מקס או שההוא מוריץ ואני ליצן: ‪p  q  r‬‬    ‫•‬
                         ‫אני אגיע הביתה ואביא תותים אם לא ירד גשם.‬      ‫•‬
                ‫אם לא יובל ולא איל יעברו את הבחינה, גם חגי לא יעבור.‬    ‫•‬
                                           ‫לא כולם (מהשלושה) יכשלו.‬     ‫•‬

                         ‫סמנטיקה‬
 ‫פירוש או מודל הוא השמה }‪ - l: P  {F,T‬שיוך ערכיי אמת לפסוקים אטומיים.‬
                                          ‫פשר של הקשרים – פונקציות אמת:‬
                          ‫}‪f : {F,T} n  {F,T‬‬
                            ‫לא כל הפסוקים בשפה טבעית הם פונקציות אמת:‬
          ‫‪P ¬P‬‬
                                             ‫"אני יודע ש-‪" ,"P‬מחר יהיה ‪."P‬‬
          ‫‪F‬‬    ‫‪T‬‬                      ‫שלילה. ‪ ¬P‬אמיתי אם ורק אם ‪ P‬שקרי.‬
          ‫‪T‬‬    ‫‪F‬‬                                         ‫קבוע שקר. ‪l()=F‬‬
‫קוניונקציה‬               ‫דיסיונקציה‬
 ‫‪ PQ‬אמיתי כאשר גם ‪ P‬וגם ‪Q‬‬      ‫‪ PQ‬שיקרי כאשר גם ‪ P‬וגם ‪Q‬‬
       ‫אמיתי, אחרת שקרי:‬             ‫שיקרי, אחרת אמיתי :‬
          ‫‪P‬‬    ‫‪Q‬‬    ‫‪PQ‬‬               ‫‪P‬‬    ‫‪Q‬‬       ‫‪PQ‬‬
          ‫‪F‬‬    ‫‪F‬‬        ‫‪F‬‬             ‫‪F‬‬    ‫‪F‬‬        ‫‪F‬‬
          ‫‪F‬‬    ‫‪T‬‬        ‫‪F‬‬             ‫‪F‬‬    ‫‪T‬‬        ‫‪T‬‬
          ‫‪T‬‬    ‫‪F‬‬        ‫‪F‬‬             ‫‪T‬‬    ‫‪F‬‬        ‫‪T‬‬
          ‫‪T‬‬    ‫‪T‬‬        ‫‪T‬‬             ‫‪T‬‬    ‫‪T‬‬        ‫‪T‬‬


     ‫אימפליקציה‬                           ‫שקילות‬
                         ‫‪P→Q‬‬                           ‫‪P↔Q‬‬
 ‫שקרי כאשר ‪ P‬אמיתי ו- ‪ Q‬שקרי,‬   ‫אמיתי כאשר ל- ‪ P‬ול- ‪ Q‬יש אותו‬
                  ‫אחרת אמיתי.‬           ‫ערך אמת, אחרת שקרי.‬
     ‫‪P‬‬    ‫‪Q‬‬        ‫‪P→Q‬‬                 ‫‪P‬‬       ‫‪Q‬‬    ‫‪P↔Q‬‬
     ‫‪F‬‬     ‫‪F‬‬        ‫‪T‬‬                  ‫‪F‬‬       ‫‪F‬‬        ‫‪T‬‬
     ‫‪F‬‬     ‫‪T‬‬        ‫‪T‬‬                  ‫‪F‬‬       ‫‪T‬‬        ‫‪F‬‬
     ‫‪T‬‬     ‫‪F‬‬        ‫‪F‬‬                  ‫‪T‬‬       ‫‪F‬‬        ‫‪F‬‬
     ‫‪T‬‬     ‫‪T‬‬        ‫‪T‬‬                  ‫‪T‬‬       ‫‪T‬‬        ‫‪T‬‬



‫אם 3=1+1, אז פריס‬
   ‫היא בירת צרפת.‬
‫יחס ספיקות‬
                           ‫הגדרה. (הרחבה של פירוש לפסוקים מורכבים)‬
                                                             ‫• ‪l()=F‬‬
                                        ‫• ‪ l)¬A(=T‬אם ורק אם ‪l(A)=F‬‬
                                 ‫• ‪ l(AB)=T‬אם ורק אם ‪l(A)=l(B)=T‬‬
                            ‫• ‪ l(AB)=T‬אם ורק אם ‪ l(A)=T‬או ‪l(B)=T‬‬
                           ‫• ‪ l(AB)=T‬אם ורק אם ‪ l(A)=F‬או ‪l(B)=T‬‬
                                   ‫• ‪ l)A↔B(=T‬אם ורק אם )‪l(A)=l(B‬‬
                        ‫פירוש ‪ l‬מספק ‪ ,A‬או ‪ l‬הוא מודל של ‪ ,A‬אם ‪l(A)=T‬‬
                                                                 ‫עובדה.‬
‫ערך האמת של פסוק מורכב היא פונקציה של ערכי האמת של הפסוקים אטומיים‬
                                                   ‫שלו (קריאה יחידה !).‬

            ‫בעיות ספיקות ותקפות‬
     ‫• נוסחה נקראת ספיקה (או עקבית) אם יש לה מודל. נוסחה לא ספיקה‬
                                                   ‫נקראת סתירה.‬
  ‫בעיית ספיקות (‪ :)SAT problem‬האם (ומתיי) הנוסחה ספיקה? ‪ SAT‬היא‬
                                                      ‫בעיית ‪.NP‬‬
  ‫• נוסחה ‪ A‬נקראת תקפה, או טאוטולוגיה, אם כל פירוש הוא מודל של ‪.A‬‬
                                  ‫בעיית תקפות: האם נוסחה ‪ A‬תקפה?‬
              ‫‪ A‬היא טאוטולוגיה אם ורק אם ‪ ¬A‬היא לא ספיקה.‬


‫‪p q ¬ p  q‬‬          ‫טבלאות אמת‬
‫‪F F T F T F‬‬
                              ‫טבלת אמת של פסוק מורכב מתארת את ערכי‬
‫‪F T T F T T‬‬                            ‫האמת של הפסוק עבור כל פרוש.‬
‫‪T F F T F F‬‬                    ‫אם הפסוק מורכב מ- ‪ m‬פסוקים אטומיים, אזי‬
                                    ‫יש ‪ ,2m‬צרופים ובטבלת האמת שלו‬
‫‪T T F T T T‬‬
                                                    ‫תהיינה ‪ 2m‬שורות.‬
      ‫1 3 1 2‬
‫טאוטולוגיות וסתירות‬
‫נוסחה המקבלת ערך אמת ‪ T‬לכל הצבה עבור המשתנים שלה היא טאוטולוגיה.‬
                       ‫נוסחה המקבלת ערך ‪ F‬לכל הצבה כזאת היא סתירה.‬
                       ‫‪p‬‬        ‫‪¬p‬‬    ‫‪p¬p‬‬     ‫‪pp‬‬
                       ‫‪F‬‬         ‫‪T‬‬      ‫‪F‬‬       ‫‪T‬‬
                       ‫‪T‬‬         ‫‪F‬‬      ‫‪F‬‬       ‫‪T‬‬
                           ‫ניתן להוכיח טאוטולוגיות וסתירות בשיטת השלילה.‬
                                           ‫דוגמא: )‪(AB( →)¬AB‬‬



              ‫שקילות של פסוקים‬
    ‫שני פסוקים נקראים שקולים אם יש להם אותם מודלים. פסוקים שקולים‬
                                           ‫מהבאים אותה טענה.‬
                          ‫נסמן את השקילות ב- ‪ .‬בדוגמא: ‪.A  AA‬‬

        ‫משפט: נוסחאות ‪ A‬ו- ‪ B‬שקולות אם ורק אם ‪ AB‬היא טאוטולוגיה.‬
                                               ‫הוכחה נובעת מן ההגדרות:‬
                            ‫כיוון ראשון: (נניח ‪ AB‬היא טאוטולוגיה.)‬
 ‫מהגדרת ‪ A  B‬נובע ש)‪ I(A  B‬אמת רק אם )‪ ,I(A)=I(B‬ומכך שזוהי‬
      ‫טאוטולוגיה נובע שזה נכון לכל ‪ .I‬לכן, בהכרח ל‪ A‬ול‪ B‬יש את אותם‬
                             ‫המודלים. ולכן מהגדרת השקילות ‪.A  B‬‬
                                               ‫כיוון שני: (נניח ‪)A  B‬‬
‫אם ‪ A‬שקול ל‪ ,B‬אז יש ל‪ A‬ול‪ B‬את אותם המודלים. ומכאן שכל פירוש של‬
   ‫‪ A‬שווה לכל פירוש של ‪ .B‬לכן, מהגדרת ‪ ‬כל פירוש ‪ I‬יהיה מודל של‬
                                      ‫‪ AB‬ומכאן שזוהי טאוטולוגיה.‬
¬)p  q))¬p  ¬q) -‫טבלת אמת ל‬

             p   q   ¬ (p  q)  )¬ p                   ¬ q)
             F   F   T   F   F    F    T   T     F   T   T   F
             F   T   T   F   F    T    T   T     F   T   F   T
             T   F   T   T   F    F    T   F     T   T   T   F
             T   T   F   T   T    T    T   F     T   F   F   T
                     3   1   2     1   4   2     1   3   2   1
  ‫תוך שימוש בשקילויות יסודיות ניתן להוכיח שקילויות חדשות בלי להשתמש‬
                                                       .‫בטבלאות אמת‬


                     ‫שקילויות יסודיות‬
PP  P                                PP  P
(PQ) R  P(QR)                     (PQ) R  P (QR)
PQ  QP                              PQ  QP
P(QR) (PQ)(PR)                   P(QR) (PQ)(PR)
PP                                  PTP
PTT                                  P
P  ¬P  T                             P  ¬P  F
P  (PQ)  P                          P  (P  Q)  P
¬(P  Q)  ¬P  ¬Q                     ¬(P  Q)  ¬P  ¬Q
                                 ¬¬P  P
‫שלמות פונקציונאלית‬
:‫-מקומית‬n ‫ מגדירה פונקצית אמת‬A(p1,…,pn) ‫כל נוסחה‬

       g(l(p1(,…,l)pn))=l(A)       ,l ‫לכל‬
                                            :‫דוגמה‬
            (p  q  ¬r()¬p  q  r)



        p        q        r        A

        T        T        T        F

        T        T        F        T

        T        F        T        F

        T        F        F        F

        F        T        T        T

        F        T        F        F

        F        F        T        F

        F        F        F        F
‫משפט השלמות הפונקציונאלית‬
‫משפט (שלמות פונקציונאלית). לכל פונקצית אמת קיימת נוסחה המגדירה אותה.‬
                                                                       ‫הוכחה:‬
                                             ‫תהיה ‪ f‬פונקצית אמת ‪-n‬מקומית.‬
   ‫נגדיר }‪( Hf={(a1,a2,…,an){F,T}n :f(a1,…,an)=T‬תמונה הפוכה של ‪T‬‬
                                                                  ‫ביחס ל- ‪.)f‬‬
              ‫לכל )‪ x=(a1,a2,…,an‬נשייך נוסחה ‪ ř1ř2… řn = Ax‬כך ש:‬
       ‫‪ ři‬הוא ‪ ri‬אם ‪ ,T=ai‬אחרת ‪ ři‬הוא ‪ .¬ri‬אז פירוש ‪ l‬מספק את ‪ Ax‬אם"ם‬
                                                           ‫))‪,x=(l(r1),...,l(rn‬‬
                         ‫כלומר אם"ם ‪.I(r1) = a1, I(r2) = a2, …, I)rn) = an‬‬
 ‫מהגדרת הקוניונקציה פירוש ‪ I‬ייתן ‪ I(Ax(=T‬אם"ם ‪ I)řj(=T‬לכל ‪ j‬ומהדרך בה‬
          ‫הגדרנו את הליטרלים, זה יתקיים אך ורק מתי ש ‪ I(rj) = aj‬לכל ‪.j‬‬
                           ‫נגדיר ‪ Af= Ax1Ax2 … Axk‬עבור כל ‪ xi‬מ- ‪.Hf‬‬
      ‫אז, לכל פירוש ‪ l(Af)=T ,l‬אם"ם קיים ‪ x  Hf‬כך ש ))‪x=(l(r1),...,l(rn‬‬
         ‫זאת היות ומהגדרת הדיסיונקציה ‪ l(Af)=T‬אם"ם קיים ‪ Axj‬שעבורו‬
                 ‫‪l(Axj)=T‬והראנו שזה מתקיים אם"ם ))‪ ,xj=(l(r1),...,l(rn‬ז"א‬
                                                     ‫)‪.f(l(r1(,…,l)rn))=l(Af‬‬

                                   ‫הסבר נוסף:‬
       ‫‪ …. I)Axk)=T‬או ‪ I(Ax2)=T‬או ‪l(Af)=T  I(Ax1)=T‬‬
                             ‫אם כך, עבור ‪ j‬כלשהו:‬
       ‫‪I(Axj)=T ‬‬
                       ‫נזכיר ש: ‪ Axj= ř1ř2… řn‬ומכאן:‬
       ‫‪ …. I)řn)=T ‬וגם ‪ I(ř2)=T‬וגם ‪I(ř1ř2… řn)=T  I(ř1)=T‬‬
       ‫‪I(r1)= a1, I(r2)= a2, …. , I)rn)= an ‬‬
       ‫‪xj=(a1, a2, …, an)=(I(r1), I(r2(, …. , I(rn)) ‬‬
                                 ‫נזכיר ש: ‪xjЄHf‬‬
       ‫‪(I(r1), I(r2(=, …. , I)rn)) ЄHf ‬‬
       ‫‪F(I(r1), I(r2(=, …. , I)rn))=T‬‬
‫קבוצות שלמות של קשרים‬
‫הגדרה: קבוצה של קשרים שבאמצעותם ניתן לתאר כל פונקצית אמת נקראת שלמה.‬
                          ‫)‪P  Q  (PQ)  (QP‬‬
                   ‫‪P  Q  ¬P  Q‬‬         ‫‪P  Q  ¬P  Q‬‬
                 ‫(‪P  Q  ¬)¬P¬Q‬‬        ‫(‪P  Q  ¬)¬P¬Q‬‬
                    ‫מסקנה. }‪ {¬, }, {¬, }, {¬, ‬הן קבוצות שלמות של קשרים.‬
     ‫ממשפט השלמות הפונקציונאלית נובע שהקבוצה }‪ Q={¬, , ‬היא‬
                                                    ‫קבוצה שלמה של קשרים‬
  ‫( השתמשנו אך ורק בקשרים אלו והראנו שאנו יכולים לבנות כל פונקציית אמת).‬
‫ע"מ להראות שהקבוצות הנתונות הן קבוצות שלמות של קשרים, מספיק להראות‬
                                      ‫שנוכל לבנות באמצעותן את הקבוצה ‪.Q‬‬
                           ‫}‪ - {¬, ‬נוכל להשיג קוניונקציה ע"י (‪P  Q  ¬)¬P¬Q‬‬
                          ‫}‪ - {¬, ‬נוכל להשיג דיסיונקציה ע"י (‪P  Q  ¬)¬P¬Q‬‬
    ‫}‪ - {¬, ‬נוכל להשיג דיסיונקציה ע"י ‪ P  Q  ¬P  Q‬וע"י כך נבנה את }‪.{¬, ‬‬
                    ‫קבוצות לא שלמות של קשרים‬
  ‫למה. }‪ {,,, ‬היא קבוצה לא שלמה של קשרים. (כי אי אפשר ליצור שלילה)‬
  ‫הוכחה. להבדיל מ-‪ ,¬p‬כל נוסחה הבנויה מ- }‪ {,,, ‬היא אמיתית כאשר כל‬
 ‫הפסוקים האטומיים שלה אמיתיים. [באינדוקציה על מספר הקשרים בנוסחה – נוכיח‬
                                           ‫שתמיד אמת (אין מצב של שלילה)].‬
         ‫טענה: כל נוסחה הבנויה מ }‪ {,,, ‬היא אמיתית כאשר כל הפסוקים‬
                                               ‫האטומיים שלה אמיתיים.‬
                                                      ‫הוכחה: (באינדוקציה)‬
‫בסיס: משתמשים ב-0 קשרים, אז הנוסחה היא מהצורה ‪ P‬כאשר ‪ P‬אטום ולכן‬
                                        ‫כאשר ‪ P‬אמיתי, הנוסחה אמיתית.‬
‫הנחה: כאשר אנו משתמשים ב-‪ n‬קשרים או פחות, אם כל הפסוקים האטומיים‬
                                        ‫אמיתיים, אז גם הנוסחה אמיתית.‬
              ‫צעד: תהי ‪ A‬נוסחה בעלת 1+‪ n‬קשרים, אם כך, ‪ A‬היא מהצורה:‬
          ‫‪(a) B  C (b) B  C (c) B  C (d) B  C‬‬
 ‫ב-‪ B‬וב-‪ C‬יש אם כך פחות מ1+‪ n‬קשרים, לכן, מהנחת האינדוקציה, כאשר כל‬
  ‫הפסוקים האטומיים ב‪ A‬אמיתיים, אז גם ‪ B‬ו-‪ C‬אמיתיים ומכאן שלפי הגדרת‬
                                    ‫הקשרים }‪ ,{,,, ‬גם ‪ A‬אמיתית.‬
‫קבוצות לא שלמות של קשרים‬
                               ‫למה. }¬,‪ {‬היא קבוצה לא שלמה של קשרים.‬
   ‫קוניונקציה יוצרת טבלת אמת בה יש מספר אי זוגי של שורות שנותנות ‪.T‬‬
‫נוכיח באינדוקציה על כמות הקשרים כי כל טבלת אמת עם יותר מאטום אחד‬
     ‫של נוסחה הבנויה מהקשרים }¬,‪ {‬הינה בעלת כמות זוגית של שורות‬
‫המקבלות את הערך ‪ ,T‬ולכן לא ניתן לבנות קוניוקציה באמצעות קשרים אלו.‬
                 ‫בסיס: (קשר יחיד) הנוסחא היא מהצורה ‪ q  p‬או ‪. ¬p‬‬
                                 ‫במצב זה טבלאות האמת יתאימו לטענה:‬
                       ‫‪p‬‬    ‫‪q‬‬    ‫‪¬p‬‬    ‫‪p‬‬   ‫‪q‬‬   ‫‪qp‬‬
                       ‫‪T‬‬    ‫‪T‬‬     ‫‪F‬‬    ‫‪T‬‬   ‫‪T‬‬     ‫‪T‬‬
                       ‫‪T‬‬    ‫‪F‬‬     ‫‪F‬‬    ‫‪T‬‬   ‫‪F‬‬     ‫‪F‬‬
                       ‫‪F‬‬    ‫‪T‬‬     ‫‪T‬‬    ‫‪F‬‬   ‫‪T‬‬     ‫‪F‬‬
                       ‫‪F‬‬    ‫‪F‬‬     ‫‪T‬‬    ‫‪F‬‬   ‫‪F‬‬     ‫‪T‬‬

‫הנחה: נניח כי עבור נוסחאות בעלות ‪ N‬קשרים או פחות (מהקבוצה }¬,‪,){‬‬
      ‫הטענה מתקיימת, כלומר, יש כמות זוגית של שורות בטבלת האמת של‬
                                                ‫נוסחאות אלו המקבלות ‪.T‬‬
                   ‫צעד: תהי ‪ A‬נוסחה בעלת 1+‪ N‬קשרים מהקבוצה }¬,‪,{‬‬
                           ‫א. ‪ ¬B‬ב. ‪B C‬‬               ‫אז ‪ A‬היא מהצורה:‬
  ‫מקרה א. מהנחת האינדוקציה, ‪( B‬בעלת ‪ N‬קשרים) היא בעלת כמות זוגית‬
      ‫של שורות בטבלת האמת שלה שנותנות ‪ .T‬ולכן, מהגדרת השלילה, ‪A‬‬
   ‫תהיה בעלת מס' זוגי של שורות שיתנו ‪ ,F‬והיות ובטבלת אמת מס' זוגי של‬
                            ‫שורות סה"כ, אז גם מס' זוגי של שורות שיתנו ‪.T‬‬
    ‫מקרה ב. נסמן ב*‪ B‬את קבוצת השורות של טבלת האמת של ‪ B‬שיתנו ‪,T‬‬
 ‫ו*‪ ,C‬באופן דומה. מהנחת האינדוקציה |*‪ |B‬ו- |*‪ |C‬זוגיים, כלומר ‪,|B*| =2k‬‬
‫‪ .|C*| =2t‬בסה"כ בטבלת האמת של ‪ A‬יש מספר זוגי של שורות ‪( 2m‬מהיותה‬
     ‫טבלת אמת). כמות השורות שבהן ‪ A‬אמת היא כמות השורות בהן ‪ B‬ו-‪C‬‬
                ‫שקר יחד, בנוסף לכמות השורות בהן ‪ B‬ו-‪ C‬אמת יחד, כלומר‬
                        ‫|*‪ 2m - |B*C*| + |B*C‬שורות בהן ‪ A‬נותנת אמת.‬
‫אך מתקיים |*‪ ,|B*C*| = |B*| + |C*| - |B*C*| = 2k + 2t - |B*C‬ולכן‬
           ‫|*‪ 2 m - |B*C*| + |B*C*| = 2 m - 2k - 2t + 2 |B*  C‬זוגי.‬
‫קבוצות קשרים שלמות‬
                        - "..-‫ – "לא וגם‬NAND
P   Q   PQ     PQ  ¬)PQ) ‫ מוגדרת ע"י‬PQ
F   F    T
F   T    T                       -‫קל לראות ש‬
                                   PP  ¬P
T   F    T
              (PQ)  (PQ)  ~(PQ)  PQ
T   T    F              (PP)(QQ)  PQ
                 .‫{ היא קבוצת קשרים שלמה‬} ‫לכן‬

                     - "‫ – "לא או‬NOR
P   Q   PQ
                PQ  ¬)PQ) ‫ מוגדר ע"י‬PQ
F   F    T
F   T    F          P  P  ¬P :‫מתקיים‬
T   F    F          (PQ)(PQ)  PQ
                    (PP)(QQ)  PQ
T   T    F
                .‫{ היא קבוצת קשרים שלמה‬} ‫לכן‬
)gates( ‫שערים‬
      a             ¬a   :NOT ‫שער‬

      a            ab   :AND ‫שער‬
      b
      a                   :OR ‫שער‬
      b            ab

(ab))¬a¬b( :‫רשת לתיאור הנוסחה‬
               a
               b
           a
           b

           ‫שערים נוספים‬
 a        ¬)ab)=¬a¬b :NAND ‫שער‬
 b
a         ¬)ab)=¬a¬b
b                               :NOR ‫שער‬

           a                        :‫דוגמא‬
                          ab
           b
‫צורות נורמאליות‬
                            ‫אם ‪ p‬הוא פסוק אטומי, אז ‪ p‬ו-‪ ¬p‬הם ליטרלים.‬
     ‫הגדרה. נוסחה בצורה דיסיונקטיבית נורמאלית )‪ (DNF‬היא דיסיונקציה של‬
                                            ‫קוניונקציות של ליטרלים.‬
                                 ‫דוגמא: (‪(p¬qr)(rp)  (r¬q¬p‬‬

                           ‫מסקנה 1. כל נוסחה שקולה לנוסחה בצורת ‪.DNF‬‬
‫הוכחה 6. אם ‪ f‬היא פונקצית אמת המוגדרת ע"י נוסחה ‪ , B‬אז הנוסחה ‪ Af‬שבנינו‬
       ‫בהוכחת משפט השלמות הפונקציונאלית שקולה ל-‪ , B‬והיא בצורת ‪.DNF‬‬



                           ‫דואליות‬
                      ‫הגדרה: תהי ‪ A‬נוסחה שמכילה ‪ , , , ,T‬ו- ¬ בלבד.‬
 ‫נוסחה דואלית ל- ‪ A‬מתקבלת ממנה בהחלפת כל ‪ ‬ב- ‪ ‬וכל ‪ ‬ב- ‪ ,‬כל ‪ T‬ב-‬
                                                        ‫‪ ‬וכל ‪ ‬ב-‪T‬‬
              ‫נוסחה דואלית‬                        ‫נוסחה‬
                ‫‪(PQ)R‬‬                         ‫‪(PQ)R‬‬
         ‫((‪¬)PQ)(P)¬Q¬S‬‬              ‫((‪¬)PQ)(P)¬Q¬S‬‬
       ‫למת עזר. השלילה של נוסחה שקולה לנוסחה דואלית שבה כל משתנה‬
                                            ‫מוחלף בשלילה שלו.‬
                                ‫שקול להפעלת דה-מורגן מבחוץ פנימה.‬
                 ‫דוגמא: ‪¬))PQ)R)  ¬(PQ)¬R  )¬P¬Q(¬R‬‬
‫צורות נורמליות - המשך‬
                  ‫‪r¬q¬p‬‬       ‫פסוקית (‪ )clause‬היא דיסיונקציה של ליטרלים:‬
‫הגדרה. נוסחה בצורה קוניונקטיבית נורמאלית )‪ (CNF‬היא קוניונקציה של פסוקיות.‬
                       ‫דוגמא: )‪(p¬qr)(rp) (r¬q¬p‬‬
                             ‫מסקנה 2. כל נוסחה שקולה לנוסחה בצורת ‪.CNF‬‬
                                                                    ‫הוכחה.‬
      ‫נניח ש- ‪ f‬היא פונקצית אמת המוגדרת ע"י נוסחה ‪ ,¬B‬ו- ‪ Af‬היא הנוסחה‬
     ‫המקבילה ב-‪ . DNF‬אז ‪ ¬Af‬שקולה ל-‪ ,B‬וניתן להפוך ‪ ¬Af‬לנוסחה דואלית‬
  ‫בצורת ‪ CNF‬כי השלילה של נוסחה שקולה לנוסחה דואלית שבה כל משתנה‬
    ‫מוחלף בשלילה שלו, כל ‪ ‬מוחלף ב ‪ ‬ולהיפך כך שעוברים מ‪ DNF‬ל‪.CNF‬‬

                                 ‫‪CNF‬‬
    ‫‪p‬‬       ‫‪q‬‬       ‫‪A‬‬                       ‫)‪A  (pq) )¬p¬q‬‬
    ‫‪F‬‬       ‫‪F‬‬       ‫‪F‬‬      ‫‪pq‬‬         ‫כל פסוקית מתאים לשורה עם ערך ‪F‬‬
    ‫‪F‬‬       ‫‪T‬‬       ‫‪T‬‬                                       ‫בטבלת אמת.‬
    ‫‪T‬‬       ‫‪F‬‬       ‫‪T‬‬                 ‫לכל משתנה ‪ p‬אנו רושמים ‪ p‬אם ערכו‬
    ‫‪T‬‬       ‫‪T‬‬       ‫‪F‬‬     ‫‪¬p¬q‬‬              ‫‪ F‬ו- ‪ ¬p‬אם ערכו ‪ T‬בשורה זו.‬



    ‫אלגוריתמים לבניית ‪ DNF‬ו-‪CNF‬‬
                                                ‫• סילוק ‪ ‬ו- ‪;‬‬
                               ‫• הכנסת שלילה פנימה (צורת ‪(NNF‬‬
                                             ‫• פריסה של ‪ ‬או ‪.‬‬
                            ‫‪((p  q) ¬)q  r))  s‬‬        ‫דוגמה:‬
                            ‫‪¬))p  q) ¬)q  r))  s‬‬
                             ‫‪)¬)p  q) (q  r))  s‬‬
                            ‫‪))¬p  ¬q( (q  r))  s‬‬
                          ‫)‪)¬p  ¬q  s) ((q  r)  s‬‬
                        ‫)‪)¬p  ¬q  s) (q  s)  (r  s‬‬
‫פסוקיות הורן‬
  ‫פסוקית הורן )‪ (Horn clause‬היא פסוקית שמכילה לא יותר מליטרל חיובי אחד.‬
                  ‫) ‪p¬q1...¬qn (  (q1... qn)  p‬‬
                   ‫) ‪¬q1...¬qn (  (q1... qn)  ‬‬
                             ‫)‪p (Tp‬‬
                                ‫נוסחת הורן היא קוניונקציה של פסוקיות הורן.‬


    ‫אלגוריתם הכרעה לנוסחאות הורן‬
                                        ‫אלגוריתם ‪ HORN‬להכרעת ספיקות:‬
                               ‫נסמן אטומים בנוסחת הורן לפי כללים הבאים:‬
                                       ‫נסמן ‪ T‬אם הוא קיים בנוסחה.‬    ‫1.‬
     ‫אם יש פסוקית ‪ (Q1... Qn)  P‬בנוסחה כך שכל ‪ Qi‬בו מסומן,‬        ‫2.‬
                            ‫נסמן גם ‪ P‬ונחזור ל-2, אחרת נעבור ל-3.‬
                        ‫הנוסחה היא ספיקה אם ורק אם ‪ ‬לא מסומן.‬       ‫3.‬

                  ‫משפט. אלגוריתם ‪ HORN‬מכריע בעיית ספיקות לנוסחאות הורן.‬
  ‫הוכחה. אם בנוסחת הורן ‪ A‬יש ‪ n‬אטומים, האלגוריתם מסיים בלא יותר מ-)1+‪(n‬‬
                                                             ‫צעדים. נוכיח:‬
        ‫כל ‪ P‬מסומן הוא אמיתי בכל מודל של ‪ A‬באינדוקציה על מספר הצעדים של‬
                              ‫האלגוריתם. בסיס (צעד 1): ‪ T‬אמיתי בכל מודל.‬
  ‫אם בפסוקית ‪ (Q1... Qn)P‬כל ‪ Qi‬מסומן, אז גם הפסוקית וגם כל ‪( Qi‬בהנחת‬
     ‫אינדוקציה) חייבים להיות אמיתיים בכל מודל של ‪ .A‬לכן גם ‪ P‬חייב להיות‬
              ‫אמיתי בכל מודל של ‪ A‬וזה נובע ישירות מהגדרת האימפליקציה.‬
                        ‫(א) אם ‪ ‬מסומן, ‪ A‬לא ספיקה, כי ‪ ‬לא יכול להיות אמיתי.‬
  ‫(ב) אם ‪ ‬לא מסומן, נגדיר פירוש ‪ l‬שבו האטומים המסומנים, ורק הם, אמיתיים.‬
‫נניח ש-‪ l‬הוא לא מודל של ‪ .A‬אז קיימת פסוקית ‪ (Q1... Qn)P‬של ‪ A‬שהיא‬
     ‫שקרית ב- ‪.l‬אבל זה אפשרי רק כאשר כל ‪ Qi‬אמיתי (מסומן) ו-‪ P‬שקרי (לא‬
    ‫מסומן) – סתירה זוהי סתירה לדרך בה הגדרנו את האלגוריתם, שכן בו אם‬
     ‫)‪ (Q1... Qn‬מסומנים אז נסמן גם את ‪ P‬ולכן ‪ P‬חייב להיות אמיתי במודל ‪I‬‬
                        ‫ומכאן הסתירה. לכן ‪ l‬הוא מודל של ‪ A‬ומכאן ‪ A‬ספיקה.‬
‫אלגוריתם הורן – הוכחת ההכרעה‬
  ‫באינדוקציה על מס' הצעדים‬
                           ‫(הסבר נוסף)‬
   ‫טענה: במהלך האלגוריתם אנו מסמנים פסוקים ‪ P1... Pn‬הטענה שלנו היא‬
          ‫שכל פסוק שסומן אמיתי בכל מודל של ‪ – A( A‬הנוסחה שלנו).‬
                ‫נוכיח זאת באינדוקציה על מס' הצעדים של האלגוריתם.‬

             ‫בסיס: בצעד הראשון אנחנו מסמנים את ‪ T‬ו-‪ T‬אמיתי בכל מודל.‬

       ‫הנחה: בצעד ה-‪ ,n‬הפסוקים שסימנו עד כה אמיתיים בכל מודל של ‪.A‬‬

‫צעד: בצעד ה-1+‪ n‬נבדוק אם בפסוקית מסויימת מהצורה ‪(Q1... Qn)  P‬‬
                                                       ‫כל ‪ Qi‬מסומן.‬
    ‫אם כולם מסומנים אז על מנת שהפסוקית תהיה אמת בהכרח ‪ P‬חייב‬
        ‫להיות אמת. אנו נמצאים ב‪ CNF‬ולכן ע"מ ש-‪ A‬יהיה אמיתי אז כל‬
 ‫הפסוקיות חיבות להיות אמיתיות (מתכונת הקוניונקציה), לכן על מנת ש‪A‬‬
         ‫יהיה אמיתי, ‪ P‬חייב להיות אמיתי ולכן ‪ P‬אמיתי בכל מודל של ‪.A‬‬
                ‫הוכחנו שכל פסוק שמסומן באלגוריתם אמיתי בכל מודל.‬

           ‫כעת נוכיח שכאשר האלגוריתם מסתיים, התשובה שהוא נותן נכונה.‬
 ‫מקרה א': ‪ ‬מסומן. אם כך, אז ‪ A‬לא ספיקה, כי ‪ ‬לא יכול להיות אמיתי, וזה‬
                                           ‫סותר את הטענה הקודמת.‬
     ‫מקרה ב': ‪ ‬לא מסומן. נגדיר פירוש ‪ l‬שבו האטומים המסומנים, ורק הם,‬
        ‫אמיתיים. נניח ש-‪ l‬הוא לא מודל של ‪ .A‬אז קיימת פסוקית ...‪(Q1‬‬
‫‪ Qn)P‬של ‪ A‬שהיא שקרית ב- ‪.l‬אבל זה אפשרי רק כאשר כל ‪ Qi‬אמיתי‬
‫(מסומן) ו-‪ P‬שקרי (לא מסומן) – סתירה זוהי סתירה לדרך בה הגדרנו את‬
    ‫האלגוריתם, שכן בו אם )‪ (Q1... Qn‬מסומנים אז נסמן גם את ‪ P‬ולכן ‪P‬‬
  ‫חייב להיות אמיתי במודל ‪ I‬ומכאן הסתירה.. לכן ‪ l‬הוא מודל של ‪ A‬ומכאן‬
                                                          ‫‪ A‬ספיקה.‬

Contenu connexe

Tendances

סיכום של הקורס כלים מתמטיים למדעי המחשב
סיכום של הקורס כלים מתמטיים למדעי המחשבסיכום של הקורס כלים מתמטיים למדעי המחשב
סיכום של הקורס כלים מתמטיים למדעי המחשבcsnotes
 
סיכום קצר בקורס "מבוא לתאוריה של מדעי המחשב
סיכום קצר בקורס "מבוא לתאוריה של מדעי המחשבסיכום קצר בקורס "מבוא לתאוריה של מדעי המחשב
סיכום קצר בקורס "מבוא לתאוריה של מדעי המחשבcsnotes
 
סיכום הקורס בחישוביות
סיכום הקורס בחישוביותסיכום הקורס בחישוביות
סיכום הקורס בחישוביותcsnotes
 
סיכום קצר בקורס חדו"א 2 (נספח נוסחאות למבחן)
סיכום קצר בקורס חדו"א 2 (נספח נוסחאות למבחן) סיכום קצר בקורס חדו"א 2 (נספח נוסחאות למבחן)
סיכום קצר בקורס חדו"א 2 (נספח נוסחאות למבחן) csnotes
 
ΠΛΗ20 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ20 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2ΠΛΗ20 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ20 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2Dimitris Psounis
 
סיכום של הקורס אוטומטים ושפות פורמליות
סיכום של הקורס אוטומטים ושפות פורמליותסיכום של הקורס אוטומטים ושפות פורמליות
סיכום של הקורס אוטומטים ושפות פורמליותcsnotes
 
Curry-Howard同型から単純型付ラムダ計算の項を作る
Curry-Howard同型から単純型付ラムダ計算の項を作るCurry-Howard同型から単純型付ラムダ計算の項を作る
Curry-Howard同型から単純型付ラムダ計算の項を作るSosuke MORIGUCHI
 
תכונות מרובעים
תכונות מרובעיםתכונות מרובעים
תכונות מרובעיםtelnof
 
ΠΛΗ30 ΔΙΑΓΩΝΙΣΜΑ 1
ΠΛΗ30 ΔΙΑΓΩΝΙΣΜΑ 1ΠΛΗ30 ΔΙΑΓΩΝΙΣΜΑ 1
ΠΛΗ30 ΔΙΑΓΩΝΙΣΜΑ 1Dimitris Psounis
 
סיכום של הקורס אוטומטים ושפות פורמליות
סיכום של הקורס אוטומטים ושפות פורמליותסיכום של הקורס אוטומטים ושפות פורמליות
סיכום של הקורס אוטומטים ושפות פורמליותcsnotes
 
נוסחאון 5 יחל
נוסחאון 5 יחלנוסחאון 5 יחל
נוסחאון 5 יחלbagrutonline
 

Tendances (20)

סיכום של הקורס כלים מתמטיים למדעי המחשב
סיכום של הקורס כלים מתמטיים למדעי המחשבסיכום של הקורס כלים מתמטיים למדעי המחשב
סיכום של הקורס כלים מתמטיים למדעי המחשב
 
סיכום קצר בקורס "מבוא לתאוריה של מדעי המחשב
סיכום קצר בקורס "מבוא לתאוריה של מדעי המחשבסיכום קצר בקורס "מבוא לתאוריה של מדעי המחשב
סיכום קצר בקורס "מבוא לתאוריה של מדעי המחשב
 
Principal ideal
Principal idealPrincipal ideal
Principal ideal
 
סיכום הקורס בחישוביות
סיכום הקורס בחישוביותסיכום הקורס בחישוביות
סיכום הקורס בחישוביות
 
סיכום קצר בקורס חדו"א 2 (נספח נוסחאות למבחן)
סיכום קצר בקורס חדו"א 2 (נספח נוסחאות למבחן) סיכום קצר בקורס חדו"א 2 (נספח נוסחאות למבחן)
סיכום קצר בקורס חדו"א 2 (נספח נוסחאות למבחן)
 
ΠΛΗ20 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ20 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2ΠΛΗ20 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ20 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
 
סיכום של הקורס אוטומטים ושפות פורמליות
סיכום של הקורס אוטומטים ושפות פורמליותסיכום של הקורס אוטומטים ושפות פורמליות
סיכום של הקורס אוטומטים ושפות פורמליות
 
Curry-Howard同型から単純型付ラムダ計算の項を作る
Curry-Howard同型から単純型付ラムダ計算の項を作るCurry-Howard同型から単純型付ラムダ計算の項を作る
Curry-Howard同型から単純型付ラムダ計算の項を作る
 
ΠΛΗ20 ΜΑΘΗΜΑ 0.2
ΠΛΗ20 ΜΑΘΗΜΑ 0.2ΠΛΗ20 ΜΑΘΗΜΑ 0.2
ΠΛΗ20 ΜΑΘΗΜΑ 0.2
 
תכונות מרובעים
תכונות מרובעיםתכונות מרובעים
תכונות מרובעים
 
ΠΛΗ30 ΔΙΑΓΩΝΙΣΜΑ 1
ΠΛΗ30 ΔΙΑΓΩΝΙΣΜΑ 1ΠΛΗ30 ΔΙΑΓΩΝΙΣΜΑ 1
ΠΛΗ30 ΔΙΑΓΩΝΙΣΜΑ 1
 
ΠΛΗ20 ΜΑΘΗΜΑ 0.3
ΠΛΗ20 ΜΑΘΗΜΑ 0.3ΠΛΗ20 ΜΑΘΗΜΑ 0.3
ΠΛΗ20 ΜΑΘΗΜΑ 0.3
 
ΠΛΗ20 ΜΑΘΗΜΑ 3.2
ΠΛΗ20 ΜΑΘΗΜΑ 3.2ΠΛΗ20 ΜΑΘΗΜΑ 3.2
ΠΛΗ20 ΜΑΘΗΜΑ 3.2
 
đề thi vào lớp 10
đề thi vào lớp 10đề thi vào lớp 10
đề thi vào lớp 10
 
סיכום של הקורס אוטומטים ושפות פורמליות
סיכום של הקורס אוטומטים ושפות פורמליותסיכום של הקורס אוטומטים ושפות פורמליות
סיכום של הקורס אוטומטים ושפות פורמליות
 
ΠΛΗ20 ΜΑΘΗΜΑ 3.5
ΠΛΗ20 ΜΑΘΗΜΑ 3.5ΠΛΗ20 ΜΑΘΗΜΑ 3.5
ΠΛΗ20 ΜΑΘΗΜΑ 3.5
 
ΠΛΗ20 ΜΑΘΗΜΑ 3.4
ΠΛΗ20 ΜΑΘΗΜΑ 3.4ΠΛΗ20 ΜΑΘΗΜΑ 3.4
ΠΛΗ20 ΜΑΘΗΜΑ 3.4
 
ΠΛΗ20 ΜΑΘΗΜΑ 3.6
ΠΛΗ20 ΜΑΘΗΜΑ 3.6ΠΛΗ20 ΜΑΘΗΜΑ 3.6
ΠΛΗ20 ΜΑΘΗΜΑ 3.6
 
נוסחאון 5 יחל
נוסחאון 5 יחלנוסחאון 5 יחל
נוסחאון 5 יחל
 
ΠΛΗ20 ΜΑΘΗΜΑ 2.3
ΠΛΗ20 ΜΑΘΗΜΑ 2.3ΠΛΗ20 ΜΑΘΗΜΑ 2.3
ΠΛΗ20 ΜΑΘΗΜΑ 2.3
 

Plus de מורן אלקובי

ג'אווה - תכנות מונחה עצמים - רב צורתיות
ג'אווה - תכנות מונחה עצמים - רב צורתיותג'אווה - תכנות מונחה עצמים - רב צורתיות
ג'אווה - תכנות מונחה עצמים - רב צורתיותמורן אלקובי
 
ג'אווה - תכנות מונחה עצמים - מתודות - דריסה/חפיפה, העמסה ומתודות בונות
ג'אווה - תכנות מונחה עצמים - מתודות - דריסה/חפיפה, העמסה ומתודות בונותג'אווה - תכנות מונחה עצמים - מתודות - דריסה/חפיפה, העמסה ומתודות בונות
ג'אווה - תכנות מונחה עצמים - מתודות - דריסה/חפיפה, העמסה ומתודות בונותמורן אלקובי
 
ג'אווה - תכנות מונחה עצמים - ממשקים
ג'אווה - תכנות מונחה עצמים - ממשקיםג'אווה - תכנות מונחה עצמים - ממשקים
ג'אווה - תכנות מונחה עצמים - ממשקיםמורן אלקובי
 
ג'אווה - תכנות מונחה עצמים - מחלקות פנימיות - רגילות, אנונימיות וסטטיות
ג'אווה - תכנות מונחה עצמים - מחלקות פנימיות - רגילות, אנונימיות וסטטיותג'אווה - תכנות מונחה עצמים - מחלקות פנימיות - רגילות, אנונימיות וסטטיות
ג'אווה - תכנות מונחה עצמים - מחלקות פנימיות - רגילות, אנונימיות וסטטיותמורן אלקובי
 
ג'אווה - תכנות מונחה עצמים - הורשה
ג'אווה - תכנות מונחה עצמים - הורשהג'אווה - תכנות מונחה עצמים - הורשה
ג'אווה - תכנות מונחה עצמים - הורשהמורן אלקובי
 
ג'אווה - תכנות מונחה עצמים - מחלקות ואובייקטים
ג'אווה - תכנות מונחה עצמים - מחלקות ואובייקטיםג'אווה - תכנות מונחה עצמים - מחלקות ואובייקטים
ג'אווה - תכנות מונחה עצמים - מחלקות ואובייקטיםמורן אלקובי
 
ג'אווה - תכנות מונחה עצמים - משתנים מטיפוס מחלקה והמרת טיפוסים למעלה/למטה
ג'אווה - תכנות מונחה עצמים - משתנים מטיפוס מחלקה והמרת טיפוסים למעלה/למטהג'אווה - תכנות מונחה עצמים - משתנים מטיפוס מחלקה והמרת טיפוסים למעלה/למטה
ג'אווה - תכנות מונחה עצמים - משתנים מטיפוס מחלקה והמרת טיפוסים למעלה/למטהמורן אלקובי
 
ג'אווה - תכנות מונחה עצמים - מצייני גישה/רמות חשיפה
ג'אווה - תכנות מונחה עצמים - מצייני גישה/רמות חשיפהג'אווה - תכנות מונחה עצמים - מצייני גישה/רמות חשיפה
ג'אווה - תכנות מונחה עצמים - מצייני גישה/רמות חשיפהמורן אלקובי
 
ג'אווה - תכנות מונחה עצמים - מתודות - שליפה והכנסה, סטטיות, סופיות ומתודות שע...
ג'אווה - תכנות מונחה עצמים - מתודות - שליפה והכנסה, סטטיות, סופיות ומתודות שע...ג'אווה - תכנות מונחה עצמים - מתודות - שליפה והכנסה, סטטיות, סופיות ומתודות שע...
ג'אווה - תכנות מונחה עצמים - מתודות - שליפה והכנסה, סטטיות, סופיות ומתודות שע...מורן אלקובי
 
SQL - שפת הגדרת הנתונים
SQL - שפת הגדרת הנתוניםSQL - שפת הגדרת הנתונים
SQL - שפת הגדרת הנתוניםמורן אלקובי
 
SQL - מודל ישויות קשרים
SQL - מודל ישויות קשריםSQL - מודל ישויות קשרים
SQL - מודל ישויות קשריםמורן אלקובי
 
בדרך לפולימורפיזם - Using Virtual/Pure Virtual
בדרך לפולימורפיזם - Using Virtual/Pure Virtualבדרך לפולימורפיזם - Using Virtual/Pure Virtual
בדרך לפולימורפיזם - Using Virtual/Pure Virtualמורן אלקובי
 
בדרך לפולימורפיזם - העמסת ועקיפת פונקציות
בדרך לפולימורפיזם - העמסת ועקיפת פונקציותבדרך לפולימורפיזם - העמסת ועקיפת פונקציות
בדרך לפולימורפיזם - העמסת ועקיפת פונקציותמורן אלקובי
 
הורשה והיררכיה של מחלקות
הורשה והיררכיה של מחלקותהורשה והיררכיה של מחלקות
הורשה והיררכיה של מחלקותמורן אלקובי
 
תכנות מונחה עצמים - מחלקות
תכנות מונחה עצמים - מחלקותתכנות מונחה עצמים - מחלקות
תכנות מונחה עצמים - מחלקותמורן אלקובי
 

Plus de מורן אלקובי (20)

Java - OOP - Exceptions Handling
Java - OOP - Exceptions HandlingJava - OOP - Exceptions Handling
Java - OOP - Exceptions Handling
 
ג'אווה - תכנות מונחה עצמים - רב צורתיות
ג'אווה - תכנות מונחה עצמים - רב צורתיותג'אווה - תכנות מונחה עצמים - רב צורתיות
ג'אווה - תכנות מונחה עצמים - רב צורתיות
 
ג'אווה - תכנות מונחה עצמים - מתודות - דריסה/חפיפה, העמסה ומתודות בונות
ג'אווה - תכנות מונחה עצמים - מתודות - דריסה/חפיפה, העמסה ומתודות בונותג'אווה - תכנות מונחה עצמים - מתודות - דריסה/חפיפה, העמסה ומתודות בונות
ג'אווה - תכנות מונחה עצמים - מתודות - דריסה/חפיפה, העמסה ומתודות בונות
 
ג'אווה - תכנות מונחה עצמים - ממשקים
ג'אווה - תכנות מונחה עצמים - ממשקיםג'אווה - תכנות מונחה עצמים - ממשקים
ג'אווה - תכנות מונחה עצמים - ממשקים
 
ג'אווה - תכנות מונחה עצמים - מחלקות פנימיות - רגילות, אנונימיות וסטטיות
ג'אווה - תכנות מונחה עצמים - מחלקות פנימיות - רגילות, אנונימיות וסטטיותג'אווה - תכנות מונחה עצמים - מחלקות פנימיות - רגילות, אנונימיות וסטטיות
ג'אווה - תכנות מונחה עצמים - מחלקות פנימיות - רגילות, אנונימיות וסטטיות
 
ג'אווה - תכנות מונחה עצמים - הורשה
ג'אווה - תכנות מונחה עצמים - הורשהג'אווה - תכנות מונחה עצמים - הורשה
ג'אווה - תכנות מונחה עצמים - הורשה
 
ג'אווה - תכנות מונחה עצמים - מחלקות ואובייקטים
ג'אווה - תכנות מונחה עצמים - מחלקות ואובייקטיםג'אווה - תכנות מונחה עצמים - מחלקות ואובייקטים
ג'אווה - תכנות מונחה עצמים - מחלקות ואובייקטים
 
ג'אווה - תכנות מונחה עצמים - משתנים מטיפוס מחלקה והמרת טיפוסים למעלה/למטה
ג'אווה - תכנות מונחה עצמים - משתנים מטיפוס מחלקה והמרת טיפוסים למעלה/למטהג'אווה - תכנות מונחה עצמים - משתנים מטיפוס מחלקה והמרת טיפוסים למעלה/למטה
ג'אווה - תכנות מונחה עצמים - משתנים מטיפוס מחלקה והמרת טיפוסים למעלה/למטה
 
ג'אווה - תכנות מונחה עצמים - מצייני גישה/רמות חשיפה
ג'אווה - תכנות מונחה עצמים - מצייני גישה/רמות חשיפהג'אווה - תכנות מונחה עצמים - מצייני גישה/רמות חשיפה
ג'אווה - תכנות מונחה עצמים - מצייני גישה/רמות חשיפה
 
ג'אווה - תכנות מונחה עצמים - מתודות - שליפה והכנסה, סטטיות, סופיות ומתודות שע...
ג'אווה - תכנות מונחה עצמים - מתודות - שליפה והכנסה, סטטיות, סופיות ומתודות שע...ג'אווה - תכנות מונחה עצמים - מתודות - שליפה והכנסה, סטטיות, סופיות ומתודות שע...
ג'אווה - תכנות מונחה עצמים - מתודות - שליפה והכנסה, סטטיות, סופיות ומתודות שע...
 
MySQL - מילון השאילתא
MySQL - מילון השאילתאMySQL - מילון השאילתא
MySQL - מילון השאילתא
 
SQL - שפת הגדרת הנתונים
SQL - שפת הגדרת הנתוניםSQL - שפת הגדרת הנתונים
SQL - שפת הגדרת הנתונים
 
SQL - מודל הנתונים
SQL - מודל הנתוניםSQL - מודל הנתונים
SQL - מודל הנתונים
 
SQL - אלגברה של יחסים
SQL - אלגברה של יחסיםSQL - אלגברה של יחסים
SQL - אלגברה של יחסים
 
SQL - מודל ישויות קשרים
SQL - מודל ישויות קשריםSQL - מודל ישויות קשרים
SQL - מודל ישויות קשרים
 
MySQL - מרכיבי השאילתא
MySQL - מרכיבי השאילתאMySQL - מרכיבי השאילתא
MySQL - מרכיבי השאילתא
 
בדרך לפולימורפיזם - Using Virtual/Pure Virtual
בדרך לפולימורפיזם - Using Virtual/Pure Virtualבדרך לפולימורפיזם - Using Virtual/Pure Virtual
בדרך לפולימורפיזם - Using Virtual/Pure Virtual
 
בדרך לפולימורפיזם - העמסת ועקיפת פונקציות
בדרך לפולימורפיזם - העמסת ועקיפת פונקציותבדרך לפולימורפיזם - העמסת ועקיפת פונקציות
בדרך לפולימורפיזם - העמסת ועקיפת פונקציות
 
הורשה והיררכיה של מחלקות
הורשה והיררכיה של מחלקותהורשה והיררכיה של מחלקות
הורשה והיררכיה של מחלקות
 
תכנות מונחה עצמים - מחלקות
תכנות מונחה עצמים - מחלקותתכנות מונחה עצמים - מחלקות
תכנות מונחה עצמים - מחלקות
 

מצגת לוגיקה מלאה חלק 1 מתוך 3

  • 1. ‫מהי לוגיקה?‬ ‫תורת ההיגיון‬ ‫•‬ ‫תורת ההיסק מתארת טיעונים תקפים - טיעונים ששומרים על אמיתות.‬ ‫•‬ ‫תקפות היא תכונה מבנית (תחבירית) של טיעונים‬ ‫תנאיי-קדם ללוגיקה: שפה בעלת תחביר וסמנטיקה.‬ ‫•‬ ‫תחביר – מבנה של ביטוים בשפה.‬ ‫סמנטיקה – פשר (משמעות) של הביטויים, הקשר שבין השפה לבין מה שהיא‬ ‫מדברת עליו.‬ ‫לוגיקה במדעי המחשב‬ ‫מחשב מחקה יכולת שכלית (היגיון)‬ ‫•‬ ‫תוכנית מחשב - סוג של הוכחה.‬ ‫•‬ ‫תורת התכנות- לוגיקה שימושית. אימות תוכנה.‬ ‫תכנות לוגי.‬ ‫•‬ ‫בינה מלאכותית‬ ‫•‬ ‫טיעונים‬ ‫אם רכבת מאחרת וגם אין מוניות זמינות בתחנה, אז אלי מאחר לפגישה.‬ ‫•‬ ‫אבל אלי לא איחר לפגישה למרות שרכבת איחרה. לכן היו מוניות זמינות‬ ‫בתחנה.‬ ‫אם יורד גשם ולטלי אין מטריה איתה, אז היא מצטננת. טלי לא הצטננה‬ ‫•‬ ‫למרות שהיה גשם. לכן לטלי הייתה מטריה.‬ ‫מבנה הטיעון:‬ ‫אם ‪ p‬וגם לא ‪ ,q‬אז ‪ .r‬לא ‪ r‬ו-‪ .p‬לכן ‪.q‬‬ ‫‪(p¬q(→r, ¬r  p├ q‬‬
  • 2. ‫תחשיב הפסוקים‬ ‫נדון בפסוקיי חיווי, אשר יש להם בדיוק אחד משני ערכים: אמת (‪)True‬‬ ‫או שקר (‪.)False‬‬ ‫1. קנדה היא מדינה.‬ ‫2. משה הוא כלב‬ ‫3. סגור את הדלת!‬ ‫4. ‪|X| = X‬‬ ‫5. משפט זה הוא שקר.‬ ‫מפסוקים יסודיים ניתן לבנות פסוקים מורכבים בתוספת מילות חיבור כגון:‬ ‫ו, או, לא, וכו':‬ ‫קנדה היא מדינה ומשה הוא כלב.‬ ‫קשרים לוגיים‬ ‫"לא ‪."P‬‬ ‫שלילה (‪: ¬P )negation‬‬ ‫•‬ ‫"‪ P‬ו- ‪.“Q‬‬ ‫קוניונקציה (‪ ,conjunction‬גימום)‪:PQ‬‬ ‫•‬ ‫“‪ P‬או ‪.“Q‬‬ ‫דיסיונקציה (‪ ,disjunction‬איווי) ‪: PQ‬‬ ‫•‬ ‫אימפליקציה (‪ ,implication‬אימוז) ‪" : P→Q‬אם ‪ P‬אז ‪.“Q‬‬ ‫•‬ ‫"‪ P‬אם ורק אם ‪.“Q‬‬ ‫שקילות (‪: P↔Q )equivalence‬‬ ‫•‬ ‫תחביר‬ ‫הגדרה: נוסחא נקראת בנויה היטב (‪ )well-formed formula‬אם ניתן ליצור אותה‬ ‫לפי החוקים הבאים:‬ ‫1. כל פסוק אטומי...,‪ p,q‬הוא נוסחא בנויה היטב.‬ ‫2. קבוע ‪ ‬הוא נוסחא בנויה היטב.‬ ‫3. אם ‪ A‬ו- ‪ B‬הן נוסחאות בנויות היטב,‬ ‫אז גם (‪ (AB), (A  B), (A  B), (A  B) , )¬A‬הן נוסחאות בנויות היטב.‬ ‫4. כל נוסחא בנויה היטב ניתן ליצור במס' סופי של צעדים ע"י שימוש בחוקים 3-1.‬
  • 3. ‫פסוקים מורכבים‬ ‫דוגמא: )‪)¬)¬p(( ,(pq) ,((pq))¬p(( ,))¬p(q‬‬ ‫‪((p  q)), (p  q  r), ( p‬‬ ‫ולא‬ ‫משפט (בלי הוכחה) (קריאה יחידה) כל נוסחה שייכת בדיוק ל1 מהסוגים הבאים:‬ ‫פסוק אטומי.‬ ‫1.‬ ‫)‪ )¬A‬עבור נוסחה אחת ויחידה ‪.A‬‬ ‫2.‬ ‫)‪ (A ○ B‬עבור קשר בינארי ○ אחד ויחיד ונוסחאות יחידות ‪ A‬ו-‪.B‬‬ ‫3.‬ ‫אינדוקציה על נוסחאות‬ ‫אם תכונה ‪ P‬נכונה לכל הפסוקים האטומיים, ומהנחה ש-‪ P‬נכונה לנוסחאות ‪ A‬ו-‬ ‫‪ B‬נובע ש-‪ P‬נכונה ל-(‪ ,(AB), (AB), (AB), (AB), )¬A‬אזי ‪P‬‬ ‫נכונה לכל נוסחא בנויה היטב.‬ ‫הסכם: אפשר להשמיט סוגריים חיצוניות וסוגריים‬ ‫עבור ¬. לדוגמא נרשום ‪ ¬PQ‬במקום )‪))¬P(Q‬‬ ‫הצרנה‬ ‫זהו מקס או שההוא מוריץ ואני ליצן: ‪p  q  r‬‬ ‫•‬ ‫אני אגיע הביתה ואביא תותים אם לא ירד גשם.‬ ‫•‬ ‫אם לא יובל ולא איל יעברו את הבחינה, גם חגי לא יעבור.‬ ‫•‬ ‫לא כולם (מהשלושה) יכשלו.‬ ‫•‬ ‫סמנטיקה‬ ‫פירוש או מודל הוא השמה }‪ - l: P  {F,T‬שיוך ערכיי אמת לפסוקים אטומיים.‬ ‫פשר של הקשרים – פונקציות אמת:‬ ‫}‪f : {F,T} n  {F,T‬‬ ‫לא כל הפסוקים בשפה טבעית הם פונקציות אמת:‬ ‫‪P ¬P‬‬ ‫"אני יודע ש-‪" ,"P‬מחר יהיה ‪."P‬‬ ‫‪F‬‬ ‫‪T‬‬ ‫שלילה. ‪ ¬P‬אמיתי אם ורק אם ‪ P‬שקרי.‬ ‫‪T‬‬ ‫‪F‬‬ ‫קבוע שקר. ‪l()=F‬‬
  • 4. ‫קוניונקציה‬ ‫דיסיונקציה‬ ‫‪ PQ‬אמיתי כאשר גם ‪ P‬וגם ‪Q‬‬ ‫‪ PQ‬שיקרי כאשר גם ‪ P‬וגם ‪Q‬‬ ‫אמיתי, אחרת שקרי:‬ ‫שיקרי, אחרת אמיתי :‬ ‫‪P‬‬ ‫‪Q‬‬ ‫‪PQ‬‬ ‫‪P‬‬ ‫‪Q‬‬ ‫‪PQ‬‬ ‫‪F‬‬ ‫‪F‬‬ ‫‪F‬‬ ‫‪F‬‬ ‫‪F‬‬ ‫‪F‬‬ ‫‪F‬‬ ‫‪T‬‬ ‫‪F‬‬ ‫‪F‬‬ ‫‪T‬‬ ‫‪T‬‬ ‫‪T‬‬ ‫‪F‬‬ ‫‪F‬‬ ‫‪T‬‬ ‫‪F‬‬ ‫‪T‬‬ ‫‪T‬‬ ‫‪T‬‬ ‫‪T‬‬ ‫‪T‬‬ ‫‪T‬‬ ‫‪T‬‬ ‫אימפליקציה‬ ‫שקילות‬ ‫‪P→Q‬‬ ‫‪P↔Q‬‬ ‫שקרי כאשר ‪ P‬אמיתי ו- ‪ Q‬שקרי,‬ ‫אמיתי כאשר ל- ‪ P‬ול- ‪ Q‬יש אותו‬ ‫אחרת אמיתי.‬ ‫ערך אמת, אחרת שקרי.‬ ‫‪P‬‬ ‫‪Q‬‬ ‫‪P→Q‬‬ ‫‪P‬‬ ‫‪Q‬‬ ‫‪P↔Q‬‬ ‫‪F‬‬ ‫‪F‬‬ ‫‪T‬‬ ‫‪F‬‬ ‫‪F‬‬ ‫‪T‬‬ ‫‪F‬‬ ‫‪T‬‬ ‫‪T‬‬ ‫‪F‬‬ ‫‪T‬‬ ‫‪F‬‬ ‫‪T‬‬ ‫‪F‬‬ ‫‪F‬‬ ‫‪T‬‬ ‫‪F‬‬ ‫‪F‬‬ ‫‪T‬‬ ‫‪T‬‬ ‫‪T‬‬ ‫‪T‬‬ ‫‪T‬‬ ‫‪T‬‬ ‫אם 3=1+1, אז פריס‬ ‫היא בירת צרפת.‬
  • 5. ‫יחס ספיקות‬ ‫הגדרה. (הרחבה של פירוש לפסוקים מורכבים)‬ ‫• ‪l()=F‬‬ ‫• ‪ l)¬A(=T‬אם ורק אם ‪l(A)=F‬‬ ‫• ‪ l(AB)=T‬אם ורק אם ‪l(A)=l(B)=T‬‬ ‫• ‪ l(AB)=T‬אם ורק אם ‪ l(A)=T‬או ‪l(B)=T‬‬ ‫• ‪ l(AB)=T‬אם ורק אם ‪ l(A)=F‬או ‪l(B)=T‬‬ ‫• ‪ l)A↔B(=T‬אם ורק אם )‪l(A)=l(B‬‬ ‫פירוש ‪ l‬מספק ‪ ,A‬או ‪ l‬הוא מודל של ‪ ,A‬אם ‪l(A)=T‬‬ ‫עובדה.‬ ‫ערך האמת של פסוק מורכב היא פונקציה של ערכי האמת של הפסוקים אטומיים‬ ‫שלו (קריאה יחידה !).‬ ‫בעיות ספיקות ותקפות‬ ‫• נוסחה נקראת ספיקה (או עקבית) אם יש לה מודל. נוסחה לא ספיקה‬ ‫נקראת סתירה.‬ ‫בעיית ספיקות (‪ :)SAT problem‬האם (ומתיי) הנוסחה ספיקה? ‪ SAT‬היא‬ ‫בעיית ‪.NP‬‬ ‫• נוסחה ‪ A‬נקראת תקפה, או טאוטולוגיה, אם כל פירוש הוא מודל של ‪.A‬‬ ‫בעיית תקפות: האם נוסחה ‪ A‬תקפה?‬ ‫‪ A‬היא טאוטולוגיה אם ורק אם ‪ ¬A‬היא לא ספיקה.‬ ‫‪p q ¬ p  q‬‬ ‫טבלאות אמת‬ ‫‪F F T F T F‬‬ ‫טבלת אמת של פסוק מורכב מתארת את ערכי‬ ‫‪F T T F T T‬‬ ‫האמת של הפסוק עבור כל פרוש.‬ ‫‪T F F T F F‬‬ ‫אם הפסוק מורכב מ- ‪ m‬פסוקים אטומיים, אזי‬ ‫יש ‪ ,2m‬צרופים ובטבלת האמת שלו‬ ‫‪T T F T T T‬‬ ‫תהיינה ‪ 2m‬שורות.‬ ‫1 3 1 2‬
  • 6. ‫טאוטולוגיות וסתירות‬ ‫נוסחה המקבלת ערך אמת ‪ T‬לכל הצבה עבור המשתנים שלה היא טאוטולוגיה.‬ ‫נוסחה המקבלת ערך ‪ F‬לכל הצבה כזאת היא סתירה.‬ ‫‪p‬‬ ‫‪¬p‬‬ ‫‪p¬p‬‬ ‫‪pp‬‬ ‫‪F‬‬ ‫‪T‬‬ ‫‪F‬‬ ‫‪T‬‬ ‫‪T‬‬ ‫‪F‬‬ ‫‪F‬‬ ‫‪T‬‬ ‫ניתן להוכיח טאוטולוגיות וסתירות בשיטת השלילה.‬ ‫דוגמא: )‪(AB( →)¬AB‬‬ ‫שקילות של פסוקים‬ ‫שני פסוקים נקראים שקולים אם יש להם אותם מודלים. פסוקים שקולים‬ ‫מהבאים אותה טענה.‬ ‫נסמן את השקילות ב- ‪ .‬בדוגמא: ‪.A  AA‬‬ ‫משפט: נוסחאות ‪ A‬ו- ‪ B‬שקולות אם ורק אם ‪ AB‬היא טאוטולוגיה.‬ ‫הוכחה נובעת מן ההגדרות:‬ ‫כיוון ראשון: (נניח ‪ AB‬היא טאוטולוגיה.)‬ ‫מהגדרת ‪ A  B‬נובע ש)‪ I(A  B‬אמת רק אם )‪ ,I(A)=I(B‬ומכך שזוהי‬ ‫טאוטולוגיה נובע שזה נכון לכל ‪ .I‬לכן, בהכרח ל‪ A‬ול‪ B‬יש את אותם‬ ‫המודלים. ולכן מהגדרת השקילות ‪.A  B‬‬ ‫כיוון שני: (נניח ‪)A  B‬‬ ‫אם ‪ A‬שקול ל‪ ,B‬אז יש ל‪ A‬ול‪ B‬את אותם המודלים. ומכאן שכל פירוש של‬ ‫‪ A‬שווה לכל פירוש של ‪ .B‬לכן, מהגדרת ‪ ‬כל פירוש ‪ I‬יהיה מודל של‬ ‫‪ AB‬ומכאן שזוהי טאוטולוגיה.‬
  • 7. ¬)p  q))¬p  ¬q) -‫טבלת אמת ל‬ p q ¬ (p  q)  )¬ p  ¬ q) F F T F F F T T F T T F F T T F F T T T F T F T T F T T F F T F T T T F T T F T T T T F T F F T 3 1 2 1 4 2 1 3 2 1 ‫תוך שימוש בשקילויות יסודיות ניתן להוכיח שקילויות חדשות בלי להשתמש‬ .‫בטבלאות אמת‬ ‫שקילויות יסודיות‬ PP  P PP  P (PQ) R  P(QR) (PQ) R  P (QR) PQ  QP PQ  QP P(QR) (PQ)(PR) P(QR) (PQ)(PR) PP PTP PTT P P  ¬P  T P  ¬P  F P  (PQ)  P P  (P  Q)  P ¬(P  Q)  ¬P  ¬Q ¬(P  Q)  ¬P  ¬Q ¬¬P  P
  • 8. ‫שלמות פונקציונאלית‬ :‫-מקומית‬n ‫ מגדירה פונקצית אמת‬A(p1,…,pn) ‫כל נוסחה‬ g(l(p1(,…,l)pn))=l(A) ,l ‫לכל‬ :‫דוגמה‬ (p  q  ¬r()¬p  q  r) p q r A T T T F T T F T T F T F T F F F F T T T F T F F F F T F F F F F
  • 9. ‫משפט השלמות הפונקציונאלית‬ ‫משפט (שלמות פונקציונאלית). לכל פונקצית אמת קיימת נוסחה המגדירה אותה.‬ ‫הוכחה:‬ ‫תהיה ‪ f‬פונקצית אמת ‪-n‬מקומית.‬ ‫נגדיר }‪( Hf={(a1,a2,…,an){F,T}n :f(a1,…,an)=T‬תמונה הפוכה של ‪T‬‬ ‫ביחס ל- ‪.)f‬‬ ‫לכל )‪ x=(a1,a2,…,an‬נשייך נוסחה ‪ ř1ř2… řn = Ax‬כך ש:‬ ‫‪ ři‬הוא ‪ ri‬אם ‪ ,T=ai‬אחרת ‪ ři‬הוא ‪ .¬ri‬אז פירוש ‪ l‬מספק את ‪ Ax‬אם"ם‬ ‫))‪,x=(l(r1),...,l(rn‬‬ ‫כלומר אם"ם ‪.I(r1) = a1, I(r2) = a2, …, I)rn) = an‬‬ ‫מהגדרת הקוניונקציה פירוש ‪ I‬ייתן ‪ I(Ax(=T‬אם"ם ‪ I)řj(=T‬לכל ‪ j‬ומהדרך בה‬ ‫הגדרנו את הליטרלים, זה יתקיים אך ורק מתי ש ‪ I(rj) = aj‬לכל ‪.j‬‬ ‫נגדיר ‪ Af= Ax1Ax2 … Axk‬עבור כל ‪ xi‬מ- ‪.Hf‬‬ ‫אז, לכל פירוש ‪ l(Af)=T ,l‬אם"ם קיים ‪ x  Hf‬כך ש ))‪x=(l(r1),...,l(rn‬‬ ‫זאת היות ומהגדרת הדיסיונקציה ‪ l(Af)=T‬אם"ם קיים ‪ Axj‬שעבורו‬ ‫‪l(Axj)=T‬והראנו שזה מתקיים אם"ם ))‪ ,xj=(l(r1),...,l(rn‬ז"א‬ ‫)‪.f(l(r1(,…,l)rn))=l(Af‬‬ ‫הסבר נוסף:‬ ‫‪ …. I)Axk)=T‬או ‪ I(Ax2)=T‬או ‪l(Af)=T  I(Ax1)=T‬‬ ‫אם כך, עבור ‪ j‬כלשהו:‬ ‫‪I(Axj)=T ‬‬ ‫נזכיר ש: ‪ Axj= ř1ř2… řn‬ומכאן:‬ ‫‪ …. I)řn)=T ‬וגם ‪ I(ř2)=T‬וגם ‪I(ř1ř2… řn)=T  I(ř1)=T‬‬ ‫‪I(r1)= a1, I(r2)= a2, …. , I)rn)= an ‬‬ ‫‪xj=(a1, a2, …, an)=(I(r1), I(r2(, …. , I(rn)) ‬‬ ‫נזכיר ש: ‪xjЄHf‬‬ ‫‪(I(r1), I(r2(=, …. , I)rn)) ЄHf ‬‬ ‫‪F(I(r1), I(r2(=, …. , I)rn))=T‬‬
  • 10. ‫קבוצות שלמות של קשרים‬ ‫הגדרה: קבוצה של קשרים שבאמצעותם ניתן לתאר כל פונקצית אמת נקראת שלמה.‬ ‫)‪P  Q  (PQ)  (QP‬‬ ‫‪P  Q  ¬P  Q‬‬ ‫‪P  Q  ¬P  Q‬‬ ‫(‪P  Q  ¬)¬P¬Q‬‬ ‫(‪P  Q  ¬)¬P¬Q‬‬ ‫מסקנה. }‪ {¬, }, {¬, }, {¬, ‬הן קבוצות שלמות של קשרים.‬ ‫ממשפט השלמות הפונקציונאלית נובע שהקבוצה }‪ Q={¬, , ‬היא‬ ‫קבוצה שלמה של קשרים‬ ‫( השתמשנו אך ורק בקשרים אלו והראנו שאנו יכולים לבנות כל פונקציית אמת).‬ ‫ע"מ להראות שהקבוצות הנתונות הן קבוצות שלמות של קשרים, מספיק להראות‬ ‫שנוכל לבנות באמצעותן את הקבוצה ‪.Q‬‬ ‫}‪ - {¬, ‬נוכל להשיג קוניונקציה ע"י (‪P  Q  ¬)¬P¬Q‬‬ ‫}‪ - {¬, ‬נוכל להשיג דיסיונקציה ע"י (‪P  Q  ¬)¬P¬Q‬‬ ‫}‪ - {¬, ‬נוכל להשיג דיסיונקציה ע"י ‪ P  Q  ¬P  Q‬וע"י כך נבנה את }‪.{¬, ‬‬ ‫קבוצות לא שלמות של קשרים‬ ‫למה. }‪ {,,, ‬היא קבוצה לא שלמה של קשרים. (כי אי אפשר ליצור שלילה)‬ ‫הוכחה. להבדיל מ-‪ ,¬p‬כל נוסחה הבנויה מ- }‪ {,,, ‬היא אמיתית כאשר כל‬ ‫הפסוקים האטומיים שלה אמיתיים. [באינדוקציה על מספר הקשרים בנוסחה – נוכיח‬ ‫שתמיד אמת (אין מצב של שלילה)].‬ ‫טענה: כל נוסחה הבנויה מ }‪ {,,, ‬היא אמיתית כאשר כל הפסוקים‬ ‫האטומיים שלה אמיתיים.‬ ‫הוכחה: (באינדוקציה)‬ ‫בסיס: משתמשים ב-0 קשרים, אז הנוסחה היא מהצורה ‪ P‬כאשר ‪ P‬אטום ולכן‬ ‫כאשר ‪ P‬אמיתי, הנוסחה אמיתית.‬ ‫הנחה: כאשר אנו משתמשים ב-‪ n‬קשרים או פחות, אם כל הפסוקים האטומיים‬ ‫אמיתיים, אז גם הנוסחה אמיתית.‬ ‫צעד: תהי ‪ A‬נוסחה בעלת 1+‪ n‬קשרים, אם כך, ‪ A‬היא מהצורה:‬ ‫‪(a) B  C (b) B  C (c) B  C (d) B  C‬‬ ‫ב-‪ B‬וב-‪ C‬יש אם כך פחות מ1+‪ n‬קשרים, לכן, מהנחת האינדוקציה, כאשר כל‬ ‫הפסוקים האטומיים ב‪ A‬אמיתיים, אז גם ‪ B‬ו-‪ C‬אמיתיים ומכאן שלפי הגדרת‬ ‫הקשרים }‪ ,{,,, ‬גם ‪ A‬אמיתית.‬
  • 11. ‫קבוצות לא שלמות של קשרים‬ ‫למה. }¬,‪ {‬היא קבוצה לא שלמה של קשרים.‬ ‫קוניונקציה יוצרת טבלת אמת בה יש מספר אי זוגי של שורות שנותנות ‪.T‬‬ ‫נוכיח באינדוקציה על כמות הקשרים כי כל טבלת אמת עם יותר מאטום אחד‬ ‫של נוסחה הבנויה מהקשרים }¬,‪ {‬הינה בעלת כמות זוגית של שורות‬ ‫המקבלות את הערך ‪ ,T‬ולכן לא ניתן לבנות קוניוקציה באמצעות קשרים אלו.‬ ‫בסיס: (קשר יחיד) הנוסחא היא מהצורה ‪ q  p‬או ‪. ¬p‬‬ ‫במצב זה טבלאות האמת יתאימו לטענה:‬ ‫‪p‬‬ ‫‪q‬‬ ‫‪¬p‬‬ ‫‪p‬‬ ‫‪q‬‬ ‫‪qp‬‬ ‫‪T‬‬ ‫‪T‬‬ ‫‪F‬‬ ‫‪T‬‬ ‫‪T‬‬ ‫‪T‬‬ ‫‪T‬‬ ‫‪F‬‬ ‫‪F‬‬ ‫‪T‬‬ ‫‪F‬‬ ‫‪F‬‬ ‫‪F‬‬ ‫‪T‬‬ ‫‪T‬‬ ‫‪F‬‬ ‫‪T‬‬ ‫‪F‬‬ ‫‪F‬‬ ‫‪F‬‬ ‫‪T‬‬ ‫‪F‬‬ ‫‪F‬‬ ‫‪T‬‬ ‫הנחה: נניח כי עבור נוסחאות בעלות ‪ N‬קשרים או פחות (מהקבוצה }¬,‪,){‬‬ ‫הטענה מתקיימת, כלומר, יש כמות זוגית של שורות בטבלת האמת של‬ ‫נוסחאות אלו המקבלות ‪.T‬‬ ‫צעד: תהי ‪ A‬נוסחה בעלת 1+‪ N‬קשרים מהקבוצה }¬,‪,{‬‬ ‫א. ‪ ¬B‬ב. ‪B C‬‬ ‫אז ‪ A‬היא מהצורה:‬ ‫מקרה א. מהנחת האינדוקציה, ‪( B‬בעלת ‪ N‬קשרים) היא בעלת כמות זוגית‬ ‫של שורות בטבלת האמת שלה שנותנות ‪ .T‬ולכן, מהגדרת השלילה, ‪A‬‬ ‫תהיה בעלת מס' זוגי של שורות שיתנו ‪ ,F‬והיות ובטבלת אמת מס' זוגי של‬ ‫שורות סה"כ, אז גם מס' זוגי של שורות שיתנו ‪.T‬‬ ‫מקרה ב. נסמן ב*‪ B‬את קבוצת השורות של טבלת האמת של ‪ B‬שיתנו ‪,T‬‬ ‫ו*‪ ,C‬באופן דומה. מהנחת האינדוקציה |*‪ |B‬ו- |*‪ |C‬זוגיים, כלומר ‪,|B*| =2k‬‬ ‫‪ .|C*| =2t‬בסה"כ בטבלת האמת של ‪ A‬יש מספר זוגי של שורות ‪( 2m‬מהיותה‬ ‫טבלת אמת). כמות השורות שבהן ‪ A‬אמת היא כמות השורות בהן ‪ B‬ו-‪C‬‬ ‫שקר יחד, בנוסף לכמות השורות בהן ‪ B‬ו-‪ C‬אמת יחד, כלומר‬ ‫|*‪ 2m - |B*C*| + |B*C‬שורות בהן ‪ A‬נותנת אמת.‬ ‫אך מתקיים |*‪ ,|B*C*| = |B*| + |C*| - |B*C*| = 2k + 2t - |B*C‬ולכן‬ ‫|*‪ 2 m - |B*C*| + |B*C*| = 2 m - 2k - 2t + 2 |B*  C‬זוגי.‬
  • 12. ‫קבוצות קשרים שלמות‬  - "..-‫ – "לא וגם‬NAND P Q PQ PQ  ¬)PQ) ‫ מוגדרת ע"י‬PQ F F T F T T -‫קל לראות ש‬ PP  ¬P T F T (PQ)  (PQ)  ~(PQ)  PQ T T F (PP)(QQ)  PQ .‫{ היא קבוצת קשרים שלמה‬} ‫לכן‬  - "‫ – "לא או‬NOR P Q PQ PQ  ¬)PQ) ‫ מוגדר ע"י‬PQ F F T F T F P  P  ¬P :‫מתקיים‬ T F F (PQ)(PQ)  PQ (PP)(QQ)  PQ T T F .‫{ היא קבוצת קשרים שלמה‬} ‫לכן‬
  • 13. )gates( ‫שערים‬ a ¬a :NOT ‫שער‬ a ab :AND ‫שער‬ b a :OR ‫שער‬ b ab (ab))¬a¬b( :‫רשת לתיאור הנוסחה‬ a b a b ‫שערים נוספים‬ a ¬)ab)=¬a¬b :NAND ‫שער‬ b a ¬)ab)=¬a¬b b :NOR ‫שער‬ a :‫דוגמא‬ ab b
  • 14. ‫צורות נורמאליות‬ ‫אם ‪ p‬הוא פסוק אטומי, אז ‪ p‬ו-‪ ¬p‬הם ליטרלים.‬ ‫הגדרה. נוסחה בצורה דיסיונקטיבית נורמאלית )‪ (DNF‬היא דיסיונקציה של‬ ‫קוניונקציות של ליטרלים.‬ ‫דוגמא: (‪(p¬qr)(rp)  (r¬q¬p‬‬ ‫מסקנה 1. כל נוסחה שקולה לנוסחה בצורת ‪.DNF‬‬ ‫הוכחה 6. אם ‪ f‬היא פונקצית אמת המוגדרת ע"י נוסחה ‪ , B‬אז הנוסחה ‪ Af‬שבנינו‬ ‫בהוכחת משפט השלמות הפונקציונאלית שקולה ל-‪ , B‬והיא בצורת ‪.DNF‬‬ ‫דואליות‬ ‫הגדרה: תהי ‪ A‬נוסחה שמכילה ‪ , , , ,T‬ו- ¬ בלבד.‬ ‫נוסחה דואלית ל- ‪ A‬מתקבלת ממנה בהחלפת כל ‪ ‬ב- ‪ ‬וכל ‪ ‬ב- ‪ ,‬כל ‪ T‬ב-‬ ‫‪ ‬וכל ‪ ‬ב-‪T‬‬ ‫נוסחה דואלית‬ ‫נוסחה‬ ‫‪(PQ)R‬‬ ‫‪(PQ)R‬‬ ‫((‪¬)PQ)(P)¬Q¬S‬‬ ‫((‪¬)PQ)(P)¬Q¬S‬‬ ‫למת עזר. השלילה של נוסחה שקולה לנוסחה דואלית שבה כל משתנה‬ ‫מוחלף בשלילה שלו.‬ ‫שקול להפעלת דה-מורגן מבחוץ פנימה.‬ ‫דוגמא: ‪¬))PQ)R)  ¬(PQ)¬R  )¬P¬Q(¬R‬‬
  • 15. ‫צורות נורמליות - המשך‬ ‫‪r¬q¬p‬‬ ‫פסוקית (‪ )clause‬היא דיסיונקציה של ליטרלים:‬ ‫הגדרה. נוסחה בצורה קוניונקטיבית נורמאלית )‪ (CNF‬היא קוניונקציה של פסוקיות.‬ ‫דוגמא: )‪(p¬qr)(rp) (r¬q¬p‬‬ ‫מסקנה 2. כל נוסחה שקולה לנוסחה בצורת ‪.CNF‬‬ ‫הוכחה.‬ ‫נניח ש- ‪ f‬היא פונקצית אמת המוגדרת ע"י נוסחה ‪ ,¬B‬ו- ‪ Af‬היא הנוסחה‬ ‫המקבילה ב-‪ . DNF‬אז ‪ ¬Af‬שקולה ל-‪ ,B‬וניתן להפוך ‪ ¬Af‬לנוסחה דואלית‬ ‫בצורת ‪ CNF‬כי השלילה של נוסחה שקולה לנוסחה דואלית שבה כל משתנה‬ ‫מוחלף בשלילה שלו, כל ‪ ‬מוחלף ב ‪ ‬ולהיפך כך שעוברים מ‪ DNF‬ל‪.CNF‬‬ ‫‪CNF‬‬ ‫‪p‬‬ ‫‪q‬‬ ‫‪A‬‬ ‫)‪A  (pq) )¬p¬q‬‬ ‫‪F‬‬ ‫‪F‬‬ ‫‪F‬‬ ‫‪pq‬‬ ‫כל פסוקית מתאים לשורה עם ערך ‪F‬‬ ‫‪F‬‬ ‫‪T‬‬ ‫‪T‬‬ ‫בטבלת אמת.‬ ‫‪T‬‬ ‫‪F‬‬ ‫‪T‬‬ ‫לכל משתנה ‪ p‬אנו רושמים ‪ p‬אם ערכו‬ ‫‪T‬‬ ‫‪T‬‬ ‫‪F‬‬ ‫‪¬p¬q‬‬ ‫‪ F‬ו- ‪ ¬p‬אם ערכו ‪ T‬בשורה זו.‬ ‫אלגוריתמים לבניית ‪ DNF‬ו-‪CNF‬‬ ‫• סילוק ‪ ‬ו- ‪;‬‬ ‫• הכנסת שלילה פנימה (צורת ‪(NNF‬‬ ‫• פריסה של ‪ ‬או ‪.‬‬ ‫‪((p  q) ¬)q  r))  s‬‬ ‫דוגמה:‬ ‫‪¬))p  q) ¬)q  r))  s‬‬ ‫‪)¬)p  q) (q  r))  s‬‬ ‫‪))¬p  ¬q( (q  r))  s‬‬ ‫)‪)¬p  ¬q  s) ((q  r)  s‬‬ ‫)‪)¬p  ¬q  s) (q  s)  (r  s‬‬
  • 16. ‫פסוקיות הורן‬ ‫פסוקית הורן )‪ (Horn clause‬היא פסוקית שמכילה לא יותר מליטרל חיובי אחד.‬ ‫) ‪p¬q1...¬qn (  (q1... qn)  p‬‬ ‫) ‪¬q1...¬qn (  (q1... qn)  ‬‬ ‫)‪p (Tp‬‬ ‫נוסחת הורן היא קוניונקציה של פסוקיות הורן.‬ ‫אלגוריתם הכרעה לנוסחאות הורן‬ ‫אלגוריתם ‪ HORN‬להכרעת ספיקות:‬ ‫נסמן אטומים בנוסחת הורן לפי כללים הבאים:‬ ‫נסמן ‪ T‬אם הוא קיים בנוסחה.‬ ‫1.‬ ‫אם יש פסוקית ‪ (Q1... Qn)  P‬בנוסחה כך שכל ‪ Qi‬בו מסומן,‬ ‫2.‬ ‫נסמן גם ‪ P‬ונחזור ל-2, אחרת נעבור ל-3.‬ ‫הנוסחה היא ספיקה אם ורק אם ‪ ‬לא מסומן.‬ ‫3.‬ ‫משפט. אלגוריתם ‪ HORN‬מכריע בעיית ספיקות לנוסחאות הורן.‬ ‫הוכחה. אם בנוסחת הורן ‪ A‬יש ‪ n‬אטומים, האלגוריתם מסיים בלא יותר מ-)1+‪(n‬‬ ‫צעדים. נוכיח:‬ ‫כל ‪ P‬מסומן הוא אמיתי בכל מודל של ‪ A‬באינדוקציה על מספר הצעדים של‬ ‫האלגוריתם. בסיס (צעד 1): ‪ T‬אמיתי בכל מודל.‬ ‫אם בפסוקית ‪ (Q1... Qn)P‬כל ‪ Qi‬מסומן, אז גם הפסוקית וגם כל ‪( Qi‬בהנחת‬ ‫אינדוקציה) חייבים להיות אמיתיים בכל מודל של ‪ .A‬לכן גם ‪ P‬חייב להיות‬ ‫אמיתי בכל מודל של ‪ A‬וזה נובע ישירות מהגדרת האימפליקציה.‬ ‫(א) אם ‪ ‬מסומן, ‪ A‬לא ספיקה, כי ‪ ‬לא יכול להיות אמיתי.‬ ‫(ב) אם ‪ ‬לא מסומן, נגדיר פירוש ‪ l‬שבו האטומים המסומנים, ורק הם, אמיתיים.‬ ‫נניח ש-‪ l‬הוא לא מודל של ‪ .A‬אז קיימת פסוקית ‪ (Q1... Qn)P‬של ‪ A‬שהיא‬ ‫שקרית ב- ‪.l‬אבל זה אפשרי רק כאשר כל ‪ Qi‬אמיתי (מסומן) ו-‪ P‬שקרי (לא‬ ‫מסומן) – סתירה זוהי סתירה לדרך בה הגדרנו את האלגוריתם, שכן בו אם‬ ‫)‪ (Q1... Qn‬מסומנים אז נסמן גם את ‪ P‬ולכן ‪ P‬חייב להיות אמיתי במודל ‪I‬‬ ‫ומכאן הסתירה. לכן ‪ l‬הוא מודל של ‪ A‬ומכאן ‪ A‬ספיקה.‬
  • 17. ‫אלגוריתם הורן – הוכחת ההכרעה‬ ‫באינדוקציה על מס' הצעדים‬ ‫(הסבר נוסף)‬ ‫טענה: במהלך האלגוריתם אנו מסמנים פסוקים ‪ P1... Pn‬הטענה שלנו היא‬ ‫שכל פסוק שסומן אמיתי בכל מודל של ‪ – A( A‬הנוסחה שלנו).‬ ‫נוכיח זאת באינדוקציה על מס' הצעדים של האלגוריתם.‬ ‫בסיס: בצעד הראשון אנחנו מסמנים את ‪ T‬ו-‪ T‬אמיתי בכל מודל.‬ ‫הנחה: בצעד ה-‪ ,n‬הפסוקים שסימנו עד כה אמיתיים בכל מודל של ‪.A‬‬ ‫צעד: בצעד ה-1+‪ n‬נבדוק אם בפסוקית מסויימת מהצורה ‪(Q1... Qn)  P‬‬ ‫כל ‪ Qi‬מסומן.‬ ‫אם כולם מסומנים אז על מנת שהפסוקית תהיה אמת בהכרח ‪ P‬חייב‬ ‫להיות אמת. אנו נמצאים ב‪ CNF‬ולכן ע"מ ש-‪ A‬יהיה אמיתי אז כל‬ ‫הפסוקיות חיבות להיות אמיתיות (מתכונת הקוניונקציה), לכן על מנת ש‪A‬‬ ‫יהיה אמיתי, ‪ P‬חייב להיות אמיתי ולכן ‪ P‬אמיתי בכל מודל של ‪.A‬‬ ‫הוכחנו שכל פסוק שמסומן באלגוריתם אמיתי בכל מודל.‬ ‫כעת נוכיח שכאשר האלגוריתם מסתיים, התשובה שהוא נותן נכונה.‬ ‫מקרה א': ‪ ‬מסומן. אם כך, אז ‪ A‬לא ספיקה, כי ‪ ‬לא יכול להיות אמיתי, וזה‬ ‫סותר את הטענה הקודמת.‬ ‫מקרה ב': ‪ ‬לא מסומן. נגדיר פירוש ‪ l‬שבו האטומים המסומנים, ורק הם,‬ ‫אמיתיים. נניח ש-‪ l‬הוא לא מודל של ‪ .A‬אז קיימת פסוקית ...‪(Q1‬‬ ‫‪ Qn)P‬של ‪ A‬שהיא שקרית ב- ‪.l‬אבל זה אפשרי רק כאשר כל ‪ Qi‬אמיתי‬ ‫(מסומן) ו-‪ P‬שקרי (לא מסומן) – סתירה זוהי סתירה לדרך בה הגדרנו את‬ ‫האלגוריתם, שכן בו אם )‪ (Q1... Qn‬מסומנים אז נסמן גם את ‪ P‬ולכן ‪P‬‬ ‫חייב להיות אמיתי במודל ‪ I‬ומכאן הסתירה.. לכן ‪ l‬הוא מודל של ‪ A‬ומכאן‬ ‫‪ A‬ספיקה.‬