Logička konjunkcija
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“.
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 , pa se konjunkcija elemenata i obilježava na slijedeći način:
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 netačno a tačno, onda je netačno.“. U tzv. sabijenom obliku ova istinitosna tablica izgleda na slijedeći način:
∧ | ⊤ | ⊥ |
⊤ | ⊤ | ⊥ |
⊥ | ⊥ | ⊥ |
Operacija konjunkcije ima slijedeće matematičke osobine: 1. Rezultat je isti bez obzira da li konjugujemo sa ili sa , tj. nije bitan raspored operanada:
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:
3. Ako se jedan element konjuguje sa nekim složenim elementom koji predstavlja disjunkciju drugih elemenata, tada se element 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:
- (lijeva distributivnost po disjunkciji)
- (lijeva distributivnost po konjunkciji)
- (desna distributivnost po disjunkciji)
- (desna distributivnost po konjunkciji)
4. Bilo koji element, kad se konjuguje sa samim sobom, daje vrijednost koju ima i sam:
5. Na kraju, logička konjugacija je i monotona funkcija u odnosu na relaciju logičke implikacije:
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:
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.
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“.