Minimalizace logických funkcí Karnaugh a Booleova algebra
Moderátor: Moderátoři
Minimalizace logických funkcí Karnaugh a Booleova algebra
Procvičoval jsem s vnukem minimalizace logických funkcí, a našel jsem mu srozumitelný výklad podle tohoto videa:
https://www.youtube.com/watch?v=4MzqNlv0X2M
Ve videu máme zadanou funkci 4 proměnných (negaci značím jako apostrof a'):
y=ab'+ab'cd'+ac'd
Funkční logická tabulka 4 proměnných je na obrázku.
Následně se na videu vytvoří tabulka k zadané funkci s 16 řádky. K tabulce se sestaví Karnaughova mapa a obvyklým způsobem se najde minimální funkce ve tvaru
y=ab'+ad
Podle mne byl postup na videu správný.
Pro kontrolu jsem zadal vnukovi vytvořit minimální funkci pomocí Booleovské algebry a vyšla mu funkce trochu odlišná od minimální funkce dle Karnaugha ve tvaru
y=ab'+ac'd
Podle mne byl výpočet vnuka také správný. Pro jistotu jsme dali udělat Booelovskou minimalizace ještě "Umělé inteligenci"a výsledek byl shodný s našim řešením.
Abychom zjistili, který výsledek je správný, vytvořili jsme nové tabulky pro obě zkrácené funkce a porovnali s původní tabulkou.
Zjistili jsme, že naše zkrácená funkce y=ab'+ac'd má zcela shodnou tabulku s tou původní nezkrácenou funkci y=ab'+ab'cd'+ac'd.
Naopak a bohužel podle zkrácené funkce dle Karnaugha y=ab'+ad se tabulka liší v poslední řádku. Správně je tam nula, ale podle Karnaugha tam vychází jednička.
Dokáže mi někdo vysvětlit, proč se výsledky podle Karnaugha a Booleovskou algebrou liší. Oba postupy se zdají správné. Nebo kde se dělá v minimalizaci podle Karnaugha chyba, že výsledek je špatný?
- tomasjedno
- Příspěvky: 6547
- Registrován: 11 říj 2008, 00:00
- Bydliště: ZZ9 Plural Z Alpha
Tu zásadní chybu udělala v tom, že ta vodorovná skupina dvou jedniček se přepíše ac’d (pro celou skupinu platí a=1, c=0, d=1).
P.S. Zadávat boolovskou minimalizaci umělému inteligentovi mi přijde jako akt čirého zoufalství, y= ab’+ ab’cd’ + ac’d = ab’(1+cd’) + ac’d = ab’ + ac’d.
Nevím zda to je kritika vnuka a mne. Přece píšu, že vnuk to nejdříve spočítal a já jsem ho zkontroloval. Samozřejmě, že jsme to udělali stejně jak nám ukazuješ.tomasjedno píše:.....P.S. Zadávat boolovskou minimalizaci umělému inteligentovi mi přijde jako akt čirého zoufalství, y= ab’+ ab’cd’ + ac’d = ab’(1+cd’) + ac’d = ab’ + ac’d.
Ten "akt zoufalství" jsme zkusili jen proto abychom se ujistili, že na tom videu je to špatně,
Stejně mě překvapilo, že AI umí to zkrácení spočítat. Na obrázku je odpověď AI na náš dotaz. Nedávno jsem, jen tak ze zvědavosti, dal AI spočítat jinou funkci. Její řešení bylo evidentně špatné, tak jsem AI na to upozornil. Vzápětí přišla omluva a správné řešení.
Jinak dík za ukázku toho, jak Karnaughovu mapu správně aplikovat. Já jsem té holčině zpočátku také věřil. První tři čtvrtiny videa jsou opravdu naivní, ale správné, a konec vypadá důvěryhodně, ale je špatný.
Není možno věřit všemu co je na internetu a všemu, co řekne AI. Důvěřuj, ale prověřuj.
- PCmaniac99
- Příspěvky: 884
- Registrován: 07 úno 2008, 00:00
- Bydliště: Jablonec nad Nisou
Mám funkci (opět apostrof značí negaci):
f = a'b'cd+abcd'+a'bcd'+ab'cd+a'bcd+abc'd+a'bc'd+abcd
Podle tohoto odkazu
https://www.ontola.com/cs/ondi/iookbo/m ... jte-funkce
je výsledek dle Karnaughovy mapy
f = cd+cb+db
Nakreslili jsme si s vnukem Karnaughovu mapu 4x4 a dospěli jsme ke stejnému výsledku.
Pak jsme si dali za úkol vypočítat stejnou minimalizaci funkce pomoci Booleovské algebry.
Ke shodnému výsledku se bohužel nemůžeme dopracovat.
Vychází nám
f = bcd'+bc'd+cd neboli f = b(cd'+c'd)+cd
Můžete, vy mladší znalci, pomoct osmdesátiletému dědkovi a mladému studentovi s řešením minimalizace tou Booleovskou algebrou? Případně zkontrolovat výsledek Karnaughovy mapy?
Myslíme si, že oba postupy musí vést ke stejnému výsledku, ale možná se pleteme. Ale nějak cítíme, že v postupu Booleovskou algebrou děláme někde chybný krok v aplikaci vzorců, ale nevíme kde.
Předem dík.
- tomasjedno
- Příspěvky: 6547
- Registrován: 11 říj 2008, 00:00
- Bydliště: ZZ9 Plural Z Alpha
- tomasjedno
- Příspěvky: 6547
- Registrován: 11 říj 2008, 00:00
- Bydliště: ZZ9 Plural Z Alpha
Ten tučně vyznačený fígl je hodný obdivu (chce se i napsat "genia").tomasjedno píše:......Boolovskou algebrou se to dá z jednoho výsledku na ten druhý převést třeba takhle....
(1+B+B)CD + B(CD’+C’D)
Výraz CD vlastně násobím jedničkou "(1+B+B)", takže se nic nezmění, ale to umožní po roznásobení další snadné úpravy. Pro odlišení od tebe pokračuji malými písmeny:
cd + bcd+bcd+bcd'+bc'd=
Pak se vytkne bc a bd:
cd+bc(d+d')+bd(c+c')
A výsledek je očekávaný minimalizovaný výraz shodný s výsledkem podle Karnaugha:
f=cd+bc+bd
Myslím, že v písemce by šlo uznat i předchozí tvar bez fíglu (1+b+b):
f =cd+ b(cd'+c'd)
Vřelý dík. Na to bych nepřišel ani po 5 slivovicích. Pro tento fígl nestačí znát Booelovské vzorce, ten nápad musí vzniknout v hlavě. Jen přemýšlím, zda by tato konstrukce napadla, kdyby nebyl k dispozici tvar dle Karnaugha.
- tomasjedno
- Příspěvky: 6547
- Registrován: 11 říj 2008, 00:00
- Bydliště: ZZ9 Plural Z Alpha
P.S. Bez toho výsledku z Karnaughovy mapy by to asi napadlo jen hodně hloubavého ducha.