Demonstrarea Automată a Teoremelor

Proiect
9/10 (2 voturi)
Conține 1 fișier: doc
Pagini : 80 în total
Cuvinte : 19549
Mărime: 426.11KB (arhivat)
Publicat de: Camil Trandafir
Puncte necesare: 10
Profesor îndrumător / Prezentat Profesorului: Bocaneala Corina

Cuprins

  1. Introducere 3
  2. Scurt istoric al sistemelor de deducţie 5
  3. CAP. 1 Calculul propoziţiilor 9
  4. 1.1. Definiţii şi notaţii 9
  5. 1.2. Formule de tip conjunctiv şi disjunctive 11
  6. 1.3. Forme normale 12
  7. 1.4. Utilizarea lor ca demonstrator pentru logica propoziţiilor 21
  8. 1.4.1. Metoda tabelelor 21
  9. 1.4.2. Corectitudinea metodei tabelelor 26
  10. 1.4.3. Completitudinea metodei tabelelor 27
  11. 1.5. Metoda rezoluţiei 29
  12. CAP. 2 Calculul predicatelor 37
  13. 2.1. Formule în calculul predicatelor 37
  14. 2.2. Substituţii 41
  15. 2.3. Unificatori 43
  16. 2.4. Metoda tabelelor în calculul predicatelor 46
  17. 2.5. Detalii de implementare în calculul predicatelor 50
  18. CAP. 3 Demonstrarea automatã a teoremelor 57
  19. 3.1. Reprezentarea clauzala a formulelor 57
  20. 3.1.1. Forma normalã prenex 57
  21. 3.1.2. Obţinerea formei normale prenex 58
  22. 3.1.3. Forma normalã Skolem 59
  23. 3.1.4. Teorema Skolem. Derivare prin respingere 61
  24. 3.1.5. Literal, clauzã 62
  25. 3.2. Universul Herbrand 63
  26. 3.3. Demonstrarea automatã 67
  27. 3.3.1. Metoda Gilmore 68
  28. 3.3.2. Metoda Davis-Putnam 70
  29. 3.4. Principiul rezoluţiei 71
  30. 3.4.1. Principiul rezoluţiei pentru logica propoziţiilor 71
  31. 3.4.2. Princpiul rezoluţiei în logica predicatelor 73
  32. 3.4.2.1. Substituţie 73
  33. 3.4.2.2. Unificare 74
  34. 3.4.2.3. Algoritmul de unificare a doi atomi 75
  35. 3.4.2.4. Algoritmul general de unificare 75
  36. 3.4.3. Pricipiul rezoluţiei în logica predicatelor. II 76
  37. 3.4.4. Strategii de demonstrare automatã folosind rezoluţia 76
  38. 3.4.4.1. Eliminarea clauzelor tautologice 76
  39. 3.4.4.2. Eliminarea clauzelor subsumate 77
  40. Concluzii şi direcţii de viitor 78
  41. Bibliografie 80

Extras din proiect

SCURT ISTORIC

AL SISTEMELOR DE DEDUCŢIE

Sistemele de deducţie automatã îşi datoreazã apariţia şi existenţa la doi factori principali: progresele realizate în construcţia echipamentelor de calcul pe de-o parte şi sistematizarea capacitatilor umane de a sintetiza concluzii din premise pe de alta. Cum în legatura cu prima componentã care a determinat dezvoltarea sistemelor de deducţie automatã (evoluţia calculatoarelor) existã nenumãrate descrieri, vom discuta în continuare pe scurt cea de-a doua componentã: dezvoltarea sistemelor de deducţie matematicã (automatã). În momentul de faţa, deducţia automatã a devenit o disciplinã fundamentalã nu numai în cadrul inteligenţei artificiale (AI), dar şi în cadrul stiinţei calculatoarelor în general.

Se ştie cã programarea nu numai cã se bazeazã pe logicã (cum s-ã anticipat de Mc Carthy în anii `60) dar poate fi identificatã cu logica. Acest lucru este evident în programarea logicã, unde ecuaţia lui R. Kowalski (1979) îşi gãseşte cea mai potrivitã verificare:

CALCUL (ALGORITM) = DEDUCŢIE + CONTROL.

Obiectivul de a gasi modalitatea generalã de a mecaniza raţionamentele umane şi l-au propus unii matematicieni încã din secolele trecute. De exemplu, în secolul 17, G. W. Leibniz îşi dorea sã dezvolte un limbaj universal (“lingua characteristica”) care sã fie capabil sã exprime orice propoziţie formulate în limbaj natural, chiar dacã aceasta nu are un caracter matematic propriu-zis. Un fragment de calcul în sensul lui Leibniz a fost dezvoltat abia cu 200 de ani mai tarziu, de catre A. de Morgan şi G. Boole. Acesta este ceea ce azi numim calculul propoziţiilor (în 1869 a fost chiar construitã o maşinã empiricã destinatã evaluarii expresiilor booleene).

În 1882 o nouã contribuţie decisive la sistematizarea raţionamentului deductive şi-a adus-o G. Frege, care descrie pentru prima oarã ceea ce azi numim logica prediatelor de ordinul întai. El introduce noţiunile de cuantificatori şi simboluri functionale. Tot G. Frege separã pentru prima oarã noţiunile de sintaxa şi semantica ale unui limbaj formal, separare utilã şi în cazul limbajelor de programare. Ideeile lui G. Frege au fost continuate de catre G. Peano (1889), chiar dacã prin exprimarea unor pasi deductive în limbaj natural, acestea au înregistrat un regres faţã de cele ale primului autor.

Formalizarea raţionamentului logic deductive a constituit un impact puternic în comunitatea matematicã aceasta nefiind receptatã în totalitate ca pozitivã. Doi dintre aparatorii acestei formalizari au fost N. Whitehead şi B. Russel, în carteã lor “Principia Mathematica” (1913) în care se stabileau metodele de eliminare a cuantificatorilor prin introducerea unor simboluri de functii, metode utilizate şi azi în toate sistemele de demonstrare automatã în logica predicatelor. În acelasi an apare cartea lui D. Hilbert şi W. Ackermann, în care se pune prima oarã problema completitudinii calculului predicatelor, problema rezolvatã în 1930 de catre K. Goedel în dizertatia sa. Nedecidabilitatea calculului predicatelor a fost stabilitã independent de A. Turing şi A. Church, în 1936, primul cunoscut ca autor al maşinii abstracte cu acelasi nume, al doilea, ca autor al lambada calculului. Acest rezultat oarecum descurajator, de nedecidabilitate a fost atenuat de rezultatele de semidecidabilitat ale lui J. Herbrand şi T. Skolem: dacã o formulã este validã atunci acest lucru poate fi pus în evidenţã într-un numãr finit de pasi. În caz contrar, fie se poate demonstra nevaliditatea formulei, fie procedurã de demonstrare utilizatã este divergentã sau cicleazã.

Toate aceste studii pot fi considerate ca şi conţinutul “preistoria” demonstrarii automate de teoreme. “Istoria” sa începe cu primele programe scrise în acest scop. De fapt, primele programe de demonstrare automatã au fost scrise odatã cu apariţia primelor calculatoare (anii `50). Astfel, primul autor de programare a fost Martin Davis (1954) şi rezultatul “suprem” obţinut de el (impresionant la aceea data totuşi) a fost cã suma a douã numere pozitive este un numãr pozitiv. Al doilea program a fost prezentat la o conferintã care a avut loc în 1956 la Dartmouth College, timp de douã luni, conferinta consideratã ca locul de nastere al Inteligetei Artificiale. Acest program se numea “Logic Theorist” şi apartinea lui Newell şi Simion de la Carnegie Mellon University. “Istoria orala” a IA relateazã cã editorii de la “Journal of Symbolic Logic” nu au fost impresionati atat de mult de eveniment, ei respingând un articol scris de Newell, Simon şi “Logic Theorist”…Conferinta de la Dartmouth a marcat urmãtorii 20 de ani, când IA a fost dominatã de acei participanti şi de studenţii lor de la MIT, CMU şi Stanford. Numele de IA a fost propus tot acolo de McCarthy.

Un alt eveniment în domeniul demonstratoarelor automate de teoreme (DAT) se considerã cã a început în anul 1958, când tanarul cercetator Wang Hao de la IBM a construit primul DAT prin care a demonstrat 350 de teoreme din “Principia Mathematica”. (De altfel, pentru aceastã realizare el a primit în 1983 premiul acordat de American Mathematical Society). Alte evenimente importante din aceastã perioadã sunt constituite de elaborarea algoritmului Davis-Putnam (1960) şi a noţiunii de unificator, de catre D. Prawitz, (tot în 1960).

Al doilea moment decisiv în evoluţia DAT, care începe o a doua perioadã, îl constituie articolul lui J.A. Robinson. “A masine orientated logic, based on the resoluţion principle”, publicat în Jurnal of ACM, în 1965. Pânã azi, principiul rezolutiei, introdus în acest articol, şi care constituie o generalizare a teoremei lui Herbrand, constituie unul din cele mai utilizate principii care stã la baza constituirii DAT.

Începând cu anul 1965, douã mari directii de cercetare au aparut:

• Rafinarea principiului rezolutiei;

• Introducerea unor metode care sã imite raţionamentul uman.

În ceea ce priveşte prima directie, rezultatele s-au referit la generalizarea principiului (de exemplu prin hiperrezolutie), la reducerea spaţiului soluţiilor posibile (prin utilizarea mulţimii suport) la reprezenarea sub formã de graf a aplicãrii rezolutiei etc.

În ceea ce priveşte o a doua direcţie, aceasta a triumfat în 1980 când limbajele de programare logicã (sau limbajele de programare declarative) au fost definitive acceptate alãturi de limbajele imperative. Se cunoaşte faptul cã în 1981 japonezii au anunţat lansarea proiectului “A cincea generaţie”; în cadrul cãruia performanţa unui calculator urma în decurs de 10 ani sã fie estimatã nu dupã numãrul de operaţii pe secundã ci dupã numãrul de inferenţe (operaţii logice) pe secundã. în [38], “istoria” IA (în cadrul careia DAT ocupã un loc central) este împarţit în urmãtoarele etape:

1943-1956 gestaţia IA;

1952-1966 entuziasm şi mari asteptãri;

1966-1974 o dozã de realism

1974-1980 sisteme bazate pe cunostiinţe,

1980-1988 IA devine industrie.

Evenimentele de dupã 1988 cunosc dese reveniri, mai realiste şi mai eficiente la ideei, mai vechi din “istoria” IA.

Începând din 1980, la aproape toate marile universitaţi au început scrierea unor demonstratoare automate. Vom cita doar demonstratoarele: Markgraf Karl, realizat în Karlsruhe şi Keiserslautern, în 1980, în limbajul LISP, bazat pe metoda rezoluţiei, demonstratorul Reve, scris în 1984 de catre Pierre Lescaune, la Universitatea din Nancy, de asemenea în LISP, şi bazat pe sisteme de rescriere şi demonstratorul RRL scris de Kapur în aceeaşi perioadã în USA. Recent, colectivul de la RISC-Research Institut For Symbolic Computation, Linz, a dezvoltat un demonstrator performant de teoreme, “Theorema”, care foloseşte în prezent Mathematica 3.0.

În momentul de faţã teoria si aplicaţiile în domeniul DAT fac parte integrantã din câteva manifestãri stiinţifice internaţionale cum ar fi: Simpozionul de “Logics în Computer Science” (LICS), “Conference în Automated Deduction” (CADE), conferinţã de “Rewriting Techniques and applicatios” (RTA), conferinţã “Tableaux”, destinatã metodei tabelelor, workshopul anual “Theorema”, care are loc RISC, institutul amintit mai sus, şi toate conferinţele de inteligenţã artificiale. Existã de asemenea reviste dedicate în întregime problemelor de DAT (“Journal of Logic programming”, “Journal of Automated reasoning”, etc.), iar majoritatea revistelor de “Computer science” deţin rubrici permanente în acest domeniu.

Preview document

Demonstrarea Automată a Teoremelor - Pagina 1
Demonstrarea Automată a Teoremelor - Pagina 2
Demonstrarea Automată a Teoremelor - Pagina 3
Demonstrarea Automată a Teoremelor - Pagina 4
Demonstrarea Automată a Teoremelor - Pagina 5
Demonstrarea Automată a Teoremelor - Pagina 6
Demonstrarea Automată a Teoremelor - Pagina 7
Demonstrarea Automată a Teoremelor - Pagina 8
Demonstrarea Automată a Teoremelor - Pagina 9
Demonstrarea Automată a Teoremelor - Pagina 10
Demonstrarea Automată a Teoremelor - Pagina 11
Demonstrarea Automată a Teoremelor - Pagina 12
Demonstrarea Automată a Teoremelor - Pagina 13
Demonstrarea Automată a Teoremelor - Pagina 14
Demonstrarea Automată a Teoremelor - Pagina 15
Demonstrarea Automată a Teoremelor - Pagina 16
Demonstrarea Automată a Teoremelor - Pagina 17
Demonstrarea Automată a Teoremelor - Pagina 18
Demonstrarea Automată a Teoremelor - Pagina 19
Demonstrarea Automată a Teoremelor - Pagina 20
Demonstrarea Automată a Teoremelor - Pagina 21
Demonstrarea Automată a Teoremelor - Pagina 22
Demonstrarea Automată a Teoremelor - Pagina 23
Demonstrarea Automată a Teoremelor - Pagina 24
Demonstrarea Automată a Teoremelor - Pagina 25
Demonstrarea Automată a Teoremelor - Pagina 26
Demonstrarea Automată a Teoremelor - Pagina 27
Demonstrarea Automată a Teoremelor - Pagina 28
Demonstrarea Automată a Teoremelor - Pagina 29
Demonstrarea Automată a Teoremelor - Pagina 30
Demonstrarea Automată a Teoremelor - Pagina 31
Demonstrarea Automată a Teoremelor - Pagina 32
Demonstrarea Automată a Teoremelor - Pagina 33
Demonstrarea Automată a Teoremelor - Pagina 34
Demonstrarea Automată a Teoremelor - Pagina 35
Demonstrarea Automată a Teoremelor - Pagina 36
Demonstrarea Automată a Teoremelor - Pagina 37
Demonstrarea Automată a Teoremelor - Pagina 38
Demonstrarea Automată a Teoremelor - Pagina 39
Demonstrarea Automată a Teoremelor - Pagina 40
Demonstrarea Automată a Teoremelor - Pagina 41
Demonstrarea Automată a Teoremelor - Pagina 42
Demonstrarea Automată a Teoremelor - Pagina 43
Demonstrarea Automată a Teoremelor - Pagina 44
Demonstrarea Automată a Teoremelor - Pagina 45
Demonstrarea Automată a Teoremelor - Pagina 46
Demonstrarea Automată a Teoremelor - Pagina 47
Demonstrarea Automată a Teoremelor - Pagina 48
Demonstrarea Automată a Teoremelor - Pagina 49
Demonstrarea Automată a Teoremelor - Pagina 50
Demonstrarea Automată a Teoremelor - Pagina 51
Demonstrarea Automată a Teoremelor - Pagina 52
Demonstrarea Automată a Teoremelor - Pagina 53
Demonstrarea Automată a Teoremelor - Pagina 54
Demonstrarea Automată a Teoremelor - Pagina 55
Demonstrarea Automată a Teoremelor - Pagina 56
Demonstrarea Automată a Teoremelor - Pagina 57
Demonstrarea Automată a Teoremelor - Pagina 58
Demonstrarea Automată a Teoremelor - Pagina 59
Demonstrarea Automată a Teoremelor - Pagina 60
Demonstrarea Automată a Teoremelor - Pagina 61
Demonstrarea Automată a Teoremelor - Pagina 62
Demonstrarea Automată a Teoremelor - Pagina 63
Demonstrarea Automată a Teoremelor - Pagina 64
Demonstrarea Automată a Teoremelor - Pagina 65
Demonstrarea Automată a Teoremelor - Pagina 66
Demonstrarea Automată a Teoremelor - Pagina 67
Demonstrarea Automată a Teoremelor - Pagina 68
Demonstrarea Automată a Teoremelor - Pagina 69
Demonstrarea Automată a Teoremelor - Pagina 70
Demonstrarea Automată a Teoremelor - Pagina 71
Demonstrarea Automată a Teoremelor - Pagina 72
Demonstrarea Automată a Teoremelor - Pagina 73
Demonstrarea Automată a Teoremelor - Pagina 74
Demonstrarea Automată a Teoremelor - Pagina 75
Demonstrarea Automată a Teoremelor - Pagina 76
Demonstrarea Automată a Teoremelor - Pagina 77
Demonstrarea Automată a Teoremelor - Pagina 78
Demonstrarea Automată a Teoremelor - Pagina 79
Demonstrarea Automată a Teoremelor - Pagina 80

Conținut arhivă zip

  • Demonstrarea Automata a Teoremelor.doc

Alții au mai descărcat și

Baze de Date Multimedia

Baze de date multimedia Definirea conceptelor. Aplicatii. Data base - baza de date - este un grup de fisiere în care este înregistrata o multime...

Aplicații Client Server

Aplicatii client server Studiu de caz- Solutie de gestiune a Resurselor Umane si Salarizarii Solutiile de gestiune economica Mobius, sunt...

Rețele Wireless

RETELE WIRELESS Introducere Cresterea popularitatii retelelor wireless a determinat o scadere rapida a pretului echipamentelor wireless...

Evenimente Naturale care se Autoconsolideaza prin Circuite de Feedback

“Feedback-ul este ceea ce lipsea din stiinta, in afara lui Newton”, spunea omul de stiinta britanic Steve Grand. “Noi credeam ca este un fenomen...

Sisteme bazate pe cunoștințe în conducerea proceselor

Programul realizeaza determinarea procesului de incalzire ,respectiv racire intr-o camera si a timpului (maxim respectiv minim) in functie de trei...

Obiective și Aplicații ale Nanotehnologiei

I. INTRODUCERE Dezvoltarea ştiinţei a demonstrat că cele mai spectaculoase progrese se obţin prin cercetare pluridisciplinară, situată la graniţa...

Aparatură hidraulică

Scheme Hidraulice Prima schema Hidraulica este in figura 1: Figura 1 A doua schema hidraulica este in figura 2 : Figura 2 A treia schema...

Te-ar putea interesa și

Inteligența Artificială

Capitolul 1 Introducere 1.1 Concepte de baza Când s-a vorbit prima data de Inteligenţa Artificială (AI – Artificial Intelligence) în 1956, totul...

Inteligența Artificială în Afaceri

1. Introducere Inteligenţa artificială (IA) este un domeniu care reţine din ce în ce mai mult atenţia economiştilor, managerilor şi celorlalte...

Inteligența Artificială

Când s-a vorbit prima data de Inteligența Artificială (AI, Artificial Intelligence) în 1956, totul părea o utopie, un vis prea frumos pentru a fi...

Prolog limbaj de programare logică

In domeniul programarii calculatoarelor este cunoscuta urmatoarea clasificare a limbajelor de programare: limbaje algoritmice (PASCAL, FORTRAN,...

Reguli de producție

Istoric Modelul regulilor de productie este deosebit de important in inteligenta artificiala deoarece acest model a jucat un rol semnificativ in...

Cursuri inteligență artificială

1.1. Introducere Termenul de inteligenţă artificială a fost folosit pentru prima dată în 1956 de omul de ştiinţă american John McCarthy. Până...

Sisteme Expert Financiar-Bancare

Capitolul 1. Clasificarea sistemelor informatice Clasificarea sistemelor informatice se face în funcţie de anumite criterii, şi anume: [Lungu &...

Componențe inteligente ale sistemelor informatice

COMPONENTE INTELIGENTE ALE SISTEMELOR INFORMATICE INTEGRATE 11.1. Sisteme expert de gestiune (1) Sistemele expert fac parte din ramura...

Ai nevoie de altceva?