Բուլյան հանրահաշվի պարզեցուցիչ

Պարզեցրեք ցանկացած բուլյան արտահայտություն մինչև դրա նվազագույն արտադրյալների գումար և գումարների արտադրյալ՝ յուրաքանչյուր պարզ իմպլիկանտի և տող առ տող ճշմարտության աղյուսակի ստուգմամբ:

Արտահայտություն

Գրեք փոփոխականները որպես առանձին տառեր: 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 մեթոդ), պահում է էականները և փակում մնացած տողերը ճշգրիտ նվազագույն ծածկույթով: Արդյունքը երաշխավորված նվազագույնն է արտադրյալների գումարի (SOP) ձևի համար (այն հեվրիստիկ չէ), իսկ նույն ընթացակարգը 0-տողերի վրա տալիս է գումարների արտադրյալը (POS):

Ո՞րն է տարբերությունը SOP և POS արդյունքների միջև:

Երկուսն էլ նկարագրում են նույն ֆունկցիան: Արտադրյալների գումարը (SOP) OR-ով միացնում է AND-անդամները, ինչպես օրինակ՝ AB' + BC, և ուղղակիորեն համապատասխանում է AND–OR սխեմաներին: Գումարների արտադրյալը (POS) AND-ով միացնում է OR-արտադրիչները, ինչպես օրինակ՝ (A + B)(B' + C), և համապատասխանում է OR–AND սխեմաներին: Կախված ֆունկցիայից՝ մի ձևը կարող է պահանջել ավելի քիչ տրամաբանական տարրեր, քան մյուսը, ուստի գործիքը միշտ ցույց է տալիս երկուսն էլ:

Ինչո՞ւ է թույլատրվում առավելագույնը 6 փոփոխական:

Վեց փոփոխականն արդեն իսկ ստեղծում է 64-տողանոց ճշմարտության աղյուսակ, ինչը ձեռքով կարդալու և ստուգելու սահմանն է: Դրանից այն կողմ նվազագույնացումը տեսականորեն շարունակում է աշխատել, սակայն այս էջի հիմքում ընկած արտածումն ու աղյուսակը դադարում են օգտակար լինել որպես ակնառու ապացույց: Ավելի լայն ֆունկցիաների համար ավելի հարմար է ֆայլային ելքով տրամաբանական նախագծման ծրագրակազմը:

Բուլյան հանրահաշվի պարզեցումը թվային տրամաբանության և սխեմատեխնիկայի նախագծման հիմնարար խնդիրներից է: Բարդ արտահայտությունների կրճատումը նվազագույն տեսքի թույլ է տալիս կառուցել ավելի պարզ, արագագործ և քիչ էներգիա սպառող տրամաբանական սխեմաներ: «Բուլյան հանրահաշվի պարզեցուցիչ» առցանց գործիքը նախատեսված է ցանկացած բուլյան արտահայտություն ավտոմատ կերպով նվազագույն մաթեմատիկական ձևերի բերելու համար՝ միաժամանակ ներկայացնելով հաշվարկների ամբողջական ընթացքը:

Այս գործիքի միջոցով հնարավոր է ստանալ ինչպես նվազագույն արտադրյալների գումարը (SOP), այնպես էլ նվազագույն գումարների արտադրյալը (POS): Պարզեցման գործընթացն իրականացվում է Quine–McCluskey ալգորիթմի կիրառմամբ, որը երաշխավորում է ճշգրիտ նվազագույն ծածկույթի ստացումը: Բացի վերջնական տեսքից, համակարգը գեներացնում է քայլ առ քայլ բացատրություն, որոշում է բոլոր պարզ ու էական պարզ իմպլիկանտները և կառուցում է ամբողջական ճշմարտության աղյուսակ՝ արդյունքների ճշգրտությունը ստուգելու համար:

Ընդունելի ձևաչափեր և մուտքային սահմանափակումներ

Գործիքն աջակցում է մինչև 6 տարբեր փոփոխական և 2,000 նիշ. Մուտքագրվող փոփոխականները գրվում են որպես առանձին տառեր. Օգտատերը կարող է ազատորեն համադրել տարբեր ոլորտներում ընդունված նշանակումները՝ ինժեներական, ծրագրավորման կամ տրամաբանական սիմվոլները:

  • 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 արժեքները:

Արագ փորձարկման համար հասանելի են հետևյալ պատրաստի օրինակները՝ «Անդամների միավորում» (կոնսենսուսի թեորեմ), «Ժխտված արտադրյալ» (Դե Մորգանի օրենք) և «Եռակողմ XOR»: Մուտքագրված տեքստը մաքրելու համար նախատեսված է «Մաքրել» կոճակը:

Պարզեցման արդյունքների վերլուծություն

Արտահայտությունը մուտքագրելուց հետո համակարգը ցուցադրում է հետևյալ տվյալները.

  1. Ընթերցվում է որպես. Մուտքագրված արտահայտության նորմալացված և ստանդարտացված մեկնաբանությունը:
  2. Նվազագույն արտադրյալների գումար (SOP). Պարզեցված դիզյունկտիվ նորմալ ձևը:
  3. Նվազագույն գումարների արտադրյալ (POS). Պարզեցված կոնյունկտիվ նորմալ ձևը:

«Հակիրճ տեղեկություն» վահանակում ներկայացվում են հետևյալ ախտորոշիչ ցուցանիշները.

  • Փոփոխականներ. Հայտնաբերված փոփոխականների ցանկը:
  • Տողեր, որոնք հավասար են 1-ի. Մինթերմների քանակը կամ ցանկը:
  • Պարզ իմպլիկանտներ. Գտնված բոլոր պարզ իմպլիկանտների ընդհանուր քանակը:
  • Էական պարզ իմպլիկանտներ. Այն պարզ իմպլիկանտների քանակը, որոնք անփոխարինելի են ծածկույթի համար:
  • Լիտերալներ, նախքան → հետո. Լիտերալների քանակի փոփոխությունը պարզեցումից առաջ և հետո:
  • Մեթոդ. Օգտագործված ալգորիթմը, որն է՝ «Quine–McCluskey, ճշգրիտ նվազագույն ծածկույթ»:

Արդյունքը սարքի հիշողության մեջ պատճենելու համար օգտագործվում է «Պատճենել արդյունքը» կոճակը:

Քայլ առ քայլ արտածման գործընթացը

«Ինչպես է այն պարզեցվել» բաժնում մանրամասն նկարագրվում է մաթեմատիկական վերլուծության յուրաքանչյուր փուլը.

  • Փոփոխականների հաշվարկ. Կախված փոփոխականների քանակից՝ համակարգը գեներացնում է համապատասխան հաղորդագրությունը: Օրինակ՝ «Արտահայտությունն օգտագործում է ‹count› փոփոխական (‹variables›), ուստի ճշմարտության աղյուսակն ունի ‹rows› տող» կամ «Արտահայտությունն օգտագործում է մեկ փոփոխական՝ ‹variables›, ուստի ճշմարտության աղյուսակն ունի ‹rows› տող»: Եթե փոփոխականներ չկան, ցուցադրվում է՝ «Արտահայտությունը չի օգտագործում փոփոխականներ, ուստի այն հանգում է մեկ հաստատունի»:
  • Մինթերմներ և մաքսթերմներ. Նշվում են այն տողերը, որտեղ ֆունկցիան ընդունում է 1 կամ 0 արժեքները. «Այն հավասար է 1-ի Σm(‹minterms›) տողերում և 0-ի՝ ΠM(‹maxterms›) տողերում»:
  • Միավորում և պարզ իմպլիկանտներ. «Հարևան 1-տողերի հնարավորինս առավելագույն միավորումը թողնում է ‹count› պարզ իմպլիկանտ՝ ‹list›»:
  • Էական պարզ իմպլիկանտների որոշում. Եթե այդպիսիք կան, նշվում է՝ «Էական պարզ իմպլիկանտներ — առնվազն մեկ տողի համար միակ մնացած ծածկույթը՝ ‹list›»: Հակառակ դեպքում ցուցադրվում է՝ «Ոչ մի պարզ իմպլիկանտ էական չէ. յուրաքանչյուր 1-տող կարող է ծածկվել մեկից ավելի եղանակներով»:
  • Չծածկված տողերի լրացում. Եթե էական իմպլիկանտները բավարար չեն, կիրառվում է լրացուցիչ քայլ՝ «Դեռևս չծածկված տողերը փակվում են հնարավոր նվազագույն լրացուցիչ անդամներով՝ ‹list›»: Եթե ծածկույթն արդեն լիարժեք է՝ «Էական պարզ իմպլիկանտներն արդեն իսկ ծածկում են յուրաքանչյուր 1-տող, ուստի գումարն ամբողջական է»:
  • POS ձևի ստացում. «Նույն միավորումը 0-տողերի վրա կատարելը տալիս է նվազագույն գումարների արտադրյալը՝ ‹pos›»:
  • Վերիֆիկացում. Գործընթացն ավարտվում է ստուգմամբ՝ «Երկու նվազագույն ձևերն էլ համընկնում են սկզբնական արտահայտության հետ ճշմարտության աղյուսակի բոլոր ‹rows› տողերում»:

Ճշմարտության աղյուսակ և վիճակի հաղորդագրություններ

«Ճշմարտության աղյուսակ» բաժնում ներկայացվում է ամբողջական աղյուսակը, որտեղ յուրաքանչյուր տողի համար տրվում են փոփոխականների արժեքները, սկզբնական արտահայտության արդյունքը («Արտահայտություն») և պարզեցված տարբերակի արդյունքը («Նվազագույն SOP»): Սա թույլ է տալիս տեսողականորեն համոզվել, որ երկու ֆունկցիաները նույնական են բոլոր հնարավոր մուտքային համակցությունների դեպքում:

Գործիքի աշխատանքի ընթացքում կարող են հայտնվել հետևյալ հաղորդագրությունները.

  • Եթե դաշտը դատարկ է. «Մուտքագրեք բուլյան արտահայտություն այն պարզեցնելու համար:»:
  • Հաջող պարզեցման դեպքում. «Պարզեցված է և ստուգված բոլոր ‹rows› տողերում»:
  • Եթե արտահայտությունը հանգում է հաստատունի. «Այս արտահայտությունը հաստատուն է. այն միշտ հավասար է ‹value›-ի»:

Հնարավոր սխալներ և սահմանափակումներ

Եթե մուտքագրված տվյալները չեն համապատասխանում կանոններին, համակարգը ցուցադրում է համապատասխան սխալի հաղորդագրությունը.

  • Դատարկ մուտքագրում. «Մուտքագրեք բուլյան արտահայտություն:»:
  • Նիշերի սահմանաչափի խախտում. «Արտահայտությունը պետք է լինի 2,000 նիշից պակաս:»:
  • Անթույլատրելի նիշեր. ««‹char›»-ը (‹position› դիրքում) բուլյան օպերատոր, փոփոխական կամ հաստատուն չէ:»:
  • Սինտաքսային սխալներ. «‹position› դիրքի մոտակայքում օպերատորը չունի օպերանդ. ստուգեք կախված +, · կամ ⊕ նշանները:»:
  • Չփակված փակագծեր. «Փակագծերը հավասարակշռված չեն. ավելացրեք կամ հեռացրեք փակագիծ:»:
  • Փոփոխականների քանակի գերազանցում. «Այս արտահայտությունն օգտագործում է ‹count› տարբեր փոփոխական. պարզեցնողը թույլատրում է մինչև 6 փոփոխական:»:

Եթե արտահայտությունն արդեն իսկ գտնվում է առավելագույն կրճատված տեսքով, համակարգը կտեղեկացնի. «Ձեր արտահայտությունն արդեն իսկ նվազագույն արտադրյալների գումար է:»: Բացառիկ դեպքերում, երբ արտահայտությունը տավտոլոգիա է կամ հակասություն, ցուցադրվում են հետևյալ հաղորդագրությունները.

  • Տավտոլոգիա (միշտ 1). «Այս արտահայտությունը միշտ 1 է. արժեքների յուրաքանչյուր համակցություն այն ճշմարիտ է դարձնում:»:
  • Հակասություն (միշտ 0). «Այս արտահայտությունը միշտ 0 է. արժեքների ոչ մի համակցություն այն ճշմարիտ չի դարձնում:»: