Page 1
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 ++