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

‫תרגול כתה מספר ‪7‬‬
‫ריד מולר עם פולריות‪:‬‬
‫‪ FPRM‬של פונקציה ‪ f‬עם וקטור פולריות‬

‫נתון על ידי‬

‫)הערה‪ :‬ריד מולר עם פולריות שלילית‪ ,‬התקבל מפירוק שנון‪ ,‬באופן דומה לאופן שהראינו עבור‬
‫הפולריות הרגילה‪-‬‬

‫הביטוי המטרי ציוני עבור משתנה אחד הוא‬

‫והמטריצה‬
‫תרגיל‪:‬‬
‫נתון וקטור האמת של פונקציה‬

‫היא מטריצת ריד מולר הבסיסטית עבור פולריות שלילית‪.‬‬

(1,1,1) :‫ כלומר‬,‫מצא ספקטרום ריד מולר עבור וקטור פולריות שהוא שלילי עבור כל המשתנים‬

 0 1 0 1 0 1 
S f = R(3) F =  
⊗
⊗
F =
 1 1 1 1 1 1 

 0 0 0 1 



 0 1 ⊗  0 0 1 1  F =
 1 1  0 1 0 1 


 
1 1 1 1 

0 0 0 0 0 0 0 1 0 
0 0 0 0 0 0 1 1 1 

 
0 0 0 0 0 1 0 1 0 

 
0 0 0 0 1 1 1 1 1 

=
= [1 0 0 1 0 1 0 1]T
0 0 0 1 0 0 0 1 0 

 
0 0 1 1 0 0 1 1 1 
0 1 0 1 0 1 0 1 1 

 
1 1 1 1 1 1 1 1 1 

X 111 (3) = [1 x1 ] ⊗ [1 x2 ] ⊗ [1 x3 ] = [1 x1 ] ⊗ [1 x3 x2 x2 x3 ] = [1 x3 x2 x2 x3 x1 x1 x3 x1 x2 x1 x2 x3 ]

‫ולכן‬
:‫תרגיל‬
: (010) ‫ עם וקטור הפולריות‬f ‫ של הפונקציה הבאה‬RM ‫מצא ביטוי‬

:‫פתרון‬

1 0  0 1 1
RM 010 (3) = 
⊗
⊗
1 1  1 1 1
0 0
0 0

 0 0 1 0  1 0

 
1 0  0 0 1 1  1 1
=
=
⊗
1 1  1 0 1 0  0 0

 
1 1 1 1   0 0
1 0

1 1

0
=
1 
1
1
1
1
1
1
1
1

0
1
0
1
0
1
0
1

0
0
0
0
0
0
1
1

0
0
0
0
0
0
0
1

0
0
0
0
1
1
1
1

0
0 
0
 :RM ‫ראשית נמצא את מטריצת‬
0
0

1
0

1 

‫‪0  1 ‬‬
‫‪0  0 ‬‬
‫‪0  0 ‬‬
‫‪ ‬‬
‫‪0  1 ‬‬
‫]‪= [0 1 1 0 1 1 0 1‬‬
‫‪0  0 ‬‬
‫‪ ‬‬
‫‪1  1 ‬‬
‫‪0  1 ‬‬
‫‪ ‬‬
‫‪1  1 ‬‬

‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬

‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬

‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬

‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬

‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬

‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬

‫‪f=X 010 (3)S = x3 ⊕ x2 ⊕ x1 ⊕ x1 x3 ⊕ x1 x2 x3‬‬

‫הערות‪:‬‬
‫מטריצות ריד מולר עבור שני משתנים ופולריות קבועה‪:‬‬

‫ספקטרום ריד מולר עבור שני משתנים ופולריות קבועה‪:‬‬

‫‪0‬‬
‫‪0‬‬
‫‪‬‬
‫‪1‬‬
‫‪‬‬
‫‪1‬‬
‫‪S = R010 (3) F = ‬‬
‫‪0‬‬
‫‪‬‬
‫‪0‬‬
‫‪1‬‬
‫‪‬‬
‫‪1‬‬

‫תרגילים‪:‬‬
‫‪ .1‬הוכח או הפרך כל אחת מהטענות הבאות‪:‬‬
‫א‪ .‬כל פונקציה מונוטונית היא סימטרית‪.‬‬
‫פתרון‪ :‬לא נכון‪ .‬דוגמא נגדית‪:‬‬

‫‪f (a, b, c) = ab + bc‬‬
‫) ‪f ( x0 , x1 ,...xi ,...xn−1‬‬

‫פונקציה איזוטונית במשתנה ‪xi‬‬
‫ב‪ .‬תהא‬
‫‪x‬‬
‫) ‪g ( x0 , x1 ,...xi ,...xn−1 ) = f ( x0 , x1 ,...xi ,...xn −1‬‬
‫היא אנטיטונית ב ‪. i‬‬

‫‪ ,‬אזי הפונקציה‬

‫פתרון‪ :‬נכון‪ .‬הוכחה‪:‬‬
‫נתון כי ) ‪f ( x0 , x1 ,..., xi −1 ,1, xi +1 ,...xn −1 ) ≥ f ( x0 , x1 ,..., xi −1 , 0, xi +1 ,...xn −1‬‬
‫כי הפונקציה איזוטונית‪.‬‬

‫נתון כי ) ‪g ( x0 , x1 ,...xi ,...xn−1 ) = f ( x0 , x1 ,...xi ,...xn −1‬‬
‫ולכן ) ‪g ( x0 , x1 ,...xi −1 ,1, xi +1...xn −1 ) = f ( x0 , x1 ,...xi −1 , 0, xi +1...xn −1‬‬
‫) ‪g ( x0 , x1 ,...xi −1 , 0, xi +1...xn −1 ) = f ( x0 , x1 ,...xi −1 ,1, xi +1...xn −1‬‬
‫אבל ) ‪f ( x0 , x1 ,..., xi −1 ,1, xi +1 ,...xn −1 ) ≥ f ( x0 , x1 ,..., xi −1 , 0, xi +1 ,...xn −1‬‬
‫ולכן ) ‪g ( x0 , x1 ,...xi −1 ,0, xi +1...xn −1 ) ≥ g ( x0 , x1 ,...xi −1 ,1, xi +1...xn −1‬‬
‫ולכן הפונקציה ‪ g‬היא אנטי טונית ב ‪xi‬‬
‫ג‪ .‬פונקציה אשר ניתן לייצגה כביטוי בולאני ללא ‪ xi‬היא בהכרח אנטיטונית ב ‪xi‬‬

‫‪.‬‬

‫פתרון‪ :‬נכון‬
‫הוכחה‪:‬‬
‫מהנתון אנחנו מקבלים‬

‫) ‪f ( x1 ,...xi −1 ,1, xi +1...xn ) = f '( x1 ,...xi −1 , xi +1...xn‬‬
‫) ‪f ( x1 ,...xi −1 , 0, xi +1...xn ) = f '( x1 ,...xi −1 , xi +1...xn‬‬
‫ולכן ) ‪f ( x1 ,...xi −1 ,1, xi +1...xn ) = f ( x1 ,...xi −1 , 0, xi +1...xn‬‬
‫ולכן הפונקציה היא איזוטונית וגם אנטיטונית במשתנה הזה‪.‬‬

‫ד‪ .‬פונקציה אשר קיים לה יצוג ‪ SOP‬עם הליטרל ‪ xi‬אינה יכולה להיות אנטיטונית ב ‪xi‬‬
‫לא נכון‬
‫דוגמא נגדית‪:‬‬

‫‪f = x + x' =1‬‬

‫‪.‬‬

‫ה‪ .‬כל שתי פונקציות מונוטונית הן בהכרח באותו ‪.class NPN‬‬
‫לא נכון‪ :‬דוגמא נגדית‬

‫‪f1 ( x) = 1‬‬
‫‪f 2 ( x) = x‬‬
‫ו‪.‬‬

‫הפעלת ‪ NPN‬על פונקציה מונוטונית נותנת פונקציה מונוטונית‪.‬‬
‫נכון‪ :‬הוכחה‬
‫א‪ .‬היפוך של הפונקציה‪ .‬אם הפונקציה המקורית ) ‪ f ( x1 ,..x j ,..xn‬מונוטונית אזי‪,‬‬
‫עבור כל משתנה ‪ , x j‬מתקיים אחד מהשניים ) ‪ f ( x1 ,..1,..xn ) ≥ f ( x1 ,..0,..xn‬ואז‬
‫) ‪ , f ( x1 ,..1,..xn ) ≤ f ( x1 ,..0,..xn‬או ש ) ‪ f ( x1 ,..1,..xn ) ≤ f ( x1 ,..0,..xn‬ואז‬
‫) ‪ f ( x1 ,..1,..xn ) ≥ f ( x1 ,..0,..xn‬כלומר מונוטוניות נשמרת‪.‬‬
‫ב‪ .‬פרמוטציה של משתנים‪ -‬אם הפונקציה המקורית מונוטונית הרי שהיא מונוטונית‬
‫לכל המשתנים‪ ,‬ולכן גם בהחלפה‪ ,‬כל המשתנים ישארו מונוטונים‪.‬‬
‫ג‪ .‬היפוך של משתנים‪ :‬אם הפונקציה המקורית ) ‪ f ( x1 ,..x j ,..xn‬מונוטונית‪ ,‬אזי עבור‬
‫כל משתנה ‪ , x j‬מתקיים אחד מהשניים‬
‫) ‪ f ( x1 ,..1,..xn ) ≥ f ( x1 ,..0,..xn‬ואז ) ‪ f ( x1 ,..1,..xn ) ≤ f ( x1 ,..0,..xn‬או‬
‫ש ) ‪ f ( x1 ,..1,..xn ) ≤ f ( x1 ,..0,..xn‬ואז ) ‪ f ( x1 ,..1,..xn ) ≥ f ( x1 ,..0,..xn‬ולכן‬
‫מונוטוניות נשמרת‪.‬‬

‫ז‪.‬‬

‫אם ‪ f1‬ו‪ f 2 -‬פונקציות מונוטוניות אזי גם ‪f1 + f 2‬‬
‫לא נכון‬
‫דוגמא נגדית‪:‬‬
‫‪ f1 ( x, y ) = x ' y‬הפונקציה מונוטונית כי היא אנטי טונית ב‪ X-‬ואיזוטונית ב‪Y-‬‬

‫' ‪ f 2 ( x, y ) = xy‬הפונקציה מונוטונית כי היא איזוטונית ב‪ X-‬ואנטי טונית ב‪Y-‬‬
‫אבל‬
‫‪ f1 + f 2 = x ' y + xy ' = x ⊕ y‬והפונקציה הזו אינה מונוטונית‪.‬‬
‫ח‪ .‬פונקציה סימטרית ב‪ 3-‬משתנים או יותר אינה יכולה להיות מונוטונית‪.‬‬
‫לא נכון‪ -‬דוגמא נגדית‪f ( x, y, z ) = xyz :‬‬
‫ט‪ .‬האם הפונקציות הבאות מהוות סט אוניברסאלי?‬

‫} ‪{0, abc + abc ' d '+ a ' cd + ab ' cd + abc ' d‬‬
‫נצמצם את הפונקציה השנייה באמצעות קוביות ונקבל‬

‫} ‪{0, ab + cd‬‬

‫‪M‬‬
‫‪+‬‬
‫‪+‬‬

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

‫‪S‬‬
‫‬‫‪-‬‬

‫‪P1‬‬
‫‬‫‪+‬‬

‫‪P0‬‬
‫‪+‬‬
‫‪+‬‬

‫‪0‬‬
‫‪Ab+cd‬‬

‫למשל בעמודה של ‪ M‬אין לנו "–" ולכן זהו אינו סט אוניברסאלי‪.‬‬
‫י‪ .‬האם ניתן ליצור את הפונקציה ‪ ab‬באמצעות הפונקציות הנתונות? כן‪ ,‬למשל‬

‫‪a− > a‬‬
‫‪b− > b‬‬
‫‪0− > c‬‬
‫‪0− > d‬‬

‫י"א‪ .‬האם ניתן ליצור את הפונקציה ‪ 1‬באמצעות הפונקציה הנתונה? לא‪ ,‬מפני שאין‬
‫לנו איך ליצור מהפך!‬
‫יא‪ .‬תן דוגמא לפונקציה שניתן להוסיף ולקבל סט אוניברסאלי‪.NAND :‬‬

‫תזכורת‪:‬‬

‫פונקציות סף‪:‬‬
‫פונקציה ) ‪ f ( x1 ,...xn‬תקרא פונקציית סף אם ניתן לייצג אותה באופן הבא‪:‬‬

‫תרגיל‪ :‬אנליזה‪:‬‬
‫נתונה פונקצית הסף הבאה‪:‬‬

‫‪n = 3, α 0 = 1, α1 = 3, α 2 = 0.5,η = 1.5‬‬
‫זוהי פונקציית הסף‪:‬‬

‫‪1 when x0 + 3x1 + 0.5 x2 ≥ 1.5‬‬
‫‪f =‬‬
‫‪o.w.‬‬
‫‪0‬‬
‫‪10‬‬
‫‪3‬‬
‫‪4‬‬

‫‪11‬‬
‫‪3.5‬‬
‫‪4.5‬‬

‫‪01‬‬
‫‪0.5‬‬
‫‪1.5‬‬

‫זוהי הפונקציה המתאימה לטבלת האמת הבאה‪:‬‬

‫‪00‬‬
‫‪0‬‬
‫‪1‬‬

‫‪x0/x1,x2‬‬
‫‪0‬‬
‫‪1‬‬

‫‪11‬‬
‫‪1‬‬
‫‪1‬‬

‫‪10‬‬
‫‪1‬‬
‫‪1‬‬

‫‪01‬‬
‫‪0‬‬
‫‪1‬‬

‫‪00‬‬
‫‪0‬‬
‫‪0‬‬

‫‪x0/x1,x2‬‬
‫‪0‬‬
‫‪1‬‬

‫זוהי הפונקציה ‪x1 + x0 x2‬‬
‫אם כל המקדמים ‪ α i‬הם אי שליליים אזי הפונקציה היא איזוטונית‪.‬‬
‫אם כל המקדמים ‪ α i‬הם אי חיוביים אזי הפונקציה היא אנטי טונית‬
‫כל פונקציות הסף הן מונוטוניות אבל יש פונקציות מונוטוניות שאינן פונקציות סף‪ ,‬למשל‬
‫היא מונוטונית אבל אינה פונקציית סף‪.‬‬
‫תרגיל‪ :‬אנליזה‪:‬‬
‫נתונה פונקציית הסף הבאה‪:‬‬

‫‪n = 3, α 0 = −1, α1 = 3, α 2 = 0.5,η = 1.5‬‬
‫זוהי פונקציית הסף‪:‬‬

‫‪1 when -x0 + 3x1 + 0.5 x2 ≥ 1.5‬‬
‫‪f =‬‬
‫‪o.w.‬‬
‫‪0‬‬
‫‪01‬‬
‫‪11‬‬
‫‪10‬‬
‫‪0.5‬‬
‫‪3.5‬‬
‫‪3‬‬
‫‪-0.5‬‬
‫‪2.5‬‬
‫‪2‬‬
‫זוהי הפונקציה המתאימה לטבלת האמת הבאה‪:‬‬
‫‪10‬‬
‫‪1‬‬
‫‪1‬‬

‫‪11‬‬
‫‪1‬‬
‫‪1‬‬

‫‪01‬‬
‫‪0‬‬
‫‪0‬‬

‫‪00‬‬
‫‪0‬‬
‫‪-1‬‬

‫‪x0/x1,x2‬‬
‫‪0‬‬
‫‪1‬‬

‫‪00‬‬
‫‪0‬‬
‫‪0‬‬

‫‪x0/x1,x2‬‬
‫‪0‬‬
‫‪1‬‬

‫זוהי הפונקציה ‪f = x1‬‬
‫הגדרה‪ – base point :‬תא שמקבל את הערך הכי נמוך אבל שעדיין מעל הסף )אחד לפחות מכל‬
‫קלסטר(‪.‬‬
‫סינתזה‪:‬‬
‫דוגמא‪:‬‬
‫נתונה הפונקציה‬

‫שלב א‪ -‬בודקים מונוטוניות של משתנים‪:‬‬

‫שלב ב'‪" -‬הופכים" את המשתנים האנטי טונים לאיזוטונים‪:‬‬

‫שלב ג'‪ :‬עבור כל משתנה נרשום את כמות הפעמים שהוא מקבל "‪ "1‬בכניסה והפונקציה מוציאה "‪"1‬‬

‫שלב ד'‪ :‬ניתן משקל לכל משתנה‪:‬‬

‫ונבנה את הטבלה מחדש‪:‬‬

‫שלב ה'‪ :‬לכל המשתנים שהפכנו ניתן סימן שלילי‪.‬‬
‫נחסר מערך הסף את הערך המוחלט של המקדם של המשתנה שהפכנו‪.‬‬

‫דוגמא‪:‬‬
‫סינתזה‪:‬‬
‫‪x3,x2‬‬
‫‪10‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬

‫‪11‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬

‫‪01‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬

‫‪00‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬

‫‪00‬‬
‫‪01‬‬
‫‪11‬‬
‫‪10‬‬

‫‪x1,x0‬‬