חלק א'
המר את המספר 1110111 1110111 1110111 מבינארי לקוד G r a y Gray G r a y .
נשתמש בנוסחת ההמרה מבינארי לקוד g r a y gray g r a y :
{ g n = b n g i = b i ⊕ b i + 1 = ( b i + b i + 1 ) ( m o d 2 ) i = ( n − 1 ) , ( n − 2 ) , … , 1 , 0 \begin{cases}
g_{n}=b_{n} \\
g_{i}=b_{i}\oplus b_{i+1}=(b_{i}+b_{i+1})(mod\; 2)_{ \quad i=(n-1),(n-2),\dots,1,0}
\end{cases} { g n = b n g i = b i ⊕ b i + 1 = ( b i + b i + 1 ) ( m o d 2 ) i = ( n − 1 ) , ( n − 2 ) , … , 1 , 0
⇓ \Downarrow ⇓
{ g 0 = 1 ⊕ 1 = 0 g 1 = 1 ⊕ 1 = 0 g 2 = 1 ⊕ 0 = 1 g 3 = 0 ⊕ 1 = 1 g 4 = 1 ⊕ 1 = 0 g 5 = 1 ⊕ 1 = 0 g 6 = 1 \begin{cases}
g_{0}= 1 \oplus1=0 \\
g_{1}=1\oplus1=0 \\
g_{2}=1\oplus0=1 \\
g_{3}=0\oplus1=1 \\
g_{4}=1\oplus1=0 \\
g_{5}=1\oplus1=0 \\
g_{6}=1
\end{cases} ⎩ ⎨ ⎧ g 0 = 1 ⊕ 1 = 0 g 1 = 1 ⊕ 1 = 0 g 2 = 1 ⊕ 0 = 1 g 3 = 0 ⊕ 1 = 1 g 4 = 1 ⊕ 1 = 0 g 5 = 1 ⊕ 1 = 0 g 6 = 1
ולכן, המספר הנתון בקוד g r a y gray g r a y יהיה:
1001100 1001100 1001100
בצע את הפעולה 10 + ( − 22 ) 10+(-22) 10 + ( − 22 ) בייצוג המשלים ל-2. ציין את התשובה בייצוג זה בדיוק של 6 6 6 סיביות.
תחילה נמיר את המספרים לבינארי בתצורת המשלים ל-2:
( 10 ) 10 = 2 3 + 2 1 = ( 001010 ) 2 (10)_{10}=2^3+2^1=(001010)_{2} ( 10 ) 10 = 2 3 + 2 1 = ( 001010 ) 2
( − 22 ) 10 = 2 5 − 2 3 − 2 1 = ( 101010 ) 2 (-22)_{10}=2^5-2^3-2^1=(101010)_{2} ( − 22 ) 10 = 2 5 − 2 3 − 2 1 = ( 101010 ) 2
כעת, נוכל לבצע את החיבור:
+ 001010 101010 110100 \begin{matrix}
+ \\
\\
\end{matrix}\begin{matrix}
001010 \\
101010 \\
\hline 110100
\end{matrix} + 001010 101010 110100
קיבלנו את המספר הבינארי:
110100 110100 110100
שערכו בבסיס עשרוני הוא − 12 -12 − 12 כנדרש.
נתון הקוד הבא:
10011 01011 01010 10100 \begin{matrix}
10011 \\
01011 \\
01010 \\
10100
\end{matrix} 10011 01011 01010 10100
כמה מילים אפשר להוסיף לקוד מבלי לפגוע ביכולת לתקן ולגלות שגיאות?
נתחיל בלמצוא את מרחק המניג של המילים הנ"ל.
נסתכל על המילה השנייה: 01011 והמילה השלישית: 01010. המרחק בין המילים הוא 1 - הביט האחרון.
מרחק קוד הוא מינימום 1 ולכן זהו מרחק הקוד של הקוד.
ניתן לתקן מספר שגיאות כמרחק הקוד של הקוד מינוס אחד ולכן ניתן לתקן 0 שגיאות.
כל מילה שנוסיף בעלת 5 ביטים לא תרגע מיכולת תיקון השגיאות של הקוד שכן אין לו כזאת.
לכן, נוכל להוסיף בדיוק: 2 5 − 4 = 32 − 4 = 28 2^5-4=32-4=28 2 5 − 4 = 32 − 4 = 28 מילים לקוד :)
פשטו את הביטוי:
X Y + X ‾ Z + Y Z + W Z X ‾ + Y W ( Z + X ) XY+\overline{X}Z+YZ+WZ\overline{X}+YW(Z+X) X Y + X Z + Y Z + W Z X + YW ( Z + X )
נפרק את הביטוי:
X Y + X ‾ Z + Y Z + W Z X ‾ + Y W ( Z + X ) = X Y + X ‾ Z + W Z X ‾ + Y W ( Z + X ) קונצנזוס = X Y + X ‾ Z + Y W ( Z + X ) בליעה(הראשון) = X Y ( 1 + Y ) + Z ( X ‾ + Y W ) = X Y + Z ( X ‾ + Y W ) ערכים שולטים = X Y + Z X ‾ + Z Y W ( X + X ‾ ) X + X ‾ = 1 = X Y + Z X ‾ + Z Y W X + Z Y W X ‾ = X Y + X Y W Z + X ‾ Z + X ‾ Z Y W = X Y + X ‾ Z בליעה(הראשון) \begin{align*}
& XY+\overline{X}Z+YZ+WZ\overline{X}+YW(Z+X) \\
=\; & XY+\overline{X}Z+WZ\overline{X}+YW(Z+X) & \R{\text{קונצנזוס}} \\
=\; & XY+\overline{X}Z+YW(Z+X) & \R{\text{בליעה(הראשון)}} \\
=\; & XY(1+Y)+Z(\overline{X}+YW) \\
=\; & XY+Z(\overline{X}+YW) & \R{\text{ערכים שולטים}} \\
=\; & XY+Z\overline{X}+ZYW(X+\overline{X}) & X+\overline{X}=1 \\
=\; & XY+Z\overline{X}+ZYWX+ZYW\overline{X} \\
=\; & XY+XYWZ+\overline{X}Z+\overline{X}ZYW \\
=\; & XY+\overline{X}Z & \R{\text{בליעה(הראשון)}}
\end{align*} = = = = = = = = X Y + X Z + Y Z + W Z X + YW ( Z + X ) X Y + X Z + W Z X + YW ( Z + X ) X Y + X Z + YW ( Z + X ) X Y ( 1 + Y ) + Z ( X + YW ) X Y + Z ( X + YW ) X Y + Z X + Z YW ( X + X ) X Y + Z X + Z YW X + Z YW X X Y + X YW Z + X Z + X Z YW X Y + X Z קונצנזוס בליעה(הראשון) ערכים שולטים X + X = 1 בליעה(הראשון)
וזוהי התשובה.
הוכח/הפרך: a ⊕ b = a ‾ ⊕ b ‾ a \oplus b=\overline{a}\oplus\overline{b} a ⊕ b = a ⊕ b .
הטענה נכונה .
הוכחה:
נעשה הוכחה באמצעות אינדוקציה שלמה:
a b a ‾ b ‾ a ⊕ b a ‾ ⊕ b ‾ 0 0 1 1 0 0 0 1 1 0 1 1 1 0 0 1 1 1 1 1 0 0 0 0 \begin{matrix}
\begin{array}{|cc|cc|c|c|}
\hline a & b & \overline{a} & \overline{b} & a \oplus b & \overline{a}\oplus\overline{b} \\
\hline 0 & 0 & 1 & 1 & 0 & 0 \\
0 & 1 & 1 & 0 & 1 & 1 \\
1 & 0 & 0 & 1 & 1 & 1 \\
1 & 1 & 0 & 0 & 0 & 0 \\
\hline
\end{array}
\end{matrix} a 0 0 1 1 b 0 1 0 1 a 1 1 0 0 b 1 0 1 0 a ⊕ b 0 1 1 0 a ⊕ b 0 1 1 0
ניתן לראות לפי האינדוקציה השלמה כי a ⊕ b = a ‾ ⊕ b ‾ a \oplus b= \overline{a}\oplus \overline{b} a ⊕ b = a ⊕ b .
ניתן גם להוכיח באמעות תכונת שער X O R XOR XOR הבאה: a ⊕ 1 = a ‾ a \oplus 1=\overline{a} a ⊕ 1 = a כך:
a ‾ ⊕ b ‾ = a ⊕ 1 ⊕ b ⊕ 1 = a ⊕ b ⊕ 1 ⊕ 1 = a ⊕ b ⊕ 0 = a ⊕ b \overline{a}\oplus\overline{b}=a \oplus 1 \oplus b \oplus 1=a \oplus b \oplus 1 \oplus 1= a \oplus b \oplus 0 =a \oplus b a ⊕ b = a ⊕ 1 ⊕ b ⊕ 1 = a ⊕ b ⊕ 1 ⊕ 1 = a ⊕ b ⊕ 0 = a ⊕ b
∎
המר את קטע הקוד הבא משפת C C C לאסמבלי:
int a = 5 , b = 7 ;
int temp = a;
a = b;
b = temp;
נשתמש ברגיסטר t 0 t_{0} t 0 לתיאור a a a , ברגיסטר t 1 t_{1} t 1 לתיאור b b b וברגיסטר t 2 t_{2} t 2 לתיאור t e m p temp t e m p . אזי:
addi t0,x0,5
addi t1,x0,7
add t2,x0,t0
add t0,x0,t1
add t1,x0,t2
חלק ב'
נתון ש-( a N − 1 a N − 2 … a 1 a 0 ) 3 = ( V ) 10 (a_{N-1}a_{N-2}\dots a_{1}a_{0})_{3}=(V)_{10} ( a N − 1 a N − 2 … a 1 a 0 ) 3 = ( V ) 10 . כלומר, ערכו של המספר a N − 1 a N − 2 … a 1 a 0 a_{N-1}a_{N-2}\dots a_{1}a_{0} a N − 1 a N − 2 … a 1 a 0 שמיוצג בבסיס 3 הוא V V V .
נשרשר את שתי הספרות 21 21 21 בצד ימין ללא שינוי שאר הספרות. מהו ערכו של המספר החדש ( a N − 1 a N − 2 … a 1 a 0 21 ) 3 (a_{N-1}a_{N-2}\dots a_{1}a_{0}21)_{3} ( a N − 1 a N − 2 … a 1 a 0 21 ) 3 כתלות ב-V V V ?
א. 3 V + 7 3V+7 3 V + 7
ב. 9 V + 7 9V+7 9 V + 7
ג. 3 V + 6 3V+6 3 V + 6
ד. V + 7 V+7 V + 7
ה. 9 V + 6 9V+6 9 V + 6
נפרק את המספר הזה בבסיס 3 לבסיס עשרוני כך:
( a N − 1 a N − 2 … a 1 a 0 ) 3 = a N − 1 ⋅ 3 N − 1 + a N − 2 ⋅ 3 N − 2 + ⋯ + a 1 ⋅ 3 1 + a 0 ⋅ 1 = ∑ i = 0 N − 1 a i ⋅ 3 i = ( V ) 10 (a_{N-1}a_{N-2}\dots a_{1}a_{0})_{3}=a_{N-1}\cdot 3^{N-1}+a_{N-2}\cdot 3^{N-2}+\dots+a_{1}\cdot 3^1+a_{0}\cdot 1=\sum_{i=0}^{N-1} a_{i}\cdot 3^{i}=(V)_{10} ( a N − 1 a N − 2 … a 1 a 0 ) 3 = a N − 1 ⋅ 3 N − 1 + a N − 2 ⋅ 3 N − 2 + ⋯ + a 1 ⋅ 3 1 + a 0 ⋅ 1 = i = 0 ∑ N − 1 a i ⋅ 3 i = ( V ) 10
כעת, נפרק את המספר החדש:
( a N − 1 a N − 2 … a 1 a 0 21 ) 3 = a N − 1 ⋅ 3 N + 1 + a N − 2 ⋅ 3 N + ⋯ + a 1 ⋅ 3 3 + a 0 ⋅ 3 2 + 2 ⋅ 3 1 + 1 ⋅ 1 = 7 + ∑ i = 0 N − 1 a i ⋅ 3 i + 2 = (a_{N-1}a_{N-2}\dots a_{1}a_{0}21)_{3}=a_{N-1}\cdot 3^{N+1}+a_{N-2}\cdot3^{N}+\dots+a_{1}\cdot 3^3+a_{0}\cdot 3^2+2\cdot 3^1+1\cdot 1=7+\sum_{i=0}^{N-1}a_{i}\cdot 3^{i+2}= ( a N − 1 a N − 2 … a 1 a 0 21 ) 3 = a N − 1 ⋅ 3 N + 1 + a N − 2 ⋅ 3 N + ⋯ + a 1 ⋅ 3 3 + a 0 ⋅ 3 2 + 2 ⋅ 3 1 + 1 ⋅ 1 = 7 + i = 0 ∑ N − 1 a i ⋅ 3 i + 2 =
7 + ∑ i = 0 N − 1 a i ⋅ 3 i ⋅ 3 2 = 7 + 3 2 ( ∑ i = 0 N − 1 a i ⋅ 3 i ) = ↓ הפיתוח הקודם 7 + 3 2 V = 9 V + 7 7+\sum_{i=0}^{N-1}a_{i}\cdot 3^i\cdot3^2=7+3^2\left( \sum_{i=0}^{N-1}a_{i}\cdot 3^i \right) \underset{\begin{matrix}
\downarrow \\
\R{\text{הפיתוח הקודם}}
\end{matrix}}{=}7+3^2V=9V+7 7 + i = 0 ∑ N − 1 a i ⋅ 3 i ⋅ 3 2 = 7 + 3 2 ( i = 0 ∑ N − 1 a i ⋅ 3 i ) ↓ הפיתוח הקודם = 7 + 3 2 V = 9 V + 7
ולכן, התשובה היא (ב) - 9 V + 7 9V+7 9 V + 7 .
לפיצרייה "פיצה-קוד" יש מערכת הזמנת משלוחים מיוחדת. לכל לקוח יש משדר שממנו הוא משדר את ההזמנה ובפיצרייה יש מקלט אשר מקבל את כל ההזמנות ומפענח אותן.
לכל סוג פיצה יש קוד יחודי a 0 a 1 a 2 a 3 a 4 a_{0}a_{1}a_{2}a_{3}a_{4} a 0 a 1 a 2 a 3 a 4 :
קוד פיצה 00110 זיתים 01001 פטריות 00011 פפרוני 11000 מוצרלה 10001 אננס 01100 בולגרית \begin{array}{|c|c|}
\hline \R{\text{קוד}} & \R{\text{פיצה}} \\
\hline 00110 & \R{\text{זיתים}} \\
01001 & \R{\text{פטריות}} \\
00011 & \R{\text{פפרוני}} \\
11000 & \R{\text{מוצרלה}} \\
10001 & \R{\text{אננס}} \\
01100 & \R{\text{בולגרית}} \\
\hline
\end{array} קוד 00110 01001 00011 11000 10001 01100 פיצה זיתים פטריות פפרוני מוצרלה אננס בולגרית
על מנת לשפר את השירות, החליטו להוסיף לכל מילת קוד את הסיביות הבאות:
c 0 = a 0 c 1 = a 1 c 2 = a 2 c 3 = a 3 c 4 = a 4 c 5 = a 0 ⊕ a 1 ⊕ a 2 ⊕ a 3 ⊕ a 4 \begin{align*}
c_{0}&=a_{0} \\
c_{1}&=a_{1} \\
c_{2}&=a_{2} \\
c_{3}&=a_{3} \\
c_{4}&=a_{4} \\
c_{5}&=a_{0} \oplus a_{1} \oplus a_{2} \oplus a_{3} \oplus a_{4}
\end{align*} c 0 c 1 c 2 c 3 c 4 c 5 = a 0 = a 1 = a 2 = a 3 = a 4 = a 0 ⊕ a 1 ⊕ a 2 ⊕ a 3 ⊕ a 4
מהו מרחק הקוד החדש: a 0 a 1 a 2 a 3 a 4 c 0 c 1 c 2 c 3 c 4 c 5 a_{0}a_{1}a_{2}a_{3}a_{4}c_{0}c_{1}c_{2}c_{3}c_{4}c_{5} a 0 a 1 a 2 a 3 a 4 c 0 c 1 c 2 c 3 c 4 c 5 ?
נמצא תחילה את מרחק הקוד של הקוד המקורי a 0 … a 4 a_{0}\dots a_{4} a 0 … a 4 ע"י מציאת מרחק המינג. נשים לב כי בין כל שתי מילים בקוד המרחק הוא 2 ולכן זהו מרחק הקוד.
כאשר נוסיף את c 0 … c 4 c_{0}\dots c_{4} c 0 … c 4 נקבל מרחק קוד חדש של 4 שכן זה פשוט שכפול של קודים.
נכתוב את הקודים החדשים כעת:
קוד פיצה 00110001100 זיתים 01001010010 פטריות 00011000110 פפרוני 11000110000 מוצרלה 10001100010 אננס 01100011000 בולגרית \begin{array}{|c|c|}
\hline \R{\text{קוד}} & \R{\text{פיצה}} \\
\hline 00110001100 & \R{\text{זיתים}} \\
01001010010 & \R{\text{פטריות}} \\
00011000110 & \R{\text{פפרוני}} \\
11000110000 & \R{\text{מוצרלה}} \\
10001100010 & \R{\text{אננס}} \\
01100011000 & \R{\text{בולגרית}} \\
\hline
\end{array} קוד 00110001100 01001010010 00011000110 11000110000 10001100010 01100011000 פיצה זיתים פטריות פפרוני מוצרלה אננס בולגרית
נשים לב כי לכל מילה מתקיים ש-c 5 = 0 c_{5}=0 c 5 = 0 ולכן הוא לא מוסיף למרחק הקוד. נראה זאת גם בחישוב:
c 5 זיתים = 0 ⊕ 0 ⊕ 1 ⊕ 1 ⊕ 0 = 0 ⊕ 1 ⊕ 1 ⊕ 0 = 1 ⊕ 1 ⊕ 0 = 0 ⊕ 0 = 0 c 5 פטריות = 0 ⊕ 1 ⊕ 0 ⊕ 0 ⊕ 1 = 1 ⊕ 0 ⊕ 0 ⊕ 1 = 1 ⊕ 0 ⊕ 1 = 1 ⊕ 1 = 0 c 5 פפרוני = 0 ⊕ 0 ⊕ 0 ⊕ 1 ⊕ 1 = 0 ⊕ 0 ⊕ 1 ⊕ 1 = 0 ⊕ 1 ⊕ 1 = 1 ⊕ 1 = 0 c 5 מוצרלה = 1 ⊕ 1 ⊕ 0 ⊕ 0 ⊕ 0 = 0 ⊕ 0 ⊕ 0 ⊕ 0 = 0 ⊕ 0 ⊕ 0 = 0 ⊕ 0 = 0 c 5 אננס = 1 ⊕ 0 ⊕ 0 ⊕ 0 ⊕ 1 = 1 ⊕ 0 ⊕ 0 ⊕ 1 = 1 ⊕ 0 ⊕ 1 = 1 ⊕ 1 = 0 c 5 בולגרית = 0 ⊕ 1 ⊕ 1 ⊕ 0 ⊕ 0 = 1 ⊕ 1 ⊕ 0 ⊕ 0 = 0 ⊕ 0 ⊕ 0 = 0 ⊕ 0 = 0 \begin{matrix}
c_{5_{\R{\text{זיתים}}}}=0 \oplus 0 \oplus 1 \oplus 1 \oplus 0=0 \oplus 1 \oplus 1 \oplus 0= 1 \oplus 1 \oplus 0=0 \oplus 0 =0 \\
c_{5_{\R{\text{פטריות}}}}=0\oplus 1\oplus 0 \oplus 0 \oplus 1= 1 \oplus 0 \oplus 0 \oplus 1= 1 \oplus 0 \oplus 1= 1 \oplus 1=0 \\
c_{5_{\R{\text{פפרוני}}}}=0 \oplus 0 \oplus 0 \oplus 1 \oplus 1=0 \oplus 0 \oplus 1 \oplus 1=0 \oplus 1 \oplus 1=1 \oplus 1=0 \\
c_{5_{\R{\text{מוצרלה}}}}=1 \oplus 1 \oplus 0 \oplus 0 \oplus 0= 0 \oplus 0 \oplus 0 \oplus 0=0 \oplus 0 \oplus 0=0 \oplus 0=0 \\
c_{5_{\R{\text{אננס}}}}=1 \oplus 0 \oplus 0 \oplus 0 \oplus 1=1 \oplus 0 \oplus 0 \oplus 1 =1 \oplus 0 \oplus 1=1 \oplus 1=0 \\
c_{5_{\R{\text{בולגרית}}}}=0 \oplus 1 \oplus 1 \oplus 0 \oplus 0=1 \oplus 1 \oplus 0 \oplus 0=0 \oplus 0 \oplus 0=0 \oplus 0 = 0
\end{matrix} c 5 זיתים = 0 ⊕ 0 ⊕ 1 ⊕ 1 ⊕ 0 = 0 ⊕ 1 ⊕ 1 ⊕ 0 = 1 ⊕ 1 ⊕ 0 = 0 ⊕ 0 = 0 c 5 פטריות = 0 ⊕ 1 ⊕ 0 ⊕ 0 ⊕ 1 = 1 ⊕ 0 ⊕ 0 ⊕ 1 = 1 ⊕ 0 ⊕ 1 = 1 ⊕ 1 = 0 c 5 פפרוני = 0 ⊕ 0 ⊕ 0 ⊕ 1 ⊕ 1 = 0 ⊕ 0 ⊕ 1 ⊕ 1 = 0 ⊕ 1 ⊕ 1 = 1 ⊕ 1 = 0 c 5 מוצרלה = 1 ⊕ 1 ⊕ 0 ⊕ 0 ⊕ 0 = 0 ⊕ 0 ⊕ 0 ⊕ 0 = 0 ⊕ 0 ⊕ 0 = 0 ⊕ 0 = 0 c 5 אננס = 1 ⊕ 0 ⊕ 0 ⊕ 0 ⊕ 1 = 1 ⊕ 0 ⊕ 0 ⊕ 1 = 1 ⊕ 0 ⊕ 1 = 1 ⊕ 1 = 0 c 5 בולגרית = 0 ⊕ 1 ⊕ 1 ⊕ 0 ⊕ 0 = 1 ⊕ 1 ⊕ 0 ⊕ 0 = 0 ⊕ 0 ⊕ 0 = 0 ⊕ 0 = 0
לכן, זה לא משנה את מרחק הקוד ולכן, מרחק הקוד החדש הינו 4 .
נתונות היחידות הלוגיות K K K ו-N K NK N K :
איזה מסטים הבאים אינו מהווה מערכת פעולות שלמה?
א. { N K , N O T } \left\{ NK,NOT \right\} { N K , NOT }
ב. { N K , 1 } \left\{ NK,1 \right\} { N K , 1 }
ג. { K , N O T } \left\{ K,NOT \right\} { K , NOT }
ד. { N K , 0 } \left\{ NK,0 \right\} { N K , 0 }
ה. { K , 1 } \left\{ K,1 \right\} { K , 1 }
תחילה נבדוק האם ניתן לייצר N O T NOT NOT מכל אחת מהמערכות:
א. ברור. ננסה ליצור O R / A N D OR/AND OR / A N D :
N K ( x , y ) = x y ‾ ‾ = ↓ דה מורגן x ‾ + y N K ( N O T ( x ) , y ) = N K ( x ‾ , y ) = x ‾ ⋅ y ‾ ‾ = x + y NK(x,y)=\overline{x\overline{y}} \underset{\begin{matrix}
\downarrow \\
\R{\text{דה מורגן}}
\end{matrix}}{=}\overline{x}+y \qquad \qquad NK(NOT(x),y)=NK(\overline{x},y)=\overline{\overline{x}\cdot\overline{y}}=x+y N K ( x , y ) = x y ↓ דה מורגן = x + y N K ( NOT ( x ) , y ) = N K ( x , y ) = x ⋅ y = x + y
לכן, זוהי מערכת פעולות שלמה.
ב:
N K ( x , x ) = x ⋅ x ‾ ‾ = x ‾ + x = 1 N K ( 1 , x ) = 1 ⋅ x ‾ ‾ = 0 + x = x NK(x,x)=\overline{x\cdot \overline{x}}=\overline{x}+x=1 \quad \quad NK(1,x)=\overline{1\cdot \overline{x}}=0+x=x N K ( x , x ) = x ⋅ x = x + x = 1 N K ( 1 , x ) = 1 ⋅ x = 0 + x = x
N K ( 1 , x ) = x ⋅ 0 ‾ = 1 NK(1,x)=\overline{x\cdot 0}=1 N K ( 1 , x ) = x ⋅ 0 = 1
לא ניתן ליצור N O T NOT NOT ולכן זוהי אינה מערכת פעולות שלמה.
ג: ברור. ננסה ליצור O R / A N D OR/AND OR / A N D :
K ( x , y ) = x y ‾ K ( x , N O T ( y ) ) = K ( x , y ‾ ) = x y K(x,y)=x\overline{y} \qquad \qquad K(x,NOT(y))=K(x,\overline{y})=xy K ( x , y ) = x y K ( x , NOT ( y )) = K ( x , y ) = x y
לכן, זוהי מערכת פעולות שלמה.
ד:
N K ( x , 0 ) = x ⋅ 1 ‾ = x ‾ NK(x,0)=\overline{x\cdot 1}=\overline{x} N K ( x , 0 ) = x ⋅ 1 = x
כעת, ננסה ליצור O R / A N D OR/AND OR / A N D :
N K ( x , y ) = x y ‾ ‾ = x ‾ + y N K ( N K ( x , 0 ) , y ) = N K ( x ‾ , y ‾ ) = x ‾ ⋅ y ‾ ‾ = x + y NK(x,y)=\overline{x\overline{y}}=\overline{x}+y \qquad \qquad NK(NK(x,0),y)=NK(\overline{x},\overline{y})=\overline{\overline{x}\cdot\overline{y}}=x+y N K ( x , y ) = x y = x + y N K ( N K ( x , 0 ) , y ) = N K ( x , y ) = x ⋅ y = x + y
לכן, זוהי מערכת פעולות שלמה.
ה:
K ( x , x ) = x x ‾ = 0 K ( 1 , 1 ) = 1 ⋅ 0 = 0 K ( x , 1 ) = x ⋅ 0 = 0 K ( 1 , x ) = 1 ⋅ x ‾ = x ‾ K(x,x)=x\overline{x}=0 \qquad K(1,1)=1\cdot 0=0 \qquad K(x,1)=x\cdot 0=0 \qquad K(1,x)=1\cdot \overline{x}=\overline{x} K ( x , x ) = x x = 0 K ( 1 , 1 ) = 1 ⋅ 0 = 0 K ( x , 1 ) = x ⋅ 0 = 0 K ( 1 , x ) = 1 ⋅ x = x
נשים לב כי יצרנו N O T NOT NOT . כעת, בואו נמשיך לבדוק האם אנחנו יכולים ליצור A N D / O R AND/OR A N D / OR :
K ( x , y ) = x y ‾ K ( x , K ( 1 , y ) ) = K ( x , y ‾ ) = x y ‾ ‾ = x y \begin{matrix}
K(x,y)=x\overline{y} \quad & \quad K(x,K(1,y))=K(x,\overline{y})=x\overline{\overline{y}}=xy
\end{matrix} K ( x , y ) = x y K ( x , K ( 1 , y )) = K ( x , y ) = x y = x y
לכן, זוהי מערכת פעולות שלמה.
לכן, התשובה הנכונה היא ב .