Logička konjunkcija

Izvor: Wikipedia

Logička konjunkcija ili logičko „i“ je jedna od binarnih logičkih operacija čiji je rezultat „tačno“ samo ako su oba operanda tačna, a u svim drugim slučajevima rezultat je „netačno“.

Obilježavanje[uredi - уреди]

Logička konjunkcija kao operacija se obično naziva logičkim „i“, jer predstavlja analogiju sa govornim veznikom „i“. Na primjer, ako se kaže „Učiću matematiku ako budem odmoran i ako budem imao vremena“, to znači da će se učenje obaviti samo ukoliko se ispune oba uslova — ako bilo koji od uslova bude netačan ili oba budu netačna, učenje se neće obaviti.

U matematičkoj logici, logička konjunkcija se označava simbolom \land, pa se konjunkcija elemenata p i q obilježava na slijedeći način:

p \land q

Istinitosna tablica[uredi - уреди]

Logičko „i“ se kao operacija najlakše i najpraktičnije definiše pomoću istinitosne tablice. Naime, u tablici se definiše rezultat operacije za sve kombinacije operanada. Pošto je operacija binarna (ima samo dva operanda), a operandi su logičke vrijednosti (tačno ili netačno), istinitosna tablica je kratka i lako razumljiva:

p q p ∧ q

Iz tablice se lako vidi koji je rezultat operacije za svaku moguću kombinaciju parametara. Na primjer, u trećoj koloni piše „ako je p netačno a q tačno, onda je p \land q netačno.“. U tzv. sabijenom obliku ova istinitosna tablica izgleda na slijedeći način:

Osobine[uredi - уреди]

Operacija konjunkcije ima slijedeće matematičke osobine: 1. Rezultat je isti bez obzira da li konjugujemo a sa b ili b sa a, tj. nije bitan raspored operanada:

\forall p, q, p \land q = q \land p (komutativnost)

2. Ako imamo više elemenata koje konjugujemo, rezultat je isti bez obzira na redoslijed izvršavanja konjugacije. Drugim riječima, nije bitno da li prvo konjugujemo prvi sa drugim, a onda rezultat sa trećim, ili prvo npr. drugi sa trećim, pa rezultat sa prvim:

\forall p, q, r, (p \land q) \land r = p \land (q \land r) (asocijativnost)

3. Ako se jedan element p konjuguje sa nekim složenim elementom koji predstavlja disjunkciju drugih elemenata, tada se element p može prvo konjugovati sa svakim od njih posebno, a onda nad ta dva rezultata izvršiti disjunkciju. Ista situacija važi i ako je složeni operand konjunkcija. Drugim riječima, važe slijedeće formule:

\forall p, q, r, p \land (q \lor r) = (p \land q) \lor (p \land r) (lijeva distributivnost po disjunkciji)
\forall p, q, r, p \land (q \land r) = (p \land q) \land (p \land r) (lijeva distributivnost po konjunkciji)
\forall p, q, r, (q \lor r) \land p = (q \land p) \lor (r \land p) (desna distributivnost po disjunkciji)
\forall p, q, r, (q \land r) \land p = (q \land p) \land (r \land p) (desna distributivnost po konjunkciji)

4. Bilo koji element, kad se konjuguje sa samim sobom, daje vrijednost koju ima i sam:

\forall p, p \land p = p (idempotencija)

5. Na kraju, logička konjugacija je i monotona funkcija u odnosu na relaciju logičke implikacije:

\forall p, q, r, (p \Rightarrow q) \Rightarrow ((p \land r) \Rightarrow (q \land r))

Računarstvo[uredi - уреди]

Programiranje[uredi - уреди]

Konjunkcija se u programiranju koristi kao operator koji učestvuje u formiranju složenih uslova koji moraju biti zadovoljeni da bi se određena radnja obavila (grananje) ili ponavljala (petlja). Na primjer, može se napisati „ako je broj prost I ako je veći od 10, ispiši ga na ekran“. U različitim programskim jezicima se koriste različite oznake za konjugaciju, pa se npr. u programskom jeziku -{C}- koristi oznaka &&, u Paskalu engleska riječ -{AND}- (što na srpskom znači „i“), itd. Slijedi programski kod za spomenuti primjer, pod pretpostavkom da je definisana funkcija prost:

if ( prost(b) && b > 10 ) /* „ako je broj prost I ako je veći od 10“ */
    printf( "%d\n", b );   /* „odštampaj ga na ekran“ */

Pored toga, konjugacija se koristi i u radu sa bitovima koji grade memorijske lokacije; bit sa vrijednošću 1 se posmatra kao logička vrijednost „tačno“ (⊤) a bit sa vrijednošću 0 se posmatra kao logička vrijednost „netačno“ (⊥), a rezultat operacije je broj koji je sačinjen od bitova koji predstavljaju rezultate konjugacije svih odgovarajućih bitova operanada. Tada se u -{C}--u koristi operator &, a iako u standardnom Paskalu ne postoji ovaj operator, razna proširenja ga definišu i označavaju isto kao i obični operator -{AND}-. Tako, ako imamo brojeve p = 45 i q = 56, rezultat njihove binarne konjugacije je slijedeći:


\begin{alignat}{2}
p = 45 = & 0010 1101\\
q = 56 = & 0011 1000 \land \\
& 0010 1000 = 40
\end{alignat}

Baze podataka[uredi - уреди]

U bazama podataka, konjunkcija se često koristi kao operator koji učestvuje u građenju izraza koji određuje podatke na koje se određena naredba odnosi. Tako, ako želimo da obrišemo nevaljane podatke koji su stariji od 7 dana, imaćemo uslov „da su valjani I da su stariji od 7 dana“. S obzirom da većina današnjih baza podataka radi po -{SQL}- standardu, operator konjugacije se uglavnom obilježava engleskom riječju -{AND}-, pri čemu određeni serveri zahtijevaju i da ta riječ bude napisana velikim slovima.

Porijeklo riječi[uredi - уреди]

Riječ „konjunkcija“ je nastala od latinske riječi „-{coniunctio, coniunctionis, f.}-“, što znači „spoj“, „ujedinjenje“ (kao što u srpskom jeziku veznik „i“ sastavlja — „element i element“). Bitno je primijetiti da se u srpskom jeziku slova „n“ i „j“ nisu spojila u „nj“, pa je nepravilno reći i napisati „konjunkcija“.

Vidi još[uredi - уреди]