เมนูนำทาง
ขั้นตอนวิธีของควิน-แม็กคลัสกีย์ ตัวอย่างขั้นตอนการทำงานลดรูปนิพจน์ตรรกศาสตร์ต่อไปนี้:
f ( A , B , C , D ) = ∑ m ( 4 , 5 , 6 , 8 , 9 , 10 , 13 ) + d ( 0 , 7 , 15 ) {\displaystyle f(A,B,C,D)=\sum m(4,5,6,8,9,10,13)+d(0,7,15)\,}A | B | C | D | - | f | |
m0 | 0 | 0 | 0 | 0 | - | x |
m1 | 0 | 0 | 0 | 1 | - | 0 |
m2 | 0 | 0 | 1 | 0 | - | 0 |
m3 | 0 | 0 | 1 | 1 | - | 0 |
m4 | 0 | 1 | 0 | 0 | - | 1 |
m5 | 0 | 1 | 0 | 1 | - | 1 |
m6 | 0 | 1 | 1 | 0 | - | 1 |
m7 | 0 | 1 | 1 | 1 | - | x |
m8 | 1 | 0 | 0 | 0 | - | 1 |
m9 | 1 | 0 | 0 | 1 | - | 1 |
m10 | 1 | 0 | 1 | 0 | - | 1 |
m11 | 1 | 0 | 1 | 1 | - | 0 |
m12 | 1 | 1 | 0 | 0 | - | 0 |
m13 | 1 | 1 | 0 | 1 | - | 1 |
m14 | 1 | 1 | 1 | 0 | - | 0 |
m15 | 1 | 1 | 1 | 1 | - | x |
ในการรวมเทอมเข้าด้วยกันเพื่อลดจำนวนเทอมนั้น จะพิจารณาจากเทอมที่มีค่าของ A,B,C และ D ต่างกันเพียง 1 บิต ตัวอย่างเช่น 0000 กับ 0100 (ต่างกันที่บิตที่สอง) หรือ 0000 กับ 1000 (ต่างกันที่บิตที่หนึ่ง) เป็นต้น ดังนั้นเพื่อให้ง่ายต่อการพิจารณา จะทำการแบ่งกลุ่มที่มีค่าของ A,B,C และ D ต่างกันเพียง 1 บิตโดยแบ่งตามจำนวนของเลข 1 ในค่า A,B,C และ D ดังนี้
จำนวนเลข 1 ใน A,B,C,D | m | ค่าของ A,B,C,D |
---|---|---|
0 | m0 | 0000 |
1 | m4 | 0100 |
m8 | 1000 | |
2 | m5 | 0101 |
m6 | 0110 | |
m9 | 1001 | |
m10 | 1010 | |
3 | m7 | 0111 |
m13 | 1101 | |
4 | m15 | 1111 |
จากตารางด้านบน จะเห็นว่าเราสามารถแบ่งกลุ่มที่มีค่าของ A,B,C,D ต่างกันเพียง 1 บิทได้เป็น 5 กลุ่ม ดังนั้นในการรวมเทอมที่มีรูปแบบคล้ายกัน เราจะพิจารณาแต่ละกลุ่มเทียบกันโดยใช้วิธีการเขียนตาราง ดังนี้
คอลัมน์ที่ 1 | คอลัมน์ที่ 2 | คอลัมน์ที่ 3 |
---|---|---|
0000 / | 0-00 * | 01-- * |
- | -000 * | |
0100 / | -1-1 * | |
1000 / | 010- / | |
- | 01-0 / | |
0101 / | 100- * | |
0110 / | 10-0 * | |
1001 / | ||
1010 / | 01-1 / | |
- | -101 / | |
0111 / | 011- / | |
1101 / | 1-01 * | |
- | ||
1111 / | -111 / | |
11-1 / |
จากตารางด้านบน แสดงให้เห็นว่าพจน์ที่ไม่สามารถยุบรวมได้อีก มีทั้งหมด 7 พจน์ ได้แก่ 0-00, -000, 100-, 10-0, 1-01, 01-- และ -1-1
การสร้างตารางในเบื้องต้น มีขั้นตอนดังนี้
4 | 5 | 6 | 8 | 9 | 10 | 13 | |
---|---|---|---|---|---|---|---|
0,4 (0-00) | X | ||||||
0,8 (-000) | X | ||||||
8,9 (100-) | X | X | |||||
8,10 (10-0) | X | X | |||||
9,13 (1-01) | X | X | |||||
4,5,6,7 (01--) | X | X | X | ||||
5,7,13,15 (-1-1) | X | X |
หลังจากสร้างตารางเสร็จเรียบร้อยแล้ว หลักการในการหารูปอย่างง่ายของนิพจน์ตรรกศาสตร์ คือการเลือกแถวให้น้อยที่สุด โดยเลือกให้ครอบคลุมทุกคอลัมน์
4 | 5 | 6 | 8 | 9 | 10 | 13 | |
0,4 (0-00) | X | ||||||
0,8 (-000) | X | ||||||
8,9 (100-) | X | X | |||||
8,10 (10-0) | X | X | |||||
9,13 (1-01) | X | X | |||||
4,5,6,7 (01--) | X | X | X | ||||
5,7,13,15 (-1-1) | X | X |
4 | 5 | 6 | 8 | 9 | 10 | 13 | |
0,4 (0-00) | X | ||||||
0,8 (-000) | X | ||||||
8,9 (100-) | X | X | |||||
8,10 (10-0) | X | X | |||||
9,13 (1-01) | X | X | |||||
4,5,6,7 (01--) | X | X | X | ||||
5,7,13,15 (-1-1) | X | X |
4 | 5 | 6 | 8 | 9 | 10 | 13 | |
0,4 (0-00) | X | ||||||
0,8 (-000) | X | ||||||
8,9 (100-) | X | X | |||||
8,10 (10-0) | X | X | |||||
9,13 (1-01) | X | X | |||||
4,5,6,7 (01--) | X | X | X | ||||
5,7,13,15 (-1-1) | X | X |
ดังนั้น นิพจน์ตรรกศาสตร์ในรูปอย่างง่าย คือ : f A , B , C , D = A B ′ D ′ + A C ′ D + A ′ B {\displaystyle f_{A,B,C,D}=AB'D'+AC'D+A'B}
เมนูนำทาง
ขั้นตอนวิธีของควิน-แม็กคลัสกีย์ ตัวอย่างขั้นตอนการทำงานใกล้เคียง
ขั้นตอนวิธีแบบยุคลิด ขั้นตอนวิธีการค้นหาเพื่อนบ้านใกล้สุด k ตัว ขั้นตอนวิธีของฟลอยด์-วอร์แชล ขั้นตอนวิธีของควิน-แม็กคลัสกีย์ ขั้นตอนวิธีฮังกาเรียน ขั้นตอนวิธี ขั้นตอนวิธีของชอร์ ขั้นตอนวิธีเชิงพันธุกรรม ขั้นตอนวิธีโบรน-เคอร์โบสท์ ขั้นตอนวิธีของไดก์สตราแหล่งที่มา
WikiPedia: ขั้นตอนวิธีของควิน-แม็กคลัสกีย์ http://logik.phl.univie.ac.at/~chris/cgi-bin/cgi-f... http://webdocs.cs.ualberta.ca/~amaral/courses/329/... http://www.eetimes.com/discussion/programmer-s-too... http://www.freebookzone.com/fetch.php?bkcls=hw_log... http://www.phpkode.com/source/s/quine-mccluskey-me... http://sourceforge.net/projects/qmcs/ http://www.kmitl.ac.th/~ksjirasa/Lecture/AdvDigita... http://webstaff.kmutt.ac.th/~iauaroen/ENE232/Minim... http://somnuek.rmutl.ac.th/Digital2/PDF3_51/6_T3.p... http://narong.ece.engr.tu.ac.th/digital/03-Reduce....