1 / 32

אלגברה בוליאנית יהודה אפק, נתן אינטרטור אוניברסיטת תל אביב

אלגברה בוליאנית יהודה אפק, נתן אינטרטור אוניברסיטת תל אביב. מבוסס על הרצאות של יורם זינגר, האוניברסיטה העברית, ובנוסף 134.193.15.25/vu/course/cs281/lectures/boolean-algebra/boolean-algebra.html. משתנים לוגיים. מסומנים כמשתנים ‘רגילים ’ - x,y,z יכולים לקבל אחד משני ערכים - True/False

ada
Download Presentation

אלגברה בוליאנית יהודה אפק, נתן אינטרטור אוניברסיטת תל אביב

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. אלגברה בוליאניתיהודה אפק, נתן אינטרטור אוניברסיטת תל אביב מבוסס על הרצאות של יורם זינגר, האוניברסיטה העברית,ובנוסף 134.193.15.25/vu/course/cs281/lectures/boolean-algebra/boolean-algebra.html

  2. משתנים לוגיים • מסומנים כמשתנים ‘רגילים’ - x,y,z • יכולים לקבל אחד משני ערכים - True/False • מקצרים ומשתמשים ב - 1/0. • למה ? אין/יש זרם כאשר משתנה מתאר חוט חשמלי.

  3. פונקציות לוגיות • מסומנות (משתנים לוגיים)f לדוגמא: (f(x,y,z • התנהגות פונקציה מתוארת ע”י טבלת אמת. • הטבלה מפרטת מתי הפונקציה מקבלת 0 ומתי 1 על פי ערכי הארגומנטים שלה.

  4. אלגברה בוליאנית - אלגברת המיתוג: George Boole – 1854  Boolean Algebra Claude Shannon – 1938  Dual Valued Boolean Algebra (Information Theory) מושגי יסוד: * B - קבוצה (סופית, אם |B| = 2 אזי Boolean Algebra ) * •- אופרטור בינארי: SSS:•(דוגמא: 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) = xy + xz לאשדה

  5. הגדרה אקסיומטית: * 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,yB ( |B| = 2 אלגברת המיתוג)

  6. הערות והארות: AND 5v OR * אסוציאטיביות מתקיימת אך איננה אקסיומה: (X •Y) • Z=X• (Y•Z) * חוק הפילוג מתקיים עבור +, •: * המשלים לא קיים באלגברה סטנדרטית * קיימות אלגברות בוליאניות עם 2< |B| : אלגברה בוליאנית דו ערכית (מיתוג):{1 , 0}= B AND OR NOT * כל 6 התנאים מתקיימים

  7. שערים לוגיים • אבני הבניין לתיאור פורמלי של פונקציות בוליאניות. NOT f=x’ x f

  8. Venn’s diagrams

  9. משפטים יסודיים:

  10. הוכחת כלל דה מורגן

  11. משפט: 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’ משמיטים אם ברור מהתוכן

  12. פונקציות בוליאניות: {0,1}: {0,1}n * פונקציה בוליאנית בעלת n משתנים. * כל משתנה יכול להופיע ושלילתו. *טבלת האמת בעלת 2nכניסות . *יצוג ע"י סכימת שערים: x x+y y x x’ x x•y y x’ x’•(y+z) x y z

  13. משלים של פונקציה כאשר הפונקציה "צפופה" (קימים הרבה קלטים עבורם ƒ(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= סכום מכפלות

  14. כל פונקציה בוליאנית ניתנת לכתיבה כסכום מכפלות: צורות קנוניות: 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’+…

  15. דוגמא לכתיבת פונקציה בצורה סטנדרטית: • בהינתן מכפלה של סכומים לא מלאה נרצה לעיתים להרחיבה כדי להשתמש ביחידות סטנדרטיות (ספרתיות). • נפעלבדומה לסכום מכפלות

  16. הרחבה לצורה סטנדרטית פעולות דומות ניתן לבצע עבור מכפלת סכומים. המרה בין צורות: נניח כי ורוצים לרשמה כמכפלת סכומים.

  17. אופרטורים לוגיים נוספים: יש פונקציות

  18. שערים לוגיים ספרתיים:שערים סטנדרטיים שנארזים בסיליקון. 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

  19. 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

  20. xyz xyz (x y) z = x (y z) = שערים מרובי כניסות: Semantics of NOR? =

  21. abc abc abc שעריNOR/NAND מרובי כניסות: NAND (A,B,C) = (A*B*C)’ NOR (A,B,C) = (A+B+C)’ שעריXOR מרובי כניסות:

  22. פישוט פונקציות ע"י מפות קרנו: 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’

  23. y 1. z’ f=z’ + xy 2. xy x z f = x’y’z’ + xy’z’ + xyz + xyz’ + x’yz’ כדי לפשט את הפונקציה נחפש ריבועים "מוכללים" גדולים שיכסו את ה"1" פונקציה "פשוטה" ריבועים גדולים

  24. דוגמא נוספת: 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

  25. מפה של ארבעה משתנים: 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’

  26. איברים / צירופים אדישים: y x w z “Don’t Care” ניתן להשים ל"1" או "0“ (לאו דווקא בעקביות) f = z’w + zx סכום מכפלות

  27. מערכות שלמות-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 בלבד!

  28. 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

  29. מערכות אוניברסליות • דוגמא: הוכח ש {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

  30. מערכות אוניברסליות • דוגמא: הוכח ש {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.

  31. מערכות אוניברסליות • נתונות הפונקציות: 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

  32. מערכות אוניברסליות • ב. • 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))

More Related