חזור לתיקייה: תרגול

3 - אלגברה בוליאנית, פונקציות מיתוג ומערכת פעולות שלמה

חיפוש בתיקיה
Ctrl K
לחץ כאן או הקש Ctrl K כדי לחפש בכל התיקיה
  • כללי
  • פונקציות
  • דרכים לייצג פונקציות
  • טבלת אמת
  • סכום מכפלות (Minterm)
  • מכפלת סכומים (Maxterm)
  • דיאגרמת מעגל לוגי
  • זהויות XOR
  • מעבר למכפלת סכומים קנונית
  • מערכת פעולות שלמה
  • מערכת פעולות חצי שלמה
  • תרגול

3 - אלגברה בוליאנית, פונקציות מיתוג ומערכת פעולות שלמה

00440252

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

רשימות תרגול לקריאה בשבת

אלגברה בוליאנית, פונקציות מיתוג ומערכת פעולות שלמה

הופק מתוך תקיית התואר של שקד

uni-folder.vercel.app

הערה (תזכורת)

מרחק המינג - זה סתם מרחק בין 2 מילים בקוד
מרחק קוד - הוא המרחק המינג המינימלי בכל הקוד.

למדנו שהמחשב "סופר" בבינארית. אבל אנחנו רוצים גם לבצע פעולות חשבוניות, להריץ תוכנות, לקבל החלטות וכו'.

משפט (זהויות שימושיות)

A+A=AA⋅A=AA+1=1A⋅1=AA+0=AA⋅0=0A+A‾=1A⋅A‾=0ORAND\begin{matrix} A+A=A & A\cdot A=A \\ A+1=1 & A\cdot 1=A \\ A+0=A & A\cdot 0=0 \\ A+\overline{A}=1 & A\cdot \overline{A}=0 \\ OR & AND \end{matrix}A+A=AA+1=1A+0=AA+A=1OR​A⋅A=AA⋅1=AA⋅0=0A⋅A=0AND​
משפט (זהויות נוספות)

A+A⋅B=AA+A\cdot B=AA+A⋅B=A A+A‾⋅B=A+BA+\overline{A}\cdot B=A+BA+A⋅B=A+B (A+B)(A+C)=A+BC(A+B)(A+C)=A+BC(A+B)(A+C)=A+BC

הוכחה:

A+AB=A(B+1⏟1)=AA+AB=A(\underbrace{B+1}_1)=AA+AB=A(1B+1​​)=A A+A‾B=A+ABA+A‾B=A+B(A+A‾)=A+BA+\overline{A}B=\underbracket{A+AB}_{A}+\overline{A}B=A+B(A+\overline{A})=A+BA+AB=AA+AB​+AB=A+B(A+A)=A+B (A+B)(A+C)=AA+AC+AB+BC=A(1+B+C)+BC=A+BC(A+B)(A+C)=AA+AC+AB+BC=A(1+B+C)+BC=A+BC(A+B)(A+C)=AA+AC+AB+BC=A(1+B+C)+BC=A+BC

∎

משפט (דה-מורגן)

A⋅B‾=A‾+B‾\overline{A\cdot B}=\overline{A}+\overline{B}A⋅B=A+B A+B‾=A‾⋅B‾\overline{A+B}=\overline{A}\cdot \overline{B}A+B​=A⋅B
הערה

חשוב מאוד לשים לב כי לא ניתן להוציא NOTNOTNOT מהסוגריים!

תרגיל

צמצמו את הביטוי (A+B)(A+B‾)C(A+B)(A+\overline{B})C(A+B)(A+B)C

(A+B)(A+B‾)C=(AA+AB‾+AB+BB‾)C=[A+A(B‾+B⏟1)]C=(A+A⏟A)C=AC\begin{align*} (A+B)(A+\overline{B})C &=(AA+A\overline{B}+AB+B\overline{B})C \\ &=[A+A(\underbrace{\overline{B}+B}_{1})]C=(\underbrace{A+A}_{A})C \\ &=AC \end{align*}(A+B)(A+B)C​=(AA+AB+AB+BB)C=[A+A(1B+B​​)]C=(AA+A​​)C=AC​
תרגיל

פשטו את הביטוי הבא:

A‾ B‾ C‾+A‾BC‾+ABC‾+AB‾ C‾+ABC+AB‾C\overline{A}\ \overline{B}\ \overline{C}+\overline{A}B \overline{C}+AB \overline{C}+A \overline{B}\ \overline{C}+ABC+A \overline{B}CA B C+ABC+ABC+AB C+ABC+ABC
A‾ B‾ C‾+A‾BC‾+ABC‾+AB‾ C‾+ABC+AB‾C=A‾⋅C‾(B+B‾)AC‾(B+B‾)+AC(B+B‾)=A‾⋅C‾+AC‾+AC‾+AC=C‾(A‾+A)+A(C+C‾)=A+C‾\begin{align*} \overline{A}\ \overline{B}\ \overline{C}&+\overline{A}B \overline{C}+AB \overline{C}+A \overline{B}\ \overline{C}+ABC+A \overline{B}C \\ &=\overline{A}\cdot\overline{C}(B+\overline{B})A \overline{C}(B+\overline{B})+AC(B+\overline{B}) \\ &=\overline{A}\cdot \overline{C}+\underbracket{A \overline{C}+ A \overline{C}}+AC \\ &=\overline{C}(\overline{A}+A)+A(C+\overline{C}) \\ &=A+\overline{C} \end{align*}A B C​+ABC+ABC+AB C+ABC+ABC=A⋅C(B+B)AC(B+B)+AC(B+B)=A⋅C+AC+AC+AC=C(A+A)+A(C+C)=A+C​
תרגיל

פשטו את הביטוי A(B‾⋅C‾+BC)‾\overline{A(\overline{B}\cdot \overline{C}+BC)}A(B⋅C+BC)​

כדי לא להתבלבל נתחיל לתת שמות:

X=B‾⋅C‾+BCX=\overline{B}\cdot \overline{C}+BCX=B⋅C+BC

לפי דה מורגן מתקיים:

AX‾=A‾+X‾\overline{AX}=\overline{A}+\overline{X}AX=A+X

כעת, נוכל לפרק את XXX:

X‾=B‾⋅C‾⏟Y+BCZ‾\overline{X}=\overline{\underbrace{\overline{B}\cdot \overline{C}}_{Y}+ \underbracket{BC}_{Z}}X=YB⋅C​​+ZBC​​ Y‾=B‾⋅C‾=B+C\overline{Y}=\overline{B}\cdot \overline{C}=B+CY=B⋅C=B+C Z‾=BC‾=B‾+C‾\overline{Z}=\overline{BC}=\overline{B}+\overline{C}Z=BC=B+C

כעת, נוכל לחזור למשוואה המקורית שלנו:

A‾+X‾=A‾+Y‾⋅Z‾=A‾+(B+C)(B‾+C‾)=A‾+(BB‾+B‾C+BC‾+CC‾)=↓XX‾=0A‾+B‾C+BC‾\overline{A}+\overline{X}=\overline{A}+\overline{Y}\cdot \overline{Z}=\overline{A}+(B+C)(\overline{B}+\overline{C})=\overline{A}+(B \overline{B}+\overline{B}C+B \overline{C}+C \overline{C}) \underset{\begin{matrix} \downarrow \\ X \overline{X}=0 \end{matrix}}{=}\overline{A}+\overline{B}C+B \overline{C}A+X=A+Y⋅Z=A+(B+C)(B+C)=A+(BB+BC+BC+CC)↓XX=0​=​A+BC+BC

פונקציות

הגדרה 1 (פונקציה לוגית)

פונקציה f(x1,K,xn)f(x_{1},K, x_{n})f(x1​,K,xn​) תקרא פונקציה לוגית אם היא מתאימה ערך (0 או 1) לכל אחד מה-2n2^n2n הצירופים של המשתנים שלה.

דוגמה

f(0,0,1)=1f(0,0,1)=1f(0,0,1)=1
הערה

קיימות 22n2^{2^n}22n פונקציות שונות ב-nnn משתנים.

הגדרה 2 (ליטרל)

משתנה

הגדרה 3 (MintermMintermMinterm - מינטרמם)

מכפלה המכילה את כל nnn הליטרלים המקבלת את הערך 1 רק עבור צירוף אחד של ערכי הליטרלים.

דוגמה

w‾xyz‾\overline{w}xy \overline{z}wxyz

עם w‾=0,x=1,y=1,z‾=0\overline{w}=0,x=1,y=1,\overline{z}=0w=0,x=1,y=1,z=0.

הגדרה 4 (צורה קנונית של סכום מכפלות)

סכום כל המכפלות(mintermsmintermsminterms) המתאימות לשורות בטבלת האמת עבורן הפונקציה מקבלת 1.

הערה

הצורה הקנונית אינה בהכרח הצורה המצומצמת או המיטבית ביותר.

הגדרה 5 (MaxtermMaxtermMaxterm - מקסטרם)

סכום של nnn הליטרלים המקבלים את הערך 000 רק עבור צירוף אחד של ערכי הליטרלים.

הגדרה 6 (צורה קנונית של מכפלת סכומים)

מכפלת כל הסכומים(maxtermmaxtermmaxterm) המתאימים לשורות בטבלת האמת עבורן הפונקציה מקבלת 0.

דרכים לייצג פונקציות

1. טבלת אמת

עבור 333 משתני כניסה x,y,zx,y,zx,y,z, קיימים 23=82^3=823=8 צירופי משתנים וקיימות 28=2562^8=25628=256 פונקציות שונות:

xyzf0f1f2f43f2550000000100100001010000110110000110000011101000011100011111101011\begin{matrix} \begin{array}{|c|c|c|c|c|c|c|c|} \hline xyz & f_{0} & f_{1} & f_{2} & & f_{43} & & f_{255} \\ \hline 000 & 0 & 0 & 0 & & 0 & & 1 \\ 001 & 0 & 0 & 0 & & 0 & & 1 \\ 010 & 0 & 0 & 0 & & 1 & & 1 \\ 011 & 0 & 0 & 0 & & 0 & & 1 \\ 100 & 0 & 0 & 0 & & 1 & & 1 \\ 101 & 0 & 0 & 0 & & 0 & & 1 \\ 110 & 0 & 0 & 1 & & 1 & & 1 \\ 111 & 0 & 1 & 0 & & 1 & & 1 \\ \hline \end{array} \end{matrix}xyz000001010011100101110111​f0​00000000​f1​00000001​f2​00000010​​f43​00101011​​f255​11111111​​​

2. סכום מכפלות (MintermMintermMinterm)

סכום מכפלותxyzf43(x,y,z)minterm000000100101x′yz′01101001xy′z′10101101xyz′1111xyz\begin{array}{|c|c|c|} \hline && \R{\text{סכום מכפלות}} \\ xyz & f_{43}(x,y,z) \\ && minterm \\ \hline 000 & 0 \\ 001 & 0 \\ 010 & 1 & x'yz' \\ 011 & 0 \\ 100 & 1 & xy'z' \\ 101 & 0 \\ 110 & 1 & xyz' \\ 111 & 1 & xyz \\ \hline \end{array}xyz000001010011100101110111​f43​(x,y,z)00101011​סכום מכפלותmintermx′yz′xy′z′xyz′xyz​​ f43(x,y,z)=x′yz′+xy′z′+xyz′+xyz=∑(2,4,6,7)f_{43}(x,y,z)=x'yz'+xy'z'+xyz'+xyz=\sum(2,4,6,7)f43​(x,y,z)=x′yz′+xy′z′+xyz′+xyz=∑(2,4,6,7)

3. מכפלת סכומים (MaxtermMaxtermMaxterm)

מכפלת סכומיםxyzf43(x,y,z)maxterm0000x+y+z0010x+y+z′01010110x+y′+z′10011010x′+y+z′11011111\begin{array}{|c|c|c|} \hline && \R{\text{מכפלת סכומים}} \\ xyz & f_{43}(x,y,z) \\ && maxterm \\ \hline 000 & 0 & x+y+z \\ 001 & 0 & x+y+z' \\ 010 & 1 \\ 011 & 0 & x+y'+z' \\ 100 & 1 \\ 101 & 0 & x'+y+z'\\ 110 & 1 \\ 111 & 1 \\ \hline \end{array}xyz000001010011100101110111​f43​(x,y,z)00101011​מכפלת סכומיםmaxtermx+y+zx+y+z′x+y′+z′x′+y+z′​​ f43(x,y,z)=(x+y+z)(x+y+z′)(x+y′+z′)(x′+y+z′)=∏(0,1,3,5)f_{43}(x,y,z)=(x+y+z)(x+y+z')(x+y'+z')(x'+y+z')=\prod (0,1,3,5)f43​(x,y,z)=(x+y+z)(x+y+z′)(x+y′+z′)(x′+y+z′)=∏(0,1,3,5)

4. דיאגרמת מעגל לוגי

ANDNANDXYX⋅Y000010100111XYX⋅Y‾001011101110AND(X,Y)=X⋅YNAND(X,Y)=X⋅Y‾=X‾+Y‾\begin{matrix} AND & NAND \\ \begin{array}{|c|c|c|} \hline X & Y & X\cdot Y \\ \hline 0 & 0 & 0 \\ 0 & 1 & 0 \\ 1 & 0 & 0 \\ 1 & 1 & 1 \\ \hline \end{array} & \begin{array}{|c|c|c|} \hline X & Y & \overline{X\cdot Y} \\ \hline 0 & 0 & 1 \\ 0 & 1 & 1 \\ 1 & 0 & 1 \\ 1 & 1 & 0 \\ \hline \end{array} \\ AND(X,Y)=X\cdot Y \quad&\quad NAND(X,Y)=\overline{X\cdot Y}=\overline{X}+\overline{Y} \end{matrix}ANDX0011​Y0101​X⋅Y0001​​AND(X,Y)=X⋅Y​NANDX0011​Y0101​X⋅Y1110​​NAND(X,Y)=X⋅Y=X+Y​
ORNORXYX+Y000011101111XYX+Y‾001010100110OR(X,Y)=X+YNOR(X,Y)=X+Y‾=X‾⋅Y‾\begin{matrix} OR & NOR \\ \begin{array}{|c|c|c|} \hline X & Y & X+ Y \\ \hline 0 & 0 & 0 \\ 0 & 1 & 1 \\ 1 & 0 & 1 \\ 1 & 1 & 1 \\ \hline \end{array} & \begin{array}{|c|c|c|} \hline X & Y & \overline{X+Y} \\ \hline 0 & 0 & 1 \\ 0 & 1 & 0 \\ 1 & 0 & 0 \\ 1 & 1 & 0 \\ \hline \end{array} \\ OR(X,Y)=X+ Y \quad&\quad NOR(X,Y)=\overline{X+ Y}=\overline{X}\cdot\overline{Y} \end{matrix}ORX0011​Y0101​X+Y0111​​OR(X,Y)=X+Y​NORX0011​Y0101​X+Y​1000​​NOR(X,Y)=X+Y​=X⋅Y​
XORXNORXYX⊕Y000011101110XYX⊕Y‾001010100111XOR(X,Y)=X⊕Y=X‾Y+XY‾XNOR(X,Y)=X⊕Y‾=X‾⋅Y‾+XY\begin{matrix} XOR & XNOR \\ \begin{array}{|c|c|c|} \hline X & Y & X \oplus Y \\ \hline 0 & 0 & 0 \\ 0 & 1 & 1 \\ 1 & 0 & 1 \\ 1 & 1 & 0 \\ \hline \end{array} & \begin{array}{|c|c|c|} \hline X & Y & \overline{X \oplus Y} \\ \hline 0 & 0 & 1 \\ 0 & 1 & 0 \\ 1 & 0 & 0 \\ 1 & 1 & 1 \\ \hline \end{array} \\ XOR(X,Y)=X \oplus Y=\overline{X}Y+X \overline{Y} & XNOR(X,Y)=\overline{X \oplus Y}=\overline{X}\cdot\overline{Y}+XY \end{matrix}XORX0011​Y0101​X⊕Y0110​​XOR(X,Y)=X⊕Y=XY+XY​XNORX0011​Y0101​X⊕Y​1001​​XNOR(X,Y)=X⊕Y​=X⋅Y+XY​
NOTXX‾0110\begin{matrix} NOT \\ \begin{array}{|c|c|} \hline X & \overline{X} \\ \hline 0 & 1 \\ 1 & 0 \\ \hline \end{array} \end{matrix}NOTX01​X10​​​
דוגמה

לאחר צמצום:

f43(x,y,z)=xz′+xy+yz′f_{43}(x,y,z)=xz'+xy+yz'f43​(x,y,z)=xz′+xy+yz′
זהויות XORXORXOR
a⊕b=a‾b+ab‾a \oplus b=\overline{a}b+a \overline{b}a⊕b=ab+ab a⊕b=b⊕aa \oplus b = b \oplus aa⊕b=b⊕a a⊕a‾=1a \oplus \overline{a}=1a⊕a=1 a⊕0=aa \oplus 0 = aa⊕0=a a⊕a=0a \oplus a=0a⊕a=0 a⊕1=a‾a \oplus 1 = \overline{a}a⊕1=a a⊕(b⊕c)=(a⊕b)⊕ca \oplus (b \oplus c)=(a \oplus b)\oplus ca⊕(b⊕c)=(a⊕b)⊕c a⊕c=b⊕c  ⟹  a=ba \oplus c = b \oplus c \implies a = ba⊕c=b⊕c⟹a=b a(b⊕c)=ab⊕aca(b \oplus c)=ab \oplus aca(b⊕c)=ab⊕ac

מעבר למכפלת סכומים קנונית

f(x,y,z)=x‾+yz‾=x‾(y+y‾)(z+z‾)+yz‾(x+x‾)=x‾yz+x‾yz‾+x‾⋅y‾z+x‾⋅y‾⋅z‾+xyz‾+x‾yz‾=x‾yz+x‾yz‾+x‾⋅y‾z+x‾⋅y‾⋅z‾+xyz‾=∑(0,1,2,3,6)=∏(4,5,6)\begin{align*} f(x,y,z)&=\overline{x}+y \overline{z}=\overline{x}(y+\overline{y})(z+\overline{z})+y \overline{z}(x+ \overline{x}) \\ &=\overline{x}yz+\overline{x}y \overline{z}+\overline{x}\cdot \overline{y}z+\overline{x}\cdot \overline{y}\cdot \overline{z}+xy \overline{z}+\overline{x}y \overline{z} \\ &=\overline{x}yz+\overline{x}y \overline{z}+\overline{x}\cdot \overline{y}z+\overline{x}\cdot \overline{y}\cdot \overline{z}+xy \overline{z} \\ &=\sum(0,1,2,3,6) \\ &=\prod(4,5,6) \end{align*}f(x,y,z)​=x+yz=x(y+y​)(z+z)+yz(x+x)=xyz+xyz+x⋅y​z+x⋅y​⋅z+xyz+xyz=xyz+xyz+x⋅y​z+x⋅y​⋅z+xyz=∑(0,1,2,3,6)=∏(4,5,6)​

בודקים כל איבר. לכל משתנה α\alphaα שאינו מופיע, כופלים את האיבר ב-(α+α‾)(\alpha+\overline{\alpha})(α+α).
​תרגול ספרתיות 3 -1.png

מערכת פעולות שלמה

הגדרה 7 (מערכת פעולות שלמה)

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

דוגמה

{⋅,+,′}\LARGE \left\{ \cdot, +, ' \right\}{⋅,+,′}

בעזרת דה-מורגן: {⋅,′},{+,′}\left\{ \cdot, ' \right\},\left\{ +, ' \right\}{⋅,′},{+,′}
הפעולות NOR,NANDNOR,NANDNOR,NAND הינן מערכות פעולות שלמות.

משפט (ללא הוכחה)

אם לא מתקיים: f(a,…,a)=a′f(a,\dots,a)=a'f(a,…,a)=a′ אזי הפונקציה אינה מערכת פעולות שלמה.

הערה

זה נכון רק לגבי מערכת שבה פונקציה יחידה.

תרגיל

האם הפעולה f(a,b,c)=a′+bc′f(a,b,c)=a'+bc'f(a,b,c)=a′+bc′ היא מערכת פעולות שלמה?

נשים לב כי f(a,a,a)=a‾f(a,a,a)=\overline{a}f(a,a,a)=a ולכן, יכול להיות שזו מערכת פעולות שלמה (לא פסלנו לפי המשפט הנ"ל)

f(a‾,b,b‾)=a+b⋅b=a+bf(\overline{a},b,\overline{b})=a+b\cdot b=a+bf(a,b,b)=a+b⋅b=a+b

קיבלנו כי קיימים השערים: NOT,ORNOT,ORNOT,OR ולכן, לפי מה שראינו קודם - זוהי מערכת פעולות שלמה.

תרגיל

האם הפעולה f(a,b,c)=a′+bcf(a,b,c)=a'+bcf(a,b,c)=a′+bc היא מערכת פעולות שלמה?
ואם נוסיף את הקבוע 0?

נשים לב כי f(a,a,a)=a‾+a⋅a=a‾+a=1f(a,a,a)=\overline{a}+a\cdot a=\overline{a}+a=1f(a,a,a)=a+a⋅a=a+a=1 ולכן התנאי ממקודם אינו מתקיים. לכן, זוהי אינה מערכת פעולות שלמה.
אם נוסיף את הקבוע 0 נקבל:

f(a,0,0)=a‾f(a‾,b,b‾)=a+b\begin{matrix} f(a,0,0)=\overline{a} \\ f(\overline{a},b, \overline{b})=a+b \end{matrix}f(a,0,0)=af(a,b,b)=a+b​

ואז היא תהיה מערכת פעולות כנדרש.

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

הגדרה 8 (מערכת פעולות חצי שלמה)

מערכת פעולות תקרא חצי שלמה אם הינה שלמה רק בתוספת קבועים(0 או 1 או שניהם)

תרגול

תרגיל (שאלה ממבחן)

נתון רכיב צירופי בעל 3 כניסות ויציאה אחת המממש את הפונקציה fff:

f(x,y,z)=xy+zf(x,y,z)=xy+zf(x,y,z)=xy+z

כמה רכיבים כאלה צריך בכדי לממש את הפונקציה ggg?

g(a,b,c)=c‾(c‾+b)(a‾+b)g(a,b,c)=\overline{c}(\overline{c}+b)(\overline{a}+b)g(a,b,c)=c(c+b)(a+b)
הערה

fff אינה מערכת פעולות שלמה.

נתחיל בלפשט את ביטוי התוצאה:

g(a,b,c)=c‾(a‾c+bc‾+a‾b+bb)=c‾(a‾⋅c‾+b(c‾+a‾+1⏟1))=(a‾⋅c‾+b)c‾=c‾(a‾+b)g(a,b,c)=\overline{c}(\overline{a}c+b \overline{c}+\overline{a}b+bb)=\overline{c}(\overline{a}\cdot \overline{c}+b(\underbrace{\overline{c}+\overline{a}+1}_{1}))=(\overline{a}\cdot \overline{c}+b)\overline{c}=\overline{c}(\overline{a}+b)g(a,b,c)=c(ac+bc+ab+bb)=c(a⋅c+b(1c+a+1​​))=(a⋅c+b)c=c(a+b)

בוודאות אין לנו דרך לייצר שער NOTNOTNOT מ-fff ולכן, מכיוון שמופיעים NOTNOTNOT-ים ב-ggg, לא נוכל לממש את הפונקציה ggg.

תרגיל (שאלה ממבחן)

נתונה פונקצית המיתוג f(x,y)=x‾+yf(x,y)=\overline{x}+yf(x,y)=x+y.
רק אחד מהמשפטים הבאים הוא נכון, איזה?
א. fff מערכת שלמה
ב. fff אינה מערכת שלמה, אבל {f,0}\left\{ f,0 \right\}{f,0} היא מערכת שלמה.
ג. fff אינה מערכת שלמה, אבל {f,1}\left\{ f,1 \right\}{f,1} היא מערכת שלמה.
ד. {f,0}\left\{ f,0 \right\}{f,0} וגם {f,1}\left\{ f,1 \right\}{f,1} אינן מערכות שלמות, אבל {f,0,1}\left\{ f,0,1 \right\}{f,0,1} היא מערכת שלמה.

ננסה לבנות שער NOTNOTNOT תחילה:

f(x,x)=x‾+x=1f(x,x)=\overline{x}+x=1f(x,x)=x+x=1 f(x,1)=x‾+1=1f(x,1)=\overline{x}+1=1f(x,1)=x+1=1 f(1,x)=1‾+x=0+x=xf(1,x)=\overline{1}+x=0+x=xf(1,x)=1+x=0+x=x

נשים לב כי לא קיבלנו x‾\overline{x}x ולכן, זוהי לא מערכת פעולות שלמה לפי משפט.

עבור {f,0}\left\{ f,0 \right\}{f,0} מתקיים:

f(x,0)=x‾+0=x‾f(x,0)=\overline{x}+0=\overline{x}f(x,0)=x+0=x f(x‾,y)=x+yf(\overline{x},y)=x+yf(x,y)=x+y

יצרנו שערי NOT,ORNOT,ORNOT,OR ולכן, בשימוש בדה-מורגן, זוהי מערכת פעולות שלמה!

f(x‾,y)=f(f(x,0),y)=x+yf(\overline{x},y)=f(f(x,0),y)=x+yf(x,y)=f(f(x,0),y)=x+y

לכן, ב הוא הנכון.

הערה

בתשובה ג', נשים לב כי זה זהה ל-א', שכן אנו נוכל לייצר 111 ע"י f(x,x)f(x,x)f(x,x).

תרגיל (שאלה ממבחן)

נתונה קבוצת האופרטורים Δ\DeltaΔ שבעזרתה ניתן לממש:

  1. את כל הפונקציות הלוגיות בעלות משתנה אחד בלבד.
  2. את הפונקציה f(x,y,z)=x‾y+y‾zf(x,y,z)=\overline{x}y+\overline{y}zf(x,y,z)=xy+y​z.

תזכורת: קבוצה של אופרטורים וקבועים נקראת שלמה, אם ניתן לבטא באמצעותה כל פונקציית מיתוג.

מה ניתן להגיד בוודאות על Δ\DeltaΔ?
א. Δ\DeltaΔ מערכת פעולות שלמה
ב. Δ\DeltaΔ איננה מערכת פעולות שלמה, אבל {Δ,0}\left\{ \Delta,0 \right\}{Δ,0} מערכת פעולות שלמה.
ג. Δ\DeltaΔ איננה מערכת פעולות שלמה, אבל {Δ,1}\left\{ \Delta,1 \right\}{Δ,1} מערכת פעולות שלמה.
ד. Δ\DeltaΔ איננה מערכת פעולות שלמה, וגם {Δ,0,1}\left\{ \Delta,0,1 \right\}{Δ,0,1} מערכת פעולות שלמה.
ה. תשובות ב' ו-ג' נכונות שתיהן.

נשים לב כי אלו פונקציות בעלות משתנה 1:

f(x)=xf(x)=x‾f(x)=1f(x)=0f(x)=x \qquad f(x)=\overline{x} \qquad f(x)=1 \qquad f(x)=0f(x)=xf(x)=xf(x)=1f(x)=0

לכן, קבוצת האופרטורים Δ\DeltaΔ חייבת לממש אותם.
לכן, Δ\DeltaΔ שקולה ל-{Δ,0,1}\left\{ \Delta,0,1 \right\}{Δ,0,1}. לכן, רק נדרש להוכיח האם Δ\DeltaΔ מערכת פעולות שלמה: (אם כן, אז א' - אם לא, אז ד')

Δ‾:1.f(x,y,z)=x‾y+y‾z2.xf1f2f3f40001110101\begin{matrix} \underline{\Delta}: \\ 1. & f(x,y,z)=\overline{x}y+\overline{y}z \\ 2. & \begin{array}{|c|c|c|c|} \hline x & f_{1} & f_{2} & f_{3} & f_{4} \\ \hline 0 & 0 & 0 & 1 & 1 \\ 1 & 0 & 1 & 0 & 1 \\ \hline \end{array} \end{matrix}Δ​:1.2.​f(x,y,z)=xy+y​zx01​f1​00​f2​01​f3​10​f4​11​​​

כעת, נבדוק האם יש AND/ORAND/ORAND/OR באמצעות fff:

f(x‾,y,0)=xyf(\overline{x},y,0)=xyf(x,y,0)=xy

זהו בדיוק שער ANDANDAND ולכן, זוהי מערכת פעולות שלמה.
לכן, א היא התשובה הנכונה.

תרגיל (שאלה ממבחן)

איזו טענה נכונה בדבר פונקצית מיתוג f(a,b)f(a,b)f(a,b) המקיימת f(a‾,b‾)=f(a,b)f(\overline{a},\overline{b})=f(a,b)f(a,b)=f(a,b)?
א. פונקציה שכזו איננה קיימת
ב. fff היא בהכרח פונקצית XORXORXOR
ג. fff היא בהכרח פונקציית XNORXNORXNOR
ד. fff היא בהכרח פונקציית XORXORXOR או XNORXNORXNOR
ה. אף תשובה איננה נכונה.

נתחיל מלעשות טבלת אמת:

abf~f1f2f3f400α001101β010110β010111α0011\begin{array}{|c|c|c|cccc|} \hline a & b & \tilde{f} & f_{1} & f_{2} & f_{3} & f_{4} \\ \hline 0 & 0 & \alpha & 0 & 0 & 1 & 1 \\ 0 & 1 & \beta & 0 & 1 & 0 & 1 \\ 1 & 0 & \beta & 0 & 1 & 0 & 1 \\ 1 & 1 & \alpha & 0 & 0 & 1 & 1 \\ \hline \end{array}a0011​b0101​f~​αββα​f1​0000​f2​0110​f3​1001​f4​1111​​

נשים לב כי תחילה קיימת פונקציה, לכן, א' איננו נכון.
נשים לב כי f1f_{1}f1​ היא 000 ו-f2f_{2}f2​ היא XORXORXOR, ו-f3f_{3}f3​ היא XNORXNORXNOR ו-f4f_{4}f4​ היא 1.
לכן, אף תשובה איננה נכונה.

תרגיל (שאלה ממבחן)

נתונה הפונקציה f(x,y,z,w)=∏(8,9,10,11)f(x,y,z,w)=\prod(8,9,10,11)f(x,y,z,w)=∏(8,9,10,11)
איזו קבוצה אינה מהווה מערכת פעולות שלמה?
א. {f,not}\left\{ f,not \right\}{f,not}
ב. {f‾,not}\left\{ \overline{f},not \right\}{f​,not}
ג. {f,1}\left\{ f,1 \right\}{f,1}
ד. {f,0}\left\{ f,0 \right\}{f,0}
ה. {f‾,1}\left\{ \overline{f},1 \right\}{f​,1}

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

xyzwf10110101001000010010\begin{array}{|c|c|c|c|c|c|c|c|c|} \hline x & y & z & w & f \\ \hline 1 & 0 & 1 & 1 & 0 \\ 1 & 0 & 1 & 0 & 0 \\ 1 & 0 & 0 & 0 & 0 \\ 1 & 0 & 0 & 1 & 0 \\ \hline \end{array}x1111​y0000​z1100​w1001​f0000​​

נשים לב כי אם אנחנו נועלים את x,yx,yx,y לערכים 1,01,01,0 אזי מתקיים: f=xy‾‾f=\overline{x \overline{y}}f=xy​​, שכן רק אם (x,y)=(1,0)(x,y)=(1,0)(x,y)=(1,0) אזי מתקיים f=0f=0f=0.

f=xy‾‾=x‾+yf=\overline{x \overline{y}} =\overline{x}+yf=xy​​=x+y

לכן, נקבל שבתוספת NOTNOTNOT נקבל מערכת פעולות שלמה וכך גם עם תוספת 000.
אך עם תוספת 111 לא נקבל מערכת פעולות שלמה שכן לא תהיה לנו דרך לייצר NOTNOTNOT.
נשים לב גם כי fff לבדה אינה מערכת פעולות שלמה ו-f(x,x)=x‾+x=1f(x,x)=\overline{x}+x=1f(x,x)=x+x=1.

עם f‾\overline{f}f​ נקבל כי בתוספת NOTNOTNOT נקבל מערכת פעולות שלמה שכן זה פשוט הפוך למצב הראשון, כך גם עם {f‾,1}\left\{ \overline{f},1 \right\}{f​,1}.

הערה

מערכת פעולות שלמה לא בהכרח אומר שהיפוך המערכת הוא מערכת פעולות שלמה.
NORNORNOR היא מערכת פעולות שלמה אך NOR‾=OR\overline{NOR}=ORNOR=OR היא לא מערכת פעולות שלמה.