พีชคณิตบูลนี (Boolean...

21
1 5 พีชคณิตบูลีน (Boolean Algebra) พีชคณิตบูลีน - การดําเนินการและการใช้กฎกับสมาชิกของเซต { } 1 , 0 ตัวดําเนินการสําคัญ 3 ตัวคือ การบวก (Sum) การคูณ (Product) และตัวเติมเต็ม (Complement) เทียบได้กับตัวดําเนินการเชิงตรรกศาสตร์ or, and และ นิเสธ ค่าความจริง จริงจะเทียบได้กับ “1” ส่วนค่าความจริง เท็จจะเทียบได้กับ “0” เช่น ให้ ܣจริงและ ܤเท็จนิพจน์ตรรกศาสตร์ ( ) T ¬ B B A เทียบได้กับ ( ) ( ) 1 0 1 1 0 0 1 = + = + ตารางตัวดําเนินการบวก + 0 1 0 0 1 1 1 1 ตารางตัวดําเนินการคูณ ڄ0 1 0 0 0 1 0 1 ตัวดําเนินการเติมเต็ม 0 1 1 0 5.1 นิพจน์บูลีนและฟังก์ชันบูลีน (Boolean Expressions and Boolean Functions) 5.1.1 เอกลักษณ์ของพีชคณิตบูลีน (Identity of Boolean Algebra) ให้ { } 1 , 0 = B เราจะนิยามการบวก การคูณ และส่วนเติมเต็มสําหรับสมาชิกใน B โดย 1. 0 0 0 = + , 1 1 0 = + , 1 0 1 = + , 1 1 1 = + 2. 0 0 0 = , 0 1 0 = , 0 0 1 = , 1 1 1 = 3. 1 0 = , 0 1 =

Transcript of พีชคณิตบูลนี (Boolean...

Page 1: พีชคณิตบูลนี (Boolean Algebra)maths.sci.ku.ac.th/suriya/Slide/Discrete/Chapter5Slide.pdf1 5 พีชคณิตบูลนี (Boolean Algebra) พชคณีิตบูลีน

1

5 พชคณตบลน (Boolean Algebra)

พชคณตบลน - การดาเนนการและการใชกฎกบสมาชกของเซต { }1,0

ตวดาเนนการสาคญ 3 ตวคอ การบวก (Sum) การคณ (Product) และตวเตมเตม (Complement)

เทยบไดกบตวดาเนนการเชงตรรกศาสตร or, and และ นเสธ

คาความจรง “จรง” จะเทยบไดกบ “1” สวนคาความจรง “เทจ” จะเทยบไดกบ “0”

เชน ให “จรง” และ “เทจ” นพจนตรรกศาสตร ( ) T≡∨¬∧ BBA เทยบไดกบ ( ) ( ) 1011001 =+⋅=+⋅

ตารางตวดาเนนการบวก + 0 10 0 1 1 1 1

ตารางตวดาเนนการคณ 0 1

0 0 0 1 0 1

ตวดาเนนการเตมเตม 0 11 0

5.1 นพจนบลนและฟงกชนบลน (Boolean Expressions and Boolean Functions)

5.1.1 เอกลกษณของพชคณตบลน (Identity of Boolean Algebra)

ให { }1,0=B เราจะนยามการบวก การคณ และสวนเตมเตมสาหรบสมาชกใน B โดย

1. 000 =+ , 110 =+ , 101 =+ , 111 =+

2. 000 =⋅ , 010 =⋅ , 001 =⋅ , 111 =⋅

3. 10 = , 01 =

Page 2: พีชคณิตบูลนี (Boolean Algebra)maths.sci.ku.ac.th/suriya/Slide/Discrete/Chapter5Slide.pdf1 5 พีชคณิตบูลนี (Boolean Algebra) พชคณีิตบูลีน

2

ตวแปร x จะเรยกวา ตวแปรบลน ถา x ถกกาหนดคาโดยสมาชกใน B เมอเปนเชนนนแลว xxx =+ และ xxxxxx ==⋅=2 สาหรบทกตวแปรบลน x ถา yx, เปนตวแปรบลนแลว

1. 0=+ yx เมอและตอเมอ 0== yx

2. 1=xy เมอและตอเมอ 1== yx

ถา +∈Zn แลว ( ) { }{ }nibbbb inn ≤≤∈= 1,1,0|,,, 21 KB ฟงกชน BB →nf : จะถก

เรยกวา ฟงกชนบลน (Boolean Function) ของ n ตวแปร หรอเราสามารถเขยน f ในรป ( )nxxxf ,,, 21 K เมอ ix , ni ≤≤1 เปนตวแปรบลน

ตวอยาง 5.1 ให BB →nf : นยามโดย ( ) zyxzyxf +=,, จงหาคาของฟงกชนบลนน

เราหาคาของฟงกชนบลนไดเชนเดยวกบการสรางตารางคาความจรงของประพจนทางตรรกศาสตร ดงตารางตอไปน

x y z z zy ( ) zyxzyxf +=,, 1 1 1 0 0 1 1 1 0 1 1 1 1 0 1 0 0 1 1 0 0 1 0 1 0 1 1 0 0 0 0 1 0 1 1 1 0 0 1 0 0 0 0 0 0 1 0 0

บทนยาม 5.1 สาหรบ +∈Zn , 2≥n ให BB →ngf :, เปนฟงกชนบลน 2 ฟงกชน ทมตวแปรบลน n ตวแปร nxxx ,,, 21 K เราจะกลาววา f เทากบ g เขยนแทนดวย

gf = ถาคอลมนของ f และ g ในตารางคาฟงกชนมคาเหมอนกน

เราอาจกลาววาฟงกชนบลน f และ g จะเทากนเมอและตอเมอ ( ) ( )nn bbbgbbbf ,,,,,, 2121 KK = เมอ B∈nbbb ,,, 21 K นพจนบลน 2นพจนใดๆ ซงสามารถ

แทนฟงกชนบลนเดยวกนได เราจะเรยก 2 นพจนบลนนนวา นพจนสมมล (Equivalent Boolean

Expressions) ตวอยางเชน นพจน xy , 0+xy และ xy⋅1 เปนนพจนสมมล

Page 3: พีชคณิตบูลนี (Boolean Algebra)maths.sci.ku.ac.th/suriya/Slide/Discrete/Chapter5Slide.pdf1 5 พีชคณิตบูลนี (Boolean Algebra) พชคณีิตบูลีน

3

บทนยาม 5.2 ถา BB →nf : แลว สวนเตมเตมของ f เขยนแทนดวย f เปนฟงกชนบลนทนยามบน nB โดย ( ) ( )nn bbbfbbbf ,,,,,, 2121 KK =

ถา BB →ng : เรานยามผลบวกและผลคณของฟงกชนบลน BB →⋅+ ngfgf :, โดย

( )( ) ( ) ( )nnn bbbgbbbfbbbgf ,,,,,,,,, 212121 KKK +=+

และ ( )( ) ( ) ( )nnn bbbgbbbfbbbgf ,,,,,,,,, 212121 KKK ⋅=⋅

กฎทสาคญของพชคณตบลน

1 ff = xx = Law of the Double Complement

2 gfgf ⋅=+ yxyx ⋅=+ DeMorgan’s Laws

gfgf +=⋅ yxyx +=⋅

3 fggf +=+ xyyx +=+ Commutative Laws

fggf ⋅=⋅ xyyx ⋅=⋅

4 ( ) ( ) hgfhgf ++=++ ( ) ( ) zyxzyx ++=++ Associative Laws

( ) ( ) hgfhgf ⋅⋅=⋅⋅ ( ) ( ) zyxzyx ⋅⋅=⋅⋅

5 ( )( )hfgfghf ++=+ ( )( )zxyxyzx ++=+ Distributive Laws

( ) hfgfhgf ⋅+⋅=+⋅ ( ) zxyxzyx ⋅+⋅=+⋅

6 fff =+ xxx =+ Idempotent Laws

fff =⋅ xxx =⋅

7 ff =+ 0 xx =+ 0 Identity Laws

ff =⋅1 xx =⋅1

8 1=+ ff 1=+ xx Inverse Laws

0=⋅ ff 0=⋅ xx

9 11 =+f 11=+x Dominance Laws

00 =⋅f 00 =⋅x

10 ffgf =+ xxyx =+ Absorption Laws

( ) fgff =+⋅ ( ) xyxx =+⋅

Page 4: พีชคณิตบูลนี (Boolean Algebra)maths.sci.ku.ac.th/suriya/Slide/Discrete/Chapter5Slide.pdf1 5 พีชคณิตบูลนี (Boolean Algebra) พชคณีิตบูลีน

4

ตวอยาง 5.2 จงพสจน Absorption Law xxyx =+ โดย

ก. ใชตาราง ข. ใชกฎพชคณตบลน

โดยตาราง x y xy xyx +1 1 1 1 1 0 0 1 0 1 0 0 0 0 0 0

โดยกฎ

yxxxyx ⋅+⋅=+ 1 Identity Law

( )yx +⋅= 1 Distributive Law of product over sum

1⋅= x Dominance Law (and Commutative Law of sum)

x= Identity Law

ตวอยาง 5.3 จงแปลงนพจนบลน ( )zyzxxw +++ ใหอยในรปอยางงาย เมอ wzyx ,,, เปนตวแปรบลน

( ) ( ) ( )zyzxwxzyzxxw ++++=+++ DeMorgan’s Law

( ) ( )zyzxwx ++++= Law of the Double Complement

( )[ ] ( )zyzxwx ++++= Associative Law of sum

( ) ( )zyzx +++= Absorption Law (and the Commutative Laws of sum and product)

( ) yzzx +++= Commutative Laws of sum

yzx ++= Idempotent Law of sum

Page 5: พีชคณิตบูลนี (Boolean Algebra)maths.sci.ku.ac.th/suriya/Slide/Discrete/Chapter5Slide.pdf1 5 พีชคณิตบูลนี (Boolean Algebra) พชคณีิตบูลีน

5

ตวอยาง 5.4 กาหนดให zyx ,, เปนตวแปรบลน จงหาฟงกชนบลน BB →3:,, hgf เมอกาหนดคาของฟงกชนดงตารางตอไปน

x y z f g h 1 1 1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 1 0 0 0 1 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0

f จะใหคา 1 เมอ 0=x , 0=y และ 1=z เพยงแถวเดยวจากจานวนทางทเปนไปไดทงหมดของตวแปรบลนทงสามตว ดงนนจะใชนยามของตวดาเนนการการคณ ซงจะใหคาเปน 1 เมอตวถกดาเนนการทกตวมคาเปนหนง

จากตาราง ในแถวท 1=f เราพบ 0=x , 0=y เราจะทาใหคา 0 นกลายเปน 1 ไดโดยการใชตวดาเนนการเตมเตม จะได 1=x และ 1=y

ดงนน f ทนยามโดย ( ) zyxzyxf =,, จะใหคา 1 เมอ 0=x , 0=y และ 1=z

ในทานองเดยวกน จะได ( ) zyxzyxg =,,

แตสาหรบฟงกชน h จะใหคา 1 เมอ 0=x , 0=y , 1=z และเมอ 1=x , 0=y , 0=z ซงกคอแตละสถานการณทใหคาฟงกชนบลนเปน 1 ของ f และ g เราจะไดวา gfh += หรอ ( ) zyxzyxzyxh +=,, นนเอง #

บทนยาม 5.3 สาหรบทก +∈Zn ถา f เปนฟงกชนบลนของ n ตวแปรบลน nxxx ,,, 21 K เราจะเรยก

1. แตละพจนของ ix และสวนเตมเตม ix สาหรบ ni ≤≤1 วา literal

2. พจนทอยในรป nyyy K21 เมอ ii xy = หรอ ii xy = สาหรบ ni ≤≤1 วา การเชอมมลฐาน (Fundamental Conjunction)

3. การแทนฟงกชนบลน f ในรปผลบวกของการเชอมมลฐาน วา Disjunctive

Normal Form ตวยอ d.n.f. ของ f

Page 6: พีชคณิตบูลนี (Boolean Algebra)maths.sci.ku.ac.th/suriya/Slide/Discrete/Chapter5Slide.pdf1 5 พีชคณิตบูลนี (Boolean Algebra) พชคณีิตบูลีน

6

ตวอยาง 5.5 จงหา d.n.f. ของ BB →3:f เมอ ( ) zxxyzyxf +=,,

สงเกตเฉพาะแถวททาให f มคาเปน 1 ซงมทงหมด 4 แถว ซงเปนตวกาหนดการเชอมพนฐานทจะนามาใชใน d.n.f. ของ f ดงนนเราได ( ) xyzzxyyzxzyxzyxf +++=,,

x y z xy zx f 1 1 1 1 0 1 1 1 0 1 0 1 1 0 1 0 0 0 1 0 0 0 0 0 0 1 1 0 1 1 0 1 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0

อกวธหนงคอ การพจารณาแตละพจนของการคณทพบในฟงกชน f นนคอ xy และ zx โดยการหาตวแปรบลนทหายไป เราได ( ) ( ) zyxyzxzxyxyzzyyxzzxyzxxy +++=+++=+

ตวอยาง 5.6 จงหา d.n.f. สาหรบ ( ) xzxywywxzyxwg ++=,,,

เราสามารถหาไดโดยการพจารณาทละพจนของ ( ) zywxzywxzzywxywx +=+= ( ) zxywxyzwzzxywxyw +=+=

( ) ( ) zyxwzywxxyzwwxyzzyyxwwxz +++=++=

โดย Idempotent Law of sum เราจะได d.n.f. ของ g เปน

( ) zyxwwxyzzxywxyzwzywxzywxzyxwg +++++=,,, #

พจารณาตารางตอไปน

x y z รป Binary 1 1 1 111 (=7) 1 1 0 110 (=6) 1 0 1 101 (=5) 1 0 0 100 (=4) 0 1 1 011 (=3) 0 1 0 010 (=2) 0 0 1 001 (=1) 0 0 0 000 (=0)

ในตวอยาง 5.5 สามารถเขยน d.n.f. ไดเปน ( )∑ 7,6,3,1m เมอ m ถกใชแทน minterms ซงกคอเลขฐาน 10 ของเลขฐานสองของ 001, 011, 110 และ 111 คาวา minterms เปนการใชเพอเนนวา “การเชอมมลฐานแบบใดจะตองมคาเปน 1 แลวจะทาใหคาฟงกชนเปน 1” สาหรบ ( )3m จะแทนเลขฐานสอง 011 ซงแทนความหมาย 1== zy และ 0=x สอดคลองกบการเชอมมลฐาน yzx ซงมคาเปน 1 เพยงแถวเดยวในตาราง ซงกคอ 1== zy และ 0=x

จาก 1

Page 7: พีชคณิตบูลนี (Boolean Algebra)maths.sci.ku.ac.th/suriya/Slide/Discrete/Chapter5Slide.pdf1 5 พีชคณิตบูลนี (Boolean Algebra) พชคณีิตบูลีน

7

แมวาเราจะไมพจารณาจากตาราง เรากสามารถแทน d.n.f. ของฟงกชน g ในตวอยาง 5.6 ไดในรปของผลบวกของ minterms (sum of minterms) โดยการแปลงยอนกลบจากการเชอมมลฐานเปนเลขฐานสองและเลขฐานสบตามลาดบ ตวอยางเชน เราแทน zywx ดวย 1101 ซงเทากบ

13222 023 =++ ดงนนเราจะได ( ) ( )∑= 15,13,12,7,6,3,,, mzyxwg

5.1.2 ภาวะคกน (Duality)

กฎของพชคณตบลนตงแตขอ 2-10 ลวนแตมคของกนและกน ซงเกดจากการสรางสงคกน (Dual)

การสรางคกนจะทาไดโดยการเปลยนตวดาเนนการคณเปนบวก เปลยนตวดาเนนการบวกเปนคณ เปลยน 0 เปน 1 และเปลยน 1 เปน 0 ตวอยางเชน ( )zyx ++⋅1 มคกนเปน ( )( )yzx 0+

ภาวะคกนของ Disjunctive Normal Form คอ Conjunctive Normal Form

ตวอยาง 5.7 ให BB →3:f กาหนดคาดงตารางตอไปน x y z f1 1 1 1 1 1 0 1 1 0 1 0 1 0 0 0 0 1 1 1 0 1 0 1 0 0 1 1 0 0 0 0

การเลอกมลฐาน (Fundamental Disjunction) คอ พจนทอยในรป 321 ccc ++ เมอ xc =1 หรอ xc =1 , yc =2 หรอ yc =2 และ zc =3 หรอ zc =3 การเลอกมลฐานของ zyx ++ จะมคาเปน 1 สาหรบทกกรณยกเวน zyx ,, เปน 0 ทานองเดยวกนการเลอกมลฐานของ zyx ++ จะมคาเปน 1 ทกกรณยกเวน 1=x และ 0== zy เนองจากการเลอกมลฐานนจะใหคาเปน 0 เพยงกรณเดยว และกรณเหลานไมเกดขนพรอมกน ดงนนผลคณของ ( )( )zyxzyx ++++ จะใหคาเปนศนยเพยง 2 กรณดงทกลาวขางตน โดยอางองจากรปแบบน เราจะสามารถแทนฟงกชน f ไดเปน ( )( )( )zyxzyxzyxf ++++++= ซงเราจะเรยกรปแบบดงกลาวนวา Conjunctive

Normal Form (c.n.f.) ของ f

เนองจากการเลอกมลฐาน zyx ++ จะมคาเปน 1 เมอตวแปรบลนตวใดตวหนงมคาเปน 1 เราจงเรยกรปแบบเชนนวา maxterm เราสามารถใชการบงชดวยคาของฐานสองของนพจนบลนนน เพอระบแถวทเปนตวกอใหเกด maxterm น สาหรบ f ในตวอยาง 5.7 จะเขยนไดเปน

( )∏= 5,4,0Mf และเราเรยกรปแบบการเขยนแบบนวา ผลคณของ maxterm (Product of maxterms)

Page 8: พีชคณิตบูลนี (Boolean Algebra)maths.sci.ku.ac.th/suriya/Slide/Discrete/Chapter5Slide.pdf1 5 พีชคณิตบูลนี (Boolean Algebra) พชคณีิตบูลีน

8

ตวอยาง 5.8 ให BB →4:f กาหนดโดย ( ) ( )( )( )ywzyxyxwzyxwg +++++=,,, จงหา c.n.f. ของ g

zzyxwyxwyxw +++=+++=++ 0

( )( )zyxwzyxw ++++++= ( )( )zyxwzyxwzyxwwzyx ++++++=+++=++

( )( )yxwyxwyxxwyw ++++=++=+

( )( )zzyxwzzyxw ++++++=

( )( )( )( )zyxwzyxwzyxwzyxw ++++++++++++=

โดยใช Idempotent Law of Product เราจะได ( ) ( )( )zyxwzyxwzyxwg ++++++=,,, ( )( )( )( )( )zyxwzyxwzyxwzyxwzyxw +++++++++++++++ หรอเมอเขยนในรปผลคณของ maxterms เปน ( )∏= 10,7,6,3,2,1,0Mg

ตวอยาง 5.9 จงหา c.n.f. ของฟงกชน (ทไดจากตวอยาง 5.6) ทมรปแบบ d.n.f. เปน ( ) zyxwwxyzzxywxyzwzywxzywxzyxwg +++++=,,,

อาศยการเปนภาวะคกนของ Disjunctive Normal Form กบ Conjunctive Normal Form

แปลงรป d.n.f. ใหเปนผลบวกของ minterms กอน ได ( ) ( )∑= 15,13,12,7,6,3,,, mzyxwg จากผลบวกของ minterms และการสงเกตคาเลขฐานสองทใหคาของฟงกชนไมเทากบ 1 (หรอเทากบ 0) จะไดผลคณของ maxterms ( ) ( )∏= 14,11,10,9,8,5,4,2,1,0,,, Mzyxwg และจากผลคณของ maxterms เราได c.n.f. เปน

( ) ( )( )( )( )( )zyxwzyxwzyxwzyxwzyxwzyxwg +++++++++++++++=,,,

( )( )( )( )( )zyxwzyxwzyxwzyxwzyxw +++++++++++++++

5.2 เครอขายประตสญญาณ (Gating Network) บทประยกตทสาคญของพชคณตบลนกคอการออกแบบวงจรอเลคโทรนกส (electronics circuit)

ขอมลเขาและออก (สญญาณเปดหรอปด) เทยบไดกบ 0 หรอ 1

หนวยพนฐานของวงจรกคอ ประตสญญาณ (Gates) โดยแตละประตสญญาณกคอแตละตวดาเนนการพชคณตบลน

Page 9: พีชคณิตบูลนี (Boolean Algebra)maths.sci.ku.ac.th/suriya/Slide/Discrete/Chapter5Slide.pdf1 5 พีชคณิตบูลนี (Boolean Algebra) พชคณีิตบูลีน

9

5.2.1 ประตสญญาณตรรกะพนฐาน (Basic Logic Gates)

ประตสญญาณนเสธ (Inverter gate) รบคาสญญาณเขาจาก 1 ตวแปรบลน และใหสญญาณออกเปนการกลบสถานะของสญญาณเขา

ประตสญญาณออร (OR Gate) มสญญาณเขาจากอยางนอย 2 ตวแปรบลน ซงอาจจะมมากกวากได และใหสญญาณออกเปนผลบวกบลนของสญญาณเขาทงหมด

ประตสญญาณแอนด (AND Gate) มสญญาณเขาทมาจาก 2 ตวแปรบลนเปนอยางนอย โดยทจะใหสญญาณออกเปนผลคณบลนของคาทไดจากตวแปรบลนทงหมด

การวาดวงจรของเครอขายตรรกศาสตร (Logic Network) หรอเครอขายประตสญญาณ (Gating Network)

1. เสนของสญญาณเขาสามารถแยกออกเพอเปนสญญาณเขาสาหรบประตสญญาณมากกวา 1 ประตได

2. เสนสญญาณเขาและเสนสญญาณออกจะตองวงเขาสประตสญญาณเทานน

3. จะไมมสญญาณยอนกลบ กลาวคอ สญญาณออกจากประตสญญาณ G จะไมกลายเปนสญญาณเขาของ G หรอประตสญญาณทอยกอน G ไมวาจะทางตรงหรอทางออม

4. เครอขายประตสญญาณนจะไมขนกบเวลา นนคอ คาสญญาณออกจากวงจรจะถกคานวณรวมในครงเดยวพรอมกนทงวงจร เชนเดยวกบ Finite State Machine

วงจรทแทนนพจนบลน ( )( )xzyxw ++ จะประกอบดวย 2 สวนหลกๆ คอ สวนของ ( )xw+ และ สวนของ ( )xzy + ดงรปตอไปน

x x x y

ประตสญญาณนเสธ ประตสญญาณออร ประตสญญาณแอนด

xy xyyx +

xw +

x x

y

xz ( )( )xzyxw ++

xzy +z

w

Page 10: พีชคณิตบูลนี (Boolean Algebra)maths.sci.ku.ac.th/suriya/Slide/Discrete/Chapter5Slide.pdf1 5 พีชคณิตบูลนี (Boolean Algebra) พชคณีิตบูลีน

10

ตวอยาง 5.10 จงออกแบบวงจรตรรกศาสตร ททางานเชนเดยวกบฟงกชน ( ) ( )( )zxyzyxzyxf ++=,,

แยกออกเปนสองสวนคอ 1. ( )zyx ++ และ 2. ( )zxy

สวนทสองนจะตองถกแบงออกเปนอก 2 สวนยอยคอ 2.1 xy และ 2.2 z ไดวงจรดงรป

ตวอยาง 5.11ในการแขงขนเทควนโดจะตองใชกรรมการ 3 คน คะแนนแตละคะแนนจะเกดจากการกดปมของกรรมการพรอมกนอยางนอย 2 ใน 3 คน จงออกแบบวงจรตรรกศาสตรเพอสรางวงจรควบคมในการใหคะแนน

• ใหกรรมการแตละคนคอ x , y และ z การท x กดปมใหคะแนน นนคอ 1=x แตถาไมไดกดปมใหคะแนน นนคอ 0=x สาหรบกรรมการ y และ z กจะถกกาหนดแบบเดยวกน

• 2 ใน 3 ของกรรมการจะตองกดปมจงจะไดคะแนน(สญญาณเปน 1) เขยนไดเปนนพจน xy , xz และ yz แทนกรรมการ 2 คนใดๆกดปม

• รวมเหตการณเขาดวยกน เราจะไดฟงกชนบลนแทนผลของการกดปมเปน ( ) yzxzxyzyxf ++=,, จะเขยนเปนวงจรตรรกศาสตรไดดงน

z

xy

x

yx

y

xz yzxzxy ++

z yz

x

z

z y

( )( )zxyzyx ++

zxy

xy

zyx ++

xy

Page 11: พีชคณิตบูลนี (Boolean Algebra)maths.sci.ku.ac.th/suriya/Slide/Discrete/Chapter5Slide.pdf1 5 พีชคณิตบูลนี (Boolean Algebra) พชคณีิตบูลีน

11

ตวอยาง 5.12 สมมตวาเราตองการไฟทควบคมไดจากสวทชมากกวา 1 จด เชนไฟตรงบนไดบานทเปดและปดไดทงจากชนบนและชนลาง โดยเมอมการกดสวทชใดสวทชหนง ไฟจะเปลยนสถานการณปดไปเปนเปด และเปดไปเปนปด จงออกแบบวงจรตรรกศาสตรทใชควบคมการเปดและปดไฟจาก 2 จด และ 3 จด

กรณมสวทชไฟ 2 จด

ให x เปนสวทชตวแรก คา 1=x แทนปด และ 0=x แทนเปด

ให y เปนสวทชตวแรก คา 1=y แทนปด และ 0=y แทนเปด

เราสามารถเรมตนอยางไรกได เชนถาเราเรมตนโดยใหสวทชทงสองปด แทนการเปดไฟ จะได ( ) 11,1 =f เมอกดสวทชตวใดตวหนงจากสถานะเรมตน ไฟจะถกปด จะได ( ) ( ) 00,11,0 == ff

จากสถานะทไฟปดน เมอกดสวทชทอยในสถานะปด (1) ไฟกจะเปด นนคอ ( ) 10,0 =f หรอถากดสวทชในสถานะเปด (0) กจะกลบไปทสถานะเรมตน คอ ( ) 11,1 =f เราสรางตารางคาของฟงกชนบลนไดเปน

x y f1 1 1 1 0 0 0 1 0 0 0 1

จากตารางคาความจรง สามารถสรางฟงกชนบลนในรปของ d.n.f. ไดเปน ( ) yxxyyxf +=, ซงนาไปออกแบบเปนวงจรตรรกศาสตรไดดงรปตอไปน

กรณมสวทชไฟ 3 จด

ให yx, และ z เปนตวแปรบลนแทนสวทชแตละตว มขอกาหนดเชนเดม คอ คา 1=x แทนสวทชถกปด และ 0=x แทนสวทชถกเปด สาหรบสวทชตวทสอง y กเชนเดยวกน คา 1=y แทนสวทชถกปด และ 0=y แทนสวทชถกเปด และคาสวทชตวทสาม z จะมคา 1=z แทนสวทชถกปด และ 0=z แทนสวทชถกเปด

xy

x

yx

y

yxxy +

yx

Page 12: พีชคณิตบูลนี (Boolean Algebra)maths.sci.ku.ac.th/suriya/Slide/Discrete/Chapter5Slide.pdf1 5 พีชคณิตบูลนี (Boolean Algebra) พชคณีิตบูลีน

12

ให ( )zyxg ,, เปนฟงกชนบลนทใหคาเปนสถานะของไฟทถกเปดเมอ ( ) 1,, =zyxg และเปนสถานะทถกปดเมอ ( ) 0,, =zyxg ใหสถานะเรมตนเปนการปดทกสวทชใหเปนการเปดไฟ จะได ( ) 11,1,1 =g จากนน 1 ใน 3 ของสวทชทเปลยนสถานะ ทาใหไฟปด นนคอ ( ) ( ) ( ) 00,1,11,0,11,1,0 === ggg จากนนกเปลยนสถานะของสวทชอกครงทาใหไฟเปด เราจะ

ได ( ) ( ) ( ) 10,1,00,0,11,0,0 === ggg สดทายกจะเปลยนทสวทชตวสดทาย เพอเปนการปดไฟ ซงจะได ( ) 00,0,0 =g ซงสรางตารางไดดงตอไปน

x y z f1 1 1 1 1 1 0 0 1 0 1 0 1 0 0 1 0 1 1 0 0 1 0 1 0 0 1 1 0 0 0 0

ซงทาใหไดฟงกชน g ในรปการกระจายผลบวกภายใตการคณ (sum-of-products) หรอ d.n.f.

เปน ( ) zyxzyxzyxxyzzyxg +++=,, ซงเราเขยนเปนวงจรตรรกศาสตรไดดงรป

zyx

x

y

yzyxzyxzyxxyz +++

z

z

xyz

zyx

zyx

x

Page 13: พีชคณิตบูลนี (Boolean Algebra)maths.sci.ku.ac.th/suriya/Slide/Discrete/Chapter5Slide.pdf1 5 พีชคณิตบูลนี (Boolean Algebra) พชคณีิตบูลีน

13

วงจรการบวก

การบวกแตละหลก ผลลพธทไดกคอ ผลบวก และคาทถกทด กรณบวกเลขฐานสองจานวน 2 บต คาทถกทดจะเปน 0 ถง 3 กรณ ยกเวนกรณของ 11+ ซงจะใหคาในหลกของการบวกเปน 0 และมตวทดเปน 1

ถาใหคาจากการบวก ( s ) และคาททด ( c ) สามารถเขยนไดเปนฟงกชนบลนของตวแปรบลน x และ y โดยท คาททดจะเปน ( ) xyyxg =,

คาจากการบวกเปน ( ) ( )( )xyyxyxyxyxyxf +=⊕=+=, (เมอเครองหมาย หมายถง Exclusive OR)

x y ผลบวกฐานสอง x y คาจากการบวก x y คาททด 0 0 0+0 = 0 0 0 0 0 0 0 0 1 0+1 = 1 0 1 1 0 1 0 1 0 1+0 = 1 1 0 1 1 0 0 1 1 1+1 = 10 1 1 0 1 1 1

ตารางแสดงการบวกเลขฐานสอง 2 บต

เมอนาฟงกชน f และ g มาประกอบกน แทนทจะใหสญญาณออกเปนหนงสญญาณ ในกรณนเราจะไดสญญาณออกเปน 2 สญญาณ เรยกวงจรการบวกนวา ครงตวบวก (Half-Adder) ซงเขยนวงจรไดเปน

วงจรตรรกศาสตรของครงตวบวก (Half-Adder)

เราจะใชวงจรครงตวบวก 2 วงจรและประตสญญาณออรอก 1 ตว เพอสรางตวบวกเตม (Full-

Adder) ในการบวกเลขฐานสอง 011 xxxxx nn K−= กบ 011 yyyyy nn K−= เราจะตองบวกทละหลกของบต ix และ iy การบวกคบตกอนหนา 1−ix และ 1−iy อาจจะมการทดมากได ดงนนคาททด 1−ic จากบตกอนหนา จะถกรวมเขามาเปนสญญาณเขาของการบวก ix และ iy ดวย

yx +yx

( )( )xyyxs +=

xy xyc =

Page 14: พีชคณิตบูลนี (Boolean Algebra)maths.sci.ku.ac.th/suriya/Slide/Discrete/Chapter5Slide.pdf1 5 พีชคณิตบูลนี (Boolean Algebra) พชคณีิตบูลีน

14

วงจรตรรกศาสตรของตวบวกเตม (Full-Adder)

ถาเราตองบวกเลขฐานสอง 2 ตวซงมความยาวบตสตรงเทากบ 3 นนคอ 012 xxx และ 012 yyy เราจะไดผลบวกเปน 0122 sssc

จงจรบวกเลขฐานสองขนาดความยาว 3 บต

5.2.2 การลดรปประตสญญาณตรรกะ (Minimization of Logic Gates)

ฟงกชนบลนในรป d.n.f. หรอ c.n.f. สามารถเขยนเปนวงจรตรรกศาสตรได แตอาจจะตองใชประตสญญาณจานวนมาก ทาใหคาใชจายเพมขน นอกจากนยงอาจทาใหวงจรเทอะทะของและสงผลกบความเรว

( ) ( )∑= 11,9,8,7,5,4,,, mzyxwf ซงมรป d.n.f. เปน ( ) yzxwzyxwzyxwxyzwzyxwzyxwzyxwf +++++=,,, อาศยกฎของพชคณตบลนจะได

zyxwyzxwzyxwzyxwxyzwzyxwf +++++=

( ) ( ) zyxwyzxwzzyxwyyxzw +++++=

zyxwyzxwyxwxzw +++=

( ) ( )yzyxwzyzxwyzxwyxwzyxwxzw +++=+++=

( ) ( )zyxwyzxw +++=

0y

1x

1y

2x

2y

0x0c

1c

2c

2s

0s

1s F.A.

F.A.

H.A

iy ix

iii yxs ⊕=′

iii yxc =′

1−ic

( )iii yxc ⊕−1

( )iiiiii yxcyxc ⊕+= −1

1−⊕′= iii css

H.A.

H.A.

Page 15: พีชคณิตบูลนี (Boolean Algebra)maths.sci.ku.ac.th/suriya/Slide/Discrete/Chapter5Slide.pdf1 5 พีชคณิตบูลนี (Boolean Algebra) พชคณีิตบูลีน

15

ดงนน เราจะได

a. ( ) zxwyxwyxwxzwzyxwf +++=,,, b. ( ) ( ) ( )zyxwyzxwzyxwf +++=,,,

f สามารถเขยนไดมากกวา 1 แบบ ทงสองแบบสดทาย เปนรปแบบทกะทดรดกวาแบบของ d.n.f.

?? ผลทไดในแบบ a คอผลบวกของผลคณทเลกทสดหรอไม (minimal-sum-of-products) ??

ในแบบ a ฟงกชน f ถกแทนดวยผลบวกของผลคณ 4 ชด แตละชดประกอบดวย 3 literals

“เลกทสด” ในทนหมายถง 2 สง คอ

1. การปรบใหเปนรปอนๆ ทใหผลเชนเดยวกน จะไมอยในรปของผลบวกของผลคณเดม

2. ถา f สามารถแทนไดดวยรปแบบอน ผลบวกของผลคณนนจะประกอบดวยอยางนอย 4 พจนของผลคณ และแตละพจนจะมอยางนอย 3 literals

เราอาจสงสญญาณในรป w เปนสญญาณเขา แทนทจะเปนการผานสญญาณ w เขาประตสญญาณนเสธ เพอสราง w ซงวงจรตอไปนคอวงจรตรรกศาสตรของผลบวกของผลคณทเลกทสด

วงจรตรรกศาสตร minimal-sum-of-Product ของ f

วงจรตรรกศาสตร ( ) ( )zyxwyzxw +++

( )zyxw +

( ) ( )zyxwyzxw +++

( )zyxw +

w x

y

w x

z

Level 3

Level 2

Level 1

yxw

x y

zxwyxwyxwxzw +++

z w

zxw

yxw

w x

x y

w

w x z

xzw แบบ a

แบบ b

Page 16: พีชคณิตบูลนี (Boolean Algebra)maths.sci.ku.ac.th/suriya/Slide/Discrete/Chapter5Slide.pdf1 5 พีชคณิตบูลนี (Boolean Algebra) พชคณีิตบูลีน

16

เราอาจคดวา วงจรในแบบ b วงจรทดกวา เนองจากมตนทนนอยกวา

แตการทมสญญาณเขาและประตสญญาณนอยกวา บางสญญาณเขาของวงจรตองผานประตสญญาณถง 3 ระดบกอนจะเปนสญญาณออกในขนสดทาย ในทางปฏบต แตละระดบจะตองคานงถงการหนวงเวลาของสญญาณ กวา f จะสรางสญญาณออกในขนสดทาย อปกรณอเลคโทรนกสความเรวสงจงจะตองคานงถงเวลาทเสยไปกบระดบทเพมขนในการออกแบบประตสญญาณดวย

การแทนฟงกชนบลนดวยผลบวกของผลคณเลกทสด ถกพฒนาขนโดย Maurice Karnaugh ในปค.ศ. 1953 และเรยกชอตามผพฒนาวา แผนทคารนอฟ (Karnaugh maps) วธการนจะชวยสรางเครอขายประตสญญาณ 2 ระดบ แตขอจากดของวธการนกคอเราสามารถลดรปของ d.n.f. ทมตวแปรบลนไมเกน 6 ตว

ให BB →4:g เมอ ( ) zwxywxyzzywxzywxzyxwg +++=,,, ( ) ( ) ( ) wxyywxwxyywxzzwxyzzywxg =+=+=+++= หรอ

( ) ( )( ) wxzzyywxzyyzzyzywxg =++=+++=

กระบวนการลดรปในแบบหลงนเกดจากการพบการเชอมมลฐานจานวน n2 เมอสองพจนใดๆทตดกนมเพยง 1 literal ทแตกตางกน การพจารณาสองพจนใดๆทตดกนอาจจะสรางความยงยากได วธทเหมาะสมกวากคอ การใชแผนทคารนอฟ

แผนทคารนอฟ (Karnaugh maps)

การสรางแผนทคารนอฟแทนฟงกชนทประกอบดวย 2 ตวแปรบลน x และ y เราอาจจะใหแนวตงเปน y และ y และแนวนอนเปน x และ x ชองแตละชองในตารางจะแทนพจนของการเชอมมลฐานทเกดขนในฟงกชนบลนนน เชน

( ) yxyxyxyxf ++=, หรอเขยนในรปผลบวกของ minterms ไดเปน ( )∑= 2,1,0mf เราจะสรางแผนทคารนอฟไดดงน

y y

x 1

x 1 1

แตละชองทตดกน (adjacent) บนแผนทคารนอฟ เปรยบไดกบ การเชอมมลฐานทแตกตางกนเพยง 1 literal เมอพบ 1 ในชองทตดกน เราจะทาการรวมกน(โดยกฎทางพชคณตบลน) เชน เมอเราพบ

yxyx + เราสามารถใชกฎการกระจายการคณเหนอการบวก กฎการผกผนการบวก และกฎเอกลกษณการคณ ทาใหเราได ( ) yyxx ⋅=+ 1 ซงทายทสดเราจะได y

1 literal ทตางกน

1 literal ทตางกน

Page 17: พีชคณิตบูลนี (Boolean Algebra)maths.sci.ku.ac.th/suriya/Slide/Discrete/Chapter5Slide.pdf1 5 พีชคณิตบูลนี (Boolean Algebra) พชคณีิตบูลีน

17

ในตวอยางนเราพบ 1 ทตดกนอย 2 ท คอ

1. แนวตงของ y - การเชอมมลฐาน yx และ yx

2. แนวนอนของ x - การเชอมมลฐาน yx และ yx

เราสามารถรวม yx และ yx เปน ( ) yyxx =+ และใชกฎ idempotent เพอสราง yx ตวทสอง ซงเราจะมารวมกบ yx จะได ( ) xyyx =+ นนคอ ( ) yxyxyxyxf ++=, จะลดรปเปน

yxf +=

เมอพบการตดกนของ 1 ในตาราง 12× หรอ 21× เราสามารถยบรวมทาใหตวแปรลดลง 1 ตวได สาหรบการเกด 1 ทกชองในตารางแบบ 22× เราสามารถยบรวม โดยตวแปรจะลดลงไป 2 ตว นนคอ ไมมตวแปรเลย ซงกจะเทากบไมวาตวแปรจะมคาเทาไร ฟงกชนกจะใหคาเปน 1 เสมอ

กรณ 3 ตวแปรเราสามารถสรางตารางขนาด 42× โดยแทนแนวนอนดวยตวแปร x และ x และแนวตงดวยผลคณทเปนไปไดทงหมดของ literal ทเหลอ

เมอพบ 1 ตดกนในตารางแบบ 12× หรอ 21× เราสามารถยบรวมทาใหตวแปรลดลง 1 ตวได และสาหรบ 1 ทตดกนในตารางแบบ 22× หรอ 41× จะถกยบตวแปรลง 2 ตวแปร สดทายเมอพบ 1 ตดกนในตารางแบบ 42× เรากจะยบรวม 3 ตวแปรได และไมเหลอตวแปรเลย ซงกจะเทยบไดกบฟงกชนทใหคา 1 เสมอไมวาคาตวแปรจะเปนอะไร

ในกรณของแผนทคารนอฟ 3 ตวแปรนตารางทอยในหลกแรกจะตดกบตารางทอยในหลกสดทาย เราอาจจะจนตนาการไดโดยจบหลกแรกมาตอกบหลกสดทาย ซงกจะเปนตารางในรปทรงกระบอก

yz zy zy zy yz zy zy zy

x x

x x a. zyxzxyzy += b. zyxyzxzx +=

yz zy zy zy yz zy zy zy

x x

x x c. zyxzyxzyxzxyz +++= d. zyxzyxzxyxyzx +++=

รปแสดงการลดรปของแผนทคารนอฟสาหรบฟงกชนบลน 3 ตวแปร

การลดรปจากแผนทคารนอฟทง 2 ตวแปรและ 3 ตวแปร พอทจะสรปไดวา การลดรปของนพจนทไดจากการสงเกตคา 1 ทตดกนในแผนทนน เราจะกาจด literal บางตวไป ซงนนกคอ literal ของการเชอมมลฐานทไมซ ากนในทกชองตารางทชดตดกน และคงเหลอไวแต literal ทซ ากน

Page 18: พีชคณิตบูลนี (Boolean Algebra)maths.sci.ku.ac.th/suriya/Slide/Discrete/Chapter5Slide.pdf1 5 พีชคณิตบูลนี (Boolean Algebra) พชคณีิตบูลีน

18

การเลอกชองตารางทจะยบรวมกนนน จะตองเลอกจากชองตารางทเรยงชดตดกนทใหญทสด กรณของฟงกชนบลน 4 ตวแปร จะพจารณาเชนเดยวกบกรณกอนหนา แตจะเพมตารางขนาด

44× และเพมกรณของการลด literal ลง 3 ตวแปรเมอพบ 1 ตดกนในตารางขนาด 24× หรอ 42× และมมทงส ถอวาชดตดกน yz zy zy zy yz zy zy zy

wx wx

xw xw

xw xw

xw xw

a. zyxwxyzwzywxwxyzxz +++= b. zyxwzxywzyxwzyxw

zyxwzyxwzywxzwxyz

++++

+++=

แผนทคารนอฟแสดงการยบรวมของ literal 3 ตวของฟงกชนบลน 4 ตวแปร

แผนทคารนอฟสาหรบฟงกชน 5 และ 6 ตวแปรกจะมวธการคลายๆกน แตการพจารณาชองตารางทชดตดกนจะเรมจาก n2,,8,4,2 K ชอง (เมอ n เปนจานวนตวแปรของฟงกชนบลน) และพจารณาทกรปแบบทเกดได โดยคานงถงความแตกตางของ literal เปนสาคญ เชน 16 ชองในแผนทคารนอฟ 5 ตวแปร จะมรปแบบเปน 82× , 28× และ 44× ซงทาใหลดตวแปรลงได 4 ตว

ตวอยาง 5.13 จงใชแผนทคารนอฟลดรปการกระจายผลบวกของผลคณ (the sum-of-products expansions)

ก. zyxyzxzyxzxy +++

เราสามารถสรางแผนทคารนอฟไดเปน

yz zy zy zy x 1 1 x 1 1

เนองจาก yzx ในแผนทไมชดตดกบ 1 ในชองอนๆ yzx จงไมสามารถลดรปได

เราพบ zxy และ zyx ชดตดกน และนอกจากน zyx และ zyx ดงนน 2 คนจงลดรปได และเราใชกฎ idempotent สราง zyx จากโจทยขนอก 1 พจน ทาใหเราได

( ) zxzyyxzyxzxy =+=+ และ ( ) zyzyxxzyxzyx =+=+

นนคอเราสามารถลดรป zyxyzxzyxzxy +++ ไดเปน yzxzyzx ++

Page 19: พีชคณิตบูลนี (Boolean Algebra)maths.sci.ku.ac.th/suriya/Slide/Discrete/Chapter5Slide.pdf1 5 พีชคณิตบูลนี (Boolean Algebra) พชคณีิตบูลีน

19

ข. zyxzyxyzxzyxzyx ++++

เราสามารถสรางแผนทคารนอฟไดเปน

yz zy zy zy x 1 1 x 1 1 1

ในกรณนเราพบวา zyx ปรากฏอยในทงสองกลมของตารางทชดตดกบ เราจะใชกฎ idempotent สราง zyx เพมขนอก 1 ตว แลวพจารณาการยบรวมทละกลม

สาหรบกลมแรก คอกลมทใหญทสดประกอบดวย zyx , zyx , zyx และ zyx ขนาด 22× เมอยบรวมจะทาใหตวแปรบลนหายไป 2 ตว กลมนจะยบรวมไดเปน y (เปนตวทซ ากนใน 4 การเชอมมลฐานน)

กลมทสองคอ yzx และ zyx มขนาดเปน 21× ยบแลว 1 ตวแปรจะหายไป นนคอเราได zx

ดงนนผลบวกของผลคณเลกสดของ zyxzyxyzxzyxzyx ++++ จะเปน zxy +

ค. zyxzyxyzxzyxzyxzxyxyz ++++++

เราสามารถสรางแผนทคารนอฟไดเปน

yz zy zy zy x 1 1 1 1 x 1 1 1

ในกรณนเราแบงกลมไดเปน 3 กลม ขนาด 41× จานวน 1 กลม และ 22× จานวน 2 กลม ซงเราสามารถยบรวมทาให zyxzyxyzxzyxzyxzxyxyz ++++++ ลดรปเปน zyx ++

Page 20: พีชคณิตบูลนี (Boolean Algebra)maths.sci.ku.ac.th/suriya/Slide/Discrete/Chapter5Slide.pdf1 5 พีชคณิตบูลนี (Boolean Algebra) พชคณีิตบูลีน

20

ตวอยาง 5.14 จงหาผลบวกของผลคณเลกทสดของฟงกชน ( ) ( )∑= 10,9,8,3,2,1,0,,, mzyxwf

เราสามารถทาได 2 แบบคอ 1. เปลยนรปของผลบวก minterms ใหเปน d.n.f. หรอ 2. สรางตารางโดยใชเลขฐานสองแทนตวแปรบลน

วธท 1 เราเขยน f ใหมไดเปน ( ) zyxwzyxwzyxwyzxwzyxwzyxwzyxwzyxwf ++++++=,,,

และสรางแผนทคารนอฟไดเปน yz zy zy zy

wx

xw 1 1 1

xw 1 1 1 1

xw

ทาใหเราได ( ) yxzxxwzyxwf ++=,,,

วธท 2 ปรบตารางใหมเปน

yzwx \ 00 01 11 10

00 1 1 1 1

01

11

10 1 1 1

ซงกจะได ( ) yxzxxwzyxwf ++=,,, เชนกน

Page 21: พีชคณิตบูลนี (Boolean Algebra)maths.sci.ku.ac.th/suriya/Slide/Discrete/Chapter5Slide.pdf1 5 พีชคณิตบูลนี (Boolean Algebra) พชคณีิตบูลีน

21

ตวอยาง 5.15 จงแปลงการกระจายผลบวกของผลคณตอไปนใหเปนผลบวกของผลคณเลกทสด

ก. zyxwyzxwzyxwzyxwzyxwyzxwzywxzwxywxyz ++++++++

เราไดแผนทคารนอฟเปน

yz zy zy zy

wx 1 1 1

xw 1 1 1

xw 1 1

xw 1

ทาใหเราไดผลบวกของผลคณเลกทสดเปน zxywyxwyxwzwxwyz ++++

ข. zyxwzyxwzyxwzyxwzyxwyzxwzywx ++++++

เราไดแผนทคารนอฟเปน

yz zy zy zy

wx 1

xw 1 1 1

xw 1 1

xw 1

ทาใหเราไดผลบวกของผลคณเลกทสดเปน zywyxwzy ++

ค. ( )∑= 14,12,11,10,8,7,6,5,4,2,0),,,( mzyxwf

ในกรณนเราเขยน f ใหมไดเปน

zyxwzyxwzyxwzyxwzxywxyzwzyxwzyxwyzxwzywxzwxyf ++++++++++=

เราไดแผนทคารนอฟเปน

yz zy zy zy

wx 1 1

xw 1 1 1

xw 1 1

xw 1 1 1 1

ทาใหเราไดผลบวกของผลคณเลกทสดเปน yxwxwz ++