Булийн алгебрын хялбаршуулагч

Дурын Булийн илэрхийллийг хамгийн бага үржвэрүүдийн нийлбэр болон нийлбэрүүдийн үржвэр хэлбэрт шилжүүлж, анхдагч импликант бүрийг үнэний хүснэгтээр мөр мөрөөр нь шалгаарай.

Илэрхийлэл

Хувьсагчдыг ганц үсгээр бичнэ үү. AND-ийг AB, A·B, A*B эсвэл A AND B гэж бичиж болно; OR нь A + B эсвэл A OR B; NOT нь A', !A эсвэл NOT A; мөн XOR, NAND, NOR-ийг ашиглах боломжтой.
Оператор оруулах

6 хүртэлх өөр хувьсагч болон 2,000 тэмдэгт. 0 ба 1-ийн тогтмолуудыг зөвшөөрнө.

Илэрхийлэл туршиж үзэх

Хамгийн хялбар хэлбэр

Таны хамгийн хялбар хэлбэр энд харагдана

Булийн илэрхийллийг оруулж, түүний хамгийн хялбар үржвэрүүдийн нийлбэр, нийлбэрүүдийн үржвэр болон тэдгээрийг хэрхэн олсон бодолтыг харна уу.

Хялбаршуулахын тулд Булийн илэрхийлэл оруулна уу.

Илэрхийллүүдийг энэ хөтөч дээр хялбаршуулах бөгөөд таны төхөөрөмжөөс хэзээ ч гадагшлахгүй.

Түгээмэл асуултууд

Илэрхийллийг бичих ямар аргуудыг дэмждэг вэ?

Түгээмэл хэрэглэгддэг бүх тэмдэглэгээг чөлөөтэй хольж ашиглаж болно: инженерийн хэв маяг (далд AND болон NOT-ийн штрих бүхий AB + A'C), програмчлалын хэв маяг (A && !B || C, A ^ B), логик тэмдэглэгээ (¬ ∧ ∨ ⊕ ⊼ ⊽) болон энгийн үгс (A AND B OR NOT C, NAND, NOR). ABC гэх мэт олон үсэг дараалсан бичиглэл нь A AND B AND C гэсэн утгатай бөгөөд AND, OR, NOT, XOR, NAND, NOR гэсэн үгсийг үргэлж оператор гэж уншина.

Хамгийн хялбар хэлбэрийг хэрхэн олдог вэ?

Энэхүү хэрэгсэл нь үнэний бүтэн хүснэгтийг байгуулж, зэргэлдээх 1-ийн мөрүүдийг анхдагч импликантууд болгон нэгтгэж (Quine–McCluskey арга), үндсэн импликантуудыг үлдээж, үлдсэн мөрүүдийг яг таг хамгийн бага бүрхүүлээр хаадаг. Үр дүн нь үржвэрүүдийн нийлбэр хэлбэрийн хувьд хамгийн бага байх нь баталгаатай бөгөөд (энэ нь эвристик арга биш) 0-ийн мөрүүд дээр ижил үйлдлийг хийснээр нийлбэрүүдийн үржвэрийг гаргаж авдаг.

SOP болон POS үр дүнгийн хооронд ямар ялгаа байдаг вэ?

Хоёулаа ижил функцийг тодорхойлдог. Үржвэрүүдийн нийлбэр (SOP) нь AB' + BC гэх мэт AND-гишүүдийг хооронд нь OR-оор холбодог бөгөөд AND–OR схем рүү шууд хөрвөдөг; нийлбэрүүдийн үржвэр (POS) нь (A + B)(B' + C) гэх мэт OR-гишүүдийг хооронд нь AND-оор холбодог бөгөөд OR–AND схем рүү хөрвөдөг. Функцээс хамааран нэг хэлбэр нь нөгөөгөөсөө цөөн логик элемент шаардаж болох тул тус хэрэгсэл нь үргэлж хоёр хэлбэрийг зэрэг харуулдаг.

Яагаад хамгийн ихдээ 6 хувьсагч дэмждэг вэ?

Зургаан хувьсагч нь аль хэдийн 64 мөртэй үнэний хүснэгтийг үүсгэдэг бөгөөд энэ нь гараар уншиж, шалгахад тохиромжтой дээд хязгаар юм. Үүнээс олон хувьсагчтай үед онолын хувьд хялбаршуулалт ажилласаар байх боловч энэ хуудасны гол хэсэг болох гаргалгаа болон хүснэгт нь нотолгоо болж ашиглагдахад тохиромжгүй болдог. Илүү олон хувьсагчтай функцүүдэд файл гаргадаг логик дизайн хийх программ хангамж илүү тохиромжтой.

Булийн алгебрын хялбаршуулалт ба түүний ач холбогдол

Булийн илэрхийллийг хялбаршуулах нь дижитал логик дизайн, микропроцессорын схем болон програм хангамжийн нөхцөлт шалгалтыг оновчтой болгоход шийдвэрлэх үүрэг гүйцэтгэдэг. Нарийн төвөгтэй логик илэрхийллийг цөөн хувьсагч болон оператор агуулсан тэнцүү чанартай хэлбэрт шилжүүлснээр физик схем дэх логик элементүүдийн (gate) тоог цөөрүүлж, цахилгаан зарцуулалт болон дохионы саатлыг багасгадаг.

"Булийн алгебрын хялбаршуулагч" нь дурын Булийн илэрхийллийг хамгийн бага үржвэрүүдийн нийлбэр (SOP) болон хамгийн бага нийлбэрүүдийн үржвэр (POS) хэлбэрт шууд шилжүүлэн тооцоолдог онлайн хэрэгсэл юм. Энэхүү хэрэгсэл нь хялбаршуулах үйлдлийг хийхдээ эвристик бус, математикийн хувьд яг таг хамгийн бага бүрхүүлийг баталгаажуулдаг Quine–McCluskey аргыг ашигладаг. Хэрэглэгч өөрийн илэрхийллийг оруулмагц систем үнэний хүснэгтийг байгуулж, анхдагч импликантуудыг тодорхойлон, алхам алхмаар бодолтын гаргалгааг үүсгэдэг.

Дэмжих оролтын формат ба хязгаарлалтууд

Хэрэглэгч өөрийн илэрхийллийг оруулахдаа инженерийн, програмчлалын болон албан ёсны логик тэмдэглэгээнүүдийг чөлөөтэй хольж ашиглах боломжтой. Хувьсагчдыг ганц үсгээр тэмдэглэх бөгөөд дараах операторуудыг дэмждэг:

  • AND (Үржвэр): Дараалсан үсгүүдээр шууд бичих (жишээ нь AB), цэгээр A·B, одоор A*B, эсвэл A AND B, A && B гэж бичиж болно. Олон үсэг дараалсан ABC бичиглэлийг A AND B AND C гэж уншина.
  • OR (Нийлбэр): Нэмэх тэмдгээр A + B, эсвэл A OR B, A || B гэж бичнэ.
  • NOT (Үгүйсгэл): Штрих тэмдгээр A', анхаарлын тэмдгээр !A, эсвэл NOT A, ¬A гэж бичнэ.
  • XOR (Үл хамаарах OR): A ^ B, A XOR B, эсвэл A ⊕ B гэж бичнэ.
  • NAND: A NAND B эсвэл тэмдгээр бичнэ.
  • NOR: A NOR B эсвэл тэмдгээр бичнэ.
  • Тогтмолууд: Логик 0 ба 1-ийг ашиглахыг зөвшөөрнө.

Оролтын талбарт хамгийн ихдээ 6 хүртэлх өөр хувьсагч ашиглах боломжтой бөгөөд илэрхийллийн урт нь 2,000 тэмдэгтээс хэтрэхгүй байх хязгаартай. Хэрэглэгч интерфэйс дээрх "Цэвэрлэх" товчийг ашиглан оролтыг арилгах эсвэл "Илэрхийлэл туршиж үзэх" хэсгээс "Гишүүдийг нэгтгэх", "Үгүйсгэсэн үржвэр", "Гурван талт XOR" гэсэн бэлэн жишээнүүдийг сонгож турших боломжтой.

Алгоритмын ажиллагаа ба Quine–McCluskey арга

Гар аргаар Булийн илэрхийллийг хялбаршуулахад Карногийн карт (K-map) түгээмэл ашиглагддаг боловч энэ нь 4-өөс дээш хувьсагчтай үед хэт нүсэр, алдаа гарах магадлал өндөртэй болдог. "Булийн алгебрын хялбаршуулагч" нь 6 хүртэлх хувьсагчтай дурын илэрхийллийг бодохдоо Quine–McCluskey алгоритмыг ашигладаг.

Энэхүү алгоритм нь дараах үе шаттайгаар ажилладаг:

  1. Үнэний хүснэгт байгуулах: Оролтын илэрхийллийн уншигдсан хэлбэрийг тодорхойлж, хувьсагчдын тоогоор (2ⁿ мөртэй) үнэний хүснэгтийг байгуулна.
  2. Анхдагч импликантуудыг олох: 1-ийн утгатай мөрүүдийг (minterms) хоёр хоёроор нь зэрэгцүүлэн, зөвхөн нэг битийн зөрүүтэй мөрүүдийг нэгтгэх замаар боломжит хамгийн том бүлгүүдийг үүсгэнэ. Үүнээс үүссэн хамгийн багасгасан гишүүдийг "Анхдагч импликантууд" гэнэ.
  3. Үндсэн анхдагч импликантуудыг тодорхойлох: Үнэний хүснэгтийн аль нэг 1-ийн утгатай мөрийг бүрхэж чадах цорын ганц импликантыг "Үндсэн анхдагч импликант" гэж тодорхойлно. Эдгээр нь эцсийн хялбаршуулсан SOP хэлбэрт заавал орох ёстой.
  4. Хамгийн бага бүрхүүл сонгох: Үндсэн импликантуудаар бүрхэгдээгүй үлдсэн 1-ийн мөрүүдийг хамгийн цөөн тооны нэмэлт импликантаар бүрхэж, эцсийн хамгийн бага SOP хэлбэрийг гаргана.
  5. POS хэлбэрийг гаргах: Дээрх үйлдлийг үнэний хүснэгтийн 0-ийн утгатай мөрүүд (maxterms) дээр ижил зарчмаар гүйцэтгэснээр хамгийн бага POS хэлбэрийг гаргаж авдаг.

Хэрэглэгчийн интерфэйс ба гаралтын мэдээлэл

Илэрхийллийг оруулсны дараа систем дараах үр дүнгүүдийг харуулна:

  • Уншигдсан хэлбэр: Систем таны оруулсан илэрхийллийг хэрхэн таньж, стандартжуулсныг харуулна.
  • Хамгийн бага үржвэрүүдийн нийлбэр (SOP): Хялбаршуулсан SOP хэлбэр.
  • Хамгийн бага нийлбэрүүдийн үржвэр (POS): Хялбаршуулсан POS хэлбэр.
  • Товч тойм: Энд дараах үзүүлэлтүүдийг харуулсан оношлогооны самбар байна:
    • Хувьсагчид: Илэрхийлэлд илэрсэн хувьсагчдын жагсаалт.
    • 1-тэй тэнцүү мөрүүд: Илэрхийллийг үнэн болгох минтермүүдийн тоо эсвэл жагсаалт.
    • Анхдагч импликантууд: Олдсон нийт анхдагч импликантын тоо.
    • Үндсэн анхдагч импликантууд: Заавал орох ёстой үндсэн импликантын тоо.
    • Литералууд, өмнөх → дараах: Хялбаршуулахаас өмнөх болон дараах литералын тооны харьцаа.
    • Арга: Ашигласан алгоритмыг "Quine–McCluskey, яг таг хамгийн бага бүрхүүл" гэж харуулна.

Мөн "Хэрхэн хялбаршуулсан бэ" хэсэгт бодолтын алхмуудыг дэлгэрэнгүй бичвэрээр харуулах бөгөөд үүний доор "Үнэний хүснэгт" байрлана. Хүснэгтийн багануудад хувьсагчид, анхны илэрхийлэл ("Илэрхийлэл") болон хялбаршуулсан үр дүн ("Хамгийн бага SOP") зэрэгцэн харагдах бөгөөд тэдгээрийн утгууд мөр бүрээр тохирч байгааг шалгаж болно. Хэрэглэгч "Үр дүнг хуулах" товчийг ашиглан хялбаршуулсан үр дүнг шууд санах ойдоо хуулж авах боломжтой.

Алдаа болон онцгой тохиолдлууд

Оролтын илэрхийллээс хамаарч систем дараах алдааны мэдэгдлүүдийг буцаана:

  • Хоосон оролт: "Булийн илэрхийлэл оруулна уу."
  • Тэмдэгтийн хязгаар хэтрэх: "Илэрхийллийг 2,000 тэмдэгтээс хэтрүүлэхгүй оруулна уу."
  • Буруу тэмдэгт: ""‹char›" (‹position›-р байрлал) нь Булийн оператор, хувьсагч эсвэл тогтмол биш байна."
  • Синтаксийн алдаа: "‹position›-р байрлалын орчимд операторын операнд дутуу байна — сул үлдсэн +, · эсвэл ⊕ байгаа эсэхийг шалгана уу."
  • Тэнцвэргүй хаалт: "Хаалтууд тэнцвэргүй байна — хаалт нэмэх эсвэл хасна уу."
  • Хувьсагчийн хязгаар хэтрэх: "Энэ илэрхийлэл нь ‹count› өөр хувьсагч ашиглаж байна; хялбаршуулагч нь 6 хүртэлх хувьсагчийг дэмждэг."

Хэрэв оруулсан илэрхийлэл нь тогтмол утгатай бол дараах онцгой төлөвүүдийг харуулна:

  • Тавтологи (Үргэлж үнэн): "Энэ илэрхийлэл үргэлж 1 байна: утгуудын бүх хослол үүнийг үнэн болгоно."
  • Зөрчил (Үргэлж худал): "Энэ илэрхийлэл үргэлж 0 байна: утгуудын ямар ч хослол үүнийг үнэн болгохгүй."
  • Аль хэдийн хялбаршуулсан: Хэрэв илэрхийллийг дахин хялбаршуулах боломжгүй бол "Таны илэрхийлэл аль хэдийн хамгийн бага үржвэрүүдийн нийлбэр хэлбэртэй байна." гэж мэдэгдэнэ.

Нууцлал ба боловсруулалт

Энэхүү хэрэгсэл нь хэрэглэгчийн нууцлалыг бүрэн хангасан зарчмаар ажилладаг. Оруулсан бүх Булийн илэрхийллийг хялбаршуулах тооцоолол нь зөвхөн хэрэглэгчийн өөрийн вэб хөтөч дээр шууд хийгддэг бөгөөд ямар нэгэн өгөгдөл гадны сервер рүү дамжиж, хэзээ ч таны төхөөрөмжөөс гадагшлахгүй.


Түгээмэл асуултууд (FAQ)

Яагаад хамгийн ихдээ 6 хувьсагч дэмждэг вэ?

Зургаан хувьсагч нь аль хэдийн 64 мөртэй үнэний хүснэгтийг үүсгэдэг бөгөөд энэ нь гараар уншиж, шалгахад тохиромжтой дээд хязгаар юм. Үүнээс олон хувьсагчтай үед онолын хувьд хялбаршуулалт ажилласаар байх боловч энэ хуудасны гол хэсэг болох гаргалгаа болон хүснэгт нь нотолгоо болж ашиглагдахад тохиромжгүй болдог. Илүү олон хувьсагчтай функцүүдэд файл гаргадаг логик дизайн хийх программ хангамж илүү тохиромжтой.

Хамгийн хялбар хэлбэрийг хэрхэн олдог вэ?

Энэхүү хэрэгсэл нь үнэний бүтэн хүснэгтийг байгуулж, зэргэлдээх 1-ийн мөрүүдийг анхдагч импликантууд болгон нэгтгэж (Quine–McCluskey арга), үндсэн импликантуудыг үлдээж, үлдсэн мөрүүдийг яг таг хамгийн бага бүрхүүлээр хаадаг. Үр дүн нь үржвэрүүдийн нийлбэр хэлбэрийн хувьд хамгийн бага байх нь баталгаатай бөгөөд (энэ нь эвристик арга биш) 0-ийн мөрүүд дээр ижил үйлдлийг хийснээр нийлбэрүүдийн үржвэрийг гаргаж авдаг.

Илэрхийллийг бичих ямар аргуудыг дэмждэг вэ?

Түгээмэл хэрэглэгддэг бүх тэмдэглэгээг чөлөөтэй хольж ашиглаж болно: инженерийн хэв маяг (далд AND болон NOT-ийн штрих бүхий AB + A'C), програмчлалын хэв маяг (A && !B || C, A ^ B), логик тэмдэгтүүд (¬ ∧ ∨ ⊕ ⊼ ⊽), мөн AND, OR, NOT, XOR, NAND, NOR гэсэн үгс. ABC гэх мэт олон үсэгт бичлэгийг A AND B AND C гэж уншдаг бөгөөд эдгээр үгсийг үргэлж үйлдэл гэж таньдаг.