ตัวลดรูปพีชคณิตบูลีน

ใช้ A, B, C... เป็นตัวแปร ตัวดำเนินการ: & (AND), | (OR), ! (NOT), ^ (XOR), ( )

เมื่อป้อนนิพจน์บูลีน — A·B + A·¬B + ¬A·B หรือตารางค่าความจริงพร้อมมินเทอร์ม — ตัวลดรูปนี้จะคืนรูปผลรวมของผลคูณ (sum-of-products) ที่เล็กที่สุดด้วยอัลกอริทึม Quine-McCluskey พร้อมการแสดงผลแผนผัง Karnaugh สำหรับตัวแปรสูงสุดหกตัว เครื่องมือจะแสดงทุกขั้นตอน (พจน์เชิงนัยปฐมภูมิ, พจน์เชิงนัยปฐมภูมิที่จำเป็น, ตารางครอบคลุม) จึงมีประโยชน์ไม่ใช่แค่สำหรับการบ้าน แต่ยังใช้ตรวจสอบสิ่งที่ตัวลดรูปในเครื่องมือสังเคราะห์ของคุณเลือกได้อีกด้วย

การลดรูปบูลีนทำงานอย่างไร

  1. 1

    ป้อนนิพจน์หรือมินเทอร์ม

    ใช้ตัวดำเนินการ · (AND), + (OR), ' หรือ ¬ (NOT), ⊕ (XOR) หรือวางดัชนีมินเทอร์ม เช่น m(0,1,3,7)

  2. 2

    สร้างตารางค่าความจริง

    ประเมินทุกการกำหนดค่าตัวแปร แล้วจัดเอาต์พุตของฟังก์ชันเป็นตาราง

  3. 3

    Quine-McCluskey หาพจน์เชิงนัยปฐมภูมิ

    มินเทอร์มจะถูกจัดกลุ่มและรวมกันแบบวนซ้ำ กลุ่มที่อยู่ติดกัน (ต่างกันหนึ่งตัวแปร) จะถูกรวมจนลดต่อไปไม่ได้

  4. 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
  2. รวมคู่ที่อยู่ติดกัน: (1,3) → -B, (2,3) → A-
  3. ตารางครอบคลุมแสดงว่าทั้งคู่เป็นพจน์จำเป็น (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 ใดก็ได้เป็นเลขฐานสอง อักขระทุกตัวกลายเป็นแปดบิต คั่นด้วยช่องว่าง พร้อมวางในการติดตามโปรโตคอลหรือการบ้าน