132
Artificial Intelligence, Knowledge Engineering Grzegorz J. Nalepa <[email protected]> Katedra Automatyki AGH wiosna 2011 c by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 1 / 131

Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Artificial Intelligence, Knowledge Engineering

Grzegorz J. Nalepa <[email protected]>

Katedra Automatyki AGH

wiosna 2011

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 1 / 131

Page 2: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 2 / 131

Page 3: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

=WYK.1=

Wykład: Sztuczna Inteligencja

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 3 / 131

Page 4: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

=WYK.1=�� ��Plan wykładu

1 Czym jest SI?

2 Perspektywa historyczna

3 Stan obecny

4 Systemy Inteligentne, krajobraz

5 AI w nauce

6 Na koniec

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 4 / 131

Page 5: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Czym jest SI?�� ��Plan punktu: Czym jest SI?

1 Czym jest SI?Definicje S.I.Test TuringaPodstawy naukoweSystemy Inteligentne

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 5 / 131

Page 6: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Czym jest SI?�� ��Czym jest SI?

sztuczna inteligencja (ang. artificial intelligence):1 artefakt, coś sztucznego2 inteligencja. . .

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 6 / 131

Page 7: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Czym jest SI?�� ��Kłopot. . .

Torsun stwierdza [3]:Intelligence is easier to recognize than to be given a precise

definition. . .(and this book is not about to give a definition of intelligence)

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 7 / 131

Page 8: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Czym jest SI? Definicje S.I.�� ��Czym jest SI?

Russel i Norvig wyodrębniają 4 podejścia do definiowania SI: [2]Systemy Inteligentne to takie, które:

1. myślą jak człowiek 2. myślą racjonalnie3. działają jak człowiek 4. działają racjonalnie

Tablica: Definicje SI

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 8 / 131

Page 9: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Czym jest SI? Definicje S.I.�� ��Dalsze komplikacje

Czym jest

myślenieracjonalność

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 9 / 131

Page 10: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Czym jest SI? Definicje S.I.�� ��Próby rozwiązań

1 kognitywistyka (GPS, Newell & Simon)2 logicyzm (Frege) w S.I, twarda S.I.3 test Turinga (A. Turing)4 konstruowanie systemów działających racjonalnie

racjonalność – umiejętność realizowania postawionych celów

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 10 / 131

Page 11: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Czym jest SI? Test Turinga�� ��Test Turinga

rozumienie języka naturalnegoreprezentacja wiedzyautomatyczne wnioskowaniesamouczeniewiedza o świecie

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 11 / 131

Page 12: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Czym jest SI? Test Turinga�� ��Test Turinga

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 12 / 131

Page 13: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Czym jest SI? Podstawy naukowe�� ��Czym jest SI?

Za Russelem i Norvigiem: [2]filozofia. . .matematykapsychologiainformatykalingwistyka, kognitywistyka, inne

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 13 / 131

Page 14: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Czym jest SI? Podstawy naukowe�� ��Matematyka

korzenie w logice: definicje, twierdzeniageometria: aksjomaty, dowodywczesne średniowiecze, wkład filozofów Arabskichformalizacja języka: George Boole 1847, Gottlog Frege 1879problemy i granice możliwości: David Hilbert 1900, Kurt Godel 1930teoria obliczeń: Turing 1936, Churchzłożoność obliczeniowa: NP-zupełność, Cook 1971, Karp 1972prawdopodobieństwo: Fermat, Pascal, Bernoulli, Laplace, Bayes

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 14 / 131

Page 15: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Czym jest SI? Podstawy naukowe�� ��Psychologia

początki w filozofii: np. Humebehawioryzmkognitywistyka. . .

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 15 / 131

Page 16: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Czym jest SI? Podstawy naukowe�� ��Maszyny liczące

Pascal, Leibniz (dodawanie, odejmowanie, mnożenie), XVII w.Babbage, Ada Lovelace (uniwersalna maszyna programowalna), XVIII w.II Wojna Światowa: Turing –Enigma (specjalizowany), Konrad Zuse – Z3(programowalny), Atanasoff – ABC (elektroniczny)Colossus, ENIAC, EDVAC – architektura von Neumanna

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 16 / 131

Page 17: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Czym jest SI? Podstawy naukowe�� ��Lingwistyka, kognitywistyka, cybernetyka

Chomsky, Syntactic StructuresLem. . . Summa Technologiaeautomatyka, cybernetyka

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 17 / 131

Page 18: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Czym jest SI? Systemy Inteligentne�� ��Systemy Inteligentne

Współcześnie przyjmuje się, że S.I. zajmuje się konstruowaniem „systemówinteligentnych”.Częściej mówi się o (intelligent) knowledge-based systems, systemach opartych owiedzę.Ullman [4] definiuje KBS jako:

1 pozwalający na przechowywanie wiedzy (potrzeba metody reprezentacji)2 dostarczający deklaratywnego mechanizmu operowania na tej wiedzy

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 18 / 131

Page 19: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Czym jest SI? Systemy Inteligentne�� ��Cechy systemów inteligentnych

Torsun [3] następująco charakteryzuje cechy inteligentnych systemów opartych owiedzę:

rozpoznawanie zróżnicowanych obiektów, przedmiotów i/lub pojęć,podejmowanie decyzji co do tego jakie czynności, operacje wykonać na tychobiektach (zrealizować cel),przeprowadzanie rozumowania (szeroko rozumianego), wnioskowania(logicznego),planowanie działań i adaptacja do zmiennych warunków,możliwość uczenia, samouczenie,podejmowanie decyzji w sytuacjach sprzecznych celów czy wymagań,wymiana informacji i współpraca z innymi systemami w celu realizacjizadania,poszukiwanie możliwych rozwiązań problemu przy pomocy różnych strategii iprzy spełnieniu postawionych ograniczeń (optymalizacja),

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 19 / 131

Page 20: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Czym jest SI? Systemy Inteligentne�� ��Brak realizacji

Systemów mających wszystkie cechy IKBS (prawdopodobnie?) na dzień dzisiejszynie ma. . .

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 20 / 131

Page 21: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Perspektywa historyczna�� ��Plan punktu: Perspektywa historyczna

2 Perspektywa historycznaPoczątki 43-56Gwałtowny rozwój 56-60.Rozczarowania 60.-70Systemy ekspertowe 70.-80.Dywergencja

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 21 / 131

Page 22: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Perspektywa historyczna Początki 43-56�� ��Początki 43-56

McCulloch, Pitts: 1943, model ANN równoważny maszynie Turinga (okazałsię błędny)Minsky, Edmonds, przy wsparciu von Neumanna: 1. komputer party o ANNShannon: 1950, teoria informacji, badania nad grą w szachyMcCarthy: 1956 workshop nt. AI

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 22 / 131

Page 23: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Perspektywa historyczna Gwałtowny rozwój 56-60.�� ��Gwałtowny rozwój 56-60.

McCarthy: LISP, program Advice TakerMinsky: frames, ANNRosenblatt: perceptron,Newell, Simon: GPS (analiza cel-środek), podstawy logiczne,Feingenbaum: ELIZAZadeh: Fuzzy Sets,

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 23 / 131

Page 24: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Perspektywa historyczna Rozczarowania 60.-70�� ��Rozczarowania 60.-70

problemy z inżynierią wiedzy (reprezentacja)problemy ze złożonością obliczeniowąbłędne formułowanie problemówUK: 1973 Lighthill, US: 1966,

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 24 / 131

Page 25: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Perspektywa historyczna Systemy ekspertowe 70.-80.�� ��Systemy ekspertowe 70.-80.

DENDRAL – analiza związków chemicznych, podstawy inżynierii wiedzy,wiedza dziedzinowa, reprezentacja regułowa, 1969MYCIN – diagnostyka chorób krwi, separacja bazy wiedzy od mechanizmuwnioskującego (RBS), reprezentacja niepewnościPROSPECTOR – rozpoznawanie minerałów, reguły i sieci semantyczne,akwizycja wiedzyw połowie lat 80. ponad 200 udanych wdrożeń ES, na początku 90. ponad2500

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 25 / 131

Page 26: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Perspektywa historyczna Dywergencja�� ��Dywergencja

rozwój ES i RBSrozwój ANN, nowe algorytmy uczenia, modele neuronów i struktury siecimetody ewolucyjne, w tym GArozwój metod soft, w tym GA, ANN, FLcomputing with words, zbiory rozmyte i analiza języka naturalnegomachine learning, knowledge discovery

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 26 / 131

Page 27: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Stan obecny�� ��Plan punktu: Stan obecny

3 Stan obecny

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 27 / 131

Page 28: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Stan obecny�� ��Stan obecny

podział na KBS i CompAIdywergencja i specjalizacjazastosowania: rozpoznawanie, wspomaganie decyzji, inteligentne sterowaniezastosowania na co dzień w dostępnych technologiachdziedziny/problemy pochodne, np: Data Mining, Knowledge Discovery,Computational Linguistics, Web Intelligence, Semantic Websystemy heterogenicznebrak dziedziny jako takiej?

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 28 / 131

Page 29: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Systemy Inteligentne, krajobraz�� ��Plan punktu: Systemy Inteligentne, krajobraz

4 Systemy Inteligentne, krajobraz

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 29 / 131

Page 30: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Systemy Inteligentne, krajobraz�� ��Podsumowanie

Za Hopgoodem [1]:dwie główne klasy intelligent systems:

1 knowledge-based systems2 computational intelligence

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 30 / 131

Page 31: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Systemy Inteligentne, krajobraz�� ��Krajobraz

NeuralNetworks

AlgorithmsGenetic

SimulatedAnnealing

AutomataCellularAgents

Objects

FramesRough Sets

Fuzzy

Rule−Based

BayesianBelief Nets

Logic

ExpertSystems

Systems

ComputationalIntelligence

Knowledge−Based

Systems

Intelligent Systems

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 31 / 131

Page 32: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

AI w nauce�� ��Plan punktu: AI w nauce

5 AI w nauce

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 32 / 131

Page 33: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

AI w nauce�� ��Organizacje

ECCAI

European Coordinating Committee for Artificial Intelligencefile://www/eccai-www.pdf file://www/ecai-topics.pdf

IJCAI

International Joint Conference on Artificial Intelligence

AAAIAssociation for the Advancement of Artificial Intelligence

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 33 / 131

Page 34: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Na koniec�� ��Plan punktu: Na koniec

6 Na koniec

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 34 / 131

Page 35: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Na koniec�� ��AIMA

Artificial Intelligence: A Modern Approach (Third edition) by Stuart Russell andPeter Norvig

http://aima.cs.berkeley.edufile://www/aimawww.pdf

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 35 / 131

Page 36: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Na koniec�� ��Emacs Doctor

M-x doctor

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 36 / 131

Page 37: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Na koniec�� ��Dilbert

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 37 / 131

Page 38: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

=WYK.2=

Wykład: Wprowadzenie do systemówekspertowych

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 38 / 131

Page 39: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

=WYK.2=�� ��Plan wykładu

7 Wstęp

8 Wprowadzenie do inżynierii wiedzy

9 Systemy regułowe

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 39 / 131

Page 40: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

=WYK.2=�� ��ES Motto

An expert is one who does not have to think. He knows.– Frank Lloyd Wright

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 40 / 131

Page 41: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Wstęp�� ��Plan punktu: Wstęp

7 WstępHistoria systemów ekspertowychStruktura systemów ekspertowychObecny stan technologii

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 41 / 131

Page 42: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Wstęp Historia systemów ekspertowych�� ��Historia systemów ekspertowych

SE są na dzień dzisiejszy jedną z ważniejszych technologii SI, która odniosłasukces.Zaczęły powstawać w latach 70. po serii rozczarowań wieloma „cudownymi”technologiami SI.Ugruntowały swoją pozycję na rynku w latach 80. i 90.Zawdzięczają sukces mniej ambitnym celom jakie postawili twórcy.

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 42 / 131

Page 43: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Wstęp Historia systemów ekspertowych�� ��Założenia SE

SE ma zastąpić lub wspomóc eksperta dziedzinowego.Z definicji, jego wiedza dotyczy określonej, zawężonej dziedziny.Używa dobrze zdefiniowanych metod reprezentacji wiedzy.Przetwarza zgromadzoną wiedzę w określony sposób.Pozwala na rozszerzanie posiadanej wiedzy.Jest prosty w obsłudze dla użytkowników.

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 43 / 131

Page 44: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Wstęp Struktura systemów ekspertowych�� ��Ogólna struktura ES

problem-specific

solution

problem-specific

data

relevant knowledge

specify problem-solvingDeclarations that

procedures

Domain-independent

domain knowledgecode executing

INFERENCE ENGINE

KNOWLEDGE BASE

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 44 / 131

Page 45: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Wstęp Struktura systemów ekspertowych�� ��Praca z ES

Acquisition/ModificationKnowledge

Module

RepresentationKnowledge

and explanation

I/O interfacefor query

Inference Engine

EXPERT USER

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 45 / 131

Page 46: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Wstęp Struktura systemów ekspertowych�� ��Architektura ES

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 46 / 131

Page 47: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Wstęp Obecny stan technologii�� ��Obecny stan technologii

Na dzień dzisiejszy SE „dobrze się zadomowiły” i zdecydowanie„spowszechniały”.Są najczęsciej spotykane w: wspomaganiu decyzji (np. CRM), diagnostyce,inteligentnym sterowaniu.Istnieje szereg dojrzałych pakietów pozwalających na ich integrację zistniejącym oprogramowaniem.Regułowe SE znajdują coraz szerze zastsowanie w wysokopoziomowymmodelowaniu „logiki biznesowej”.Ze względu na różnorodność zastosowań ES wciąż trwają prace nad ichefektywnym projektowaniem.

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 47 / 131

Page 48: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Wprowadzenie do inżynierii wiedzy�� ��Plan punktu: Wprowadzenie do inżynierii wiedzy

8 Wprowadzenie do inżynierii wiedzyMetody reprezentacji wiedzyLogika jako model wiedzyReguły decyzyjneTablice decyzyjneDrzewa decyzyjneInne metody reprezentacjiZagadnienia inżynierskiePozyskiwanie wiedzyWeryfikacja wiedzyZarządzanie wiedzą

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 48 / 131

Page 49: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Wprowadzenie do inżynierii wiedzy�� ��KE Motto

The greatest enemy of knowledge is not ignorance,it is the illusion of knowledge.– Stephen Hawking

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 49 / 131

Page 50: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Wprowadzenie do inżynierii wiedzy Metody reprezentacji wiedzy�� ��Czym jest wiedza?

Wiedzato najczęściej 1) ugruntowane 2) prawdziwe 3) przekonanie

Reprezentacjasymboliczny model wiedzy, usystematyzowany sposób jej zarejestrowania czyzakodowania

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 50 / 131

Page 51: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Wprowadzenie do inżynierii wiedzy Metody reprezentacji wiedzy�� ��Problematyka reprezentacji

składniasematykapragmatykasiła wyrazumożliwości przetwarzaniazupełnośćskalowalnośćwspomaganie projektowania: elastyczność, wsparce dla narzędzi

W praktyce podstawowe (b. efektywne) są metody oparte na logice.

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 51 / 131

Page 52: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Wprowadzenie do inżynierii wiedzy Logika jako model wiedzy�� ��Logika jako model wiedzy

Rachunek zdańw praktyce ten prosty system logiczny bywa wystarczający dla reprezentacji wieluSE.

Różne postaciwykorzystując rachunek zdań można konstruować metody oparte na regułach,tablicach, czy drzewach decyzyjnych.

Rachunek predykatówniektóre systemy reprezentacji i przetwarzania opierają się na tym systemie(bardziej zaawansowanym), jest on w pełni wystarczający. . .

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 52 / 131

Page 53: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Wprowadzenie do inżynierii wiedzy Reguły decyzyjne�� ��Postaci reguł

Podstawowa reguła

rule : p1 ∧ p2 ∧ . . . ∧ pn −→ h. (1)

logicznie równoważna klauzuli Horna

Reguła za złożną konkluzją

rule : p1 ∧ p2 ∧ . . . ∧ pn −→ h1 ∧ h2 ∧ . . . hk . (2)

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 53 / 131

Page 54: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Wprowadzenie do inżynierii wiedzy Reguły decyzyjne�� ��Odpalanie reguły

Odpalanie, aktywacja (ang. firing, activation) reguły ma miejsce po jej wyborzeprzez mechanizm wnioskujący, przy spełnieniu przesłanek.Fakt h jest dedukowalny z bazy faktów FB przy pomocy reguły ri wtw gdy ri jestpostaci:

ri : p1 ∧ p2 ∧ . . . ∧ pn −→ h (3)

oraz poprzez stan bazy faktów FB są spełnione jej przesłanki. Jeżeli regułę uznaćza implikację, powyższe odpowiada regule Modus Ponens.

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 54 / 131

Page 55: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Wprowadzenie do inżynierii wiedzy Tablice decyzyjne�� ��Tablice decyzyjne

logicznie odpowiadają regułomsą wygodne z inżynierskiego p. widzeniaw klasycznym przypadku używają reprezentacji binarnejw zaawansowanych przypadkach opierają się na logice atrybutowej (tabliceOAT)

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 55 / 131

Page 56: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Wprowadzenie do inżynierii wiedzy Tablice decyzyjne�� ��Przykład tablicy OAT

attrib1 . . . attribn action1 . . . actionn

v11 . . . v1n w11 . . . w1n...

.... . .

......

. . .vn1 . . . vnn wn1 . . . wnn

Tablica: An Object-Attribute-Value table

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 56 / 131

Page 57: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Wprowadzenie do inżynierii wiedzy Drzewa decyzyjne�� ��Drzewa decyzyjne

A

>=4

B

on

off

stop

C

<0

D

other

8

off

stop

>0

off<4

C

>0

off

on

<0

Proste drzewo binarne (mogą być bardziej złożone).

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 57 / 131

Page 58: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Wprowadzenie do inżynierii wiedzy Inne metody reprezentacji�� ��Inne metody reprezentacji

Poza metodami logicznymi używane są też inne metody reprezentacji.Mogą wspomagać kodowanie i przetwarzanie języka naturalnego.Są przydatne w fazie konceptualizacji systemu.

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 58 / 131

Page 59: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Wprowadzenie do inżynierii wiedzy Inne metody reprezentacji�� ��Grafy

składnia: węzły (wierzchołki), krawędzie (łuki)sieć: ważony graf skierowanygraf pojęciowy: reprezentuje zależności pomiędzy pojęciami

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 59 / 131

Page 60: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Wprowadzenie do inżynierii wiedzy Inne metody reprezentacji�� ��Sieci semantyczne

wariant reprezentacji grafowejwęzły – pojęciałuki – skojarzenia, powiązania, zależnościbrak standaryzacjiproblemy przy złożonych dziedzinach pojęciowych

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 60 / 131

Page 61: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Wprowadzenie do inżynierii wiedzy Inne metody reprezentacji�� ��Przykład sieci semantycznej

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 61 / 131

Page 62: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Wprowadzenie do inżynierii wiedzy Inne metody reprezentacji�� ��Ontologie

dojrzała reprezentacja grafowaoparte na zunifikowanych metodach sieci semantycznychstandaryzowane reprezentacjeburzliwy rozwój przy okazji systemów agentowych i Sieci Semantycznej

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 62 / 131

Page 63: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Wprowadzenie do inżynierii wiedzy Inne metody reprezentacji�� ��Fasety

Stworzone w latach 70. przez M. Minsky’ego (ang. frames)antycypacja metod semantycznych i obiektowychprzydatne w systemach ekspertowych bazujących na modelach systemów, czyw CBR

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 63 / 131

Page 64: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Wprowadzenie do inżynierii wiedzy Inne metody reprezentacji�� ��Przykład faset

Animals

Alive: T

Birds

Legs: 2

Flies: T

pigeon

Claws: F

Hounts

Predator: F

hawk

Claws: T

Predator: T

Afraid of

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 64 / 131

Page 65: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Wprowadzenie do inżynierii wiedzy Inne metody reprezentacji�� ��Przykład faset

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 65 / 131

Page 66: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Wprowadzenie do inżynierii wiedzy Inne metody reprezentacji�� ��Model Obiektowy

inspirowany metodami SIgłówne zastosowanie w inżynierii oprogramowaniaczasami używany w SI i SEobiektowe rozszerzenia LISP (CLOS)

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 66 / 131

Page 67: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Wprowadzenie do inżynierii wiedzy Zagadnienia inżynierskie�� ��Zagadnienia inżynierskie

inżynieria wiedzy (ang. knowledge engineering), pozyskiwanie i kodowaniewiedzyjest to proces re/konstrukcji wiedzy eksperta przy pomocy metodyreprezentacjibiorą w nim udział przynajmniej: ekspert, inżynier, ew. programistaszerzej przez KE rozumie się konstruowanie SE jako takiego

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 67 / 131

Page 68: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Wprowadzenie do inżynierii wiedzy Pozyskiwanie wiedzy�� ��Pozyskiwanie wiedzy

transfer wiedzy z pewnego źródła do artefaktucelem pozyskiwania jest konceptualizacja i zakodowanie wiedzy ekspertajest to trudne ze względu na różne „artefakty” i różne reprezentacje

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 68 / 131

Page 69: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Wprowadzenie do inżynierii wiedzy Pozyskiwanie wiedzy�� ��Kategoryzacja wiedzy

deklaratywna/proceduralnaskładniowa/sematycznaepizodyczna, eksperymentalnameta-wiedzajawna/niejawna

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 69 / 131

Page 70: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Wprowadzenie do inżynierii wiedzy Pozyskiwanie wiedzy�� ��Metody pozyskiwania wiedzy

1 wiedzę pozyskuje się od eksperta: wywiad, analizadziedziny/procesu/zadania/sytuacji, symulacje, automatyczne pozyskiwanieprzy pomocy narzędzi

2 inżynier staje się ekspertem3 uczenie maszynowe systemu

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 70 / 131

Page 71: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Wprowadzenie do inżynierii wiedzy Weryfikacja wiedzy�� ��Weryfikacja wiedzy

problemy: weryfikacja, walidacja, ewaluacja, optymalizacjasą to problemy krytyczne dla zapewnienia bezpiecznej, wydajnej pracysystemu.

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 71 / 131

Page 72: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Wprowadzenie do inżynierii wiedzy Zarządzanie wiedzą�� ��Zarządzanie wiedzą

nowe, „modne” pojęciegłównie w organizacjach biznesowych, firmach, środowiskach ekonomicznychwiąże się z zagadnieniami: przepływu, dzielenia, utrzymywania, transferuwiedzy w organizacji, grupieistotne, mało konkretne, brak narzędzi

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 72 / 131

Page 73: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Systemy regułowe�� ��Plan punktu: Systemy regułowe

9 Systemy regułoweArchitektura systemów regułowychRegułowa reprezentacja wiedzyPodstawy logiczneInterpretacja regułRozwiązywanie konfliktów regułModele inerpreterówProblematyka projektowania

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 73 / 131

Page 74: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Systemy regułowe Architektura systemów regułowych�� ��Przesłanki

inteligencja kieruje się najczęściej regułami i formułuje regułyinteligencję kojarzy się najczęściej z regularnym, powtarzalnym (w kontekście)zachowaniemregularność wyraża się przez regułysą one naturalną metodą reprezentacji wiedzystały się podstawą najważniejszych systemów ekspertowychRegułowych Systemów Ekspertowych (ang. RBS)

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 74 / 131

Page 75: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Systemy regułowe Architektura systemów regułowych�� ��Architektura systemów regułowych

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 75 / 131

Page 76: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Systemy regułowe Regułowa reprezentacja wiedzy�� ��Regułowa reprezentacja wiedzy

Ogólna regułaIF < precondition > THEN < conclusion >

pre/warunki, przesłanki muszą być spełnione aby dojść do konkluzji, wniosku,podjąć działanie.

FaktyPrzesłanki i konkluzja zawierają pewne fakty (prawdziwe stwierdzeniabezwarunkowe). Mogą one być proste lub złożone, w zależności od języka.

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 76 / 131

Page 77: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Systemy regułowe Regułowa reprezentacja wiedzy�� ��Tworzenie SR

Do zbudowania SR potrzebne są:odpowiednia regułowa reprezentacja wiedzymechanizm wnioskującynarzędzia do zakodowania powyższych

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 77 / 131

Page 78: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Systemy regułowe Podstawy logiczne�� ��Podstawy logiczne

rachunek zdańrachunek predykatówrachunek atrybutów

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 78 / 131

Page 79: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Systemy regułowe Interpretacja reguł�� ��Interpretacja reguł

Proces odpalania reguły składa się z:1 sprawdzenia czy warunki reguły są spełnione2 wyciągnięcie wniosku, podjęcie działania3 powrót do głównej pętli przetwarzania

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 79 / 131

Page 80: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Systemy regułowe Interpretacja reguł�� ��Wybór reguły

Schemat strategii

utworzenie zbioru dostępnych regułwybór reguł możliwych do odpalenia (zbiór konfliktowy)wybór reguły z w.w. zbioru

Używane strategie

wnioskowanie wprzód, dedukcja (sterowane danymi)wnioskowanie wstecz, abdukcja (sterowane celem), przeszukiwanie wgłąb (np.Prolog), wszerz,podejścia hybrydowe

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 80 / 131

Page 81: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Systemy regułowe Rozwiązywanie konfliktów reguł�� ��Rozwiązywanie konfliktów reguł

Problem nie występuje w systemach deterministycznych.Istnieje szereg strategii, w zależności od potrzeb:

domyślna strategia (1. reguła),szeregowanie reguł, np. wg priorytetówograniczanie kontekstu działania reguł

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 81 / 131

Page 82: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Systemy regułowe Modele inerpreterów�� ��Interpreter liniowy

rule i

rule 1

rule 2

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 82 / 131

Page 83: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Systemy regułowe Modele inerpreterów�� ��Interpreter hierarchiczny

rule i

rule 1

rule 2

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 83 / 131

Page 84: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Systemy regułowe Modele inerpreterów�� ��Interpreter liniowy z przełączaniem reguł

rule i

rule 1

rule 2

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 84 / 131

Page 85: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Systemy regułowe Modele inerpreterów�� ��Interpreter liniowy z przełączaniem kontekstu

rule i

rule 1

rule 2

rule i,j

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 85 / 131

Page 86: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Systemy regułowe Problematyka projektowania�� ��Cykl życia SE

IdentificationIdentify problemchararteristics

representing knowledgeFind concepts

Conceptualization

organizing knowledgeDesign structure

Formalization

ImplementationFormulate rules

embodying knowledge

Testing

organizing knowledgeValidate rules

VERIFICATION

Requirements

Concepts

Structure

Rules

Refinements

Redesigns

Reformulations

Reformulations

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 86 / 131

Page 87: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

=WYK.3=

Wykład: Wprowadzenie do Prologu

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 87 / 131

Page 88: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

=WYK.3=�� ��Plan wykładu

10 Historia języka

11 Cechy języka

12 Składnia języka

13 Unifikacja

14 Rezolucja

15 Strategia wnioskowania

16 Wybrane mechanizmy

17 Implementacje

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 88 / 131

Page 89: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Historia języka�� ��Plan punktu: Historia języka

10 Historia językaPodstawy teoretycznePierwsze implementacjeProlog dzisiaj

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 89 / 131

Page 90: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Historia języka�� ��Historia języka

NazwaPROgramation en LOGique, PROgramming in LOGic

Cechy szczególne

język nie tylko sformalizowany lecz niejako formalnybliski językowi naturalnemu, przetwarzanie symboliczneduża siła wyrazuodległy od rozpowszechnionych paradygmatów

Rozwój

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 90 / 131

Page 91: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Historia języka��

��Historia języka (cont.)

stworzenie silnych podstaw formalnych, logika matematycznapowstanie koncepcji teoretycznej, pomysł na programowanie w logiceprototypowe implementacjerozwój i euforiastagnacja?

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 91 / 131

Page 92: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Historia języka Podstawy teoretyczne�� ��Podstawy teoretyczne

Logic programmingKoncepcja użycia logiki jako języka opisu i przetwarzania wiedzy.

reguła rezolucji J. A. Robinson, A machine-oriented logic based on theresolution principle, Journal of the Association for Computing Machinery,1965.R. Kowalski, Predicate Logic as Programming Language, Memo 70,Department of Artificial Intelligence, Edinburgh University. 1973.A. Colmerauer et al., Un System de Communication Homme-Machine enFrancais, Grope de Recherche en Intelligence Artificielle, Universited’Aix-Marseille,R. Kowalski, Predicate logic as a programming language, Proceedings ofIFIP-74, 1974.

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 92 / 131

Page 93: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Historia języka Pierwsze implementacje�� ��Pierwsze implementacje

1 pierwszy prototypowy interpreter, Colmerauer i Roussel, Universited’Aix-Marseille, 1972.

2 prace Warrena, doktorat w Department of Artificial Intelligence, EdinburghUniversity, 1977.

3 pierwszy efektywny interpreter David H. D. Warren An abstract Prologinstruction set, Technical Note 309, SRI International, Menlo Park, CA,October 1983.

4 koncepcja WAM, efektywna implementacja zarządzania pamięcią iprogramowania

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 93 / 131

Page 94: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Historia języka Prolog dzisiaj�� ��Prolog dzisiaj

Fifth Generation Computer Systems project (FGCS), 1982-92dojrzałe implementacje w latach 90.dynamiczny rozwój innych komputerów i językówsystemy ekspertowe jako gotowe rozwiązaniapowrót do systemów inteligentnych w XXI w.szereg dobrych implementacji i narzędzi

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 94 / 131

Page 95: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Cechy języka�� ��Plan punktu: Cechy języka

11 Cechy języka

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 95 / 131

Page 96: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Cechy języka�� ��Cechy języka

język deklaratywny, a nie proceduralny, „co” vs. „jak”język relacyjny, a nie funkcyjny, „procedury” (predykaty) nie mają klasycznierozumianego we/wyprzetwarzanie symboliczne, nie numeryczneprogramowanie wielopoziomowe, rekursja i meta-programowanie,samomodyfikowalny kodbrak poleceń, czy słów wbudowanychsilne mechanizmy formalne:

unifikacja, porównywanie i uzgadnianie złożonych, parametryzowanychstruktór danych,rezolucja, automatycznie wnioskowanie,strategia automatycznego przeszukiwania przestrzeni rozwiązań.

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 96 / 131

Page 97: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Składnia języka�� ��Plan punktu: Składnia języka

12 Składnia języka

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 97 / 131

Page 98: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Składnia języka�� ��Składnia języka

podstawą jest FOPL,wykorzystuje się FOPL ograniczony do klauzul Horna, pozwalającyh naefektywne programowanieobiekty są reprezentowane przez termy (stała, zmienna, funktorf (t1, t2, . . . , tn))wiedza jest reprezentowana przez fakty, formuły atomiczne, klauzule proste,p(t1, t2, . . . , tn)

zmienne logiczne służą do parametryzacji termów, określania niewiadomych

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 98 / 131

Page 99: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Składnia języka��

��Składnia języka (cont.)

Reguły, klauzule złożone

¬p1 ∨ ¬p2 ∨ . . .¬pk ∨ q

p1 ∧ p2 ∧ . . . ∧ pk ⇒ q

q ⇐ p1 ∧ p2 ∧ . . . ∧ pk .

q : −p1, p2, . . . , pk .

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 99 / 131

Page 100: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Unifikacja�� ��Plan punktu: Unifikacja

13 UnifikacjaPrzykłady unifikacji

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 100 / 131

Page 101: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Unifikacja�� ��Unifikacja

podstawianieJest to odwzorowanie skończonego zbioru termów w zbiór zmiennych.Wykorzystywane są do zamiany, skonkretyzowania wartości zmiennych w termach iformułach. Złożenie podstawień jest podstawieniem.

unifikowalnośćDwa termy (dwie formuły atomowe) t1 i t2 nazywamy unifikowalnymi wtw gdyistnieje podstawienie σ, takie, że t1σ = t2σ. Podstawienie σ nazywamyunifikatorem dla t1 i t2.

najogólniejszy unifikator (mgu)

Unifikator σ termów t1, t2 jest najogólniejszym unifikatorem wtw dla każdegoinnego unifikatora ν termów t1, t2 istnieje podstawienie λ, takie że ν = σλ(złożenie).

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 101 / 131

Page 102: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Unifikacja��

��Unifikacja (cont.)

OpisPoszukiwanie mgu polega na sekwencyjnym przeszukiwaniu i porównywaniutermów. W przypadku różnicy, wykonywana jest próba uzgodnienia (za zmiennąpodstawiany jest term, lub odwrotnie).

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 102 / 131

Page 103: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Unifikacja Przykłady unifikacji�� ��Przykłady unifikacji

?- data(D1, M, 2005) = data(11, grudzien, R).

D1 = 11M = grudzienR = 2005 ;

?- data(D1, M, 2005) = data(D2, grudzien, R).

D1 = _G157M = grudzienD2 = _G157R = 2005 ;

?- data(D1, M, 2005) = data(D2, grudzien, R),data(D1, maj, 2004) = data(10, maj, X).

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 103 / 131

Page 104: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Unifikacja Przykłady unifikacji��

��Przykłady unifikacji (cont.)

D1 = 10M = grudzienD2 = 10R = 2005X = 2004 ;

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 104 / 131

Page 105: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Rezolucja�� ��Plan punktu: Rezolucja

14 RezolucjaRezolucja w Prologu

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 105 / 131

Page 106: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Rezolucja�� ��Rezolucja

SformułowanieProgram w Prologu, P, możemy rozumieć jako złożoną formułę FOPL w postacikoniunktywnej, koniunkcję wszystkich faktów (formuł atomicznych) i reguł.Zadanie polega na pokazaniu, że cel G jest konsekwencja logiczną P.

P |= G (4)

Problem rezolucjiW metodzie rezolucji dowodzimy niewprost, wykazując niespełnialność formuły

P ∧ ¬G (5)

cel jest dopisywany jako zanegowana formuła do bazy wiedzy.

Formuła rezolucji

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 106 / 131

Page 107: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Rezolucja��

��Rezolucja (cont.)

DefinicjaMając dwie klauzule C1 = φ ∨ q1 i C2 = ϕ ∨ ¬q2 oraz σ będący MGU q1 i q2.

φ ∨ q1, ϕ ∨ ¬q2φσ ∨ ϕσ

(6)

Przekształcając klauzule do postaci implikacji dostajemy:

¬φσ ⇒ q1σ, q2σ ⇒ ϕσ

¬φσ ⇒ ϕσ.

Formułę wynikową możemy zapisać: ¬φσ ⇒ ϕσ = φσ ∨ ϕσ

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 107 / 131

Page 108: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Rezolucja Rezolucja w Prologu�� ��Rezolucja w ProloguMając koniunkcję celów q1, q2, . . . , qn należy wykazać, że formuła

¬(q1 ∧ q2 ∧ . . . ∧ qn) ∧ P

jest niespełnialna.Zapis celów w postaci klauzuli Horna:

¬q1 ∨ ¬q2 ∨ . . . ∨ ¬qn (7)

Mając klauzulę w programie

h : −p1, p2, . . . , pm

w postaci klauzuli Horna:

h ∨ ¬p1 ∨ ¬p2 ∨ . . . ∨ ¬pm (8)

używamy rezolucji do otrzymania nowej formuły, celu.Rezolucja przyjmuje postać

¬q1 ∨ ¬q2 ∨ . . . ∨ ¬qn , h ∨ ¬p1 ∨ ¬p2 ∨ . . . ∨ ¬pm(¬p1 ∨ ¬p2 ∨ . . . ∨ ¬pm ∨ ¬q2 ∨ . . . ∨ ¬qn)σ

(9)c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 108 / 131

Page 109: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Rezolucja Rezolucja w Prologu��

��Rezolucja w Prologu (cont.)

Powstaje nowy zbiór celów:

p1σ, p2σ, . . . , pmσ, q2σ, . . . , qnσ

Zadanie polega na stopniowym skracaniu klauzuli opisującej cel, poprzez kolejneetapy wnioskowania opartego na faktach w bazie wiedzy. Zadanie zostajezrealizowane po otrzymaniu pustej klauzuli.Prolog zaczyna od unifikacji pierwszego celu w koniunkcji z nagłówkami kolejnychklazul programu.

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 109 / 131

Page 110: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Strategia wnioskowania�� ��Plan punktu: Strategia wnioskowania

15 Strategia wnioskowaniaPredykat cutPredykat failNegacja

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 110 / 131

Page 111: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Strategia wnioskowania�� ��Strategia wnioskowania

strategia SLD, Linear refutation procedure for Definite clauses with Selectionfunction.liniowośc polega na tworzenie kolejnych rezolwent na podstawie stworzonychw poprzednim kroku algorytmu.algorytm wybiera zawsze lewą ścieżkę w drzewie rozwiązań (ang. depth-firstsearch).w przypadku porażki algorytm nawraca do najbliższej gałęzi poziomwcześniej, (ang. backtracking).mechanizm odpowiada abdukcji logicznej.

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 111 / 131

Page 112: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Strategia wnioskowania Predykat cut�� ��Predykat cut

odcięcie powoduje ograniczenie przeszukiwania drzewa rozwiązańoznaczane jest wykrzyknikiemh : −p1, p2, . . . , pi , pi+1, . . . , pm.

h : −p1, p2, . . . , pi , !, pi+1, . . . , pm.

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 112 / 131

Page 113: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Strategia wnioskowania Predykat fail�� ��Predykat fail

predykat fail powoduje nawrótwymusza przeszukanie innych wariantów

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 113 / 131

Page 114: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Strategia wnioskowania Negacja�� ��Negacja

CWA, cała wiedza o świecie jest podana expliciteco za tym idzie, jeżeli jakiś fakt nie jest konsekwencją logiczną bazy faktów,to jest fałszywy

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 114 / 131

Page 115: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Wybrane mechanizmy�� ��Plan punktu: Wybrane mechanizmy

16 Wybrane mechanizmyOperacje wejścia i wyjściaObsługa bazy faktówOperacje na listachMetaprogramowanie

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 115 / 131

Page 116: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Wybrane mechanizmy Operacje wejścia i wyjścia�� ��Operacje wejścia i wyjścia

Predykat write wypisuje term na wyjście; nl przechodzi do nowej linii.Predykaty see/n, tell/told pozwalają na odczyt, zapis bazy wiedzy z/do pliku.(std. Edyndurski)Poza tym pełna obsługa binarnych plików przez predykaty ISO (strumienie).

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 116 / 131

Page 117: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Wybrane mechanizmy Obsługa bazy faktów�� ��Obsługa bazy faktów

Predykaty asserta/z/1, retracta/a/1 pozwalają na dodawanie, usuwanie faktówdo/z bazy wiedzy, na/do jej początku/końca.Predykat retractall pozwala usuwanie wszystkich zadanych faktów.

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 117 / 131

Page 118: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Wybrane mechanizmy Operacje na listach�� ��Operacje na listach

Lista to uporządkowany zbiór elementów. Elementem może być dowolna strukturadanych w Prologu.Listę zapisujemy:

[a,b,c][2,4,6,ala,ma,kota][]

Każda lista składa się z: głowy (ang. head), która jest zawsze 1. elementem listy,oraz ogona (ang. tail), który jest zawsze listąListę od ogona rozdzielamy operatorem — (pionowa kreska), np.:

?- [X|Y]=[a,b,c,d].

X = aY = [b, c, d] ;

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 118 / 131

Page 119: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Wybrane mechanizmy Operacje na listach��

��Operacje na listach (cont.)

Dekompozycja i strukturalizacja list jest realizowana głównie przez mechanizmunifikacji, a co za tym idzie w.w. notacja jest jej podstawą. Na przykład:

?- [X,Y|Z]=[a,b,c,d].

X = aY = bZ = [c, d] ;

?- [X,Y,a]=[Z,b,Z].

X = aY = bZ = a ;

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 119 / 131

Page 120: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Wybrane mechanizmy Metaprogramowanie�� ��Metaprogramowanie

Prolog dynamicznie generuje nowe cele.Pozwala w szczególności na analizowanie dowolnie złożonego programu.Umożliwia to tworzenie własnych meta-interpreterów, które dynamicznieanalizują kod w Prologu.Można implementować dowolne strategie wnioskowania.

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 120 / 131

Page 121: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Implementacje�� ��Plan punktu: Implementacje

17 ImplementacjeTurbo PrologSWI PrologGNU PrologAmzi! PrologYAP PrologXSBLPA PrologSicstus PrologIF Prolog

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 121 / 131

Page 122: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Implementacje�� ��Implementacje

standard Edynburskistandard ISO

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 122 / 131

Page 123: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Implementacje Turbo Prolog�� ��Turbo Prolog

implementacja Borlanda dla DOSpewne uproszczenia i ograniczenia, np. typy danychmała wydajnośćpewne niezgodności ze stadardemproste środowisko programistyczneduża popularność w Polsce, dydaktyka

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 123 / 131

Page 124: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Implementacje SWI Prolog�� ��SWI Prolog

zaawansowany kompilator i interpreter, rozwijany w Amsterdamie, JanWielemakerdostępność na LGPLzgodność ze standardem ISOduża prędkość i mały rozmiarpraca na wielu platformach: Unix, Windowsinterfejsy do innych języków: C, C++, Javabiblioteki pakietów: Unix, TCP, RDBMS/ODBCpakiety dla SGML, XML, RDFintegracja z GNU Emacsemwww.swi-prolog.org

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 124 / 131

Page 125: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Implementacje GNU Prolog�� ��GNU Prolog

rozwijany we Francji przez Daniela Diazalicencja GPLwsparcie standardu ISObardzo duża wydajność i wydajna kompilacja (generowanie assemblera)wsparcie dla CLPpraca na wielu platformachpauillac.inria.fr/˜diaz/gnu-prolog

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 125 / 131

Page 126: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Implementacje Amzi! Prolog�� ��Amzi! Prolog

zaawansowany projekt komercyjny, dostępny też freeszereg pakietów dodatkowych, w tym do sieci TCPmożliwość wykorzystania w systemach wbudowanychzintegrowane środowisko IDE oparte o Eclipseplatformy Windows/Unixdobra dokumentacja, w tym darmowe książki, podręcznikizastosowania komercyjnewww.amzi.com

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 126 / 131

Page 127: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Implementacje YAP Prolog�� ��YAP Prolog

przenaszalny i zoptymalizowanywysoka wydajnośćrozbudowane funkcje, w tym CLPkompatybilność z SWIlicencja Artistichttp://www.ncc.up.pt/˜vsc/Yap/

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 127 / 131

Page 128: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Implementacje XSB�� ��XSB

oparty o Prolog system dla tworzenia dedukcyjnych baz danychlicencja open-sourcexsb.sourceforge.net

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 128 / 131

Page 129: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Implementacje LPA Prolog�� ��LPA Prolog

komercyjny kompilator Prologunarzędzia wspomagające tworzenie bazy wiedzy, VisiRulesystemów agentowych Chimerapraca tylko na Windowscena rzędu 300 GBPhttp://www.lpa.co.uk

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 129 / 131

Page 130: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Implementacje Sicstus Prolog�� ��Sicstus Prolog

produkt komercyjnybardzo wysoka wydajnośćinterfejsy dla C, C++, .NET, Java, Visual Basic, Tcl/Tkintegracja z GNU Emacsemwsparcie dla CLPwww.sics.se/sicstus

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 130 / 131

Page 131: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Implementacje IF Prolog�� ��IF Prolog

dojrzały pakiet komercyjnyzgodność z ISOpraca na wielu platformachzaawansowane środowisko IDEwpsracie dla CLPwysoka cenawww.ifcomputer.de

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 131 / 131

Page 132: Artificial Intelligence, Knowledge Engineeringhome.agh.edu.pl/~gjn/wiki/_media/dydaktyka:wsi:gjn-lecai2011.pdf · rozumienie języka naturalnego reprezentacja wiedzy automatyczne

Implementacje IF Prolog

Adrain A. Hopgood.Intelligent Systems for Engineers and Scientists.CRC Press, Boca Raton London New York Washington, D.C., 2nd edition,2001.ISBN 0849304563.Stuart Russell and Peter Norvig.Artificial Intelligence: A Modern Approach.Prentice-Hall, 2nd edition, 2002.I. S. Torsun.Foundations of Intelligent Knowledge-Based Systems.Academic Press, London, San Diego, New York, Boston, Sydney, Tokyo,Toronto, 1995.J. D. Ullman.Principles of Database and Knowledge Base Systems, volume 1.Computer Science Press, 1988.

c© by G.J.Nalepa, 2004-11 (AGH) Artificial Intelligence, Knowledge Engineering wiosna 2011 131 / 131