ตัวลดรูปพีชคณิตบูลีน
เมื่อป้อนนิพจน์บูลีน — A·B + A·¬B + ¬A·B หรือตารางค่าความจริงพร้อมมินเทอร์ม — ตัวลดรูปนี้จะคืนรูปผลรวมของผลคูณ (sum-of-products) ที่เล็กที่สุดด้วยอัลกอริทึม Quine-McCluskey พร้อมการแสดงผลแผนผัง Karnaugh สำหรับตัวแปรสูงสุดหกตัว เครื่องมือจะแสดงทุกขั้นตอน (พจน์เชิงนัยปฐมภูมิ, พจน์เชิงนัยปฐมภูมิที่จำเป็น, ตารางครอบคลุม) จึงมีประโยชน์ไม่ใช่แค่สำหรับการบ้าน แต่ยังใช้ตรวจสอบสิ่งที่ตัวลดรูปในเครื่องมือสังเคราะห์ของคุณเลือกได้อีกด้วย
การลดรูปบูลีนทำงานอย่างไร
-
1
ป้อนนิพจน์หรือมินเทอร์ม
ใช้ตัวดำเนินการ · (AND), + (OR), ' หรือ ¬ (NOT), ⊕ (XOR) หรือวางดัชนีมินเทอร์ม เช่น m(0,1,3,7)
-
2
สร้างตารางค่าความจริง
ประเมินทุกการกำหนดค่าตัวแปร แล้วจัดเอาต์พุตของฟังก์ชันเป็นตาราง
-
3
Quine-McCluskey หาพจน์เชิงนัยปฐมภูมิ
มินเทอร์มจะถูกจัดกลุ่มและรวมกันแบบวนซ้ำ กลุ่มที่อยู่ติดกัน (ต่างกันหนึ่งตัวแปร) จะถูกรวมจนลดต่อไปไม่ได้
-
4
พจน์เชิงนัยที่จำเป็นครอบคลุมฟังก์ชัน
ตารางครอบคลุมแบบวิธี Petrick จะเลือกชุดพจน์เชิงนัยปฐมภูมิที่น้อยที่สุด ผลลัพธ์คือ SOP ที่ลดรูปแล้ว ส่วนรูป POS ได้จากการหาส่วนเติมเต็ม
สัญลักษณ์ตัวดำเนินการที่รองรับ
| การดำเนินการ | สัญลักษณ์ที่รับได้ |
|---|---|
| AND | ·, *, &, ∧, เว้นวรรค |
| OR | +, |, ∨ |
| NOT | \', ¬, !, ~, ขีดบน (A ที่มีขีดบนจะแสดงเป็น A\') |
| XOR | ⊕, ^ |
| ค่าคงที่ | 0, 1 |
ตัวอย่าง
อินพุต: A·B + A·¬B + ¬A·B
ตารางค่าความจริง:
| A | B | F |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
มินเทอร์ม: m(1, 2, 3). รูป SOP ที่เล็กที่สุดลดเหลือ A + B (OR ของสองตัวแปร) ตัวลดรูปจะแสดงขั้นตอน:
- จัดกลุ่มมินเทอร์มตามจำนวนเลข 1
- รวมคู่ที่อยู่ติดกัน: (1,3) →
-B, (2,3) →A- - ตารางครอบคลุมแสดงว่าทั้งคู่เป็นพจน์จำเป็น (essential) — รูปสุดท้าย:
A + B
ทำไมต้องลดรูปให้น้อยที่สุด
- ลดจำนวนเกต: แต่ละพจน์ AND/OR กินพื้นที่ซิลิคอนหรือ FPGA LUT
- เส้นทางวิกฤตสั้นลง: ลอจิกที่เล็กลงมักหมายถึงดีเลย์การแพร่สัญญาณที่ต่ำลง
- ใช้พลังงานน้อยลง: โหนดที่สลับสถานะน้อยลง
ข้อจำกัดของอัลกอริทึม
- จำนวนตัวแปร: Quine-McCluskey มีความซับซ้อน O(3^n / n) ในกรณีแย่ที่สุด เครื่องมือนี้รองรับได้สบายถึง 8 ตัวแปร เกินกว่านั้นให้ใช้ตัวลดรูปแบบฮิวริสติกสไตล์ Espresso (จะไม่ได้ค่าน้อยที่สุดที่รับประกัน แต่ทำได้จริง)
- พจน์ดอนต์แคร์ (don't-care): ใส่ด้วยไวยากรณ์
d(indices)เพื่อให้ได้ผลลัพธ์เล็กลงเมื่อชุดอินพุตบางชุดไม่มีทางเกิดขึ้น
คำถามที่พบบ่อย
Sum-of-products คือ OR ของ AND (เช่น AB + CD) ส่วน product-of-sums คือ AND ของ OR (เช่น (A+B)(C+D)) เป็นฟังก์ชันเดียวกันแต่โครงสร้างต่างกัน ตัวลดรูปจะคืนทั้งสองแบบ — เลือกแบบที่เหมาะกับเครื่องมือถัดไปของคุณ
รองรับ ใส่เป็น d(index1, index2, ...) คู่กับมินเทอร์ม ตัวลดรูปจะถือว่าค่าเหล่านี้ “อิสระ” และกำหนดค่าใดก็ได้ที่ทำให้ผลลัพธ์เล็กลง
ทั้งสองวิธีให้ต้นทุนน้อยที่สุดถ้าเลือกถูก แต่ K-map ขึ้นกับว่าคนมองหากลุ่มที่ใหญ่ที่สุดเจอหรือไม่ ส่วน Quine-McCluskey เป็นแบบกำหนดได้ (deterministic) และหาคำตอบที่เหมาะที่สุดได้เสมอ
XOR จะถูกกระจายเป็น AND/OR/NOT ก่อนการลดรูป คุณจะได้ SOP ที่สมมูลกัน แต่โครงสร้าง XOR จะหายไป ถ้าต้องการการหาค่าเหมาะที่สุดที่ยังคงรักษา XOR ไว้ ต้องใช้อัลกอริทึมอื่น เช่น Reed-Muller
เครื่องมือที่เกี่ยวข้อง
เครื่องมือสร้างสีแบบสุ่ม
สร้างสี HEX แบบสุ่ม 1 ถึง 50 สี พร้อมตัวอย่างสีสำหรับดูตัวอย่าง คัดลอก และนำไปใช้ใน CSS งานทดสอบ หรือการสำรวจพาเลตสี.
เครื่องกำเนิดจานสี
สร้างพาเลตสีแบบเอกรงค์ ใกล้เคียง คู่ตรงข้าม ไตรแอดิก หรือเตตราดิกจากสี HEX หลัก พร้อมส่งออกตัวแปร CSS ที่คัดลอกได้ทันที
เครื่องสร้างตัวอักษรสุ่ม
สร้างตัวอักษร A-Z แบบสุ่ม เลือกจำนวน ตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก หรือแบบผสม แล้วใช้กับเกม โจทย์ หรือกิจกรรมในห้องเรียน
ตัวจัดรูปแบบ JSON
วาง JSON เพื่อจัดให้อ่านง่ายด้วยการเยื้อง 2 หรือ 4 ช่องว่าง ย่อให้เป็นผลลัพธ์แบบกะทัดรัด หรือตรวจสอบไวยากรณ์อย่างรวดเร็วก่อนคัดลอกผลลัพธ์
เครื่องมือเลือกสี HEX
เลือกสีจากหน้าจอแล้วดูค่า HEX, RGB, HSL, HSV และ CMYK พร้อมค่าคอนทราสต์เมื่อเทียบกับสีขาวและสีดำ
ตัวแปลง ASCII เป็นเลขฐานสอง
แปลงสตริง ASCII ใดก็ได้เป็นเลขฐานสอง อักขระทุกตัวกลายเป็นแปดบิต คั่นด้วยช่องว่าง พร้อมวางในการติดตามโปรโตคอลหรือการบ้าน