‫תכן לוגי מתקדם‬

‫תרגול כתה מספר ‪9‬‬

‫‪ .1‬שאלות בנושא משפט ‪POST‬‬

‫נתון סט של פונקציות ‪ F‬המקיים את התנאים ההכרחיים של משפט ‪ .POST‬לצורך השאלות‬
‫הבאות נשתמש בסימונים הבאים‪:‬‬
‫‪o‬‬

‫נסמן ב‪ f1 ( xi ,..., x1 , x0 ) -‬פונקציה מתוך הסט שאינה שומרת "‪. "1‬‬

‫‪o‬‬

‫נסמן ב‪ f 2 ( x j ,..., x1 , x0 ) -‬פונקציה מתוך הסט שאינה שומרת "‪. "0‬‬

‫‪o‬‬

‫נסמן ב‪ f 3 ( xk ,..., x1 , x0 ) -‬פונקציה מתוך הסט שאינה מונוטונית )איזוטונית( ‪.‬‬

‫‪o‬‬

‫נסמן ב‪ f 4 ( xl ,..., x1 , x0 ) -‬פונקציה מתוך הסט שאינה לינארית‪.‬‬

‫‪o‬‬

‫נסמן ב‪ f 5 ( xm ,..., x1 , x0 ) -‬פונקציה מתוך הסט שאינה דואלית לעצמה ‪.‬‬

‫על בסיס פונקציות אלו נגדיר פונקציות של משתנה אחד ) ‪. f i ( p ) = f i ( p,...., p‬‬
‫*‬

‫א‪ .‬קבע האם הסט }‪ F = {1, x ⊕ y, x + y‬מקיים את משפט ‪ POST‬ורשום אילו‬

‫‪L‬‬
‫‪+‬‬
‫‪+‬‬
‫‪-‬‬

‫פונקציות מתוך הסט יכולות למלא את תפקיד הפונקציות ‪ f i‬שהוגדרו לעיל‪.‬‬
‫פתרון‪:‬‬
‫‪P0‬‬
‫‪P1‬‬
‫‪SD‬‬
‫‪M‬‬
‫‪1‬‬
‫‬‫‪+‬‬
‫‬‫‪+‬‬
‫‪+‬‬
‫‬‫‬‫‬‫‪x⊕ y‬‬
‫‪x+y‬‬
‫‪+‬‬
‫‪+‬‬
‫‬‫‪+‬‬

‫רואים שהסט מקיים את משפט פוסט מפני שבכל עמודה יש לנו מינוס אחד לפחות‪.‬‬
‫‪ f1‬יכולה להיות ‪x ⊕ y‬‬
‫‪ f 2‬יכולה להיות ‪.1‬‬
‫‪ f3‬יכולה להיות ‪. x ⊕ y‬‬

‫‪ f 4‬יכולה להיות ‪x + y‬‬
‫‪ f5‬יכולה להיות כל אחת משלושת הפונקציות‬
‫ב‪ .‬הראה כי או שבעזרת הפונקציות *‪ f1* , f 2‬ניתן לממש מהפך או שהן קבועות‬
‫) ‪.( f1* = 1, f 2* = 0‬‬
‫פתרון‪:‬‬
‫אם פונקציה היא גם‬

‫*‪ f1‬וגם *‪ , f 2‬אזי לכל ‪ p‬המוצא הוא ’‪ p‬כלומר הפונקציה היא מהפך‪.‬‬

‫אם הפונקציה היא *‪ f1‬והיא אינה *‪ , f 2‬אזי עבור ‪ p=1‬המוצא הוא ‪ ,0‬כיוון שהפונקציה אינה‬
‫שומרת ‪1‬וכיוון שהפונקציה אינה *‪) , f 2‬כלומר היא כן שומרת ‪ (0‬אזי עבור ‪ p=0‬המוצא הוא‬

‫‪ ,0‬כלומר הפונקציה היא הקבוע ‪ .0‬באופן דומה מראים שאם הפונקציה היא *‪ , f 2‬אבל לא‬
‫*‪ f1‬אזי היא הקבוע ‪.1‬‬
‫ג‪.‬‬

‫הוכח כי בעזרת הפונקציות ‪ f1 , f 2 , f 3‬ניתן לממש מהפך‪.‬‬
‫פתרון‪:‬‬
‫ראינו בסעיף ב‪ -‬כי אם פונקציה היא גם ‪ f1‬וגם ‪ f 2‬אזי ניתן לממש באמצעותה‬
‫מהפך‪ .‬ואז סיימנו‪ ,‬אחרת‪ ,‬אם היא ‪ , f1‬ניתן לממש באמצעותה את הקבוע ‪0‬‬
‫ואם היא ‪ f 2‬ניתן לממש באמצעותה את הקבוע ‪.1‬‬
‫פונקציה ‪ f3‬אינה איזוטונית ולכן או שיש בה משתנה אחד לפחות שהוא‬
‫אנטיטוני‪ ,‬או שיש בה משתנה אחד לפחות שאינו מונוטוני בכלל‪.‬‬
‫נסמן את המשתנה הזה ‪ . xi‬נסתכל על ייצוג ‪ SOP‬של הפונקציה ‪, f3‬‬
‫נובע‪ ,‬שקיים בפונקציה ליטרל אחד לפחות‬

‫‪pn‬‬

‫‪ x1 p1 x2 p2 ...xi ' ...xn‬כך שלא קיים‬

‫בפונקציה הליטרל ‪) x1 p1 x2 p2 ...xi ...xn pn‬מפני שאחרת‪ ,‬היה נובע שאין תלות‬
‫אמיתית ב ‪ xi‬ואז הוא היה איזוטוני(‬
‫נבחר את הליטרל הזה‪ ,‬שבו מופיע האיבר ' ‪ , xi‬לשאר המשתנים בליטרל‪,‬‬
‫נכניס קבועים כך שהמכפלה תצא ' ‪. xi‬‬
‫נראה ששאר הליטרלים מתאפסים בהכרח‪ -‬שאר הליטרלים חייבים להיות עם‬
‫סימן הפוך במשתנה אחד לפחות‪ .‬אבל לא ייתכן שיהיה הבדל רק במשתנה ‪xi‬‬
‫לפי הבניה שלנו‪ ,‬ולכן יש הבדל במשתנה אחד לפחות שאינו ‪ xi‬ומכיוון‬
‫שהמשתנה הזה יקבל ערך הפוך מזה שקיבל בליטרל שבחרנו‪ ,‬ובליטרל‬
‫שבחרנו‪ ,‬הכנסנו לו ‪ ,1‬אזי שאר הליטרלים יתאפסו‪ ,‬וכך נקבל מהפך‪.‬‬
‫ד‪ .‬הוכח כי בעזרת הפונקציות ‪ f1 , f 2 , f3 , f 4 , f5‬ניתן לממש כל פונקציה של שני‬
‫משתנים‪.‬‬
‫הפונקציות האלו יוצרות ביחד סט אוניברסאלי לפי משפט פוסט ולכן ניתן לממש‬
‫בעזרתן כל פונקציה‪ ,‬בפרט כל פונקציה של שני משתנים‪.‬‬

‫‪ .2‬שאלות בנושא פרוק ‪RM‬‬
‫א‪ .‬האם לכל שתי פונקציות השייכות לאותו ‪ NPN class‬יש את אותו מספר‬
‫מחוברים בפרוק ‪ RM‬בפולריות חיובית?‬
‫לא נכון‪ .‬דוגמא נגדית‪:‬‬
‫נסתכל על הפונקציה ‪f1 ( x, y ) = x + y‬‬

‫פירוק ריד מולר של הפונקציה הוא ‪x ⊕ y ⊕ xy‬‬
‫הפונקציה ‪ f 2 ( x, y ) = f1 ( x, y ) = x + y = x y‬שייכת לאותו ‪ NPN class‬כמו‬
‫הפונקציה ‪. f1 ( x, y ) = x + y‬‬
‫אבל פירוק ריד מולר של ) ‪ f 2 ( x, y‬הוא‬

‫‪f 2 ( x, y ) = f1 ( x, y ) = x + y = x y = ( x ⊕ 1)( y ⊕ 1) = xy ⊕ x ⊕ y ⊕ 1‬‬
‫ב‪ .‬אם לפונקציה ‪ f‬יש ‪ W‬מחוברים בפרוק ‪ RM‬לפי פולריות חיובית‪ ,‬מה ניתן‬
‫להגיד על מספר המחוברים בפרוק של ‪ f‬לפי פולריות חיובית?‬

‫ לפי פולריות חיובית הוא‬f ‫ ולכן מספר המחוברים בפירוק של‬f = f ⊕ 1
. w − 1 ‫ או‬w + 1
Kronecker product ‫שאלות בנושא‬
. R ( n) ⋅ R ( n) = I ‫ הוכח כי‬.‫ א‬.‫א‬
:‫נראה באינדוקציה‬

1
R(1) = 
1
1 0  1


1 1  1

0
 :‫תנאי התחלה‬
1
0 1 0
=
=I
1 0 1

R (n) ⋅ R (n) = I ‫ כלומר נניח כי‬, R (n) ‫נניח שמתקיים עבור‬
R (n) = ⊗in=1 R (1) ‫נזכור כי‬

⊗in=1 R (1) ⊗in=1 R (1) = I ‫ולכן‬
: R ( n + 1) ‫נוכיח עבור‬
n +1

n +1

i =1

i =1

R (n + 1) R( n + 1) = ⊗ R(1) ⊗ R(1) =
n
 n

R
R (1)

(1)
0
0 
 i =1
 ⊗
i =1
[ R(1) ⊗ ⊗ R(1)][ R(1) ⊗ ⊗ R (1)] =  n
 n

n
n
i =1
i =1
 ⊗ R (1) ⊗ R(1)  ⊗ R (1) ⊗ R(1) 
i =1
i =1
 i =1
 i =1

n

n

‫⊗ ולכן‬in=1 R (1) ⊗in=1 R (1) = I ‫אבל לפי הנחת האינדוקציה‬
n
n
 n
  n


R
(1)
0

R
(1)
0

R
(1)

R(1)
0
 i =1
  i =1
  i =1

 I 0
i =1
=
=

=I
n





n
n
n
n
n
n
n
0
I


 ⊗ R(1) ⊗ R(1)   ⊗ R(1) ⊗ R(1)   ⊗ R(1) ⊕ ⊗ R(1) ⊗ R(1) ⊗ R(1) 
i =1
i =1
i =1
i =1
i =1
 i =1
  i =1
  i =1

‫ל‬.‫ש‬.‫מ‬