หน่วยท่ี 2 พืชคณิตบูลีน
พชี คณติ บูลลนี (Boolean Algebra) • เครอ่ื งคอมพวิ เตอร ประกอบดว ยวงจรไฟฟา ทาํ งานเปนจงั หวะ และประสานงานกนั เปนระบบ วงจรไฟฟา เหลา นป้ี ระกอบดว ยชน้ิ สวนพน้ื ฐานซ่งึ รับขอมลู และสงขอมูลออกโดยที่ขอมูล เหลา นีแ้ ทนดวย 2 สถานะ คอื ปด หรอื เปด • การออกแบบวงจรท้ังหลายไดอาศัยหลกั การทางตรรกะ ซึง่ ถอื เปนพน้ื ฐานของพชี คณติ บูลลนี โดยการแทนการทาํ งานของวงจรดว ยฟงกช นั บูลลนี ฟง กช ันดงั กลา วสามารถเขยี นในรปู นพิ จน ที่ประกอบดวยตวั แปร แบบ 2 สถานะ และตวั ดําเนนิ การบลู ลนี และกรรมวิธีในการ ลดรูปนพิ จนบลู ลีน ซงึ่ จะสงผลใหว งจรทอี่ อกแบบมีความซบั ซอนนอยและทาํ งานอยา งมี ประสทิ ธภิ าพ ฟงกช นั บลู ลนี • พีชคณิตบลู ลนี ประกอบดว ยการดาํ เนนิ การ และกฏซึ่งกระทํากับคาหรอื ชุดของคา • คาแตล ะคา นน้ั กําหนดไดเ ปน 2 ลกั ษณะ เขียนแทนดว ยสญั ลกั ษณ 0 (คา เทจ็ - false) และ 1 (คา จริง - true) • การดาํ เนนิ การท่ใี ชก นั ทวั่ ไปมีอยู 3 การดาํ เนินการคือ (1) complementation (2) การบวกบลู ลนี (3) การคูณบลู ลนี 1. การดาํ เนนิ การ complementation (-) และกาํ หนดให 0= 1 1= 0 2. การดาํ เนินการบวกบลู ลนี หรือ OR แทนดวยสญั ลกั ษณ + และกําหนดให 1+1 = 1 1 +0 = 1 0+1 = 1 0+0 = 0 3. การดาํ เนินการคณู บลู ลีน หรือ AND แสดงดวยสัญลักษณ . 1.1 = 1
1.0 = 0 0.1 = 0 0.0 = 0 โดยปกติ เราสามารถละสัญลักษณ . ได • ในนิพจนบลู ลนี ซ่ึงมีตัวดาํ เนินการบูลลนี ปนกัน ถาไมม ีเครอ่ื งหมายวงเล็บกําหนดให กระทําการใดกอน ใหด ําเนนิ การเรียงตามลาํ ดบั คือ ทํา complement กอนจากนน้ั ทํา AND ทายทีส่ ุดจงึ ทํา OR • ตัวอยา งท่ี 1 หาคา 1.0 + (0 + 1) 1. 0 + (0 + 1) = 0 + 1 =0+0 =0 • ตวั ดาํ เนินการบูลลีน complement AND และ OR มคี วามหมายตรงกบั ตัวดาํ เนินการตรรกะ ~ ^ และ v ตามลําดับ • ในทางตรรกะนัน้ 0 หมายถงึ คา เท็จ และ 1 หมายถงึ คาจริง ดังนั้นพีชคณติ บลู ลีน และ ตรรกศาสตรจ ึงมคี วามสัมพันธกนั อยางใกลชดิ ตัวแปรบลู ลนี • ตวั แปรบูลลีน หมายถึงตัวแปรซงึ่ อาจมคี า 0 หรอื 1 เทานัน้ • ถากาํ หนดให B = {0,1} และ x1, x2, … xn เปนตวั แปรบูลลีนแลว ฟง กช ันบลู ลีนลําดับท่ี n หมายถงึ ฟง กช นั จากเซต Bn (เซต Bn คือ {(x1,x2,…,xn) | xi ∈ B, 1 ≤ i ≤ n}) ไปสเู ซต B เรามักอธบิ ายฟงกช นั บูลลนี ดวยตารางแสดงความสมั พนั ธข อง x1,x2,…,xnกับคา ของฟง กช ัน ตารางที่ 1 แสดงฟง กช นั บลู ลนี F(x,y) สําหรบั ตวั ดาํ เนนิ การ AND xy F(x,y) 00 0 01 0 10 0 11 1 2
• สามารถเขยี นฟงกช ันบลู ลนี ดวยนิพจนบูลลีน ซึง่ ประกอบดวยคาคงทบี่ ูลลีน ตวั แปรบลู ลนี และตวั ดําเนนิ การบลู ลีน • นิพจนบ ูลลนี ท่ีใชไ ด (valid) มดี งั นี้ 1. คาคงท่ี 0 และ 1 เปนนิพจนบ ูลลนี 2. ตัวแปร เปน นพิ จนบ ูลลนี 3. ถา E1 และ E2 เปนนพิ จนบลู ลนี แลว E1, E1.E2, E1 + E2, ( E1 ), (E1 . E2) และ (E1+E2) จะเปน นิพจนบ ลู ลีน • คา ของนิพจนบ ูลลนี หรอื ฟงกช ันบูลลีน คาํ นวณไดโ ดยการแทนคา ตวั แปรดวย 0 หรอื 1 แลว คํานวณตามกฏการดาํ เนินการ ตวั อยางท่ี 2 หาคาของฟงกช นั บลู ลนี F(x,y,z) = x + yz x y zx yz F(x,y,z) 0001 0 1 1 0011 0 1 1 0101 0 0 0 0111 1 0 1 1000 0 1010 0 1100 0 1110 1 • ฟงกช ันบลู ลีนลําดับที่ 2 เปน ฟงกช ันจากตวั แปรสองตัว ซงึ่ ผสมกนั ไดทั้งหมด 4 แบบนัน้ คา ของฟงกช ันจึงมีไดทง้ั หมด 24 หรอื 16 แบบ ตารางท่ี 3 แสดงคาทีเ่ ปนไปไดทั้งหมดของฟงกชนั บูลลีนลําดบั ท่ี 2 X y F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 000000000011111111 010000111100001111 100011001100110011 110101010101010101 3
ตัวอยา งท่ี 3 หาจาํ นวนฟงกช นั บลู ลนี ของฟง กชนั บูลลนี ลาํ ดับท่ี n ฟง กช ันบลู ลีนลําดบั ท่ี n มตี ัวแปรทั้งหมด n ตวั แตล ะตวั เปน ได 2 สถานะ ฉะนน้ั มวี ธิ ีผสมตวั แปรไดทงั้ หมด 2n วิธี ซงึ่ คือจาํ นวนคาของฟงกช นั แตละคาเปนได 2 สถานะ ดงั นั้นจาํ นวนฟง กช นั ทงั้ หมดจงึ มคี า 2(2n) • จากตัวอยา งท่ี 3 ใหส ังเกตวา จํานวนฟง กชนั ท่ีเปนไปไดส ําหรบั n ตัวแปรมขี นาดเพ่ิมเรว็ มาก เม่ือ n มีคามากขึ้น ดังนัน้ การใชฟ งกชนั บลู ลนี ควบคมุ หรอื แสดงการทํางานจึงทาํ ไดม ากมาย • ในการแสดงฟง กชนั บูลลนี ดว ยนพิ จน เราตองการแสดงนพิ จนท ี่มีรูปแบบงายทส่ี ดุ คือ จํานวน ตวั แปรนอยทส่ี ดุ และเกย่ี วของกบั ตวั ดาํ เนนิ การนอ ยทส่ี ดุ ในรปู แบบท่ซี บั ซอนนอยท่สี ุด การ ลดรูปนิพจนมเี อกลกั ษณ ซงึ่ สามารถชว ยลดรูปไดดังแสดงในตารางที่ 4 • ในการพิสูจนเ อกลักษณ เราสามารถใชวิธสี รางตาราง โดยกาํ หนดคา 0 และ 1 ใหกบั ตวั แปร แตละตวั และพิจารณาทกุ คาที่เปน ไปไดข องชดุ ตัวแปร (ทกุ combination) ตารางที่ 4 เอกลักษณบ ูลลนี x=x เอกลักษณ x+x = x x+y = y+x x .x = x x .y = y.x x+0 = x x + ( y + z ) = ( x + y) + z x .1 = x x . ( y + z ) = ( x . y) . z x+1 = 1 x + yz = ( x + y)( x + z ) x .0 = 0 x ( y + z ) = xy + xz xy = x + y x+y = x.y 4
ตัวอยางท่ี 4 ใหพสิ จู นเ อกลกั ษณ x + yz = (x + y)(x + z) xyz yz x + y x + z x + yz (x+ y)(x+ z) 000 0 000 0 001 0 010 0 010 0 011 1 100 0 100 0 101 0 110 0 111 1 111 1 111 1 111 1 111 1 111 1 สดมภสดุ ทา ยทั้งสองของตารางมีคาตรงกัน ดังน้นั เอกลกั ษณ x + yz = (x + y)(x + z)จึงเปนจรงิ ตวั อยา งที่ 5 ใชเอกลักษณใ นการพิสูจนว า p(p + r) = p p(p + r) = (p + 0)(p + r) Q x + 0 = x =p+0⋅r Q x + yz = (x + y)(x + z) =p+r⋅0 Q xy = yx =p+0 Qx⋅0=0 =p Qx+0=x Duality จากตารางท่ี 4 ใหสงั เกตวา เราจดั เอกลักษณเปน ชดุ ๆละ 2 เอกลกั ษณ เอกลักษณแ ตล ะชุดนั้นมี ลกั ษณะเปน คกู ัน (duality) คู (dual) ของนพิ จนบลู ลนี ใดคํานวณไดโดยการเปลยี่ นตัวดําเนนิ การ AND เปน OR และ เปล่ียนตวั ดาํ เนนิ การ OR เปน AND และเปล่ียนคาคงท่ี 0 เปน 1 และเปลี่ยนคาคงที่ 1 เปน 0 ตัวอยางท่ี 6 หาคขู องนพิ จน x(y + 0) และ x . 1 + (y + z) คขู อง x(y + 0) คือ x + (y . 1) 5
คขู อง x . 1 + ( y + z) คือ (x + 0) . (y . z) หลกั ของลกั ษณะคู (duality principle) กลาววา เอกลักษณใดเปนจริงแลว คขู องเอกลกั ษณนน้ั จะเปน จรงิ ดว ย หลกั การนท้ี ําใหเรา สามารถหาเอกลักษณใ หมๆไดอยางงา ยดายในเชงิ ฟง กชนั บลู ลนี ตัวอยา งที่ 7 หาเอกลักษณซ งึ่ เปนคขู องเอกลักษณ x(x + y) = x คูข องนิพจน x(x + y) คือ x + (xy) คขู อง x คือ x ดังนน้ั คเู อกลกั ษณข องx(x + y) = x คือ เอกลักษณ x + xy = x การแทนฟง กช นั บูลลีน ในหวั ขอนเ้ี ราจะศกึ ษาปญ หา 2 ปญหา o ปญหาแรกคอื ถา ทราบคาของฟงกช ันบลู ลนี แลว จะหานพิ จนบ ูลลนี ที่แทนฟง กช ันนีไ้ ด อยา งไร o ฟง กช ันบลู ลนี ใด ๆ สามารถแสดงดวยผลบวกของผลคณู บูล ลนี ของตวั แปร และสว น เติมเตม็ (complement) ของตวั แปร o ผลสรุปคอื เราสามารถแทนฟง กช ันบลู ลีนใดๆโดยการใชตวั ดําเนนิ การเพียง 3 แบบคอื . + และ - o ปญ หาทีส่ องคือสามารถแทนฟง กชนั บลู ลนี ใดๆ โดยใชต วั ดาํ เนินการนอ ยกวานีไ้ ดห รอื ไม o แทนฟง กชนั บลู ลีนโดยใชตวั ดาํ เนนิ การเดยี วได ตวั อยา งที่ 8 หานพิ จนซ่ึงแทนฟง กชัน F(x,y,z) และ G(x,y,z) ในตารางตอไปนี้ x y z F(x,y,z) G(x,y,z) 000 0 0 001 0 0 010 0 1 011 0 0 100 0 0 101 1 0 110 0 1 111 0 0 6
สาํ หรบั F นพิ จนท ีแ่ ทน F จะตองมีคา 1 เมอื่ x = z = 1 และ y = 0 และมคี า 0 ใน กรณีทีเ่ หลือ นิพจนด งั กลา วคอื ผลคณู บลู ลนี ของ x, y และ z ซง่ึ x y z จะมคี า 1 เฉพาะเมือ่ x = y = z = 1 น่นั คอื x = z = 1 และ y = 0 สาํ หรับ G นิพจนท่ีแทน G จะตอ งมีคา 1 เม่ือ x = z = 0 และ y = 1 หรอื เมือ่ x = y =1 และ z = 0 สามารถแทนคาํ อธบิ ายดงั กลา วดว ยผลบวกบลู ลนี ของผลคณู บูลลีน 2 พจน ผลคณู แตล ะพจนคือ แตละกรณี สวนผลบวกแสดงถงึ การรวมกรณีทัง้ สอง ซ่ึงในขณะใดขณะหน่งึ เกดิ ขน้ึ ไดเพยี งกรณี เดยี ว ผลคณู x y z มคี า 1 เฉพาะเม่ือ x = z = 0 และ y = 1 และ ผลคณู x y z มคี า 1 เฉพาะเมือ่ x = y = 1 และ z = 0 ดงั นัน้ เราสามารถแทน G ดว ย x y z + x y z ซ่ึงหมายความ วา G มีคา 1 เฉพาะเม่อื x = z = 0 และ y = 1 หรอื เฉพาะเมอื่ x = y = 1 และ z = 0 • ตัวอยา งขางตน นาํ ไปสูวิธกี ารสรางนิพจนท จ่ี ะแทนฟง กช นั โดยการพิจารณาคาของตวั แปรท่ี จะทําใหฟ ง กช นั ท่คี า 1 ถา x เปน ตวั แปรบูลลนี แลว เราเรียก x และ x วา เปน literal ของ x เมอื่ พิจารณาตวั แปร n ตัว ผลคณู ของ literal ของตวั แปรทั้ง n ตัวน้ี เรยี กวา พจนส ั้น (minterm) • พจนส ้ันใดๆจะมีคา 1 เฉพาะเมอื่ literral ทกุ ตัวของพจนสัน้ น้ันมคี า 1 เทา นั้น หรอื กลา วได วาเฉพาะเมื่อชดุ ตวั แปรในพจนสนั้ นั้นมีคา ท่เี หมาะสมเทา นนั้ ถา x1, x2, …, xn เปน ตัวแปรทพี่ จิ ารณา พจนสัน้ จะอยูในรปู y1 y2 … yn โดยท่ี yi เปน literal และมรี ูปแบบ xi หรอื xi คาของ y1 y2 … yn มีคา 1 กต็ อ เมอื่ yi = 1 สาํ หรับ i = 1, 2, …, n ถา yi มีรูปแบบ xi กรณนี ้กี ็คอื เม่ือ xi = 1 ถา yi มรี ูปแบบ xi กรณนี ้ีก็คือเม่อื xi = 0 ตวั อยา งที่ 9 หาพจนสัน้ ซ่ึงมีคา 1 เฉพาะเมือ่ x1 = x3 = 0 และ x2 = x4 = x5 =1 พจนสนั้ ดังกลา วคือ x1 x2 x3 x4 x5 ซึง่ มคี า 1 เฉพาะเม่อื x1= x2= x3= x4 = 1 หรือเฉพาะเมอ่ื x1 = x3 = 0 และ x2 = x4 = x5 = 1 • เม่ือนําพจนสนั้ ซงึ่ ไมเ หมือนกันมาบวกกนั เราจะไดน พิ จนบ ูลลนี ซ่ึงจะมคี า 1 เฉพาะเมอื่ พจน สัน้ 1 พจนใ นติพจนบ ูลลนี นน้ั มคี า 1 และพจนส้นั อนื่ ๆมคี า 0 น้นั คือ นพิ จนบ ูลลีนจะมีคา 1 เฉพาะเมอื่ ผสมคา ตวั แปรท่ีเหมาะสมเทาน้ัน แตละการผสมคาตวั แปรทเ่ี หมาะสมคือหนงึ่ พจนสั้น 7
การกระจายผลบวกของผลคณู (sum-of-products expansion หรอื การหา disjunctive normal form) เปน การแทนฟงกช นั บลู ลนี โดยหานพิ จนบลู ลนี ซงึ่ อยใู นรปู ผลบวกของพจนสั้น ซ่งึ แตละ พจนส น้ั แทนแตล ะกรณผี สมคา ตวั แปรทที่ ําใหฟง กชันมคี า 1 ตัวอยา งท่ี 10 หาผลบวกของผลคูณของฟงกช นั F(x,y,z) = xy + z เราแทน F(x,y,z) ดวยตาราง xyz xy z xy + z 000 0 1 1 0 001 0 0 1 0 010 0 1 1 0 011 0 0 1 1 100 0 1 101 0 0 110 1 1 111 1 0 พิจารณาสดมภสดุ ทา ย กรณที ี่ xy + z มีคา 1 จะได F(x,y,z) = x y z + x y z + x y z + x y z + x y z • ณ จดุ น้เี ราพอจะบอกไดวา เราสามารถแทนฟง กชนั บลู ลนี ใดๆไดด วย ผลบวกของผลคูณซ่ึงใช ตวั ดําเนินการเพยี ง 3 แบบคือ . + และ - เราเรียกเซต {. , + , - } วา มีคุณสมบตั สิ มบรู ณแบบ การทาํ งาน (functionally complete) • ปญหาท่ีนา คดิ คอื มีเซตสมบูรณแ บบการทาํ งานขนาดเลก็ กวานี้หรือไม คาํ ตอบก็คือมีไดถ า เรา สามารถแทนตวั ดําเนนิ การใดตวั ดําเนนิ การหนง่ึ ในเซตขางตนดว ยตวั ดําเนินการทเี่ หลือได จาก ตารางท่ี 4 ในหัวขอท่ผี า นมา เราทราบวา x+y = x y ดงั นั้น x + y = x y (Q P =P) หรอื x + y= x y (Q P = P) 8
นนั่ คือเราสามารถแทนการ + ดว ย ⋅ และ - หรือเซต { ⋅, - } มคี ุณสมบัตสิ มบรู ณแบบ การทํางาน ในทํานองเดยี วกนั เราสามารถพสิ ูจนไดว า xy = x + y ดังนัน้ { + , - } จงึ มคี ุณสมบัตสิ มบูรณแบบการทํางานเชน กัน • ปญหาทีน่ าคิดตอ ไปคือ มเี ซตสมบูรณแบบการทาํ งานท่ีมขี นาดเล็กกวาน้หี รอื ไม (คอื มตี วั ดาํ เนนการเพียงตัวเดยี ว) ตัวดําเนินการดังกลาวคือ NAND (NAND กค็ ือ NOT AND หรือ x NAND Y = x ⋅ y)หรือ | ซึ่งกาํ หนดการทํางานคอื 0 | 0 = 1, 0 | 1 = 1, 1 | 0 = 1 และ 1 | 1 = 0 • การแสดงวา { | } จงึ มคี ณุ สมบตั เิ ดยี วกนั น้ี ใหผเู รยี นลองพสิ ูจนเ อกลกั ษณตอ ไปนี้ x = x⏐x xy = (x ⏐ y) ⏐(x ⏐ y) • ตัวดําเนินการทนี่ า สนใจอีกตวั หนง่ึ คอื NOR(NOR ก็คอื NOT OR หรือ x NOR y = x + y) หรอื ↓ ซง่ึ กาํ หนดการทํางานคอื 0 ↓ 0 = 1, 0 ↓ 1 = 0,1 ↓ 0 = 0, และ 1 ↓ 1 = 0 • เซต { ↓ } มคี ณุ สมบตั สิ มบูรณแ บบการทํางานเชนกนั ประตตู รรกะ อปุ กรณค อมพวิ เตอรน ั้นทีสว นประกอบมากมาย แตละสว นประกอบดว ยวงจรอกี เปน จาํ นวนมาก วงจรแตละวงจรไดถกู ออกแบบใหทํางานโดยมีทางสาํ หรบั รับสญั ญาณเขา และ ทางสาํ หรบั สงสญั ญาณออกไปสูวงจรอืน่ เราสามารถแทนสญั ญาณเขาและออกดว ยคา จากเซต { 0, 1} ดงั น้นั เราจึงสามารถแทนหนา ที่ของวงจรไดด ว ยฟงกช นั บูลลีน โดยการแทนสัญญาณเขา ดว ยตัวแปรของฟง กชัน และสญั ญาณออกดว ยคา ของฟง กช ัน วงจรประกอบดว ยสวนยอยคือ ประตูตรรกะ ( logic gate ) หรือเรียกสั้น ๆวา ประตู ( gate ) แตล ะประตูก็คือตวั ดาํ เนินการ บลู ลีนนนั่ เอง ในหัวขอ นเ้ี ราจะศึกษาวงจรซึ่งมีคา สญั ญาณออกขนึ้ อยกู บั สญั ญาณเขาเทา นั้น วงจร ประเภทน้ีคา สญั ญาณออกจะไมข ึ้นอยกู บั สถานะเดิมของวงจร น่นั คอื ไมม ีความจําสําหรบั สถานะ เดิมวงจรประเภทนีม้ ีชื่อเรียกวา วงจรคอมบเิ นชนั นอล (combinational circuit) เนอ่ื งจากเซต { +, *, - } มีคุณสมบัตสิ มบรุ ณแ บบการทาํ งาน เราจงึ สามารถสรา งวงจร คอมบเิ นชันนอล ดว ยประตู 3 แบบ ตามแบบตวั ดําเนนิ การในเซตดงั กลา ว ประตแู บบแรกชอ่ื วา ตัวกลับคา (inverter) ซึ่งรบั สญั ญาณเขา 1 สญั ญาณ และใหสญั ญาณออก 1 สญั ญาณ ซ่ึงมีคา ตรง ขา มกับสญั ญาณเขา ตัวกลบั คานี้ก็คอื ตวั ดาํ เนนิ การ complement ประตแู บบทส่ี องช่อื วา ประตู 9
AND (AND gate) และแบบท่ีสามช่ือวาประตู OR (OR gate) ประตูท้ังสองแบบน้ีรับสญั ญาณเขา ต้งั แต 2 สญั ญาณขน้ึ ไป และใหส ัญญาณออก 1 สัญญาณ ซง่ึ มคี าเปนผลคูณ บูลลนี และผลบวกบลู ลนี ของสัญญาณเขาทง้ั หมดตามลําดบั รปู ท่ี 8.1 แสดงสัญลกั ษณแ ทนประตู ท้ัง 3 แบบ ลกู ศรทศิ ทางเขาไปยังประตแู สดงสญั ญาณเขา และลกู ศรทศิ ทางออกจากประตแู สดง สญั ญาณออก เมอ่ื เขา ใจสญั ลกั ษณด แี ลวเราสามารถละทิศทางดงั กลา วได ในวงจรคอมบิเนชันนอล สัญญาณเขาหนง่ึ สญั ญาณ อาจจะใชร ว มกันโดยประตูหลาย ประตูได ในทางกลบั กันสญั ญาณออกหนง่ึ สัญญาณ กอ็ าจแยกไปเขา ประตูหลายประตูไดรูป แสดงวงจรคอมบิเนชนั นอล สําหรับฟง กชนั บลู ลีน xy + xy ซึ่งเขียนไดเ ปนสองแบบจะเลอื กใช แบบใดกไ็ ดเพอื่ ใหเ กดิ ความชัดเจนทสี่ ดุ (แตถา วเิ คราะหในแงระดบั สัญญาณทางไฟฟาอาจตา งกนั บาง) รูปที่ .2 วงจร x y + x y ซ่ึงเขยี นได 2 แบบ 10
ตวั อยางที่ 11 วาดรปู วงจรซงึ่ คาํ นวณฟง กช ัน ก. (x + y )x ข. x (y + z) ค. (x + y + z) ( x y z) รปู ที่ 3 วงจรแทนฟง กช ันในตัวอยางที่ 11 11
ตวั อยา งท่ี 12 คณะกรมการพจิ ารณาขอ เสนอชดุ หนึง่ มี 3 คน ในการพจิ ารณาขอเสนอหน่ึงๆ ถา กรรมการอยา งนอยสองคนเห็นดว ยกบั ขอ เสนอ มตทิ ปี่ ระชุมจึงจะผา นขอ เสนอนน้ั ใหออกแบบ วงจรเพือ่ แสดงมติของทีป่ ระชมุ เราสามารถแทนการเหน็ ดว ย ดวยคา 1 และการไมเ ห็นดว ย ดว ยคา 0 กําหนดให ความเหน็ ของกรรมการทง้ั สามคือ ตวั แปร x, y และ x ตามลาํ ดบั ดงั นั้นวงจรทต่ี องการจะให สัญญาณออกเปน คา 1 เมือ่ อยา งนอยตวั แปรสองตัวมคี า เปน 1 เมื่ออยางนอ ยตวั แปรสองตัวมคี า เปน 1 ฟง กช นั บูลลีนสําหรับการทาํ งานนมี้ ีคา xy + xz + yz รูปที่ 8.4 แสดงวงจรดงั กลาว รปู ที่ 4 วงจรเสยี งสวนใหญ ตวั อยางท่ี 13 ในการควบคุมการเปดและปด ไฟบนั ไดดวงหนง่ึ เราใชสวติ ชสองสวติ ชเ มือ่ ไฟดบั อยู การสบั สวติ ชใ ดสวติ ชห น่ึง จะมีผลใหไฟสวา ง และเมอ่ื ไฟสวา งอยูกบั การสบั สวิตชใดสวติ ช หนงึ่ จะมีผลใหไฟดับ ใหอ อกแบบวงจรควบคุมการทาํ งานของดวงไฟในลักษณน้ี เราสามารถแทนการทาํ งานของสวิตชทั้งสองดวยตัวแปร x และ y ถาตัวแปรเหลา นี้มคี า 0 ใหห มายความวาปด สวติ ช (ตอ งการใหไ ฟดบั ) และถามคี า 1 ใหห มายความวา เปดสวติ ช (ตองการใหไฟสวาง) สาํ หรบั วงจรท่ตี อ งการนน้ั จะใหส ัญญาณ 0 เพื่อดับไฟ และสัญญาณ 1 เพอื่ เปดไฟ พิจารณาแทนการทํางานของวงจรนด้ี ว ยฟง กช ันบูลลนี F(x,y) เม่ือเรมิ่ ตน ใหส วิตชท ้งั สอง อยูในสถานะปดสวติ ชและไฟดบั ดังนน้ั F(1,1) = 1 จากสถานะนถี้ า เปลยี่ นสถานะของสวิตชใด สวิตชห น่งึ เปน เปด สวติ ช ไฟกจ็ ะสวาง ดังนนั้ F(0,1) = F(1,0) = 0 จากสถานะทงั้ สองนถ้ี า เปลีย่ นสถานะของสวิตชท่ีปดเปน สถานะสวิตชเปด ไฟก็จะดบั อกี ครง้ั หนึง่ ดงั นนั้ F(0,0) = 1 การทํางานนีอ้ ธิบายไดด ว ยตาราง x y F(x,y) 001 011 101 111 12
จากตารางเราไดว า F(x,y) = x y + x y รปู ท่ี 5 วงจรสองสวติ ชควบคมุ การเปด-ปดไฟ ADDER ในระบบคอมพิวเตอรทว่ั ไปจะแทนเลขจาํ นวนเต็มดว ยเลขฐานสอง ดังน้ันวงจรบวก เลขฐานสองจงึ มใี ชในหนว ยประมวลผล ลองพจิ ารณาการบวกเลขฐานสองตอ ไปนี้ 1011+ 0010 1101 เม่ือพิจารณาการบวกแตล ะตาํ แหนง จะพบวาเปน การนําเลข 3 บติ มาบวกกนั คอื ตวั ต้ัง ตัว บวกและตวั ทดจากตําแหนงทางขวา ผลลัพธจะไดเ ปน 2 บิตคือ ผลบวกและตวั ทดไปยังตําแหนง ทางซายวงจรทท่ี าํ การบวก 3 บิตน้ีชอ่ื วา ตัวบวกเต็ม (full adder) การบวกตวั ต้งั และตัวบวก (ตวั ละ 1 บิต) แลวไดผลลัพธ 2 บิต คอื ผลบวก และตวั ทด ถา ให x เปน บิตตวั ตง้ั y เปน บติ ตวั บวก s เปนบิตผลบวก และ c เปนบติ ตัวทด เราจะได ตารางความสมั พันธของขอ มลู เขา และออกจากวงจรดังน้ี xysc 0000 0110 1010 1101 ฟงกชันบลู ลีนท่ีไดจากตารางนีค้ อื s = x y + x y = (x + y)(xy) (ลองพสิ ูจน !) 13
c = xy ดังน้ันวงจรตวั บวกครึง่ จงึ มีรปู แบบ สาํ หรบั วงจรตวั บวกเตม็ กาํ หนดให x เปน บิตตัวต้งั y เปน บิตตวั บวก ci เปน บิตตวั ทด เขา s เปน บติ ผลบวก และ ci+1 เปนตัวทดออก เราสามารถเขยี นตารางแสดความสมั พนั ธข อง ขอ มูลเขาและออกของวงจรดงั น้ี x y ci s ci+1 00000 00110 01010 01101 10010 10101 11001 11111 ฟง กชนั บลู ลีนท่ไี ดจากตารางคือ s = x y ci + x y ci + x y ci + x y ci ci+1 = x y ci + x y ci + x y ci + x y ci จากฟง กชนั บลู ลนี ขา งตน เราสามารถเขยี นรปู วงจรได ในท่ีนี้ขอพจิ ารณาการสรางตัวบวก เตม็ จากตวั บวกคร่งึ ถา เราใชต ัวบวกครง่ึ เพ่ือบวก 3 บติ เราจะไดโ ครงสรางวงจรงา ยๆ คอื 14
ขา งตนจะเห็นวา มตี วั ทดออกเปน 2 บิต ถา พิจารณาใหด ีจะพบวา คาตวั ทดทงั้ 2 บิตนตี้ อ งอยใู นรปู 01 หรอื 00 เทานน้ั เพราะการบวกบิต 3 บิตเขาดว ยกนั จะมีตัวทดไดอ ยา งมากทส่ี ุดเพยี ง 1 ตัว ทด ( กรณีบวกบิต 3 บิตแลวไดผลลพั ธม ากท่ีสดุ คอื 1 + 1 + 1 = 11 ) ดังนนั้ วงจรที่ ใชไ ดคือ ผูอา นสามารถตรวจความถกู ตอ งของวงจรขา งตน โดยการเขียนฟงกชนั บูลลนี แลวพยายามลดรปู หรือเปรยี บเทียบกับฟง กชนั บลู ลีนทไ่ี ดจากตาราง การลดรูปวงจรตรรกะ ประสิทธิภาพของวงจรคอมมิเนชันนอล ข้ึนอยกู ับจาํ นวนประตูตรรกะและการจดั รปู วงจร วงจรที่มจี าํ นวนประตูนอยจะใชพ ลังงานนอ ย และมกั จะใชเ น้อื ทน่ี อ ยตามไปดว ยวงจรทป่ี ระตู ตรรกะตอเรยี งกนั เปนสายจะทาํ งานชา กวาวงจรที่ตอประตตู รรกะเรียงกนั เปนสายสันกวา ในหวั ขอ นี้เราจะศกึ ษาวธิ ีลดรปู นิพจนบ ูลลนี ใหมรี ปู แบบงายท่ีสดุ เพอื่ ทจี่ ะใชสรา งวงจรตรรกะทม่ี ี ประสทิ ธภิ าพ ในการหาฟงกช ันบลู ลีนนัน้ เราสามารถเริ่มไดจ ากตารางความสัมพนั ธของสญั ญาณเขา และสัญญาณออก ตารางนแี้ สดงคา สัญญาณออกสําหรบั แตล ะคาประสมกันของสัญญาณเขา (combination ของสัญญาณเขา วงจรทไ่ี ดจ ึงเรยี กวา combinational circuit) ตารางดงั กลา วมชี ื่อ เรียกวา ตารางจรงิ เท็จ (truth table) จากตารางจริงเทจ็ เราสามารถเขยี นนิพจนผ ลบวกของผลคูณ แทนฟงกชันบลู ลนี ได นพิ จนด ังกลา วมักจะยังไมอ ยใู นรปู แบบท่ีงา ยทส่ี ดุ เชน ถา นพิ จน ประกอบดว ยพจนผ ลคูณสองพจน ซงึ่ มีตัวแปรเดยี วกันทกี่ ลับคา กนั เราสามารถละตัวแปรนน้ั ได ลองพิจารณานพิ จน x y z + x y z เราสามารถลดรูปไดคือ x y z + x y z = xz( y + y ) = xz ⋅ 1 = xz 15
ดงั นั้นการสรา งวงจรสาํ หรบั ฟง กชนั x y z + x y z จงึ ทาํ ไดส องแบบ ดงั รูปท่ี 6 รูปที่ 6 วงจรแสดงแบบซงึ่ ทาํ งานไดผ ลเหมอื นกนั จากตวั อยา งขางตนจะเห็นวา เราสามารถรวมพจนบางพจนในนพิ จนผลบวกของผลคูณได วธิ กี ารพื้นฐานท่ีนยิ มใชท วั่ ไปในการลดรูปนพิ จน คือการใชผ งั คารน อฟ (Karnaugh map) ซ่ึง เหมาะสําหรับลดรูปผลบวกของผลคณู ทเ่ี กีย่ วของกบั ตวั แปรนอยกวา หรือเทา กับ 6 ตวั ขอเริม่ พจิ ารณาฟง กชันบลู ลีนแบบ 2 ตัวแปรกอนคอื x และ y สําหรบั ฟงกชันแบบนี้จะ มพี จนส้นั (minterm - ผลคูณของ literal ของทุกตวั แปร) ทัง้ หมด 4 แบบ คือ x y, x y, x y และ x y ผงั คารน อฟ ประกอบดว ยชองสี่เหลีย่ มจัตุรสั โดยที่แตล ะชองแทนหน่ึงพจนส ้นั ในกรณีนผ้ี ังคารน อฟมี 4 ชอ ง การจัดชอ งนน้ั ตอ งจดั ชอ งใหช อ งสองชองทีต่ ิดกนั ใดๆ แทนพจน สนั้ ที่มี literal ของตวั แปรเดยี วกัน แตม ีคาตรงกันขามเพยี งหนึง่ ตวั เชน ชองซึ่งแทน x y ตองติด กับชอง x y และ x y รปู ที่ 7 แสดงผังคารนอฟสําหรับฟงกชนั บลู ลีน 2 ตัวแปร รูปท่ี 7 ผงั คารนอฟส ําหรับฟง กชันสองตวั แปร 16
ในรูปท่ี 7 แตล ะชอ งในผังมพี จนส้นั กาํ กบั อยู ในทางปฏบิ ตั ิเราสามารถละพจนสัน้ ทกี่ าํ กบั นไี้ ด ในการแทนฟงกช นั บูลลีนดว ยผังคารน อฟ ใหพ จิ ารณานพิ จนผลบวกของพจนส ้นั เมอื่ มพี จน สน้ั ใดในฟง กช ัน กใ็ หเ ขียน “ 1 “ ลงในชองซง่ึ แทนพจนสัน้ นั้น ตัวอยางท่ี 15 ใหเขยี นผังคารนอฟ แทนผลบวกของพจนสั้นตอไปนี้ ซ่งึ แทนฟงกช นั แบบ 2 ตวั แปร : xy + x y, x y + x y และ x y + x y + x y จากวธิ ีท่อี ธบิ ายขางตนเราไดผ ังคารนอฟท ้ังสามตามลําดบั คอื ในการรวมพจนส ้นั ทอี่ ยูใ นผังคารน อฟ ใหพจิ ารณชอ งทมี่ ี “ 1 “ และอยูตดิ กนั 2 ชอง ชอ งทงั้ สองน้คี อื พจนส้ัน 2 พจน ซง่ึ มี literal ของตัวแปรเดยี วกันทีม่ คี า ตรงขา มกันหนึง่ ตวั ( x กับ x หรอื y กับ y ) เราเขียนกรอบลอ มรอบชอ งท้งั สองน้เี ปน ชองเดยี ว และแทนชอ งใหม นีด้ วยผลคูณบลู ลีนของพจนส น้ั ของชว งเดมิ ทงั้ สอง ซ่งึ ตัด literal ท่มี คี า ตรงขา มกันทิง้ ไป เชน ถา ชอ ง x y และชอ ง x y มคี า เปน “ 1 “ เราสามารถรวมชอ งท้งั สองเปนชอ งเดยี วแลว เขยี วแทนดว ย y ( เหตผุ ลกค็ อื x y + x y = (x + x) y = y) การรวมชอ งน้ี จํานวนชองที่รวมตองมคี าเปน เลข 2 ยกกําลัง คอื 20, 21, 22, …ในกรณี รวมสองชอ งก็คือ 21 ดังนน้ั การรวมชองจาํ นวนมากถดั ขึ้นไปคือ รวม 22 หรอื 4 ชอ งเปนชอ ง เดยี ว คาท่แี ทนชองใหมน ค้ี อื “ 1 “ ( นํา x y, x y, x y และ x y มาคูณกนั โดยตัด literal ของตัว แปรเดียวกนั ทม่ี ีคาตรงขา มกนั ท้ิง) ดังนั้นการลดรปู โดยใชผังคารน อฟ ถาตองการผลลพั ธท่ีซับซอนนอ ยทส่ี ุด กต็ องรวมชอง ท่อี ยตู ดิ กนั ใหม ากทส่ี ุดเทา ทจี่ ะมากได ใหไ ดจํานวนชอ งใหมนอยทีส่ ุด ผลลพั ธก ็คือ ผลบวกของ นพิ จนซ่งึ แทนแตล ะชองใหม ตวั อยา งที่ 16 ลดรปู ฟงกช ันบูลลีนซง่ึ แทนโดยผังคารนอฟในตวั อยางท่ี 815 กรณที ี่ 1 ผลลัพธค อื x y + x y = y 17
กรณที ่ี 2 เน่ืองจากชอ งทีเ่ ปน “1“ ทัง้ สองไมไดอยตู ดิ กนั จึงรวมชอ งไมไ ด ผลลัพธย งั คงเดิม กรณีท่ี3 ผลลพั ธค ือ (x y + x y) + ( x y + x y) = x + y ผงั คารนอฟสาํ หรบั ฟงกช นั บลู ลีนสามตัวแปร ผงั คารนอฟสาํ หรับฟงกชันบลู ลีนสามตัวแปร ประกอบดวั ยชอ งสี่เหลย่ี มจตั รุ สั 8 ชอง โดยทีแ่ ตล ะชอ งแทนพจนส้ันขนาดตวั แปร (มไี ดท ้งั หมด 23 = 8 แบบ) การแสดงผังคารน อฟ แบบสามตวั แปรนิยมแสดงตามรปู ท่ี 8(a) ความจรงิ แลว การแสดงผังคารน อฟต องใหช อ งซ่ึงมี literal ของตัวแปรเดยี วกนั แตม ีคาตรงขามกนั หน่งึ ตวั แปรอยตู ดิ กัน ดังนน้ั ชอ ง x y z ตองติดกบั ชอ ง x y z ตองติดกับชอ ง x y z จากรปู ที่ 8(a) เราสามารถมว นผงั ใหข อบซายยอนมาตดิ ขอบ ขวาได กลายเปนรปู ท่ี 8(b) ซง่ึ เปน ผงั คารนอฟทถ่ี ูกตอ ง อยา งไรกต็ ามการแสดงผังคารนอฟต าม รปู ท่ี 8(a) เปน แบบท่ใี ชก นั ทวั่ ไป รูปท่ี 8 ผงั คารนอฟส ําหรับฟง กชนั สามตวั แปร ในการลดรปู นพิ จน จะตองรวมชอ งทม่ี คี า “1” และอยตู ดิ กันเปนผืนขนาด 2 ชอ ง 4 ชอง หรอื 8 ชอ ง เพ่อื กําจดั ตวั แปร 1 ตวั 2 ตวั หรือ 3 ตวั ตามลาํ ดับ ตัวแปรที่กาํ จัดกค็ อื ตวั แปรใน พจนส้นั ซึ่งมคี าตรงขา มกนั ในผนื ทพ่ี ิจารณา ผลของผนื รวมจะมคี า เทา กับผลคูณของตวั แปรที่ 18
เหลือ ซง่ึ มคี าตรงขา มกันในผนื ที่พจิ ารณา ผลของผืนรวมจะมีคา เทา กบั ผลคณู ของตัวแปรทเี่ หลือ รูปท่ี 9(a) และ 9(b) แสดงผนื รวมขนาด 2 ชอง รปู ที่ 9(c)และ 9(d) แสดงผนื รวมขนาด 4 ชอ ง และรูปที่ 9 (e) แสดงผืนรวมขนาด 8 ชอ ง รปู ที่ 9 ตวั อยา งการลดรปู ในผังคารน อฟข นาดสามตวั แปร การลดรูปคือ การหาผืนรวมจํานวนนอ ยผนื ที่สุด โดยทแ่ี ตละผนื มีขนาดใหญท ส่ี ุด ตวั อยา งท่ี 17 ใชผังคารน อฟในการลดรปู ผลบวกของผลคูณสําหรบั ฟง กช นั สามตวั แปร ตามขอ a-d ในรปู ที่ 8 19
สาํ หรบั กรณีส่ตี วั แปร ผงั คารน อฟม ักแสดงดวยผนื สีเ่ หลย่ี มจัตุรัสขนาด 4×4 ชองโดยท่ี แตล ะชองแทนหนึง่ พจนส นั้ ดงั รปู ท่ี 10 รูปที 10 ผังคารน อฟสาํ หรับฟงกชันสต่ี ัวแปร ความจรงิ แลวชอ งหน่งึ ชอ งในผลคารน อฟจ ะตอ งอยูตดิ กบั ชองที่มคี าตัวแปรตางกนั หน่งึ ตวั ในกรณฟี ง กชนั ส่ตี วั แปร ชอ งหน่ึงชองตองอยูตดิ กับชอ งอน่ื ๆ อีกส่ชี อง ดังนน้ั ผังคารนอฟท ่ี ถกู ตองในรปู ท่ี 8.10 ตองมว นขอบซายมาชดิ ขอบขวา แลวมว นขอบบนมาชดิ ขอบลา ง รปู ที่ไดจ ะ เปน เหมอื นโดนทั ซ่งึ ตามภาษาคณิตศาสตร เรียกวา ทอรัส (torus) อยา งไรกต็ ามเมอ่ื แสดงในสอง มิตเิ รามักจะแทนเปนสเ่ี หลีย่ มจตุรสั ขนาด 4×4 การลดรปู นพิ จนกท็ าํ ไดท ํานองเดียวกบั กรณฟี งกชันสามตัวแปร คอื รวมชองทม่ี คี า “1” และอยตู ดิ ัน เปน ผนื ขนาด 2 ชอง, 4 ชอง, 8 ชอง หรอื 16 ชอ ง เพอ่ื กาํ จัดตวั แปร 1 ตัว, 2 ตวั , 3 ตัว หรอื 4 ตวั ตามลําดบั จุดมุง หมายก็คอื ตองการจาํ นวนผนื นอ ยทสี่ ดุ โดยทแ่ี ตล ะผนื มขี นาด ใหญที่สดุ รูปที่ 11 แสดงตวั อยางการรวมชองดงั กลา ว 20
รูปท่ี 11 ตวั อยา งการลดรูปในผงั คารน อฟข นาดส่ตี วั แปร ตวั อยา งท่ี 18 ใชผังคารนอฟในการลดรปู ผลบวกของผลคูณสําหรบั ฟง กชนั สต่ี ัวแปร 21
Search
Read the Text Version
- 1 - 23
Pages: