แผนผังคาร์โนห์ หรือ K-map คือกริดที่ใช้ย่อรูปนิพจน์บูลีน โดยไม่ต้องทำพีชคณิตด้วยมือมากเท่าเดิม คุณนำค่าผลลัพธ์จากตารางค่าความจริงมาใส่ในกริด จัดกลุ่มค่า ที่อยู่ติดกัน แล้วเขียนพจน์ที่ง่ายลงหนึ่งพจน์สำหรับแต่ละกลุ่ม
เงื่อนไขสำคัญคือ K-map เหมาะที่สุดกับฟังก์ชันขนาดเล็ก โดยทั่วไปคือมีตัวแปรสอง สาม หรือสี่ตัว เมื่อจำนวนตัวแปรมากขึ้น แผนผังจะอ่านยากขึ้น และมักมีวิธีอื่นที่เหมาะกว่า
แผนผังคาร์โนห์แสดงอะไร
K-map มีข้อมูลเดียวกันกับตารางค่าความจริง แต่จัดเรียงช่องตามลำดับ Gray code แทนลำดับไบนารีปกติ การจัดเรียงแบบนี้ทำให้ช่องที่อยู่ติดกันต่างกันเพียงตัวแปรเดียว
ความต่างเพียงตัวแปรเดียวนี่เองคือประเด็นสำคัญ ถ้าช่องที่ติดกันสองช่องมีค่าเป็น ทั้งคู่ ตัวแปรที่เปลี่ยนค่านั้นสามารถตัดออกจากพจน์ที่ย่อรูปแล้วได้
การจัดกลุ่มช่วยตัดตัวแปรออกได้อย่างไร
กฎเชิงภาพนี้มาจากเอกลักษณ์ของพีชคณิตบูลีน เช่น
สองพจน์นี้ต่างกันแค่ที่ ดังนั้น จึงหายไป และเหลือส่วนที่เหมือนกันคือ K-map ช่วยให้คุณมองเห็นรูปแบบการตัดทอนนี้ได้โดยตรงบนกริด
ตัวอย่างแผนผังคาร์โนห์
สมมติว่า
นั่นหมายความว่า สำหรับมินเทอม , , , และ
สำหรับ K-map แบบ ตัวแปร ให้ใช้ เป็นแถว และใช้ เป็นคอลัมน์ตามลำดับ Gray code คือ , , , :
เริ่มจากกลุ่มที่ถูกต้องและมีขนาดใหญ่ที่สุดก่อน ค่า สี่ตัวในสองคอลัมน์ตรงกลางรวมกันเป็นหนึ่งกลุ่ม ในสี่ช่องนี้ คงที่ ส่วน และ เปลี่ยนค่า ดังนั้นกลุ่มนี้จึงย่อรูปได้เป็น
ยังมีค่า อีกหนึ่งตัวที่ยังไม่ถูกครอบคลุม คือมินเทอม ซึ่งคือ ให้จับคู่กับมินเทอมข้างเคียงคือ ซึ่งคือ
ในคู่นี้ และ คงที่ ส่วน เปลี่ยนค่า ดังนั้นคู่นี้จึงย่อรูปได้เป็น
ดังนั้นนิพจน์ที่ย่อรูปแล้วคือ
นิพจน์ที่สั้นกว่านี้สมมูลกับรายการมินเทอมเดิม
กฎของการจัดกลุ่มที่ถูกต้องใน K-Map
ใช้กลุ่มที่มีขนาดเป็นกำลังของสอง เช่น , , , เป็นต้น
ใช้กลุ่มที่ถูกต้องและมีขนาดใหญ่ที่สุดเท่าที่ทำได้ กลุ่มที่ใหญ่กว่ามักช่วยตัดตัวแปรออกได้มากกว่า
อย่าลืมว่าแผนผังมีการวนรอบ ขอบซ้ายกับขอบขวาถือว่าติดกัน และขอบบนกับขอบล่างก็ติดกัน
ช่องที่อยู่แนวทแยงกันไม่ถือว่าติดกัน
การซ้อนทับกันทำได้ ถ้ามันช่วยให้เกิดการจัดกลุ่มที่ใหญ่ขึ้นหรือง่ายขึ้น
ข้อผิดพลาดที่พบบ่อยในแผนผังคาร์โนห์
ใช้ลำดับไบนารีปกติ
ถ้าคุณติดป้ายแถวหรือคอลัมน์เป็น , , , ความเป็นช่องข้างเคียงจะผิด K-map ต้องใช้ลำดับ Gray code เพื่อให้ช่องที่อยู่ติดกันต่างกันเพียง 1 บิต
จัดกลุ่มเป็นสามช่อง
กลุ่มที่มีสามช่องไม่ถูกต้องเสมอ ขนาดของกลุ่มต้องเป็นกำลังของสอง
ลืมความเป็นช่องข้างเคียงแบบวนรอบ
การย่อรูปที่ดีที่สุดบางครั้งใช้ช่องที่อยู่คนละขอบของแผนผัง ถ้าคุณลืมกฎการวนรอบ คำตอบมักจะยาวเกินความจำเป็น
พยายามบังคับให้ค่า ทุกตัวอยู่ในเพียงหนึ่งกลุ่มเท่านั้น
นี่ไม่ใช่กฎ การใช้ช่องเดิมซ้ำอาจเป็นวิธีที่ดีที่สุดในการสร้างกลุ่มที่ใหญ่ขึ้น และทำให้นิพจน์สุดท้ายสั้นลง
ใช้แผนผังคาร์โนห์เมื่อไร
K-map พบได้บ่อยในวิชาลอจิกดิจิทัลและวิศวกรรมคอมพิวเตอร์เบื้องต้น เพราะมันเปลี่ยนการย่อรูปบูลีนให้เป็นกระบวนการที่มองเห็นได้ชัด โดยเฉพาะเมื่อคุณต้องการนิพจน์แบบ sum-of-products ที่ง่ายขึ้นก่อนจะวาดหรือสร้างวงจรลอจิก
มันยังช่วยสร้างความเข้าใจเชิงสัญชาตญาณได้ดี แม้ว่าซอฟต์แวร์จะจัดการงานออกแบบขนาดใหญ่ได้ การเรียน K-map ก็ช่วยให้เห็นได้ง่ายขึ้นว่าทำไมพจน์บูลีนบางพจน์จึงรวมกันได้ และบางพจน์จึงรวมกันไม่ได้
ลองทำโจทย์ที่คล้ายกัน
ลองย่อรูป ด้วยตัวเอง วาดแผนผัง จัดกลุ่มที่ถูกต้องและใหญ่ที่สุดก่อน แล้วเก็บไว้เฉพาะตัวแปรที่คงที่ในแต่ละกลุ่ม
ถ้าคุณอยากลองต่ออีกขั้น ให้ลองโจทย์ที่มีค่า don't-care และใช้ค่าเหล่านั้นเฉพาะเมื่อมันช่วยให้คุณสร้างกลุ่มที่ถูกต้องและใหญ่ขึ้นได้
ต้องการความช่วยเหลือในการแก้โจทย์?
อัปโหลดคำถามของคุณแล้วรับคำตอบแบบทีละขั้นตอนที่ผ่านการตรวจสอบในไม่กี่วินาที
เปิด GPAI Solver →