Поедноставувач на Булова алгебра

Намалете го секој Булов израз до неговата минимална сума на производи и производ на суми, со секој примарен импликант и проверка со таблица на вистинитост ред по ред.

Израз

Пишувајте ги променливите како единечни букви. 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 се дозволени.

Пробајте израз

Минимална форма

Вашата минимална форма ќе се појави тука

Внесете Булов израз за да ја видите неговата наједноставна сума на производи, неговиот производ на суми и како се пронајдени.

Внесете Булов израз за да го поедноставите.

Изразите се поедноставуваат во овој прелистувач и никогаш не го напуштаат вашиот уред.

ЧПП

Кои начини на пишување на изразот се поддржани?

Сите вообичаени конвенции, слободно измешани: инженерски стил (AB + A'C, со имплицитно AND и прим за NOT), програмерски стил (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) ги поврзува со OR-оператор AND-членовите, како што е AB' + BC, и директно соодветствува на AND–OR кола; производот на суми (POS) ги поврзува со AND-оператор OR-факторите, како што е (A + B)(B' + C), и соодветствува на OR–AND кола. Во зависност од функцијата, за едната форма може да се потребни помалку порти отколку за другата, па затоа алатката секогаш ги прикажува двете.

Зошто се поддржани најмногу 6 променливи?

Шест променливи веќе создаваат таблица на вистинитост со 64 редови, што е приближно границата на она што сè уште може да се чита и проверува рачно. Понатаму, минимизирањето теоретски продолжува да работи, но изведувањето и таблицата околу кои е изградена оваа страница престануваат да бидат корисни како доказ. Софтверот за логичко проектирање со излез во датотека е подобар избор за пошироки функции.

Минимизација на Булови изрази преку Quine–McCluskey метод

Поедноставувањето на логичките функции е клучен чекор во дизајнирањето на дигитални кола и оптимизацијата на програмскиот код. Рачното пресметување на минималните форми станува исклучително сложено со зголемувањето на бројот на променливи. Алатката "Boolean Algebra Simplifier" овозможува брзо и точно намалување на секој Булов израз до неговите две клучни математички форми: минимална сума на производи (SOP) и минимален производ на суми (POS).

Процесот на пресметување се извршува локално. Изразите се поедноставуваат во овој прелистувач и никогаш не го напуштаат вашиот уред. Ова овозможува брза обработка без потреба од испраќање податоци на надворешни сервери.


Поддржани формати на внесување и оператори

Алатката прифаќа изрази со најмногу 6 различни променливи и максимална должина до 2,000 карактери. Променливите мора да бидат напишани како единечни букви. За внесување на логичките операции, корисникот може слободно да меша различни нотации — од инженерски и програмерски стил, па сè до формални логички симболи и текстуални зборови:

  • AND (конјункција): Може да се запише имплицитно без оператор (на пример, AB), со точка A·B, со ѕвездичка A*B, како програмерско A && B, со текстуален збор A AND B или со соодветниот логички симбол. Низите од повеќе букви како ABC автоматски се толкуваат како A AND B AND C.
  • OR (дисјункција): Се запишува со плус A + B, програмерски вертикални линии A || B, текстуално A OR 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.

Интерфејсот содржи и брзи контроли за олеснување на работата. Копчето со ознака "Исчисти" веднаш го брише внесениот израз. Дополнително, достапни се три готови примери под насловот "Пробајте израз":

  • "Спојување членови" (пример за консензус)
  • "Негиран производ" (пример за De Morgan-ови закони)
  • "Троен XOR" (пример со три променливи)

Дијагностика и чекори на поедноставување

По внесувањето на валиден израз, алатката ја прикажува неговата нормализирана интерпретација под ознаката "Прочитано како". Веднаш под неа се прикажуваат крајните резултати: "Минимална сума на производи (SOP)" и "Минимален производ на суми (POS)". Секој од овие резултати може лесно да се зачува со кликнување на копчето "Копирај го резултатот".

За детален преглед на пресметката, панелот "Накратко" ги прикажува следните дијагностички податоци:

  • Променливи: Листа на детектирани променливи во изразот.
  • Редови еднакви на 1: Бројот или листата на минтерми.
  • Примарни импликанти: Вкупниот број на пронајдени примарни импликанти.
  • Суштински примарни импликанти: Бројот на суштински примарни импликанти кои мора да влезат во финалното покривање.
  • Литерали, пред → по: Односот на бројот на литерали во почетниот израз наспроти поедноставениот израз.
  • Метод: Го прикажува применетиот алгоритам "Quine–McCluskey, точно минимално покривање".

Делот "Како е поедноставен" содржи текстуално изведување чекор-по-чекор. Прво се дефинира големината на таблицата на вистинитост во зависност од бројот на променливи (на пример, "Изразот користи ‹count› променливи (‹variables›), па таблицата на вистинитост има ‹rows› редови." или соодветните варијанти за една или ниту една променлива). Потоа се идентификуваат редовите каде изразот е вистинит или невистинит: "Тој е еднаков на 1 на редовите Σm(‹minterms›) и 0 на редовите ΠM(‹maxterms›).".

Понатаму, се прикажува процесот на спојување: "Со спојување на соседните 1-редови колку што е можно повеќе, се добиваат ‹count› примарни импликанти: ‹list›.". Се издвојуваат суштинските импликанти преку пораката "Суштински примарни импликанти — единственото преостанато покривање за барем еден ред: ‹list›." (или се нотира дека ниту еден не е суштински). Доколку има преостанати непокриени редови, се прикажува како се затвораат: "Редовите што сè уште не се покриени се затвораат со најмалку дополнителни членови: ‹list›.". На крајот, се прикажува изведувањето на POS формата преку 0-редовите и се потврдува верификацијата: "Двете минимални форми се совпаѓаат со оригиналниот израз на сите ‹rows› редови од таблицата на вистинитост.".


Таблица на вистинитост и верификација

За визуелна потврда на точноста, алатката генерира комплетна "Таблица на вистинитост". Таа содржи колони за секоја од променливите, колона за оригиналниот израз со наслов "Израз" и колона за поедноставената верзија со наслов "Минимална SOP". Ова овозможува директна проверка на еквивалентноста на двете функции за секоја можна комбинација на влезовите.

При успешна обработка, статусната порака гласи: "Поедноставено и проверено на сите ‹rows› редови.". Доколку внесениот израз е константен, се појавува пораката "Овој израз е константен: тој секогаш е еднаков на ‹value›.".


Справување со грешки и гранични случаи

Алатката има вградени строги правила за валидација на влезот со цел да спречи неточни пресметки:

  • Празен внес: Ако нема внесено текст, се прикажува пораката "Внесете Булов израз.".
  • Пречекорување на карактери: Доколку изразот е подолг од дозволеното, се појавува предупредувањето "Чувајте го изразот под 2,000 карактери.".
  • Невалидни карактери: Ако внесете недозволен симбол, алатката јавува: ""‹char›" (позиција ‹position›) не е Булов оператор, променлива или константа.".
  • Синтаксички грешки: Доколку недостасува операнд, се прикажува: "Недостасува операнд за операторот близу позицијата ‹position› — проверете дали има вишок + · или ⊕.".
  • Неспарени загради: Во случај на погрешно поставени загради, се појавува пораката "Заградите не се спарени — додајте или отстранете заграда.".
  • Премногу променливи: Ако се внесат повеќе од 6 променливи, се активира грешката: "Овој израз користи ‹count› различни променливи; поедноставувачот поддржува најмногу 6.".
  • Веќе минимален израз: Ако внесениот израз не може дополнително да се скрати, се прикажува: "Вашиот израз е веќе минимална сума на производи.".
  • Константни вредности: За тавтологии се прикажува "Овој израз е секогаш 1: секоја комбинација на вредности го прави вистинит.", а за контрадикции "Овој израз е секогаш 0: ниту една комбинација на вредности не го прави вистинит.".

Често поставувани прашања (FAQ)

Зошто се поддржани најмногу 6 променливи?
Шест променливи веќе создаваат таблица на вистинитост со 64 редови, што е приближно границата на она што сè уште може да се чита и проверува рачно. Понатаму, минимизирањето теоретски продолжува да работи, но изведувањето и таблицата околу кои е изградена оваа страница престануваат да бидат корисни како доказ. Софтверот за логичко проектирање со излез во датотека е подобар избор за пошироки функции.

Како се наоѓа минималната форма?
Алатката ја гради целосната таблица на вистинитост, ги спојува соседните 1-редови во примарни импликанти (методот Quine–McCluskey), ги задржува суштинските и ги затвора сите преостанати редови со точно минимално покривање. Резултатот е загарантирано минимален за формата сума на производи — тоа не е хеуристика — а истата постапка на 0-редовите го дава производот на суми.

Кои начини на пишување на изразот се поддржани?
Сите вообичаени конвенции, слободно измешани: инженерски стил (AB + A'C, со имплицитно AND и прим за NOT), програмерски стил (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 секогаш се читаат како оператори.

Која е разликата помеѓу резултатите SOP и POS?
И двете ја опишуваат истата функција. Сумата на производи (SOP) ги поврзува со OR-оператор AND-членовите, како што е AB' + BC, и директно соодветствува на AND–OR кола; производот на суми (POS) ги поврзува со AND-оператор OR-факторите, како што е (A + B)(B' + C), и соодветствува на OR–AND кола. Во зависност од функцијата, за едната форма може да се потребни помалку порти отколку за другата, па затоа алатката секогаш ги прикажува двете.