Označené slovným spojením „buď ... alebo ...“ Zložený výrok „buď A alebo B“ sa považuje za pravdivý, keď platí buď A alebo B, ale nie obe naraz; inak je zložený výrok nepravdivý.

Tie. výsledok je pravdivý (rovná sa 1), ak A sa nerovná B (A≠B).

Táto operácia sa často prirovnáva k disjunkcii, pretože majú veľmi podobné vlastnosti a obe sú podobné spojeniu „alebo“ v bežnej reči. Porovnajte pravidlá pre tieto operácie:

1. pravda, ak je pravda alebo , alebo oboje naraz.

2. pravda, ak je pravda alebo, ale nie oboje naraz.

Prevádzka vylučuje posledná možnosť("obaja naraz") a z tohto dôvodu sa nazýva exkluzívne "ALEBO". Nejednoznačnosť prirodzený jazyk je, že spojenie „alebo“ možno použiť v oboch prípadoch.

5. Implikácia (logický dôsledok) sa tvorí spojením dvoch výrokov do jedného pomocou slovného spojenia „ak ..., tak ....“.

Vstup: A®B

Zložený výrok vytvorený operáciou implikácie je nepravdivý vtedy a len vtedy, ak z pravdivého predpokladu (prvý výrok) (druhý výrok) vyplýva nepravdivý záver.

Tie. ak 1 znamená 0, potom je výsledok 0, inak je 1.

Napríklad tvrdenie „Ak je číslo deliteľné 10, potom je deliteľné 5“ je pravdivé, pretože prvé aj druhé tvrdenie sú pravdivé.

Výrok „Ak je číslo deliteľné 10, potom je deliteľné 3“ je nepravdivé, pretože z pravdivého predpokladu sa vyvodzuje nesprávny záver.

"Tento štvoruholník je štvorec" (ALE) a "Kruh možno opísať okolo daného štvoruholníka" (AT). Potom zložený príkaz znie ako "Ak je daný štvoruholník štvorec, potom možno okolo neho opísať kruh."

V bežnej reči odkaz "Ak potom" opisuje kauzálny vzťah medzi tvrdeniami. Ale v logických operáciách sa význam výrokov neberie do úvahy. Zohľadňuje sa len ich pravdivosť alebo nepravdivosť. Netreba sa preto hanbiť za „nezmyselnosť“ implikácií, ktoré tvoria obsahovo úplne nesúvisiace výroky. Napríklad takto: "Ak je prezident Spojených štátov demokrat, potom sú v Afrike žirafy", "Ak je melón bobule, potom je na čerpacej stanici benzín."

6. Ekvivalencia (logická rovnosť, ~ º Û) vzniká spojením dvoch výrokov do jedného pomocou slovného spojenia "...ak a len vtedy..."

Zložený výrok vytvorený operáciou ekvivalencie je pravdivý vtedy a len vtedy, ak sú oba výroky súčasne buď nepravdivé alebo pravdivé.

Napríklad výroky „Počítač môže vykonávať výpočty vtedy a len vtedy, ak je zapnutý“ a „Počítač nemôže vykonávať výpočty vtedy a len vtedy, ak nie je zapnutý“ sú pravdivé, pretože oba jednoduché výroky sú súčasne pravdivé.


pravdivostné tabuľky

Pre každý zložený výrok (logickú funkciu) je možné zostaviť pravdivostnú tabuľku, ktorá určuje jeho pravdivosť alebo nepravdivosť pre všetky možné kombinácie počiatočných hodnôt jednoduchých výrokov.

pravdivostná tabuľka toto je tabuľkový pohľad logický obvod (operácia), ktorý uvádza všetky možné kombinácie pravdivostných hodnôt vstupných signálov (operandov) spolu s pravdivostnou hodnotou výstupného signálu (výsledok operácie) pre každú z týchto kombinácií.

Odrážajúc vyššie uvedené logické operácie v tabuľke pravdy:

V algebre výrokov možno všetky logické funkcie redukovať logickými transformáciami na tri základné: logické sčítanie, logické násobenie a logickú negáciu.

Dokážme, že implikácia operácie A®B je ekvivalentná logickému výrazu:

Často, aby demonštrovali obmedzené schopnosti jednovrstvových perceptrónov pri riešení problémov, uchyľujú sa k uvažovaniu o probléme tzv. XOR - Exkluzívne OR.

Podstata problému je nasledovná. Je daná logická funkcia XOR - exkluzívne OR. Ide o funkciu dvoch argumentov, z ktorých každý môže byť nula alebo jedna. Nadobudne hodnotu, keď sa jeden z argumentov rovná jednému, ale nie obom, inak. Problém možno ilustrovať na jednovrstvovom jednoneurónovom dvojvstupovom systéme znázornenom na obrázku nižšie.

Označte jeden vstup a druhý , potom budú všetky ich možné kombinácie pozostávať zo štyroch bodov na rovine. Nižšie uvedená tabuľka ukazuje požadovaný vzťah medzi vstupmi a výstupom, pričom kombinácie vstupov, ktoré by mali produkovať nulový výstup, sú označené a , jeden výstup je označený a .

bodov Význam Význam Požadovaný výstup
0 0 0
1 0 1
0 1 1
1 1 0

Jeden neurón s dvomi vstupmi môže tvoriť rozhodovaciu plochu vo forme ľubovoľnej priamky. Aby sieť implementovala funkciu XOR uvedenú v tabuľke vyššie, musíte čiaru umiestniť tak, aby body boli na jednej strane čiary a body na druhej strane. Pri pokuse nakresliť takú priamku na obrázku nižšie sme presvedčení, že to nie je možné. To znamená, že bez ohľadu na to, aké hodnoty sú priradené k váham a prahu, jednovrstvová neurónová sieť nie je schopná reprodukovať vstupno-výstupný vzťah potrebný na reprezentáciu funkcie XOR.

Funkciu XOR však ľahko tvorí dvojvrstvová sieť, a to mnohými spôsobmi. Uvažujme o jednom z týchto spôsobov. Zmodernizujme sieť na obrázku pridaním ďalšej skrytej vrstvy neurónov:

Poznač si to túto sieť daný ako je, t.j. dá sa predpokladať, že je už vycvičená. Čísla nad šípkami zobrazujú hodnoty synaptických váh. Ako aktivačnú funkciu používame funkciu skoku jednotky s prahom , ktorá má nasledujúci graf:

Potom výsledok fungovania takejto neurónovej siete môže byť reprezentovaný ako nasledujúca tabuľka:

bodov Význam Význam Požadovaný výstup
0 0 0 0 0 0
1 0 1 1 0 1
0 1 1 0 1 1
1 1 0 0 0 0

Každý z dvoch neurónov prvej vrstvy tvorí rozhodovaciu plochu vo forme ľubovoľnej priamky (rozdeľuje rovinu na dve polroviny) a neurón výstupnej vrstvy spája tieto dve riešenia a vytvára rozhodovaciu plochu v forma pásu tvoreného rovnobežnými priamymi líniami neurónov prvej vrstvy:

Neurónová sieť použitá v tomto článku na vyriešenie problému XOR je primitívna a nevyužíva všetky funkcie viacvrstvových sietí. Jednoznačne viacvrstvové neurálne siete majú väčšiu reprezentatívnu silu ako jednovrstvové, len v prípade prítomnosti nelinearity. A v tejto sieti prah lineárna funkcia aktivácia. Takúto sieť nemožno trénovať napríklad použitím algoritmu spätného šírenia.

V tomto článku si povieme niečo o bitových operáciách. Zvážte tie hlavné: XOR (exkluzívne OR), AND (AND), NOT (NOT) a OR (OR).

Ako viete, minimálna jednotka merania informácií je trocha, ktorý ukladá jednu z 2 hodnôt: 0 ( Nepravdivé, nepravda) alebo 1 ( Pravda, pravda). Bitová bunka teda môže byť súčasne iba v jednom z dvoch možných stavov.

Na manipuláciu s bitmi sa používajú určité operácie - logické alebo boolovské. Môžu byť aplikované na akýkoľvek bit, bez ohľadu na to, či je jeho hodnota nula alebo jedna. Nuž, pozrime sa na príklady použitia troch základných logických operácií.

Logická operácia AND (a)

A označené & .

Operátor AND sa vykonáva s 2 bitmi, zoberme si napríklad a a b. Výsledok popravy A operácie je 1, ak a a b sú obidve 1. V opačnom prípade je výsledok 0. Napríklad pomocou AND môžete zistiť, či je číslo párne alebo nie.

Pozrite sa na pravdivostnú tabuľku operácie AND:

Logická operácia ALEBO (ALEBO)

Označuje sa znakom | .

Operátor ALEBO tiež vykonávané s 2 bitmi (a a b). Výsledok je 0, ak a a b sú obe 0, inak je 1. Pozrite sa na pravdivostnú tabuľku.

Logická operácia XOR (exkluzívne OR)

Operátor XOR je označený ^.

XOR vykonávané s 2 bitmi (a a b). Výsledok operácie XOR ( XOR) je 1, keď jeden z bitov b alebo a je 1. V opačnom prípade je výsledok použitia operátora XOR 0.

Pravdivostná tabuľka logickej operácie pre XOR (exkluzívny OR) vyzerá takto:

Pomocou XOR (exkluzívne OR) môžete zameniť hodnoty 2 premenných rovnakého typu údajov bez použitia dočasnej premennej. A napriek tomu pomocou XOR môžete zašifrovať text, napríklad:

String msg = "Toto je správa"; char message = msg.toCharArray(); Kľúč reťazca = ".*)"; String encryptedString = new String(); for(int i = 0; i< message.length; i++){ encryptedString += message[i]^key.toCharArray(); }

Súhlasím, XOR nie je ani zďaleka najlepší spoľahlivá metódašifrovanie, ale to neznamená, že nemôže byť súčasťou žiadneho šifrovacieho algoritmu.

Logická operácia NIE (NIE)

Toto je bitová negácia, takže sa vykonáva s jedným bitom a označuje sa ~ .

Výsledok závisí od stavu bitu. Ak je v nulovom stave, tak výsledok operácie je jedna a naopak. Všetko je mimoriadne jednoduché.

Tieto 4 logické operácie by ste si mali zapamätať predovšetkým, pretože s ich pomocou môžete získať takmer akýkoľvek možný výsledok. Existujú aj prevádzky ako napr<< (побитовый сдвиг влево) и >> (bitový posun doprava).

Elektrický obvod určený na vykonávanie akejkoľvek logickej operácie so vstupnými údajmi sa nazýva logický prvok. Vstupné dáta sú tu reprezentované vo forme napätí rôznych úrovní a výsledok logickej operácie na výstupe je tiež získaný vo forme napätia určitej úrovne.

Operandy sú v tomto prípade privádzané - signály sú prijímané na vstupe logického prvku vo forme vysokého alebo nízkeho napätia, ktoré v podstate slúžia ako vstupné dáta. Takže napätie na vysokej úrovni - logické - označuje skutočnú hodnotu operandu a napätie na nízkej úrovni 0 - falošnú hodnotu. 1 – PRAVDA, 0 – NEPRAVDA.

Logický prvok- prvok, ktorý realizuje určité logické vzťahy medzi vstupnými a výstupnými signálmi. Logické brány sa bežne používajú na vytváranie logických obvodov počítačov, diskrétne obvody automatického riadenia a riadenia. Pre všetky typy logických prvkov, bez ohľadu na ich fyzickú povahu, sú charakteristické diskrétne hodnoty vstupných a výstupných signálov.

Logické prvky majú jeden alebo viac vstupov a jeden alebo dva (zvyčajne navzájom inverzné) výstupy. Hodnoty „núl“ a „jednotiek“ výstupných signálov logických prvkov sú určené logickou funkciou, ktorú prvok vykonáva, a hodnotami „núl“ a „jednotiek“ vstupných signálov, ktoré hrajú úlohu nezávislých premenných. Existujú elementárne logické funkcie, z ktorých možno poskladať akúkoľvek komplexnú logickú funkciu.

V závislosti od zariadenia obvodu prvku, na jeho elektrické parametre, logické úrovne (úrovne vysokého a nízkeho napätia) vstupu a výstupu majú rovnaké hodnoty pre vysoký a nízky (pravdivý a nepravdivý) stav.

Tradične sa logické prvky vyrábajú vo forme špeciálnych rádiových komponentov – integrovaných obvodov. Logické operácie ako konjunkcia, disjunkcia, negácia a modulo sčítanie (AND, OR, NOT, exkluzívne OR) sú hlavné operácie vykonávané na logických prvkoch základných typov. Pozrime sa bližšie na každý z týchto typov logických prvkov.

Logický prvok "AND" - spojka, logické násobenie, AND


"AND" - logický prvok, ktorý vykonáva operáciu spojenia alebo logického násobenia na vstupných údajoch. Tento prvok môže mať od 2 do 8 (najbežnejšie vo výrobe sú prvky „AND“ s 2, 3, 4 a 8 vstupmi) vstupov a jeden výstup.

Symboly logických prvkov "AND" s rôznym počtom vstupov sú znázornené na obrázku. V texte je logický prvok "AND" s jedným alebo druhým počtom vstupov označený ako "2I", "4I" atď. - prvok "AND" s dvoma vstupmi, so štyrmi vstupmi atď.


Pravdivostná tabuľka pre prvok 2I ukazuje, že výstup prvku bude logickou jednotkou iba vtedy, ak sú logické jednotky súčasne na prvom vstupe A na druhom vstupe. V ďalších troch možné prípady výstup bude nulový.

V západných schémach má ikona prvku "A" na vstupe priamku a na výstupe zaoblenie. Na domácich schémach - obdĺžnik so symbolom "&".

Logický prvok "OR" - disjunkcia, logické sčítanie, OR


"ALEBO" - logický prvok, ktorý vykonáva operáciu disjunkcie alebo logického sčítania vstupných údajov. Rovnako ako prvok „AND“ je dostupný s dvomi, tromi, štyrmi atď. vstupmi a jedným výstupom. Symboly logických prvkov „ALEBO“ s rôznym počtom vstupov sú znázornené na obrázku. Tieto prvky sú označené nasledovne: 2OR, 3OR, 4OR atď.


Pravdivostná tabuľka pre prvok „2OR“ ukazuje, že na to, aby sa na výstupe objavila logická jednotka, stačí, aby bola logická jednotka na prvom vstupe ALEBO na druhom vstupe. Ak sú logické jednotky naraz na dvoch vstupoch, výstup bude tiež jeden.

V západných schémach má ikona prvku „ALEBO“ zaoblený vstup a zaoblený špicatý výstup. Na domácich schémach - obdĺžnik so symbolom "1".

Logický prvok "NOT" - negácia, invertor, NIE

"NOT" - logický prvok, ktorý vykonáva operáciu logickej negácie na vstupných údajoch. Tento prvok, ktorý má jeden výstup a len jeden vstup, sa nazýva aj invertor, keďže vlastne invertuje (invertuje) vstupný signál. Obrázok ukazuje symbol logický prvok „NIE“.

Pravdivá tabuľka pre menič ukazuje, že vysoký vstupný potenciál dáva nízky výstupný potenciál a naopak.

V západných schémach má ikona prvku „NIE“ tvar trojuholníka s kruhom na výstupe. Na domácich schémach - obdĺžnik so symbolom "1", s kruhom na výstupe.

Logický prvok "AND-NOT" - konjunkcia (logické násobenie) s negáciou, NAND

"AND-NOT" - logický prvok, ktorý vykoná operáciu logického sčítania na vstupných údajoch a potom operáciu logickej negácie, výsledkom je výstup. Inými slovami, v podstate ide o prvok „AND“, ktorý dopĺňa prvok „NOT“. Na obrázku je znázornený symbol logického prvku „2I-NOT“.


Pravdivostná tabuľka pre prvok „NAND“ je opakom tabuľky pre prvok „AND“. Namiesto troch núl a jednotky - tri jednotky a nula. Prvok „NAND“ sa tiež nazýva „prvok Schaeffer“ na počesť matematika Henryho Mauricea Schaeffera, ktorý prvýkrát zaznamenal význam tohto prvku v roku 1913. Označené ako "I", len s kruhom na výstupe.

Logický prvok "OR-NOT" - disjunkcia (logické sčítanie) s negáciou, NOR

"ALEBO-NIE" - logický prvok, ktorý vykoná operáciu logického sčítania na vstupných údajoch a potom operáciu logickej negácie, výsledok je výstup. Inými slovami, ide o prvok „OR“ doplnený o prvok „NOT“ – invertor. Na obrázku je znázornený symbol logického prvku „2OR-NOT“.


Pravdivostná tabuľka pre prvok "OR-NOT" je opačná ako tabuľka pre prvok "OR". Vysoký potenciál na výstupe sa získa iba v jednom prípade - oba vstupy sú napájané súčasne s nízkymi potenciálmi. Označuje sa ako "ALEBO", len s krúžkom na výstupe označujúcim inverziu.

Logický prvok "exclusive OR" - sčítanie modulo 2, XOR

"XOR" - logický prvok, ktorý vykonáva operáciu logického sčítania modulo 2 na vstupných dátach, má dva vstupy a jeden výstup. Tieto prvky sa často používajú v riadiacich schémach. Na obrázku je znázornený symbol tohto prvku.

Obrázok v západných schémach je ako obrázok "OR" s dodatočným zakriveným pásikom na vstupnej strane, v domácej - ako "OR", len namiesto "1" bude napísané "=1".


Tento logický prvok sa nazýva aj „neekvivalencia“. Vysoký stupeň napätie bude na výstupe len vtedy, keď signály na vstupe nebudú rovnaké (na jednej jednotke, na druhej nula alebo na jednej nule a na druhej), aj keď sú na vstupe dve jednotky súčasne, výstup bude nula - to je rozdiel od "ALEBO". Tieto logické prvky sú široko používané v sčítačkách.

Operácia exkluzívneho OR (zjednoznačnenie, sčítanie modulo dva) je označená symbolom a líši sa od logického OR iba vtedy, keď A=1 a B=1.

Neekvivalencia dvoch tvrdení X1 a X2 sa teda nazýva také tvrdenie Y, ktoré je pravdivé vtedy a len vtedy, ak je jedno z týchto tvrdení pravdivé a druhé nepravdivé.

Definíciu tejto operácie možno zapísať ako pravdivostnú tabuľku (tabuľka 6):

Tabuľka 6 - Pravdivostná tabuľka operácie EXCLUSIVE OR

Ako je zrejmé z tabuľky 6, logika prvku zodpovedá jeho názvu.

Ide o rovnaký prvok „ALEBO“ s jedným malým rozdielom. Ak sa hodnota na oboch vstupoch rovná logickej jednotke, potom výstup prvku „EXCLUSIVE OR“ na rozdiel od prvku „OR“ nie je jedna, ale nula.

Operácia EXCLUSIVE OR v skutočnosti porovnáva dve binárne číslice pre zhodu.

Každé logické spojenie sa považuje za operáciu s logickými príkazmi a má svoj vlastný názov a označenie (tabuľka 7).

Tabuľka 7 - Základné logické operácie

Označenie

operácií

čítať

Názov operácie

Alternatívne označenia

Negácia (inverzia)

pomlčka zhora

Konjunkcia (logické násobenie)

Disjunkcia (logické sčítanie)

Ak potom

implikácia

Vtedy a len vtedy

Ekvivalencia

Alebo buď

EXKLUZÍVNE ALEBO (pridanie modulu 2)

  1. Poradie vykonávania logických operácií v zložitom logickom vyjadrení

Systém logických operácií inverzia, konjunkcia, disjunkcia umožňuje zostaviť ľubovoľne zložitý logický výraz.

Pri výpočte hodnoty logického výrazu sa prijíma určité poradie vykonávania logických operácií.

1. Inverzia.

2. Konjunkcia.

3. Disjunkcia.

4. Implikácia.

5. Ekvivalencia.

Zátvorky sa používajú na zmenu určeného poradia operácií.

  1. Booleovské výrazy a pravdivostné tabuľky

    1. Booleovské výrazy

Každý zložený výrok môže byť vyjadrený ako vzorec (logický výraz), ktorý zahŕňa boolovské premenné, označujúce výroky a znaky logických operácií, označujúce logické funkcie.

Na napísanie zloženého výroku vo forme logického výrazu vo formálnom jazyku (jazyk algebry logiky) v zloženom výroku je potrebné vyčleniť jednoduché výroky a logické súvislosti medzi nimi.

Napíšme vo forme logického výrazu zložený výrok „(2 2=5 alebo 2∙2=4) a (2∙2≠5 alebo 2∙ 2 štyri)“.

Poďme analyzovať zložený výrok. Obsahuje dve jednoduché vyhlásenia:

A \u003d "2 2 \u003d 5" - nepravda (0),

B \u003d "2 2 \u003d 4" - pravda (1).

Potom môže byť zložený príkaz napísaný v nasledujúcom tvare:

«( ALEaleboAT) a (Ā aleboAT)».

Teraz je potrebné napísať príkaz vo forme logického výrazu, berúc do úvahy postupnosť vykonávania logických operácií. Pri vykonávaní logických operácií je definované nasledujúce poradie ich vykonávania:

inverzia, konjunkcia, disjunkcia.

Zátvorky je možné použiť na zmenu zadaného poradia:

F = (AvAT) & (Ā vAT).

Pravdivosť alebo nepravdivosť zložených výrokov možno určiť čisto formálne, riadiac sa zákonmi algebry výrokov, bez odkazu na sémantický obsah výrokov.

Hodnoty logických premenných dosadíme do logického výrazu a pomocou pravdivostných tabuliek základných logických operácií získame hodnotu logickej funkcie:

F= (A v B) & ( Ā vB) = (0 v 1) & (1 v 0) = 1 & 1 = 1.

      pravdivostné tabuľky

Tabuľky, v ktorých logické operácie odrážajú výsledky výpočtov zložitých výrokov pre rôzne hodnoty pôvodných jednoduchých výrokov, sa nazývajú pravdivostné tabuľky.

Jednoduché príkazy sa označujú premennými (napríklad A a B).

Pri zostavovaní pravdivostných tabuliek je vhodné riadiť sa určitou postupnosťou akcií:

    je potrebné určiť počet riadkov v pravdivostnej tabuľke. Rovná sa počtu možných kombinácií hodnôt boolovských premenných zahrnutých v boolovskom výraze. Ak je počet booleovských premenných P, potom:

počet riadkov = 2 n .

V našom prípade logická funkcia

má 2 premenné a preto počet riadkov v pravdivostnej tabuľke musí byť 4;

    je potrebné určiť počet stĺpcov v pravdivostnej tabuľke, ktorý sa rovná počtu logických premenných plus počtu logických operácií.

V našom prípade je počet premenných dve: A a B a počet logických operácií je päť (tabuľka 8), to znamená, že počet stĺpcov v pravdivostnej tabuľke je sedem;

    je potrebné zostaviť pravdivostnú tabuľku so zadaným počtom riadkov a stĺpcov, označiť stĺpce a zadať do tabuľky možné sady hodnôt počiatočných logických premenných;

    je potrebné vyplniť pravdivostnú tabuľku po stĺpcoch a vykonať základné logické operácie v požadovanom poradí av súlade s ich pravdivostnými tabuľkami.

Teraz môžeme definovať hodnotu booleovskej funkcie pre akúkoľvek množinu hodnôt booleovských premenných.

Tabuľka 8 - Pravdivostná tabuľka logickej funkcie