Sunteți pe pagina 1din 151

UNIVERSITATEA DIN BACĂU FACULTATEA DE INGINERIE

DAN ROTAR

INTELIGENŢĂ ARTIFICIALĂ

Note de curs Caiet de seminar Indrumar de laborator

EDITURA ALMA MATER BACĂU

2007

CUPRINS

Pag.

 

Capitolul 1 DOMENIILE INTELIGENŢEI ARTIFICIALE

5

Capitolul 2 BAZELE INTELIGENŢEI ARTIFICIALE

7

2.1.

Logica clasică a propoziţiilor

7

2.1.1.

Simboluri, formule

7

2.1.2.

Evaluare, funcţie de adevăr

9

2.1.3.

Tautologie, validitate, consistenţă

10

2.1.4.

Metoda lui Quine

13

2.1.5.

Metoda reducerii

14

2.1.6.

Echivalenţe

16

2.1.7.

Reguli de manipulare şi substituţie

16

2.1.8.

Dualitate

17

2.1.9.

Conectori adecvaţi

18

2.1.10.

Consecinţe logice

19

2.1.11.

Forme normale

19

2.2.

Sistemul deductiv al calculului propoziţiilor

20

2.2.1.

Demonstraţie şi deducţie

20

2.3.

Limbajul calculului cu predicate de ordinul întâi

22

Capitolul 3 SISTEME EXPERT

24

3.1.

Sisteme expert – generalităţi

24

3.2.

Structura generală a unui sistem expert

25

3.3.

Funcţionarea unui sistem expert

25

Capitolul 4 REALIZAREA UNUI PROGRAM ÎN MEDIUL DE PROGRAMARE CLIPS

28

4.1.

Introducere

28

4.2.

Execuţia unui program în mediul de programare CLIPS

28

4.3.

Structura programului CLIPS

32

4.3.1.

Constructorii

32

4.3.2.

Faptele

32

4.3.3.

Constructorul deftemplate

33

4.3.4.

Constructorul deffacts

34

4.3.5.

Fapte ordonate

35

4.3.6.

Adăugarea şi ştergerea faptelor

36

4.3.7.

Modificarea şi duplicarea faptelor

39

4.3.8.

Comanda watch

40

4.3.9.

Definirea regulilor

41

3

4.3.10.

Afişarea agendei

43

4.3.11.

Urmărirea activărilor, regulilor şi a statisticilor

44

4.3.12.

Afişarea listei membrilor unei construcţii specificate

45

4.3.13.

Afişarea textului membrilor unei construcţii specificate

45

4.3.14.

Ştergerea membrilor unei construcţii specificate

46

4.3.15.

Ştergerea tuturor construcţiilor din mediul CLIPS

47

4.3.16.

Comanda printout

48

4.3.17.

Tipuri de date

48

4.3.18.

Funcţiile

50

4.3.19.

Constructorii

51

4.3.20.

Faptele

51

Capitolul 5 REŢELE NEURALE

53

5.1.

Modelul general al unei reţele neuronale

53

5.2.

Ecuaţia de evoluţie a reţelei

55

5.3.

Paradigme ale instruirii

56

5.4.

Topologia multistrat a reţelelor neurale

57

Capitolul 6 MULŢIMI NUANŢATE

58

6.1.

Noţiunea de mulţime nuanţată

58

6.2.

Sisteme expert bazate pe mulţimi nuanţate

60

Capitolul 7 ALGORITMI GENETICI

62

7.1.

Generalităţi

62

7.2.

Algoritmul genetic canonic

62

SEMINAR

66

Seminar 1

66

Seminar 2

68

Seminar 3

70

Seminar 4

71

Seminar 5

72

Seminar 6

72

Seminar 7

74

Laborator Laborator 1,2,3

77

Laborator 4,5,6

90

Laborator 7,8,9

123

Laborator 10,11,12,13,14

134

BIBLIOGRAFIE

151

4

CAPITOLUL 1 DOMENIILE INTELIGENŢEI ARTIFICIALE

Inteligenţa artificială este o ramură a ştinţei calculatoarelor care se ocupă cu studiul posibilităţii calculatoarelor de a avea o comportare asemănătoare cu cea omenească. Termenul a fost introdus în 1956 de către John McCarthy de la Massachusetts Institute of Technology. Inteligenţa artificială cuprinde:

Jocuri: programarea calculatoarelor să joace jocuri cum ar fi şahul sau jocul de dame;

Sisteme expert: programarea calculatoarelor să ia decizii în situaţii reale (din viaţa reală) – de exemplu anumite sisteme expert ajută doctorii să stabilească diagnosticul bolii pe baza simptomelor.

Limbaje naturale: programarea calculatoarelor să înţeleagă limbajul uman natural.

Reţele

încercarea

neurale:

sisteme

care

simulează

inteligenţa

prin

reproducerii tipurilor de conexiuni fizice întâlnite în creierul animalelor.

Sisteme fuzzy: numite şi sisteme cu mulţimi vagi bazate pe o logică în care între cele două valori de adevăr: adevărat şi fals există o infinitate de valori ce pot modela mai bine lumea reală;

Algoritmi genetici: algoritmi bazaţi pe modul de dezvoltare evoluţionist copiind multe din principiile geneticii;

Robotică: programarea calculatoarelor să vadă, să audă şi să reacţioneze alţi stimuli senzoriali;

Noi tehnici ale domeniului inteligenţei artificiale care apar şi se dezvoltă continuu indicând marele interes de care se bucura această ştiinţă.

În mod obişnuit calculatoarele nu sunt dotate cu inteligenţă artificială completă (adică cu posibilitatea să simuleze comportamentul uman). Cele mai mari progrese s-au realizat în domeniul programării jocurilor. Cel mai bun program de şah pentru calculator este acum capabil să învingă omul. În mai 1997 un supercalculator al firmei IBM numit “Deep Blue” a învins campionul mondial Gary Kasparov într-un meci de

şah. În domeniul roboticii calculatoarele sunt larg utilizate în maşini de asamblare dar acestea sunt capabile să îndeplinească numai sarcini extrem de limitate. Roboţii au mari dificultăţi în identificarea obiectelor pe baza imaginii sau prin palpare şi de asemenea mutarea sau apucarea obiectelor este încă stângace.

5

Înţelegerea limbajelor naturale oferă cel mai mare potenţial de utilizare din cauză că acestea vor permite oamenilor să interacţioneze cu calculatoarelor fără a fi necesare cunoştinţe de specialitate. Din păcate sarcina de a programa calculatorul să înţeleagă limbajele naturale s-a dovedit mult mai dificilă decât s-a crezut la început. Există câteva sisteme care reuşesc să facă traducerea automată dintr-un limbaj în altul dar ele sunt departe de a fi la fel de bune ca traducătorii umani. Sunt de asemenea sisteme de recunoaştere a vocii care pot converti sunetele pronunţate în cuvinte scrise dar acestea nu înţeleg ceea ce scriu; aceste sisteme sunt destinate numai dictării. Chiar şi aceste sisteme sunt destul de limitate – trebuie vorbit încet şi clar. La începutul anilor 1980 s-a crezut că sistemele expert vor constitui viitorul inteligenţei artificiale şi ale calculatoarelor în general. Până acum însă aceste sisteme n- au răspuns aşteptărilor. Multe sisteme expert ajută experţii umani în diferite domenii cum ar fi medicina sau ingineria dar aceste sisteme sunt foarte scumpe şi sunt de folos doar în situaţii speciale. Astăzi cel mai fierbinte domeniu al inteligenţei artificiale este cel al reţelelor neurale care sunt folosite cu succes în anumite domenii cum ar fi recunoaşterea vocii şi procesarea limbajelor naturale. Există limbaje de programare care sunt cunoscute drept limbajele inteligenţei artificiale deoarece acestea sunt folosite aproape exclusiv pentru aplicaţii ale inteligenţei artificiale. Limbajele de programare mai cunoscute utilizate în acest scop sunt LISP şi Prolog.

Inteligenţa artificială se împarte în două clase: inteligenţă artificială tare (strong artificial intelligence) şi inteligenţă artificială slabă (weak artificial intelligence). Inteligenţa artificială tare se referă la domeniul în care calculatoarele pot gândi (cel puţin) la fel ca oamenii. Inteligenţa artificială slabă se referă doar la elemente de gândire (raţionamente) adăugate calculatoarelor în scopul de a le face cât mai folositoare şi acest lucru este deja realizat prin sisteme expert martor, comanda şi conducerea automobilelor şi programele de recunoaştere a vorbirii. Ce înseamnă a “gândi” şi a “gândi ca” este (încă) un domeniu pentru dezbateri aprinse de acum încolo.

6

CAPITOLUL 2 BAZELE INTELIGENŢEI ARTIFICIALE

2.1. Logica clasică a propoziţiilor

2.1.1. Simboluri, formule

Obiectul logicii este identificarea şi folosirea legilor raţionamentului uman. Logica simbolică utilizează simboluri pentru unităţile de gândire şi pentru operaţiile asupra lor. Considerăm propoziţiile:

p Δ Ion citeşte.

q Δ Ion scrie.

Notaţia de mai sus arată că propoziţia “Ion citeşte” va fi reprezentată prin simbolul p . Propoziţia trebuie să fie adevărată sau falsă fără a putea fi adevărată şi falsă în acelaşi timp. Pentru propoziţia neadevărată se foloseşte negaţia:

~ p Δ Nu este adevărat că Ion citeşte (Ion nu citeşte).

Cât timp nu admitem decât cele două valori de adevăr (fals, adevărat) suntem în cadrul logicii clasice sau a logicii bivalente. În logica de tip propoziţional, propoziţiile sunt unităţi nedecompozabile. Orice consideraţie asupra structurii lor interne este irelevantă.

sunt compozabile. Ele se pot combina

dând naştere la noi propoziţii, la rândul lor adevărate sau false. Simbolurile numite conectori indică operaţiile de asociere sau combinare, care sunt cele mai frecvente în vorbire sau raţionament:

Propoziţiile simple sau atomi p , q , r ,

^

pentru “şi” : p ^ q Δ “Ion citeşte” şi “Ion scrie”

v

pentru “sau” : p v q Δ “Ion citeşte” sau “Ion scrie”

pentru “dacă p atunci q” : p q Δ Dacă “Ion citeşte” atunci “Ion scrie”

pentru “p dacă şi numai dacă q”: p q

7

Propoziţiile p ^ q, p v q, p q sunt formule propoziţionale. Formulele vor fi notate cu

majuscule: P, Q, R,

De exemplu:

P : (p ^ q) r,

unde:

r Δ Ion este mulţumit.

Interpretarea formulei P este: dacă “Ion citeşte” şi “Ion scrie”, atunci “Ion este mulţumit”. Formula P este formată din trei atomi. Ea poate fi privită drept o funcţie de atomii p, q , r , care, din acest motiv, se numesc variabile propoziţionale. În logica propoziţională unitatea principală de lucru este formula. Totalitatea simbolurilor logicii propoziţiilor constituie un alfabet. În cele ce urmează simbolurile logice vor fi următoarele:

p, q, r,

, ~, ^, v, , , (, )

sau

simbolurile pentru conectorii logici, ce vor fi definiţi mai jos;

parantezele, stângă, (, şi dreaptă, ).

Simbolurile ce nu sunt cuprinse în alfabet sunt simboluri metalogice. Această

utilizate în

formule care nu figurează în alfabet. Alfabetul împreună cu formulele formează limbajul. Proprietăţile, legile, regulile pot fi enunţate pentru atomi şi atunci avem nevoie de o regulă suplimentară de trecere de la atomi la formule (regula substituţiei) sau pot fi enunţate direct pentru formule, caz în care poartă denumirea de scheme.

restricţie surprinde de la început: simbolurile P, Q, R,

cu alte cuvinte, simbolurile pentru mulţimea finită sau infinită de atomi: p , q , r ,

p

1 , p 2 , p 3 ,

,

p

n ,

;

sau P 1 , P 2 , P 3 ,

Exemplu:

p^(pq)q

este o formulă întotdeauna adevărată (tautologie), oricare ar fi atomii p , q . Iar:

P^(PQ)Q

unde P, Q sunt formule, este şi ea totdeauna adevărată, oricare ar fi P, Q, de exemplu:

P=(p q)

şi:

Q=(pvq) ^ (p v ~ q)

Legea tautologică enunţată pentru atomi poate fi generalizată prin regula substituţiei. Este convenabil să o enunţăm ca o schemă în forma generală pentru formule, fără a mai menţiona substituţia.

8

O formulă P se obţine din atomii p , q , r , Definiţia recursivă a formulei este:

prin operaţiile efectuate de conectori.

1)

un atom este o formulă;

2)

dacă P este o formulă, (~P) este o formulă;

3) dacă P şi Q sunt formule, atunci (P^Q), (PvQ), (PQ), (PQ) sunt formule;

4)

toate formulele se obţin prin aplicarea regulilor 1) – 3).

2.1.2. Evaluare, funcţie de adevăr

Introducem pe mulţimea atomilor o funcţie, numită de evaluare, care aplică fiecare atom pe mulţimea (adevărat, fals):

v(p)=1 (adevărat) sau v(p)=0 (fals)

Prima problemă a calculului propoziţiilor constă în determinarea valorii de adevăr a unei formule în funcţie de valoarea de adevăr a atomilor. Notăm valoarea de adevăr a unei formule P cu P v [0,1], sau cu notaţia echivalentă v(P). Stabilim prin recurenţă următoarele reguli pentru evaluarea formulelor:

1)

dacă P este un atom, P v = v(P);

2)

dacă P= ~ Q, atunci P v = 1 dacă Q = 0 sau P v = 0 dacă Q = 1;

3)

(P ^ Q) v = 1 dacă P v = Q v = 1 sau (P ^ Q) v = 0 în celelalte cazuri;

4)

(P v Q) v = 0 dacă P v = Q v = 0 sau (P ^ Q) v = 1 în celelalte cazuri;

5)

(P Q) v = 0 dacă P v =1 şi Q v = 0 sau (P Q) v = 1 în celelalte

6)

cazuri (implicaţie, se citeşte: P implică Q); (P Q) v = 1 dacă P v = Q v sau (P Q) v = 0 în celelalte cazuri (dubla implicaţie, se citeşte: dacă P, atunci şi numai atunci Q);

Un tablou care arată valoarea de adevăr a unei formule pentru toate valorile posibile ale atomilor din formulă se numeşte tabelă de adevăr. Un exemplu de tabel de adevăr este:

PP v

Q

v

~P v

(P^V) v

(PvV) v

(P Q) v

(P Q) v

1

1

0

1

1

1

1

1

0

0

0

1

0

0

0

1

1

0

1

1

0

0

0

1

0

0

1

1

Funcţia de adevăr face să corespundă în mod unic fiecărei evaluări a atomilor unei formule una din valorile de adevăr “0” sau “1”. Reprezentarea grafică a unei funcţii de adevăr este tabela de adevăr. De exemplu funcţia de adevăr a conjuncţiei (a formulei P^Q ) se va nota:

f^(P,Q). Unei formule cu n atomi, concepuţi ca variabile propoziţionale, îi va corespunde o funcţie de adevăr cu n variabile. Tabela de adevăr va avea 2 n linii pentru cele 2 n evaluări posibile.

9

funcţii de adevăr distincte pentru o formulă cu n variabile, deoarece

există

cu 2 n linii. În cazul n=2 al formulelor cu 2 atomi există 16 formule de adevăr. Se pot astfel defini 16 conectori binari, din care în această prezentare au fost selectaţi doar patru.

Numărul formulelor care pot fi construite cu n variabile propoziţionale este

moduri de aranjare a lui “0” şi “1” în ultima coloană a unei tabele de adevăr

Există

2

2

n

2

2

n

infinit. Rezultă că diferite formule corespund uneia şi aceleiaşi funcţii de adevăr (tabele de adevăr).

, p n . O interpretare a lui P este o evaluare (o

atribuire de valori) a atomilor, fiecare primind valoarea de adevăr “0” sau “1”. Formula P este adevărată într-o interpretare, dacă este evaluată ca “1”; altfel este falsă ca

interpretare. O formulă cu n atomi va avea 2 n interpretări diferite. Liniile unei tabele de adevăr reprezintă astfel de interpretări.

, a n , unde a i este p i sau ~p i .

Astfel {p, ~q, ~r, s} este o interpretare, în care p , q , r , s au respectiv valorile “1”, “0”, “0”, “1”. Dacă P este adevărată în interpretarea I , se spune că I satisface pe P sau P este

satisfăcut de I . Dacă P este falsă în interpretarea I , atunci I falsifică pe P sau P este falsificat de I . O interpretare I care satisface pe P se numeşte model a lui P.

Fie o formulă P având atomii p 1 ,

O interpretare I se reprezintă prin mulţimea a 1 ,

Exemplu:

Fie formula P:

~(p v q) v ~ (q v p),

cu tabela de adevăr:

p q

 

p v q

~(p v q)

~(p v q)

~(p v q) v ~ (q v

p)

1 1

 

1

0

0

0

 

1 0

1

0

0

0

0

1

1

0

0

0

0

0

0

1

1

1

Formula P este satisfăcută de interpretarea {~p, ~q} care constituie un model a lui P. Interpretarea {p, q} falsifică pe P.

2.1.3. Tautologie, validitate, consistenţă

O formulă este validă, dacă şi numai dacă este adevărată în toate interpretările.

Altfel (dacă şi numai dacă nu este validă) este nevalidă.

O formulă este inconsistentă dacă şi numai dacă este falsă în toate interpretările.

O formulă este consistentă dacă şi numai dacă nu este inconsistentă.

a tautologie, iar a celei inconsistente este contradicţie.

Denumirea

clasică

formulei

valide

din

punct

de

vedere

10

semantic

este

Exemple:

1) Formula P: p v ~ p este o tautologie (formulă validă), întrucât funcţia sa de adevăr ia în toate interpretările valoarea “1”. 2) Formula P: p ^ ~ p este o contradicţie (formulă nevalidă) pentru că funcţia sa de adevăr ia în toate interpretările valoarea “0”.

Propoziţii.

1)

O formulă este validă dacă şi numai dacă negaţia ei este validă.

2)

O formulă este inconsistentă dacă şi numai dacă negaţia ei este validă.

3) O formulă este nevalidă dacă şi numai dacă există o interpretare în care este falsă.

4) O formulă este consistentă dacă şi numai dacă există o interpretare în care este adevărată.

5)

O formulă validă este consistentă.

6)

O formulă consistentă nu este neapărat validă.

7)

O formulă inconsistentă este nevalidă.

8)

O formulă nevalidă nu este neapărat inconsistentă.

Întrucât folosirea terminologiei de mai înainte depăşeşte necesităţile ce se ivesc în demonstrarea automată a teoremelor, sunt folosite cu precădere următoarele expresii:

O

formulă consistentă se numeşte realizabilă.

 

O

formulă

este

nerealizabilă

(inconsistentă)

dacă

şi numai dacă nu este

realizabilă.

Definiţiile proprietăţilor de validitate (tautologii), consistenţă (realizabile), inconsistenţă (contradicţii, nerealizabile) şi nevaliditate a formulelor sunt reprezentate în schema următoare:

CONSISTENŢĂ=REALIZABILĂ P v = 1 uneori

VALIDĂ=TAUTOLOGIE P v = 1 întotdeauna

NEVALIDĂ P v = 0 uneori

CONTRADICŢIE=NEREALIZABILĂ P v = 0 întotdeauna

Proprietatea de formulă nerealizabilă devine centrală, dată fiind abordarea caracteristică demonstrării automate a teoremelor care foloseşte cu precădere principiul contradicţiei.

O formulă este nerealizabilă când este falsă în toate interpretările, deci când nu

admite model. Dacă reuşim să demonstrăm că există cel puţin o interpretare pentru care este adevărată (admite cel puţin un model), ipoteza nu este adevărată şi formula se dovedeşte a fi realizabilă. Proprietatea poate fi enunţată pentru o mulţime S de formule: o astfel de mulţime este realizabilă (ca funcţie de adevăr), dacă există o evaluare v pe mulţimea formulelor astfel ca P v = 1 pentru toţi PS ; altfel S este nerealizabilă. Dacă S constă

11

dintr-o singură formulă, se spune că aceasta este realizabilă, dacă S este realizabilă, şi nerealizabilă, dacă S este nerealizabilă. În limbajul evaluărilor o tautologie este o formulă T pentru care T v =1, oricare ar fi valoarea v.

Tautologii fundamentale.

Următoarele formule valide sunt folosite cu precădere, ceea ce le-a făcut să se distingă uneori prin nume proprii. Ele sunt tautologii:

T0

PP

T1

(PQ) ((QR) (PR))

legea silogismului

T2

P(P v Q)

T3

Q(P v Q)

T4

(PQ) ((QR) ((P v Q)R))

T5

P ^ Q P

T6

P ^ Q Q

T7

(RP) ((RQ) (R (P ^ Q)))

T8

(P(QR)) ((P ^ Q) R)

legea importării

T9

((P ^ Q) R) (P (QR))

legea exportării

T10

(P ^ ~P) Q

T11

(P(P ^ ~P)) ~P

T12

P ^ ~P

legea terţului exclus sau tertium non datur

Sunt frecvente şi următoarele legi:

T13

(P ^ (P Q)) Q

modus ponendo ponens sau

T14

(~Q ^ (P Q)) ~ P

modus ponens sau regula detaşării modus tollendo tollens

T15

(~P ^ (P v Q)) Q

modus tollendo ponens

T16

((P Q) ^ ~ Q) ~ P

absurditate

T17

~ (P ^ ~ P)

negare (contradicţie)

T18

P (Q P)

simplificare

T19

(P (Q R)) (Q (P R))

schimbarea premiselor

T20

(P (Q R)) ((P Q) (P R))

legea lui Frege

T21

P ~ ~ P

T22

~ ~ P P

T23

(P Q) (~P v Q)

T24

(~P v Q) (P Q)

T25

~ (P v Q) (~P ^ ~Q)

T25 – T28: legile lui De Morgan

T26

(~P ^ ~Q) ~ (P v Q)

T27

~(P ^ Q) (~ P v ~ Q)

T28

(~ P v ~ Q) ~(P ^ Q)

12

T29

(P Q) (~Q ~P)

T29 – T32: legile transpunerii

T30

(P ~Q) (Q ~P)

T31

(~P Q) (~Q P)

T32

(~P ~Q) (Q P)

T33

((P Q) P) P

legea lui Pierce

Demonstraţia caracterului tautologic al formulelor T0 – T33 se face prin scrierea tabelei de adevăr a fiecărei formule, a cărei ultimă coloană va fi compusă din “1”.

2.1.4. Metoda lui Quine

Un procedeu de a decide asupra realizabilităţii unei formule (sau a caracterului de tautologie sau de contradicţie) care nu recurge la tabela de adevăr a fost dat de Quine.

Procedeul constă din următorii paşi:

1)

Atomul care intervine cel mai frecvent este înlocuit o dată cu “V”

2)

(adevăr) şi a doua oară cu “F” (fals), obţinându-se două formule. În fiecare din ele se aplică următoarele reguli:

a) se suprimă “V” ca element al conjuncţiei;

b) se suprimă “F” ca element al disjuncţiei;

c) o conjuncţie cu “F” se înlocuieşte cu “F”;

d) o disjuncţie cu “V” se înlocuieşte cu “V”;

e) o implicaţie conţinând pe “V” se înlocuieşte cu consecventul;

f) o implicaţie conţinând pe “F” se înlocuieşte cu negaţia antecedentului

g) se suprimă “V” ca membru al unei duble negaţii;

h) se înlocuieşte dubla negaţie, care conţine “F” ca membru, cu celălalt membru al ei.

3)

Se aplică regula 1) la următorul atom cu frecvenţa cea mai mare şi se

trece la regula 2), apoi la regula 3), până la epuizarea atomilor. Toate regulile se bazează pe tabele de adevăr ce definesc conectorii. Astfel regula b), F v q =q, exprimă faptul că dacă p este fals, p v q ia valoarea de adevăr a lui q . Regula d), V v q = V, se reduce la faptul că o disjuncţie este adevărată dacă un element este adevărat.

Regula f), cu privire la F q, sau p F, se deduce din:

p

q

p q

1

1

1

1

0

0

0

1

1

0

0

1

13

În primul caz F q înseamnă că p q este adevărată, deci putem s-o înlocuim cu negaţia antecedentului (V). În al doilea caz, p F, evaluările (1,0) şi (0,0), rezultă din tablou că are întotdeauna valoarea lui ~p.

Exemplu:

Fie formula (p ^ q) v (~p ^ ~r) (q r). Este o tautologie sau o contradicţie? Aplicăm metoda lui Quine:

((p ^ q) v (~p ^ ~r)) (q r)

((V ^ q) v (F ^ ~r)) → (q ↔ r), (q v (F ^
((V ^ q) v (F ^ ~r)) → (q ↔ r),
(q
v (F ^ ~r) → (q ↔ r)
(q
v F) → (q ↔ r)
q → (q ↔ r)
((F ^ q) v (V ^ ~r)) → (q ↔ r)
(F v (V ^ ~r) → (q ↔ r)
(V ^ ~r) → (q ↔ r)
~r) → (q ↔ r)
V → (V↔r)
F → (F↔r)
F → (q↔V)
V → (q↔F)
V↔r
V
V
q↔F
r
q
V
F
F
V

Formula nu este tautologie sau contradicţie, ea este realizabilă.

2.1.5. Metoda reducerii

Metoda reducerii se bazează pe încercarea de a falsifica formula dată, al cărei caracter vrem să-l demonstrăm. Presupunem că există o evaluare v pentru care F v = 0. Înscriem această valoare (0) sub conectorul principal, iar deasupra lui numărul pasului efectuat (1). Dacă formula este de forma P Q, pasul 1 va consta în:

1

P Q

0

Dar implicaţia P Q este falsă numai când P este fals şi Q este adevărat. Vom scrie deci sub conectorul principal din P valoarea “1”, sub conectorul principal din Q valoarea “0” şi deasupra ambilor conectori numărul pasului (2). Continuăm în acelaşi fel până când:

(a)

obţinem

variabilele propoziţionale sau

o

evaluare

consistentă

14

(necontradictorie)

pentru

toate

(b) nu găsim o asemenea evaluare. În primul caz, ipoteza iniţială este corectă şi formula este falsă; în al doilea caz falsificarea nu a reuşit şi deci formula este validă.

Când formula este de forma:

1

P Q

0

din atribuirea valorii “0” nu rezultă în mod unic că P este adevărat sau fals, de aceea trebuie să considerăm toate cazurile:

2

1 2

2 1 2

2 1 2

p ^ Q

P ^ Q

P ^ Q

1

0 0

0 0 1

0 0 0

unde valorile şi indicii se pun şi deasupra conectorilor principali din formulele P şi Q. Dacă fiecare din cele trei cazuri conduc la contradicţii, formula iniţială este validă. În caz că cel puţin unul din ele permite găsirea unei evaluări necontradictorii, formula a putut fi falsificată şi este inconsistentă. Evaluările pentru care se obţine o contradicţie sunt subliniate.

Exemple:

1)

Fie formula ((p q) ^ r) ((~r v p) q). Aplicând metoda reducerii, se obţine o contradicţie prin faptul că la pasul 3: v(r)=1, iar la pasul 9: v(r)=0

6 3

5

2 3

1

8 9 4 7

2

4

((p q) ^ r) ((~ r

v p) q)

1 0 1 0

Observăm că la pasul 3 din faptul că valoarea conjuncţiei din membrul întâi este “1”, rezultă că v(p q) =1 şi v(r)=1. Întrucât v(q)=0 (rezultă din membrul 2 la pasul 4), v(p)=0 (altfel v(pq)=0). Dar dacă introducem v(p)=0 (din membrul întâi, pasul 6) în membrul doi (pasul 7), obţinem v(~r)=1 şi v(r)=0, ceea ce contrazice valoarea care i s-a atribuit lui r la pasul 3. Formula este o tautologie.

0

1

0

1 1

0

0

0

2)

Fie formula ((~r v p) q) ((p q) ^ r). Întrucât la pasul 3 valoarea lui ~r v p nu rezultă în mod unic, trebuie să considerăm următoarele trei cazuri:

3

2

3

1

2

a) ((~r v p) q) ((p q) ^ r)

1

1

1

0

0

15

3

2

3

1

2

b) ((~r v p) q) ((p q) ^ r)

0

1

1

0

0

3

2

3

1

2

c) ((~r v p) q) ((p q) ^ r)

0

1

0

0

0

Cazul b) şi cazul c) duc la contradicţii, dar cazul a) permite o evaluare consistentă:

((~

1

r

0 1

v

p) q) ((p q) ^ r)

0

1

1

1

0

1

0

0

0

v(p)=1, v(q)=1, v(r)=0. Formula nu este o tautologie. Ea este falsificată de interpretarea {p, q, ~r}. Formula este realizabilă, pentru că alte interpretări, ca de exemplu {p, q, r}, contrazic ipoteza nerealizabilităţii ei.

2.1.6. Echivalenţe

Definiţie. Două formule sunt (logic) echivalente (P echivalent cu Q) dacă iau aceleaşi valori de adevăr pentru orice interpretare (au aceeaşi tabelă de adevăr); P Q dacă pentru orice evaluare P v Q v .

Definiţie echivalentă: două formule P şi Q sunt echivalente dacă P Q este o tautologie.

Echivalenţe fundamentale.

1. Absorbţia

2. Idempotenţa

3. Comutativitatea

4. Asociativitatea

5. Distributivitatea

6. Dubla negaţie

7. Legile lui De Morgan

8. Transpunerea

9. Negaţia implicaţiei

10. Formula bicondiţională

P ^ (P v Q) P şi P v (P ^ Q) P

P ^ P P şi P v P P

P ^ Q Q ^ P şi P v Q Q v P

P ^ (Q ^ R) (P ^ Q) ^ R P v (Q v R) (P v Q) v R

P ^ (Q v R) (P ^ Q) v (P ^ R) P v (Q ^ R) (P v Q) ^ (P v R)

~ (~ P) P

~ (P ^ Q) ~ P v ~ Q, ~ (P v Q) ~ P ^ ~ Q

P Q ~ Q ~ P

~ (P Q) P ^ ~ Q

P Q (P ^ Q) v (~P ^ ~Q)

2.1.7. Reguli de manipulare şi substituţie

Regulă. Dacă P şi P Q sunt tautologii, atunci Q este o tautologie. Vom nota această regulă MP de la modus ponens.

16

, P n formule oarecare.

Dacă F este o tautologie, atunci obţinută prin substituirea peste tot în F a fiecărei

apariţii a lui p i prin P i (1 i n) este de asemenea o tautologie.

Fie F o formulă în care apar atomii p 1 , p 2 ,

F o formul ă în care apar atomii p 1 , p 2 , , p

, p n . Fie P 1 ,

Exemple:

1. Prin tabela de adevăr se demonstrează că formula următoare este o tautologie:

~ (p ^ q) ~ p v ~ q (De Morgan)

Înlocuind atomii p , q cu formulele P, Q, avem tautologia:

~ (P ^ Q) ~ P v ~ Q

unde P şi Q sunt formule oarecare.

2. Întrucât p 1 ^ (p 2 ^ p 3 ) (p 1 ^ p 2 ) ^ p 3 este o tautologie (asociativitatea), oricare ar fi formulele P, Q, R,

P ^ (Q ^ R) (P ^ Q) ^ R

va fi o tautologie.

Într-o formulă în care intervine subformula P, înlocuim pe P în unul sau mai multe locuri cu formula echivalentă Q. Rezultatul Q este logic echivalent cu . Să

arătăm că

are aceeaşi

valoare ca şi Q, deoarece diferă de aceasta numai prin faptul că P este înlocuit cu Q

având aceeaşi valoare de adevăr. Deci P Q ia întotdeauna valoarea “1”.

ă r. Deci P ↔ Q ia întotdeauna valoarea “1”. ↔ Q este o tautologie. Fie
ă r. Deci P ↔ Q ia întotdeauna valoarea “1”. ↔ Q este o tautologie. Fie
ă r. Deci P ↔ Q ia întotdeauna valoarea “1”. ↔ Q este o tautologie. Fie

Q este o tautologie. Fie o evaluare a atomilor. Formula

Q este o tautologie. Fie o evaluare a atomilor. Formula Exemplu: Formula (p^p) → q este

Exemplu:

Formula (p^p) q este echivalentă cu formula p q, deoarece am făcut substituţia p^p p, care reprezintă o echivalenţă logică.

Prin folosirea semnului egalităţii toate tautologiile sunt echivalente şi toate formulele nerealizabile sunt echivalente. Întrucât P v =1 pentru toţi v şi Q v = 0 pentru toţi v determină pe P ca o tautologie şi pe Q ca o formulă nerealizabilă, putem scrie “1” şi “0” pentru orice formulă care este tautologie, respectiv nerealizabilă. De aceea P=1 înseamnă că P este tautologie şi Q=0 că Q este o formulă nerealizabilă.

2.1.8. Dualitate

O formulă restrânsă este o formulă care nu are decât conectorii ~, ^, v. Dacă într-o formulă restrânsă schimbăm între ele simbolurile ^ şi v şi înlocuim fiecare atom prin negaţia lui, obţinem formula PP * . Atunci P P este logic echivalent cu ~P:

PP * ~ P (principiul dualităţii). Principiul general al dualităţii afirmă că un enunţ corect implicând ^, v, “0”, “1” poate fi tradus într-un alt enunţ corect prin schimbările între ele ale simbolurilor “0” şi

17

*

“1”, ^ şi v. Noţiunile definite în termenii acestor simboluri trebuie traduse prin dualele lor. Astfel dualul termenului “tautologie” este “nerealizabil” pentru că cele două enunţuri duale sunt:

PP v =1 pentru toţi v şi P v =0 pentru toţi v.

Astfel dualul enunţului “dacă P este o tautologie, P v Q este o tautologie” este “dacă P este nerealizabil, P ^ Q este nerealizabil”.

2.1.9. Conectori adecvaţi

O mulţime de conectori se numeşte mulţime adecvată, dacă fiecare formulă poate fi exprimată cu ajutorul conectorilor acestei mulţimi.

{~, ^, v}, {~, ^}, {~, v} şi {~, } sunt mulţimi adecvate de conectori.

Mulţimi adecvate formate dintr-un singur conector:

1) - rejecţie sau conectorul lui Nicod – se citeşte “nici

(tehnic)

tabelul de adevăr:

p q

p

-------------------------

q

1

1

0

1

0

0

0

1

0

0

0

1

,

nici

= NOR

Relaţiile care leagă acest conector de negaţie şi conjuncţie sunt:

~p = p p

şi

p ^ q = (p p) (q q)

2) | - incompatibilitate sau conectorul lui Sheffer – NAND

p|q = ~p v ~q

tabelul de adevăr:

p q

-----------------------

p|q

1

1

0

1

0

1

0

1

1

0

0

1

Relaţiile care leagă acest conector de negaţie şi conjuncţie sunt:

18

~ p = p|p şi p ^ q = (p|p) | (q|q).

Avantajul de a micşora numărul de conectori este plătit prin lungimea scrierii formulelor.

2.1.10. Consecinţe logice

Fie n formule P 1 , P 2 ,

, P n . Formula P este o consecinţă logică (tautologică) a

= P n v =

premiselor P 1 , P 2 ,

, P n dacă pentru fiecare evaluare v pentru care P 1 v = P 2 v =

1 avem P v = 1. Pentru consecinţa logică folosim notaţia P 1 , P 2 ,

, P n |= P. Simbolul |= în faţa

unei formule denotă că este o tautologie: |= P (citim P este o tautologie).

Cu alte cuvinte, orice model al conjuncţiei premiselor P 1 , P 2 , al concluziei.

Fie formulele P 1 , P 2 , dacă şi numai dacă P 1 ^ P 2 ^

Problema stabilirii dacă o formulă este consecinţă logică (numită şi interferenţă tautologică) revine astfel la stabilirea faptului dacă o altă formulă este tautologie sau

, P n . Formula P este o consecinţă logică a premiselor P i ,

, P n este şi model

^ P n ^ ~P este nerealizabilă.

nerealizabilă (pentru un număr redus de variabile propoziţionale se poate recurge la tabela de adevăr a acestei formule).

2.1.11. Forme normale

1. Orice formulă care nu este o contradicţie este logic echivalentă cu o formulă restrânsă normal disjunctivă:

unde l ij sunt literale.

l

∨∧ ij

i

m j

n

2. Orice formulă care nu este o tautologie este logic echivalentă cu o formulă de formă normal conjunctivă:

unde l ij sunt literale.

l

∧∨ ij

i

n j

m

Conjuncţiile şi disjuncţiile care au proprietatea de a lua valoarea formulei în câte o interpretare a ei se numesc minitermeni sau clauze conjunctive, respectiv maxitermeni sau clauze disjunctive.

19

2.2.

Sistemul deductiv al calculului propoziţiilor

2.2.1. Demonstraţie şi deducţie

Abordarea sintactică este susceptibilă de un grad înalt de formalizare. Simbolurile sunt iniţial neinterpretate şi servesc la construirea unui sistem deductiv abstract. Prin interpretarea ca propoziţii se obţin consecinţe noi despre logica acestora. Un sistem formal este definit de:

1)

un alfabet de simboluri,

2)

o mulţime de formule bine formale,

3)

o mulţime de axiome,

4)

reguli de deducţie.

Sistemul formal L este definit astfel:

1)

alfabetul simbolurilor este infinit, ~, , (, ), p 1