
ŠKOLA=Booleova algebra + DeMorgan zákon
Zdravím všechny, dostali jsme na střední škole zadání:
Upravte podle zákonů a pravidel Booleovy algebry. Zjednodušte funkce s využitím DeMorgan zákonů.
f=(a+b)(b+c)(c+a)=
jedno zadání je napsané a jedno je v příloze, protože je tam negace a nechtělo se mi to psát do txt. dokumentu ;)
Rád bych se s tím popral sám ale absolutně nevím jak na to... Bylo by možné nějak ukázat postup a řešení ? Učitel, který to chce vypracovat očekává 2 výsledky, neumí vysvětlovat látku v hodině, podle mě to on sám pořádně nechápe je nám to přednášeno přímo z učebnice, která není zrovna moc přehledná.
Alebo si zadas do google (a+b)(b+c)(c+a) a hned prvy odkaz
nevím zda-li je výsledek (a+b+c) jako tyhle kroky mě napadají ale netuším
(a+b)(b+c)(c+a) = a(b+c)(c+a) + b(b+c)(c+a) = ab(c+a) + ac(c+a) + bb(c+a) + bc(c+a) = abc + aba + acc + aca + bbc + bba + bcc + bca = abc + ab + ac + ac + bc + ba + bc + bca = abc + ab + ac + bc
Toto vyslo mne. Google keca.
(neni to a+b+c a to nabeton, ptz to by musel byt vysledok 1 uz ked napr. len a=1, ale to originalny vzorec nesplna.
Este to
abc + ab + ac + bc
sa da podla pravidla "absorpce" zjednodusit, abc + ab je to same co ab (lebo ab∨(ab∧c)=ab, x∨(x∧y)=x), takze
abc + ab + ac + bc = ab + ac + bc
to sa este mozno da nejak zjednodusovat nechce sa mi s tym parat, mas to robit ty, ne ja. Aby si sa to naucil tie pravidla.
BTW. ja osobne by som to s tym ab + ac + bc ukoncil, dalej to uz zjednodusovat podla mna nejde.
Tuto mas asi vsetky pravidla pokope v sekcii "Vlastnosti"
Booleova_algebra
Jak to děláš ? já tomu vůbec nerozumím
Ked mi pravidlo distributivita hovori ze NECO*(A+B) = NECO*A + NECO*B, tak logicky to znamena ze napriklad (a+b)(b+c)(c+a) = (a+b)(b+c)*c + (a+b)(b+c)*a. NECO je v tomto pripade (a+b)(b+c), moze to byt cokolvek. Takto sa to da roznasobit vsetko az na male kusky. Potom sa povyhadzuje to co tam je viackrat, to hovori zas pravidlo
idempotence: x ∨ x = x, x ∧ x = x
tak ked tam mam neco + neco + ab + ba atd, tak ab + ba je to same co ab + ab a podla idempotence je to proste to same co ab.
(Dezo alebo Dezo) je proste Dezo.
rozumím, už to chápu
A to nakreslene zadanie nechapem preco tam pouziva na konci bodky a inde ne, ci to ma byt XOR alebo co to ma znamenat ta bodka. To mas vediet ty, ze jake znacky pouziva nejaky "profesor" zo sociku, normalny ucitel nepise zadania jak imbecil. Ono to neni jednoduche to zjednodusovat, mas si nastudovat to co ste sa ucili, aby si vedel co po tebe chce jakym postupom. Normalne to robia stroje specialnymi postupmi o ktorych ten vas "profesor" mozno ani netusi, nikto sa s tym nesere rucne.
Měl by to být xor, protože jak je třeba ac tak to je nalepené takze to budeme brát jako krát
XOR by muselo byt plus v kruzku. Navyse to by bolo dost nepochopitelne podla mna (a xor b xor c mne osobne nedava zmysel, xor ma 2 vstupy)
Normalne sa bodka pouziva ako AND, a to je to same co bez bodky, t.j. potom by to nakreslene zadanie bolo vlastne (znakom ' znacim negaciu predchadzajuceho prvku):
f = ac + a'bcd' + ab'd + a'b'd + bc'd'
Ale v tom hladat nejake spolocne veci to je uplne sialene. Ja by som si nakreslil karnaugovu mapu a zjednodusil to cez nu
okay, noo kazdopadne on rozdal zadání a řekl vyplňte jo a poznal si to naprosot správně, ten učitel je největší blázen na škole skoro
kukam na to ab'd + a'b'd tie vypadaju podobne tam sa da dat d pred zatvorku
d(ab' + a'b') a aj to negovane b sa da dat pred zatvorku a bude z toho db'(a + a') a kedze a + a' je 1 tak sa to zjednodusi na db'
Takze uz mam zjednodusene na:
f = ac + a'bcd' + db' + bc'd'
a zas mi bije do oci a'bcd' + bc'd' pretoze tam su bd' spolocne, takze to je bd'(a'c + c) a to v zatvorke sa da zjednodusit na c, pretoze c + c*cokolvek je zas len c, takze to cele je bd'c
Takze uz mam zjednodusene na:
f = ac + bd'c + db'
neviem ci to ide dalej este zjednodusovat, mozno hej, ale ja uz na to prdim. Normalne sa to robi cez pravdivostne tabulky a mapy.
Jaj sorry je tam chyba, a'bcd' + bc'd' je bd'(a'c + c')
a to teraz zrovna ma nenapada jak zjednodusit
Skus rozmyslat ty, hladaj si na to tie zakony.
Spravne bolo to prve zjednodusenie (db'(a + a') = db') takze mam
f = ac + a'bcd' + db' + bc'd'
dalej skus ty, kukaj co ste robili v skole, mozno tam vyuziva aj ze x' + y' je to same co (xy)' a plati to aj naopak, to by sa tam dalo vyuzit, skus to (akekolvek dve veci xy ktore su negovane spolu v nasobeni zmen na (x negovane plus y negovane), a kukaj co sa s tym da robit).
Doobře moc díky, daleko lepší od vás, než od komunistického učitele !!!
napr. bc'd' to je principialne b * c' * d' = b * (c+d)' ale ci to niecomu pomoze netusim.
P.S. Este nieco na co davat pozor: v tom nasobeni tych pismen nesmies len tak spajat negacie, na to pozor. Napr. ak mam napisane ab a nad oboma je ciarka, tak to neni to same co ab a nad tym cela ciarka! Na to bacha. ab a nad kazdym ciarka je to same co (a+b) a nad tym celym ciarka. T.j. ked spajam negacie nejakych tych susednych pismen, tak sa meni znamienko. To su prave tie De Morganovy zakony.
A este posledna vec: ked mas to b * (c+d)' t.j. ze je ciara nad celou zatvorkou, tak to sa nesmie roznasobovat na bc+bd, ptz tam bola negacia nad tou celou zatvorkou.
b * (c+d)' sa zjednodusuje prave podla DeMorganovych zakonov na b * c' * d', to je to co bolo v povodnom vzorci (to uz bolo defakto zjednodusene), tak neviem co tam chcu po tebe este zjednodusovat. Pravdepodobne sa da nejak zjednodusit napr. to bd'(a'c + c') jak som to tam zacal (to co som mal chybne), ale teraz ma nenapada jhak zjednodusit to vnutro zatvorky, to (a'c + c'). Asi nijak :) Mozno je kdesi este ina finta.
Moc děkuji ;)
(a'c + c') musi byt to same co (ac)' ptz ked si urobim tabulku
a c vysledok
0 0 1
0 1 1
1 0 1
1 1 0
tak to plati, ale neviem podla ktoreho pravidla to je.
Takze
f = ac + a'bcd' + ab'd + a'b'd + bc'd' = ac + a'bcd' + b'd(a + a') + bc'd' = ac + a'bcd' + b'd + bc'd' = ac + bd'(a'c + c') + b'd = ac + bd'(ac)' + b'd
a teraz uplne stejna vec s tym ac + bd'(ac)' to je jak to (a'c + c') a z toho vyleze potom f = (bd'ac)' + b'd
Neviem ci to neni kravina nechce sa mi to overovat
To by bolo (podla DeMorgan) este to same co: f = b' + d + a' + c' + b'd
a b' + b'd je furt len b' takze
f = b' + d + a' + c'
Ale mozno jhe to uplna kravina netusim, mozem tam mat chyby
Hlavne si teraz lam hlavu ze podla ktoreho pravidla je (a'c + c') to same co (ac)' ja som si to odvodil len z tabulky, neviem podla ktoreho pravidla to je.
Aha, absorpce negace: x ∨ (−x ∧ y) = x ∨ y
t.j. a'c + c' = c' ∨ (c ∧ a') = c' + a'
A podla DeMorgan je c' + a' to same co (ca)'
T.j. to co som pisal vyssie maj aj zdovodnene, to riesenie by malo byt spravne tak jak som ho pisal vyssie.
A mozno to nebolo spravne, uz mi z tych negacii uplne drbe
Este raz od zaciatku:
f = ac + a'bcd' + ab'd + a'b'd + bc'd' = ac + a'bcd' + b'd(a + a') + bc'd' = ac + a'bcd' + b'd + bc'd' = ac + bd'(a'c + c') + b'd = ac + bd'(c' + a') + b'd = ac + bd'(ac)' + b'd = ac + bd' + b'd
Toto je asi spravny vysledok, uz sa mi nad tym nechce uvazovat.
Te posledny krok je tiez absorpce negace: ac + bd'(ac)' je jak keby tam bolo X+(X' * Y) a to je X + Y t.j. ac + bd'
Já bych to řešil tímhle:
Karnaughova_mapa
Ale postup po mně nechtěj, už je to dávno co jsem se tím živil.
Dobrá děkuji ;)
Není to přímo k tématu (zadaný úkol to neumí řešit), ale...: moje mobilní aplikace pro Android Boolean Lab se věnuje logickým obvodům, logickým funkcím, hradlům atd.
Boolean Lab
Myslím, že je tu velký problém, prej je tenhle postup správný, teď nevím čemu věřit, oboje dává i nedává smysl
a moznosti a=0, b=1, c=1 se takticky obloukem vyhnul ....
a*b*c=0
(a+b)(b+c)(c+a)=1*1*1=1
Neni spravny. Hned prvy krok je nezmysel. (a skuska spravnosti cez tabulku tiez ukaze ze to spravne neni. Ved si urob tabulku vsetky kombinacie a,b,c (je ich dokopy 8 kombinacii) a k nim vysledky a porovnaj si sam ze co je spravne.
Vysledok je taky jak som pisal vyssie. Overil som si to aj tabulkou (v hlave ale to staci :)
P.S. tabulka sa robi tak ze si napises pod seba vsetky kombinacie. A ne jak ten tam ze zapisal cely papier a nic nezistil
. Vysledky si tam dopln sam (dosadis tie 0 a 1 za a,b,c do vyrazu a vyratas ci z toho potom vyjde 0 alebo 1):
a b c | vysledok originalu | vysledok upraveneho
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1