K-Map Solver: ลดทอนสมการบูลีนด้วย Karnaugh Map ออนไลน์ฟรี
เรียนรู้วิธีใช้ K-Map Solver ฟรีออนไลน์ เพื่อลดทอน Boolean expression บน Karnaugh map 2–4 ตัวแปร พร้อมการจัดกลุ่มอัตโนมัติด้วย Quine–McCluskey algorithm และผลลัพธ์ SOP ที่เล็กที่สุด
เครื่องมือออนไลน์ฟรี
แก้ Karnaugh Map (K-Map Solver)
แก้และลดรูป Boolean expression บน Karnaugh map 2-4 ตัวแปร พร้อมกลุ่ม prime implicants
Table of Contents
ใครเคยนั่งขี้วงกลมเลข 1 บน Karnaugh map เป็นสิบนาที แล้วสุดท้ายยังมี literal ตกค้างอยู่ในสมการ จะเข้าใจทันทีว่าทำไมเครื่องมือนี้ถึงมีค่า K-Map Solver รับเพียง minterms ของฟังก์ชันบูลีน 2, 3 หรือ 4 ตัวแปร วาดแผนภาพให้อัตโนมัติ หา prime implicant ครบทุกตัวด้วย Quine–McCluskey algorithm แล้วคืนคำตอบเป็น sum-of-products expression ที่ลดทอนแล้วภายในไม่กี่วินาที
ทุกอย่างทำงานใน browser ของคุณโดยตรง ไม่ต้องสมัครสมาชิก ไม่ต้องอัปโหลดการบ้านขึ้น server ใคร และไม่ต้องรอคิว — solver เป็น JavaScript ฝั่ง client ล้วน ๆ ซึ่งแปลว่าเปิดหน้าเว็บครั้งเดียวก็ใช้ต่อแบบ offline ได้ด้วย
ในคู่มือนี้เราจะไล่ดูว่าเครื่องมือทำงานอย่างไร ทบทวนทฤษฎีที่ทำให้ Karnaugh map ได้ผล และแก้ตัวอย่างครบวงจรหนึ่งข้อ เพื่อให้คุณเอาไปเทียบกับคำตอบที่แก้เองด้วยมือได้
ทำไมต้องใช้ K-Map Solver?
- ความถูกต้องที่วางใจได้ — การลากกลุ่มด้วยมือผิดพลาดง่าย โดยเฉพาะ map 4 ตัวแปรที่กลุ่มสามารถพันข้ามขอบได้ solver คำนวณ prime implicant แบบครบถ้วนด้วย Quine–McCluskey จึงไม่มีกลุ่มที่ถูกต้องตกหล่น
- เห็นผลทันทีระหว่างเรียน — ไม่ต้องรอผลสอบกลับมาถึงจะรู้ว่าผิดตรงไหน ลองสมมติการจัดกลุ่มของคุณแล้วดู minimal cover จริงที่ algorithm เลือกได้เลย
- รองรับ don't-care ครบ — specification ของวงจรจริงมักมีเงื่อนไขที่ "ไม่สนใจค่า" ปนมา solver จัดการตามตำรา: ดูดเข้ากลุ่มเพื่อให้กลุ่มใหญ่ขึ้นได้ แต่ไม่จำเป็นต้องครอบคลุมเดี๋ยวเอง
- กลุ่มสีต่างกันบนแผนภาพ — implicant แต่ละตัวที่ถูกเลือกจะถูกไฮไลต์ด้วยสีของมันเอง ทำให้เห็นชัดว่า product term แต่ละตัวในสมการสุดท้ายครอบคลุมช่องไหนบ้าง
- ผลลัพธ์ SOP copy ได้ในคลิกเดียว — สมการที่ลดทอนแล้วแสดงในรูปแบบมาตรฐาน (สไตล์ A'B + AC) พร้อมปุ่มคัดลอกไปใช้ในโน้ต รายงานแล็บ หรือไฟล์ HDL ของคุณ
- ฟรีและเป็นส่วนตัว — ไม่มีบัญชี ไม่มีโควตา และข้อมูลไม่หลุดออกจากเครื่องคุณ
คุณสมบัติเด่น
| คุณสมบัติ | รายละเอียด |
|---|---|
| ตัวเลือกจำนวนตัวแปร | เลือก 2, 3 หรือ 4 ตัวแปร (A–D) แล้ว grid วาดใหม่ทันที |
| ช่องกรอก minterm | ใส่เป็นรายการคั่นด้วย comma เช่น 0,1,3,5,7 |
| ช่อง don't-care | รายการ don't-care terms แบบ optional จัดการตามกฎการลดทอนมาตรฐาน |
| Grid แบบ Gray code | แถวและคอลัมน์เรียงตาม reflected Gray code ทำให้ช่องติดกันต่างกันหนึ่งบิตเสมอ |
| การจัดกลุ่ม prime implicant | Quine–McCluskey หา prime implicant ครบทุกตัว เลือก essential ก่อน |
| Minimal cover selection | ขั้นตอน greedy cover ต่อยอดเมื่อ essential อย่างเดียวยังไม่พอ |
| ผลลัพธ์ SOP ที่ลดทอนแล้ว | สมการ sum-of-products สุดท้าย พร้อมปุ่ม copy คลิกเดียว |
มีรายละเอียดสองจุดที่อยากเน้น อย่างแรก กลุ่มที่คุณเห็นบนแผนภาพไม่ใช่ภาพร่างจาก heuristic — มันคือชุด implicant จริงที่ cover algorithm เลือก แปลว่าสมการที่คุณ copy ไป minimal จริงสำหรับ input ที่ให้ อย่างที่สอง validation ของ input เข้มงวดแบบเป็นมิตร: ถ้าพิมพ์ minterm เกินขอบเขตของจำนวนตัวแปรที่เลือก หรือ index เดียวกันโผล่ทั้งใน minterm และ don't-care คุณจะได้ error message ชัดเจน ไม่ใช่คำตอบที่ผิดเงียบ ๆ
วิธีใช้งาน
- เปิด K-Map Solver แล้วเลือกจำนวนตัวแปร: 2, 3 หรือ 4
- พิมพ์ minterms ลงในช่อง minterm ตัวอย่างเช่น 0,1,3,5,7
- ถ้า specification มีเงื่อนไข don't-care ให้ระบุในช่อง don't-care
- กด Solve — K-map จะแสดงค่าแต่ละช่องเป็น 1, 0 หรือ X พร้อมวงกลุ่มปรากฏเป็นเส้นขอบสี
- อ่านสมการ SOP ที่ลดทอนแล้วจากแผงผลลัพธ์ แล้วกด copy ไปใช้ตรงไหนก็ได้
เข้าใจ Karnaugh Map ให้ลึกกว่าเดิม
Karnaugh map คือ truth table ที่ถูกพับเป็นตาราง โดยที่ความติดกันทางกายภาพหมายถึงความใกล้กันทางตรรกศาสตร์ เคล็ดลับที่ทำให้มัน work คือ การเรียงแบบ Gray code: แถวและคอลัมน์ถูก label ด้วยลำดับ reflected binary (00, 01, 11, 10) แทนการนับตามปกติ ซึ่งรับประกันว่าช่องที่อยู่ติดกันใด ๆ — รวมถึงช่องขอบสุดท้ายกับขอบแรก เพราะแผนที่ถูกมองว่าพันต่อกัน (wrap-around) — จะต่างกันแค่หนึ่งตัวแปรพอดี
ความต่างหนึ่งบิตนี่แหละคือเครื่องยนต์ทั้งหมดของการลดทอน เมื่อคุณลากวงล้อมกลุ่มของเลข 1 ที่ติดกัน ตัวแปรใดก็ตามที่เปลี่ยนค่าภายในกลุ่มจะกลายเป็นตัวซ้ำซ้อนและหายไปจาก product term:
- กลุ่ม 2 ช่อง ตัดตัวแปรออกหนึ่งตัว
- กลุ่ม 4 ช่อง ตัดตัวแปรออกสองตัว
- กลุ่ม 8 ช่อง ตัดตัวแปรออกสามตัว
กลุ่มที่ถูกต้องต้องเป็นสี่เหลี่ยมผืนผ้าที่ความยาวด้านเป็นกำลังสอง และยิ่งกลุ่มใหญ่ term ที่ได้ยิ่งถูก ช่อง don't-care เป็นเสมือน wildcard: ใส่เข้ากลุ่มเพื่อให้กลุ่มใหญ่ขึ้นได้ แต่ไม่มีข้อผูกมัดว่าต้องครอบคลุมมัน เพราะค่าของฟังก์ชันตรงนั้นไม่มีผลอะไร
ทำไมต้อง Quine–McCluskey? การลากกลุ่มด้วยสายตาเริ่มไม่น่าเชื่อถือที่ 4 ตัวแปร และไร้ศาสตร์เกินนั้นไป Quine–McCluskey algorithm คือเวอร์ชันเป็นระบบของสิ่งเดียวกัน: มัน merge minterms ที่ต่างกันหนึ่งบิตซ้ำ ๆ (ตรงกับที่ตาของคุณทำบนแผนที่) จน merge ต่อไม่ได้แล้ว สิ่งที่รอดมาได้คือ prime implicant จากนั้น solver หา essential prime implicant — ตัวที่เป็น cover เดียวของ minterm ใด ๆ — และสุดท้ายรัน minimal cover selection เหนือ minterms ที่เหลือ ผลลัพธ์ minimal อย่างพิสูจน์ได้ ตรงกับสิ่งที่มนุษย์จอมขึ้นวงกลมตัวจริงจะได้
ตัวอย่างที่แก้จริง พิจารณา F(A,B,C,D) = Σm(0,1,3,5,7) — โจทย์คลาสสิกจากตำรา digital logic minterms ทั้งห้าคือ 0000, 0001, 0011, 0101 และ 0111 บนแผนภาพ:
- Minterms 1, 3, 5 และ 7 (0001, 0011, 0101, 0111) มี A=0 และ D=1 เหมือนกันหมด จึง merge เป็น quad ที่ให้ A'D
- Minterms 0 และ 1 (0000, 0001) ต่างกันแค่ D ได้ A'B'C'
Solver เจอ prime implicant สองตัวนี้พอดี ทั้งคู่เป็น essential และคืนค่า F = A'D + A'B'C' — ห้า literal แทนที่จะเป็น product term ยาวสี่ literal ห้าตัวอย่างที่ canonical SOP ต้องใช้ นี่คือระดับการลดทอนที่เปลี่ยนกอง gate รก ๆ ให้เหลือ AND สองตัวกับ OR หนึ่งตัว
use cases ในทางปฏิบัติ
ออกแบบวงจร digital
เมื่อคุณ derive ฟังก์ชันจาก specification — เกณฑ์ threshold ของ sensor, decoder logic ของ state machine, สาย select ของ address — รูปแบบ canonical แทบไม่เคยเป็นสิ่งที่ควรสร้างจริง การลดทอนก่อน synthesis แปลว่า gate น้อยลง literal ต่อ gate น้อยลง และ critical path สั้นลง ซึ่งสำคัญมากกับ logic family ช้า ๆ หรือ CPLD ที่พื้นที่แน่น
เตรียมสอบและเช็คการบ้าน
Karnaugh map เป็นของประจำในวิชา digital logic ใช้ solver เป็นเฉลย: แก้โจทย์บนกระดาษก่อน แล้วกรอก minterms ของคุณเข้าไปเทียบ ถ้าสมการไม่ตรง กลุ่มสีบนแผนภาพจะบอกชัดว่าคุณพลาดกลุ่มไหน — มักเป็นกลุ่มพันขอบ หรือโอกาสใช้ don't-care ที่คุณมองข้าม
optimize งาน FPGA & CPLD
synthesis tool สมัยใหม่ minimize เองอยู่แล้ว แต่การเข้าใจว่ารูปแบบ minimal หน้าตาเป็นอย่างไรช่วยให้เขียน HDL ดีขึ้นและอ่าน synthesis report รู้เรื่องขึ้น การเช็ค next-state equation ที่ derive มือกับ solver ก่อนยัดเข้า RTL ช่วยจับ literal ที่เกินที่ compile ผ่านสบาย แต่เปลือง macrocell หรือ input ของ LUT
เช็คการบ้านที่ทำมือ
จับคู่ solver กับ truth table ที่เพิ่งสร้าง: เอาแถวที่ output เป็น 1 ใส่ช่อง minterm เพิ่ม input combinations ที่เป็นไปไม่ได้เป็น don't-cares แล้วอ่านสมการ minimal ออกมา — เป็นเส้นทางที่เร็วที่สุดจาก behavior ไปสู่ logic
Best Practices
- ใส่ don't-cares เสมอเมื่อมี — มันมีแต่ให้ประโยชน์: ทำให้กลุ่มใหญ่ขึ้นฟรี ๆ และไม่เคยบังคับให้เพิ่ม term
- เช็ครายการ minterm กับ truth table อีกครั้ง — solver minimize สิ่งที่คุณพิมพ์ตรง ๆ index ที่สลับตำแหน่งเพียงตัวเดียวก็เปลี่ยนฟังก์ชันแบบเงียบ ๆ
- เข้าใจว่ากลุ่มใหญ่กว่าดีกว่า แม้ algorithm จัดการให้อยู่แล้ว แต่การรู้ว่าทำไมกลุ่ม 8 ช่องดีกว่ากลุ่ม 4 ช่องสามกลุ่ม คือ intuition ที่ข้อสอบชอบวัด
- จำไว้ว่าแผนที่พันรอบ — คอลัมน์ขอบซ้ายติดกับขอบขวา แถวบนติดกับแถวล่าง เป็นต้นเหตุอันดับต้น ๆ ของกลุ่มที่หลุดเวลาแก้ด้วยมือ
- ตรวจผลลัพธ์ด้วยการ evaluate — สำหรับ sanity check เร็ว ๆ ลองแทนค่า input บางชุดลงในสมการที่ลดทอนแล้วกับรายการ minterm เดิม ผลลัพธ์ต้องตรงกันทุกจุดที่ output นิยามไว้
- เก็บ canonical form ไว้ในโน้ตด้วย — สมการที่ลดทอนแล้วคือสิ่งที่คุณสร้าง แต่รายการ minterm คือ specification เก็บทั้งคู่
เริ่มลดทอนสมการวันนี้
หยิบฟังก์ชันที่คุณกำลังทำอยู่ เข้าไปที่ K-Map Solver กรอก minterms แล้วดูกลุ่มประกอบตัวเองทีละวง ไม่ว่าจะเป็นโจทย์ชุดคืนนี้หรือ schematic สัปดาห์หน้า สองนาทีที่ใช้จะช่วยประหยัดชั่วโมงการวนลูปขี้วงกลม — และได้คำตอบที่วางใจได้จริง
เครื่องมือที่เกี่ยวข้อง:
- Truth Table Generator — สร้าง truth table ก่อน แล้วเอาแถวที่เป็น 1 มาใส่เป็น minterms
- Gray Code Converter — เข้าใจ reflected-binary ordering ที่ใช้เรียงแกนของ K-map
- Bitwise Calculator — คำนวณ AND/OR/XOR หลังลดวงจรเสร็จ
ขอให้สนุกกับการลดทอนสมการ!