אלגברה בוליאנית יהודה אפק , יוסי מטיאס אוניברסיטת תל אביב מבוסס על הרצאות של יורם זינגר , האוניברסיטה העברית י"ם 1
Download
Report
Transcript אלגברה בוליאנית יהודה אפק , יוסי מטיאס אוניברסיטת תל אביב מבוסס על הרצאות של יורם זינגר , האוניברסיטה העברית י"ם 1
אלגברה בוליאנית
יהודה אפק ,יוסי מטיאס
אוניברסיטת תל אביב
מבוסס על הרצאות של
יורם זינגר ,האוניברסיטה העברית י"ם
1
אלגברה בוליאנית -אלגברת המיתוג:
George Boole – 1854 Boolean Algebra
Claude Shannon – 1938 Dual Valued Boolean Algebra
)(Information Theory
מושגי יסוד:
* - Bקבוצה (סופית ,אם | 2 = |Bאזי ) Boolean Algebra
* • -אופרטור בינארי:
( •: S SSדוגמא – S :הטבעיים עם חיבור)
* סגירות של ”•“ :הטוח של • הינו בS-
דוגמא שלילית – S :הטבעיים עם חיסור
* קיבוציות -אסוציאטביות(X • Y) • Z = X • (Y • Z) :
* חילופיות -קומטטיביותY • X = X • Y :
* איבר יחידה:
לא
שדה
(For all X in S) 1 • X = X • 1 = X
* הופכיות For all X there exists Y such that: X • Y = 1
לא מתקיימת באלגברה בוליאנית
* פילוגיות – דיסטריבוטיביות :שני אופרטורים +
x(y+z) = xy + xz
2
הגדרה אקסיומטית:
* - Bקבוצה ; ( |B| =2אלגברת המיתוג)
* שני אופרטורים) ,AND ) • ; ), OR( + :
B .1סגורה ביחס ל" "+ו. "•"-
.2א .קיים איבר יחידה ביחס ל"+"-
x+0 = 0+x = x
ב .קיים איבר יחידה ביחס ל. "•"-
x•1 = 1•x = x
.3חוק החילוף:
x•y = y•x
x+y = y+x
.4מתקיימת פילוגיות:
x•)y+z) = x•y + x•z
)x+)y•z) = )x+y) • )x+z
.5משלים :לכל xקיים ’ (not(x), ¬x) xכך:
)x+x’ = 1 (x or (not(x)) = True
)x•x’ = 0 (x and (not(x)) = False
( | 2 = |Bאלגברת המיתוג)
.6קיימים לפחות שני איבריםx,yB :
3
הערות והארות:
AND
OR
*
*
*
*
5v
אסוציאטיביות מתקיימת אך איננה אקסיומה(X •Y) • Z=X• (Y•Z) :
חוק הפילוג מתקיים עבור :• ,+
המשלים לא קיים באלגברה סטנדרטית
קיימות אלגברות בוליאניות עם : |B| <2
אלגברה בוליאנית דו ערכית (מיתוג):
NOT
{B =}0 , 1
AND
OR
’X
X
X+Y
Y
X
X.Y
Y
X
1
0
0
1
0
1
1
1
0
0
1
1
0
1
0
1
0
0
0
1
0
0
1
1
0
1
0
1
* כל 6התנאים מתקיימים
4
Venn’s diagrams
5
משפטים יסודיים:
6
הוכחת כלל דה מורגן
’))X+Y
X+Y
Y
X
1
0
0
0
0
1
1
1
0
1
0
1
0
0
1
1
’X’.Y
Y
X
1
0
0
0
0
1
0
1
0
0
1
1
7
משפטx+)x’•y) = x+y :
הוכחה:
(x+)x’•y( = )x+x’( • )x+y
א .פילוגיות (כלל : )8
ב .כלל המשלים (: )x+x’ =1
()x+x’(•)x+y( = 1•)x+y
ג .איבר יחידה (: )x•1 = 1•x = x
QED
1•)x+y( = x+y
קדימות אופרטורים:
1
2
3
( ) NOT AND OR
0
( ) ¬,) )’ • , ,+
דוגמא:
משמיטים אם
ברור מהתוכן
’)x + )y • )z)’)) x + y z
8
פונקציות בוליאניות:
}: {0,1}n {0,1
* פונקציה בוליאנית בעלת nמשתנים.
* כל משתנה יכול להופיע ושלילתו.
x+y
x
y
’x
x
x•y
x
y
* טבלת האמת בעלת 2nכניסות .
* יצוג ע"י סכימת שערים:
)x’•)y+z
’x
x
y
z
9
משלים של פונקציה
כאשר הפונקציה "צפופה" (קימים הרבה קלטים עבורם ,) ƒ)x,…,z( = 1כדאי לממש
את ההופכי /המשלים של ƒולהפוך בסוף את התוצאה.
כלל דה -מורגן
’)x • y)’ = x’ + y
De – Morgan Rule
’)x + y)’ = x’ • y
הכלל מוכלל באינדוקציה ורקורסיה ליותר משני משתנים ויותר מקינון אחד של ביטויים.
= ’))’)x+y’z )t’+sqx
שמוש ב -דה-מורגן
= )’))’)x’ • )y’z ) t’ + sqx
= )’)’x’ ) y+z’ + ) t’+ sqx
= ))x’ ) y+z’ + t •)s’ + q’ + x
x’y + x’z’ + x’ts’ + x’tq’ + x’tx
=0
סכום מכפלות
10
צורות קנוניות:
כל פונקציה בוליאנית ניתנת לכתיבה כסכום מכפלות:
ומכפלת סכומים:
סכומים
)’x’y’z’+x’yz’+x’yz+xy’z’+xyz’+xyz )x+y+z’) )x’+y+z
• מכפלות
סימון
גורם
סימון
גורם
f
z
y
x
M0
x+y+z
m0
’x’y’z
1
0
0
0
M1
’x+y+z
m1
x’y’z
0
1
0
0
M2
x+y’+z
m2
’x’yz
1
0
1
0
M3
’x+y’+z
m3
x’yz
1
1
1
0
M4
x’+y+z
m4
’xy’z
1
0
0
1
M5
’x’+y+z
m5
xy’z
0
1
0
1
M6
x’+y’+z
m6
’xyz
1
0
1
1
M7
’x’+y’+z
m7
xyz
1
1
1
1
בהינתן טבלת אמת של פונקציה :f
(1
או:
)2
minterm
נרשום את fכמכפלת סכומים ע"י לקיחת Miעבורם .f=0
…x’y’z’+x’yz’+
נרשום את fכסכום מכפלות ע"י לקיחת miעבורם .f=1
)’)x+y+z’) )x’+y+z
11
דוגמא לכתיבת פונקציה בצורה סטנדרטית:
f2
f1
z
y
x
0
1
0
0
0
0
1
0
0
1
0
0
2
1
1
0
1
0
3
1
0
1
1
0
4
1
0
0
0
1
5
1
1
1
0
1
6
1
0
0
1
1
7
0
0
1
1
1
f1 2,5
f 2 1,7
f1 m2 m5 x' yz' xy' z
) ' f 2 M 1 M 7 ( x y z ' ) ( x' y ' z
•בהינתן מכפלה של סכומים לא מלאה נרצה לעיתים להרחיבה כדי להשתמש
(ספרתיות).
• נפעל בדומה לסכום מכפלות
ביחידות סטנדרטיות
12
הרחבה לצורה סטנדרטית
f x' xyz y ' z
x' ( y y ' ) xyz ( x x' ) y ' z
x' y x' y ' xyz xy' z x' y ' z
x' y ( z z ' ) x' y ' ( z z ' ) xyz xy' z x' y ' z
x' yz x' yz' x' y ' z x' y ' z ' xyz xy' z x' y ' z
x' yz x' yz' x' y ' z x' y ' z ' xyz xy' z
.פעולות דומות ניתן לבצע עבור מכפלת סכומים
.ורוצים לרשמה כמכפלת סכומים
f ' m0 m4 m6 f ' 0,4,6
13
:המרה בין צורות
f 1,2,3,5,7 נניח כי
f f ' 0,4,6 m0 ' , m4 ' , m6 ' 0,4,6
'
'
:אופרטורים לוגיים נוספים
f : 0,1 0,1
2
פונקציה
סמל
שם
F1=xy
X•Y
AND
F2=xy’
X/Y
פונקציות
16 2
הערות
F0=0
F3=x
F4=x’y
Y/X
F5=y
F6=xy’+x’y
X+Y
XOR
F7=x+y
X+Y
OR
F8=)x+y)’
X Y
NOR
F9=xy+x’y’
X•Y
Equivalence
X Y
NAND
universal
F10=y’
F11=x+y’
F12=x’
F13=x’+y
14
F14=)xy)’
F15 = 1
universal
( 22 )
יש
:שערים לוגיים ספרתיים
.שערים סטנדרטיים שנארזים בסיליקון
A
F
B
A
F
B
F=A • B
AND
F=A+B
OR
A
A’
F=A’
Inverter
A
A
F=A
Buffer
A
F
B
A
F
B
15
F=(A • B)’=A’+B’
NAND
F=)A+B)’=A’ • B’
NOR
A
F = XY’ + X’Y = X Y
F
B
A
F
B
16
(1
X><Y)
XOR
eXclusive OR
F = XY + X’Y’ = X * Y
Equivalence
(1
eXclusive NOR
X==Y)
:שערים מרובי כניסות
x ( y z ) ( x y) z x y z
x ( y z ) ( x y) z x y z
x
y
z
x
y
z
Semantics of NOR?
(x y) z = x (y z)
x y z
x y z
xz yz
17
=
x y z
x y z
xy xz
: מרובי כניסותNOR/NAND שערי
NAND )A,B,C) = )A*B*C)’
a
b
c
a
b
c
NOR )A,B,C) = )A+B+C)’
: מרובי כניסותXOR שערי
a
b
c
18
F A B C A B C A B C
מערכות שלמות Universal Systems -
ראינו שכל פונקציה בוליאנית ניתנת למימוש ע"י סכום מכפלות או/ו מכפלת סכומים .לכן כל פונקציה
בוליאנית ניתנת למימוש ע"י קבוצת האופרטורים:
}* {‘, +,
NOT, AND, OR
•קבוצת האופרטורים הינה שלמה ) (Universalאם ניתן לממש בעזרת הפעלות חוזרות של אופרטורים
מהקבוצה כל פונקציה בוליאנית.
•טענה :א {NOT, OR} .היא שלמה
ב {NOT, AND}.היא שלמה
הוכחה( :עבור א)
נסתכל על Fכלשהיא .יתכנו שלשה מקרים:
אF = )G(’ .
השתמש ב.NOT -
בF = G+Q .
השתמש ב.OR -
גF = G*Q .
’(’F = ))G*Q(’(’ = )G’+Q
שימוש ב ORו NOTבלבד!
19
NOR and NAND - Universal Systems
ע"יNOT- וAND { היא שלמה ניראה כי ניתן לממש אתNOT, AND}
X’ = )X • X)’ = NAND)X,X)
- מכיוון ש
בלבדNAND
A • B = ((A • B)’)’ = )NAND)A,B))’=
NAND(NAND(A,B),NAND(A,B))
ע"יNOT- וOR { היא שלמה ניראה כי ניתן לממש אתNOT, OR}
בלבדNOR
X’ = )X + X)’ = NOR)X,X)
A + B = ((A + B)’)’ = )NOR)A,B))’=
NOR(NOR(A,B),NOR(A,B))
Equivalence
A
20
B
F
- מכיוון ש
A
B
F
פישוט פונקציות ע"י מפות קרנו:
y
• E. Veitch, 1952 ; M. Karnaugh 1953
0
1
• טבלה של שני משתנים:
ייצוג ערכים:
m0 m1
0
m2 m3
1
10
11
01
00
1
1
x 1
m0 m1 m3 m2
m4 m5 m7 m6
1
f = m1+m2+m3
f = x+y
x
z
10
0
0
x 1 xy’ xy
x
0
• טבלה של שלושה משתנים:
x’y’ x’y
x
y
y
y
1
y0
11
01
00
yz
x
’x’y’z’ x’y’z x’yz x’yz
’x 1 xy’z’ xy’z xyz xyz
y
0
** כל שני ריבועים סמוכים במפה נבדלים במשתנה אחד בלבד.
’m2 + m6 x’yz’ + xyz’ yz
21
y
10
1
1
11
0
1
01
0
0
00
1
1
0
1
x
z
z’ .1
xy .2
f=z’ + xy
’f = x’y’z’ + xy’z’ + xyz + xyz’ + x’yz
כדי לפשט את הפונקציה נחפש ריבועים "מוכללים"
גדולים שיכסו את ה""1
פונקציה "פשוטה"
ריבועים גדולים
22
דוגמא נוספת:
)f(x,y,z) = (0,1,5,6,7
y
11
10
01
2
3
1
6
7
5
1
1
1
1
00
0
1
1
4
z
לא ניתן לפישוט ע"י מפת קרנו.
0
x
f = x’y’ + xz + xy
)x(y + z
f = x’y’ + y’z + xy
לא ניתן לפישוט ע"י מפת קרנו.
• הפישוט המינימלי לא תמיד יחיד
(y’)x’+z
23
מפה של ארבעה משתנים:
y
10
x
01
11
00
1
1
1
1
1
1
yz
wx
00
’f=x’z’ + w’z
01
11
w
10
z
מפה של חמישה משתנים:
C
1
B
1
1
1
1
1
1
E
1
1
1
1
1
1
1
1
1
A
E
D
’f = AC’ + AD’E’ + CDE’ + B’D’E
24
איברים /צירופים אדישים:
y
10
x
11
00
01
0
0
0
00
0
0
01
1
1
11
1
0
0
1
10
w
z
“Don’t Care” ניתן להשים ל" "1או "“0
(לאו דווקא בעקביות)
סכום מכפלות f = z’w + zx
25