Բուլյան հանրահաշվի պարզեցումը թվային տրամաբանության և սխեմատեխնիկայի նախագծման հիմնարար խնդիրներից է: Բարդ արտահայտությունների կրճատումը նվազագույն տեսքի թույլ է տալիս կառուցել ավելի պարզ, արագագործ և քիչ էներգիա սպառող տրամաբանական սխեմաներ: «Բուլյան հանրահաշվի պարզեցուցիչ» առցանց գործիքը նախատեսված է ցանկացած բուլյան արտահայտություն ավտոմատ կերպով նվազագույն մաթեմատիկական ձևերի բերելու համար՝ միաժամանակ ներկայացնելով հաշվարկների ամբողջական ընթացքը:
Այս գործիքի միջոցով հնարավոր է ստանալ ինչպես նվազագույն արտադրյալների գումարը (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»: Մուտքագրված տեքստը մաքրելու համար նախատեսված է «Մաքրել» կոճակը:
Պարզեցման արդյունքների վերլուծություն
Արտահայտությունը մուտքագրելուց հետո համակարգը ցուցադրում է հետևյալ տվյալները.
- Ընթերցվում է որպես. Մուտքագրված արտահայտության նորմալացված և ստանդարտացված մեկնաբանությունը:
- Նվազագույն արտադրյալների գումար (SOP). Պարզեցված դիզյունկտիվ նորմալ ձևը:
- Նվազագույն գումարների արտադրյալ (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 է. արժեքների ոչ մի համակցություն այն ճշմարիտ չի դարձնում:»: