480 likes | 1.81k Views
אלגברה בוליאנית יהודה אפק, נתן אינטרטור אוניברסיטת תל אביב. מבוסס על הרצאות של יורם זינגר, האוניברסיטה העברית, ובנוסף 134.193.15.25/vu/course/cs281/lectures/boolean-algebra/boolean-algebra.html. משתנים לוגיים. מסומנים כמשתנים ‘רגילים ’ - x,y,z יכולים לקבל אחד משני ערכים - True/False
E N D
אלגברה בוליאניתיהודה אפק, נתן אינטרטור אוניברסיטת תל אביב מבוסס על הרצאות של יורם זינגר, האוניברסיטה העברית,ובנוסף 134.193.15.25/vu/course/cs281/lectures/boolean-algebra/boolean-algebra.html
משתנים לוגיים • מסומנים כמשתנים ‘רגילים’ - x,y,z • יכולים לקבל אחד משני ערכים - True/False • מקצרים ומשתמשים ב - 1/0. • למה ? אין/יש זרם כאשר משתנה מתאר חוט חשמלי.
פונקציות לוגיות • מסומנות (משתנים לוגיים)f לדוגמא: (f(x,y,z • התנהגות פונקציה מתוארת ע”י טבלת אמת. • הטבלה מפרטת מתי הפונקציה מקבלת 0 ומתי 1 על פי ערכי הארגומנטים שלה.
אלגברה בוליאנית - אלגברת המיתוג: George Boole – 1854 Boolean Algebra Claude Shannon – 1938 Dual Valued Boolean Algebra (Information Theory) מושגי יסוד: * B - קבוצה (סופית, אם |B| = 2 אזי Boolean Algebra ) * •- אופרטור בינארי: SSS:•(דוגמא: S – הטבעיים עם חיבור) * סגירות של “•”: הטוח של • הינו ב-S דוגמא שלילית : S – הטבעיים עם חיסור * קיבוציות - אסוציאטביות: (X •Y) • Z = X • (Y •Z) * חילופיות - קומטטיביות:X •Y = Y • X * איבר יחידה: 1 • X = X • 1 = X (For all X in S) * הופכיותFor all X there exists Y such that: X •Y = 1 לאמתקיימת באלגברה בוליאנית * פילוגיות – דיסטריבוטיביות: שני אופרטורים + x(y+z) = xy + xz לאשדה
הגדרה אקסיומטית: * B - קבוצה ; (2= |B| אלגברת המיתוג) * שני אופרטורים: + (OR ,) ;•)AND, ) 1. B סגורה ביחס ל"+" ו-"•" . 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 קיים x’(not(x), ¬x) כך: x+x’ = 1(x or (not(x)) = True) x•x’ = 0(x and (not(x)) = False) 6. קיימים לפחות שני איברים: x,yB ( |B| = 2 אלגברת המיתוג)
הערות והארות: AND 5v OR * אסוציאטיביות מתקיימת אך איננה אקסיומה: (X •Y) • Z=X• (Y•Z) * חוק הפילוג מתקיים עבור +, •: * המשלים לא קיים באלגברה סטנדרטית * קיימות אלגברות בוליאניות עם 2< |B| : אלגברה בוליאנית דו ערכית (מיתוג):{1 , 0}= B AND OR NOT * כל 6 התנאים מתקיימים
שערים לוגיים • אבני הבניין לתיאור פורמלי של פונקציות בוליאניות. NOT f=x’ x f
משפט: x+(x’•y) = x+y הוכחה: א. פילוגיות (כלל 8) : x+(x’•y) = (x+x’) • (x+y) ב. כלל המשלים (1= (x+x’ : (x+x’)•(x+y) = 1•(x+y) ג. איבר יחידה (x•1 = 1•x = x) : 1•(x+y) = x+yQED קדימות אופרטורים: 3 2 1 0 ( ) NOT AND OR ( ) ¬,( )’ • , ,+ דוגמא: (x + (y • (z)’)) x + y z’ משמיטים אם ברור מהתוכן
פונקציות בוליאניות: {0,1}: {0,1}n * פונקציה בוליאנית בעלת n משתנים. * כל משתנה יכול להופיע ושלילתו. *טבלת האמת בעלת 2nכניסות . *יצוג ע"י סכימת שערים: x x+y y x x’ x x•y y x’ x’•(y+z) x y z
משלים של פונקציה כאשר הפונקציה "צפופה" (קימים הרבה קלטים עבורם ƒ(x,…,z) = 1 ), כדאי לממש את ההופכי/ המשלים של ƒ ולהפוך בסוף את התוצאה. כלל דה- מורגןDe – Morgan Rule (x + y)’ = x’ • y’ (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= סכום מכפלות
כל פונקציה בוליאנית ניתנת לכתיבה כסכום מכפלות: צורות קנוניות: x’y’z’+x’yz’+x’yz+xy’z’+xyz’+xyz (x+y+z’) (x’+y+z’) ומכפלת סכומים: • מכפלות סכומים • בהינתן טבלת אמת של פונקציה f: • נרשום את f כמכפלת סכומים ע"י לקיחת Mi עבורם f=0. • או: • 2) נרשום את f כסכום מכפלות ע"י לקיחת mi עבורם f=1. minterm (x+y+z’) (x’+y+z’) x’y’z’+x’yz’+…
דוגמא לכתיבת פונקציה בצורה סטנדרטית: • בהינתן מכפלה של סכומים לא מלאה נרצה לעיתים להרחיבה כדי להשתמש ביחידות סטנדרטיות (ספרתיות). • נפעלבדומה לסכום מכפלות
הרחבה לצורה סטנדרטית פעולות דומות ניתן לבצע עבור מכפלת סכומים. המרה בין צורות: נניח כי ורוצים לרשמה כמכפלת סכומים.
אופרטורים לוגיים נוספים: יש פונקציות
שערים לוגיים ספרתיים:שערים סטנדרטיים שנארזים בסיליקון. A F F=A • B AND B A F=A+B OR F B F=A’ Inverter A A’ A A F=A Buffer A F=(A • B)’=A’+B’ NAND F B A F=(A+B)’=A’ • B’ NOR F B
F = XY’ + X’Y = X Y XOR (1 X<>Y) eXclusive OR F = XY + X’Y’ = X * Y Equivalence (1 X==Y) eXclusive NOR A F B A F B
xyz xyz (x y) z = x (y z) = שערים מרובי כניסות: Semantics of NOR? =
abc abc abc שעריNOR/NAND מרובי כניסות: NAND (A,B,C) = (A*B*C)’ NOR (A,B,C) = (A+B+C)’ שעריXOR מרובי כניסות:
פישוט פונקציות ע"י מפות קרנו: y • E. Veitch, 1952 ; M. Karnaugh 1953 • טבלה של שני משתנים: y x x y ייצוג ערכים: y x f = m1+m2+m3 y f = x+y x x z • טבלה של שלושה משתנים: yz x x y ** כל שני ריבועים סמוכים במפה נבדלים במשתנה אחד בלבד. m2 + m6 x’yz’ + xyz’ yz’
y 1. z’ f=z’ + xy 2. xy x z f = x’y’z’ + xy’z’ + xyz + xyz’ + x’yz’ כדי לפשט את הפונקציה נחפש ריבועים "מוכללים" גדולים שיכסו את ה"1" פונקציה "פשוטה" ריבועים גדולים
דוגמא נוספת: f = x’y’ + xz + xy 0 1 3 2 x(y + z) לא ניתן לפישוט ע"י מפת קרנו. 4 5 7 6 f = x’y’ + y’z + xy y’(x’+z) לא ניתן לפישוט ע"י מפת קרנו. • הפישוט המינימלי לא תמיד יחיד f(x,y,z) = (0,1,5,6,7) y x z
מפה של ארבעה משתנים: y yz wx f=x’z’ + w’z’ x w z מפה של חמישה משתנים: C B A E D E f = AC’ + AD’E’ + CDE’ + B’D’E’
איברים / צירופים אדישים: y x w z “Don’t Care” ניתן להשים ל"1" או "0“ (לאו דווקא בעקביות) f = z’w + zx סכום מכפלות
מערכות שלמות-UniversalSystems • ראינו שכל פונקציה בוליאנית ניתנת למימוש ע"י סכום מכפלות או/ו מכפלת סכומים. לכן כל פונקציה בוליאנית ניתנת למימוש ע"י קבוצת האופרטורים: • NOT, AND, OR {‘, +, *} • קבוצת האופרטורים הינה שלמה (Universal) אם ניתן לממש בעזרת הפעלות חוזרות של אופרטורים מהקבוצה כל פונקציה בוליאנית. • טענה:א. {NOT, OR} היא שלמה • ב. {NOT, AND}היא שלמה • הוכחה: (עבור א) • נסתכל על Fכלשהיא. יתכנו שלשה מקרים: • א. F = (G)’ השתמש ב- NOT. • ב. F = G+Q השתמש ב- OR. • ג. F = G*QF = ((G*Q)’)’ = (G’+Q’)’ • שימוש בOR וNOT בלבד!
NOR and NAND- Universal Systems X’ = (X • X)’ = NAND(X,X) מכיוון ש - {NOT, AND} היא שלמה ניראה כי ניתן לממש את AND ו-NOT ע"י NAND בלבד A • B = ((A • B)’)’ = )NAND)A,B))’= NAND(NAND(A,B),NAND(A,B)) מכיוון ש - {NOT, OR} היא שלמה ניראה כי ניתן לממש את OR ו-NOT ע"י NOR בלבד X’ = (X + X)’ = NOR(X,X) A + B = ((A + B)’)’ = )NOR)A,B))’= NOR(NOR(A,B),NOR(A,B)) Equivalence A A F F B B
מערכות אוניברסליות • דוגמא: הוכח ש {f,0} מהווה מערכת אוניברסלית באשר f(x,y)=x’+y פתרון: נביע אתNAND בעזרת {f,0} : f(x,f(y,0)) = x’ + f(y,0) = x’ + y’ + 0 = (xy)’ האינטואיציה: נשים לב לכך ש- x’+yדומה בצורתו ל- x’+y’xשזה לפי כללי דה-מורגןNAND לכן צריך ליצר אתNOT. ואת זאת ניתן לקבל מ: f(y,0)x
מערכות אוניברסליות • דוגמא: הוכח ש {f,1} מהווה מערכת אוניברסלית באשר f(x,y,z)=x’y’+x’z’+y’z’ פתרון: נביע אתNOR בעזרת {f,1} : f(1,x,y) = 1’x’+1’y’+x’y’ = 0x’+0y’+(x+y)’ = (x+y)’ האינטואיציה: x’y’xלפי כללי דה-מורגן זהNOR לכן צריך לאפס את שני המחוברים הראשונים ב-f.
מערכות אוניברסליות • נתונות הפונקציות: f1(x,y,z)=sum(0,2,4,6,7); f2(x,y)=xy’; f3(x,y)=x+y’ א. הראה ש: (f2,f3) אוניברסלית ב. בטא את f1 בעזרת{f2,f3} פתרון: א. נבטא את{NOT,AND} בעזרת{f2,f3} NOT : f3(f2(x,x),x) = f2(x,x)+x’ = xx’+x’ = 0+x’ = x’ AND : f2(x,f3(f2(y,y),y’)) = f2(x,f3(yy’,y’)) = f2(x,yy’+y) = xy
מערכות אוניברסליות • ב. • f1(x,y,z) = sum(0,2,4,6,7) = צמצוםx’y’z’+x’yz’+xy’z’+xyz’+xyz =x’z’+xy+xy’z’ = x’z’+x(y+y’z’) = x’z’+x(y+z’) =x’z’ + xy + xz’ = xy+z’ =f2(x,f3(f2(y,y),y))+f3(f2(z,z),z)=f3(f2(x,f3(f2(y,y),y)), f3(f2(f3(f2(z,z),z),f3(f2(z,z),z)),f3(f2(z,z),z))