Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Metody reprezentacji wiedzy – cz. 2.

Podobne prezentacje


Prezentacja na temat: "Metody reprezentacji wiedzy – cz. 2."— Zapis prezentacji:

1 Metody reprezentacji wiedzy – cz. 2.
Andrzej Macioł

2 Ograniczenia rachunku zdań
Firma jest dobrym dostawcą jeśli jego cena jest niska i jakość surowca jest dobra Firma jest dobrym dostawcą jeśli jego cena jest niska i jakość surowca jest średnia

3 Rachunek predykatów Rozszerzenie rachunku zdań o kwantyfikatory:
„dla każdego” -  „istnieje takie że” -  Predykat: wyrażenie W(x), które staje się prawdziwe lub fałszywe gdy w miejsce zmiennej x podstawimy stałą W przypadku jednej zmiennej i bez kwantyfikatorów nie różni się od rachunku zdań

4 Rachunek predykatów Rachunek predykatów pozwala na uogólnienie stwierdzeń z przedmiotów indywidualnych na klasy przedmiotów. Predykat to orzecznik wskazujący na fakt, że dany obiekt należy do danej klasy lub posiada określoną cechę. Na przykład: zdanie złożone: inwestowanie w fundusz obligacji i w fundusz akcji i w fundusz zrównoważony i .... nie wymaga wiedzy ekonomicznej można przedstawić jako zdanie: dla każdej formy inwestowania, inwestowanie w fundusz nie wymaga wiedzy ekonomicznej – gdzie forma inwestowania jest zmienną nazwową (argumentem predykatu), inwestowanie w fundusz jest predykatem (orzecznikiem: ta forma inwestowania jest inwestowaniem w fundusz)

5 Zapis predykat: inwestowanie_w_fundusz(forma_inwestowania) reguła:
nie_wymaga_wiedzy_ekonomicznej(forma_inwestowania)

6 Predykat z jednym argumentem
Predykat cena(x) niewiele różni się od zmiennej zdaniowej cena jeśli cena = korzystna to …. w tym przypadku pytamy wprost czy cena jest korzystna jeśli korzystna_cena(x) to … w tym przypadku pytamy czy cena 10zł jest korzystna

7 Predykaty wieloargumentowe
Na przykład w rachunku zdań: jeżeli Kowalski jest pracownikiem działu księgowości i premia w dziale księgowości wynosi 10% to płaca Kowalskiego wynosi 110% jeżeli Kozłowski jest pracownikiem działu księgowości i premia w dziale księgowości wynosi 10% to płaca Kozłowskiego wynosi 110%

8 Predykaty wieloargumentowe
W rachunku predykatów: jeżeli jest_pracownikiem(X, Y)  premia(Y, Z) → płaca(X, V) jest_pracownikiem(Kowalski, księgowość) jest_pracownikiem(Kozłowski, księgowość) premia(księgowość, 10%) płaca(Kowalski, 110%) płaca(Kozłowski, 110%)

9 Alfabet teorii C = {c1, c2, c3, … } – zbiór symboli stałych
V = {v1, v2, v3, … } – zbiór symboli zmiennych F = {f1, f2, f3, … } – zbiór symboli funkcji P = {p1, p2, p3, … } – zbiór symboli predykatów , , , ,  – symbole spójników logicznych ,   – symbole kwantyfikatorów

10 Przykłady Stałe: dobry, średni, 100, czerwony Zmienne: x, y, z
Funkcje, które mogą być zastąpione predykatami Predykaty, które mogą być zastąpione funkcjami

11 Przykłady predykat: zaufany_klient(x) predykat, funkcja i stała
zaufany_klient(doswiadczenie(x),dobre) predykat, funkcja i zmienna zaufany_klient(doswiadczenie(x), y)

12 Ekspresyjność funkcji
Bez funkcji: warunki_płatności(X, korzystne) → dobry_dostawca(X) Z funkcją: Warunki_płatności(X) przyjmuje wartości {korzystne, niekorzystne} dobry_dostawca(Warunki_płatności(X), korzystne )

13 Termy Każda stała ze zbioru C = {c1, c2, c3, … } jest termem
Każda zmienna ze zbioru V = {v1, v2, v3, … } jest termem Jeśli t1, t2, …, tn są termami, a f jest n-argumentową funkcją, wówczas f(t1, t2, …, tn) jest termem Zbiór termów nie zwiera innych elementów niż te, których konstrukcja opisana jest powyższymi regułami

14 Termy Termy są argumentami predykatów
Termami są stałe, zmienne lub funkcje jest_samochodem(fiat_126_p) jest_samochodem(X) jest_upadły(f(długi,majątek)) gdzie

15 Formuły złożone Każda formuła atomowa jest formułą
Jeśli P jest formułą, to formułami jest również P Jeśli P i Q są formułami, to formułami są również: P  Q, P  Q, P  Q, P  Q Jeśli P jest formułą, a x jest zmienną, formułami są również: x P oraz x P Nie istnieją inne formuły poza tymi, które można utworzyć stosując powyższe reguły

16 Zasada rezolucji rezolwenta

17 Klauzule Literał – formuła postaci ~a lub a, gdzie a jest dowolna formułą atomową Literały ~a i a nazywamy literałami komplementarnymi Klauzula – alternatywa dowolnej skończonej liczby literałów (formuła bez kwantyfikatorów) Każdy zbiór poprawnie zbudowanych formuł można przekształcić w zbiór klauzul

18 Klauzule Horna Klauzula Horna to klauzula , która ma jeden literał pozytywny Pozytywna klauzula Horna: może być w sposób równoważny przedstawiona jako:

19 Klauzule Horna Z rachunku kwantyfikatorów mamy, że:
wtedy i tylko wtedy Klauzula jest tezą w rachunku kwantyfikatorów wtedy i tylko wtedy, gdy prawa jej strona wynika logicznie z lewej

20 Klauzule Horna - zapis informatyków
B1 if A1 and A2 współpracują(X1,X2) if część(X1,wałek) and część(X2,panewka)

21 Rachunek predykatów (przykład)
Fakt1: część(w001,wałek) Fakt2: część(p04,panewka) Fakt3: twardość(w001,wysoka) Reguła1: współpracują(X1,X2) if część(X1,wałek) and część(X2,panewka) Reguła2: twardość (X2,X3) if współpracują (X1,X2) and twardość(X1,X3) wniosek Fakt: twardość(p04,wysoka)

22 Dedukowanie Podstawiamy X1=w001, X2=p04

23 Prolog Inference Engine

24 Dialog

25

26

27

28

29

30

31

32 Logika atrybutowa - alfabet
O – zbiór symboli obiektów A – zbiór symboli nazw atrybutów D – zbiór symboli wartości atrybutów V – zbiór symboli zmiennych , , , ,  – symbole spójników logicznych ,  – symbole kwantyfikatorów

33 Logika atrybutowa – formuły atomowe
atrybut jest pewnym odwzorowaniem ze zbioru O do podzbioru zbioru D Ai(o) = d lub Ai(o)  t

34 Logika atrybutowa – formuły złożone
Każda formuła atomowa jest formułą Jeśli A jest formułą, to A jest również formułą Jeśli A i B są formułami to, to A  B, A  B, A  B, A  B również są formułami Jeśli A jest formułą, a X jest zmienną, to X(A) oraz X(A) również są formułami Nie istnieją inne formuły poza tymi, które można utworzyć stosując powyższe reguły

35 Logika atrybutowa – odmiany
AAL– Atomic Attribute Logic SAL – Set Attribute Logic VAAL – Variable Atomic Attribute Logic VSAL – Variable Set Attribute Logic

36 Logika atrybutowa – formuły
(A1= d1)  (A2 = d2)  … (An = dn)  (H = h) (Cena = niska)  (Jakość = wysoka)  (Ocena = dobry) Rachunek zdań: „Produkt = low cost”  „Udział braków <10%”  (Ocena = dobry) „Produkt = standard”  „Udział braków <5%”  (Ocena = dobry)

37 Logika atrybutowa – przewaga
Logika atrybutowa i zmienne: RodzajProduktu = „low cost”  X = 10% RodzajProduktu = „ standard”  X = 5% Udział braków < X  (Ocena = dobry)

38 Logika opisowa Logika opisowa opiera się na koncepcji uniwersum, które ma reprezentować dziedzinę problemu Elementami tego uniwersum są indywidua, inaczej zwane osobnikami Osobniki są wystąpieniami konceptów Oprócz konceptów i ich wystąpień istnieją jeszcze relacje, które oznaczają powiązania pomiędzy konceptami Relacje w terminologii logiki opisowej nazywa się rolami Role mogą być tylko binarne

39 Logika opisowa - elementy
Koncepty atomowe (np. Kobieta, Mężczyzna, Osoba, Dziecko) Role atomowe (np. posiadaDziecko, maBrata) Osobniki (np. Jan, Maria) T – koncept uniwersalny, oznacza uniwersum  – koncept pusty , oznacza koncept, który nie posiada żadnych wystąpień Operatory, zwane również konstruktorami

40 Logika opisowa – operatory języka ALC
C – negacja konceptu C C  D – koniunkcja konceptów C  D – dysjunkcja konceptów R.C – ograniczenie istnienia, tj. zbiór osobników, które są przynajmniej raz powiązane rolą R z osobnikiem należącym do konceptu C R.C – ograniczenie wartości, tj. zbiór osobników, których wszystkie istniejące powiązania rolą R dotyczą osobników konceptu C

41 Logika opisowa – rozszerzenia
hierarchię ról (np. posiadaCórkę  posiadaDziecko singletony (np. {Polska}) role odwrotne (jestDzieckiem  posiadaDziecko) ograniczenia ilościowe (np. 2posiadaDziecko)

42 Logika opisowa w zapisie ontologii
Terminologia (oznacza się symbolem TBox) Opis świata (oznacza się symbolem ABox)

43 Zbiór TBox Mężczyzna  Osoba Kobieta  Osoba Kobieta  Meżczyzna  
Rodzic  Osoba  maDziecko.Osoba Ojciec  Mężczyzna  Rodzic Matka  Kobieta  Rodzic

44 Zbiór ABox Kobieta(Agnieszka) Kobieta(Wiktoria) Mężczyzna(Kacper)
Mężczyzna(Zbigniew) maDziecko(Agnieszka, Wiktoria) maDziecko(Agnieszka, Kacper) maDziecko(Zbigniew, Kacper)

45 Język Rebit reguły pakiet wiedzy pakiet funkcji zbiory reguł
siatki decyzyjne tabele decyzyjne przesłanki konkluzje termy funkcje zmienne stałe typy danych

46 Rebit - Organizacja bazy wiedzy

47 Definicja typów danych, stałych, zmiennych oraz funkcji
Baza wiedzy w systemie REBIT zawiera elementy, które przechowują lub przetwarzają dane: jednowartościowe (single) wielowartościowe (multiple) Do pełnej charakterystyki danych wielowartościowych konieczne jest określenie relacji porządku: uporządkowane (ordered) nieuporządkowane (unordered) Dane wielowartościowe nieuporządkowane posiadają wszelkie cechy by nazywać je zbiorami. Dane wielowartościowe uporządkowane są zbliżone w sensie matematycznym do pojęcia ciągu, a w ujęciu programistycznym odpowiadają koncepcji listy lub tablicy.

48 Typy danych Pojęcie typu (lub dziedziny) odnosi sie do elementów bazy wiedzy, które przechowują lub przetwarzają dane. Do tego rodzaju elementów należą stałe, zmienne oraz funkcje. Typ określa przestrzeń możliwych wartości, jakie może przyjmować element. W systemie REBIT istnieją dwie główne kategorie typów: typy podstawowe (basic types) typy okrojone (constrained types) W obecnej wersji dopuszczalne są następujące typy podstawowe: liczby całkowite (integer) liczby rzeczywiste (real) tekstowy (string) logiczny (boolean)

49 Typy danych System REBIT dopuszcza dwie kategorie typów okrojonych:
typy wyliczeniowe (enum type) typy interwałowe (range type) Typy wyliczeniowe definiuje się ekstensjonalnie poprzez specyfikację wszystkich możliwych elementów. Elementy typu wyliczeniowego mogą przyjmować wartości należące do jednego z trzech typów podstawowych: rzeczywisty, całkowity i tekstowy. Typy interwałowe definiuje się poprzez podanie lewego i prawego końca przedziału oraz opcjonalne dodatniego kroku (step > 0). Typ interwałowy bez kroku reprezentuje wszystkie liczby rzeczywiste leżące w zadanym przedziale. Typ interwałowy z ustalonym krokiem reprezentuje wybrane liczby rzeczywiste (a w szczególnych przypadkach całkowite) z podanego przedziału.

50 Zmienne Zmienne służą do przechowywania danych, które w trakcie procesu wnioskowania mogą podlegać zmianom. Zmienne są elementami języka, które wymagają definicji. Definicja musi zawierać nazwę zmiennej oraz typ (dziedzinę) danych przechowywanych przez zmienną. Nazwa zmiennej musi być unikalna w obrębie całej bazy wiedzy. Typem danych przechowywanych przez zmienną może być jeden z typów podstawowych albo jeden z typów okrojonych. Jako że zmienne są elementami, który przechowują dane, definicja zmiennej wymaga podania krotności (multiplicity) oraz porządku (ordering).

51 Funkcje Funkcje służą do specyfikacji operacji na danych. Każda funkcja musi zwracać pewne dane. Funkcje, podobnie jak zmienne, są elementami języka, które muszą być definiowane. Definicja funkcji wymaga podania nazwy funkcji, typu (dziedziny) danych zwracanych przez funkcję oraz typu parametrów funkcji Definicja funkcji wymaga podania krotności (multiplicity) oraz porządku (ordering) dla wszystkich parametrów funkcji oraz dla danych zwracanych przez funkcje Definicja funkcji zawiera jedynie informacje o danych wejściowych i wyjściowych, i w żaden sposób nie precyzuje wewnętrznych szczegółów algorytmu realizowanego przez funkcje

52 Stałe Stałe są najprostszym elementem języka, przeznaczonym do przechowywania danych, które nie podlegają zmianom. W odróżnieniu od zmiennych i funkcji stałe nie wymagają odrębnej sekcji definiującej. Są definiowane doraźnie w momencie pojawienia się w regule.

53 Termy Term reprezentuje każdorazowe wystąpienie stałej, zmiennej lub funkcji w przesłance lub konkluzji reguły. Termy będące wystąpieniami stałych noszą nazwę termów stałych, termy będące wystąpieniami zmiennych nazywa się termami zmiennymi i przez analogie na termy reprezentujące wystąpienie funkcji używa się określenia termy funkcyjne. O ile termy stałe i zmienne są stosunkowo prostymi konstrukcjami, o tyle termy funkcyjne, ze względu na obecność argumentów, już takimi konstrukcjami nie są. Argumentem termu funkcyjnego może term stały lub zmienny. Dopuszcza się również, by argumentem termu funkcyjnego mogła być inny term funkcyjny, co w efekcie prowadzi do struktury o charakterze drzewa. Nie nakłada się ograniczeń na liczbę poziomów zagnieżdżania w strukturze termów.

54 Termy Mając na uwadze stopień złożoności termów, wynikający z możliwości zagnieżdżania, rozróżnia się: termy proste termy złożone Do termów prostych zalicza się termy stałe oraz zmienne. Termy złożone to termy składające się z innych termów. Jedynym przedstawicielem termu złożonego jest term funkcyjny. Ponieważ term jest elementem przechowującym dane, stosują się do niego wszystkie atrybuty dla tego rodzaju elementów, a w szczególności typ, czyli dziedzina wartości oraz krotność i porządek. W przypadku termów zmiennych i funkcyjnych wartość tych atrybutów jest określona poprzez zmienną i funkcję, której są wystąpieniami. Term stały w odróżnieniu od pozostałych jest jednocześnie definicją stałej. W związku z tym wymagana jest specyfikacja typu, krotność oraz porządku. Funkcja jest specyfikacją operacji możliwej do wykonania. Używając terminologii programistycznej, funkcja jest w istocie deklaracją pewnej operacji. Dopiero term funkcyjny wyraża fakt użycia zadeklarowanej wcześniej funkcji. Związek o identycznym charakterze występuje pomiędzy zmienną a termem zmiennym.

55 Termy - przykłady Przykład 2.1. Termy stałe
2 – term prosty reprezentujący stałą jednowartościową {„angielski”, „niemiecki”, ”francuski”} – term prosty reprezentujący stałą wielowartościową nieuporządkowaną [3, 6, 1, 2]– term prosty reprezentujący stałą wielowartościową uporządkowaną Przykład 2.2. Termy zmienne Podatek – term prosty reprezentujący zmienną o nazwie Podatek We wszystkich poniższych przykładach wykorzystano nawiasy kwadratowe „[” i „]”do oznaczenia danych wielowartościowych uporządkowanych oraz nawiasy klamrowe „{” i „}”do oznaczenia danych wielowartościowych nieuporządkowanych.

56 Termy - przykłady Przykład 2.3. Termy funkcyjne.
add(X, 2)– term złożony reprezentujący funkcję dodawania; argumentami są term zmienny X i term stały 2 ln(Y) – term złożony reprezentujący funkcję do obliczania logarytmu naturalnego; argumentem jest term zmienny Y max([3, 7, 1, 10]) – term złożony reprezentujący funkcję do znajdowania maksimum; argumentem termu funkcyjnego jest term stały, wielowartościowy, uporządkowany multiply(ln(Y), 3)– term złożony, zagnieżdżony reprezentujący funkcję mnożenia (term nadrzędny) oraz funkcję do obliczania logarytmu naturalnego (term podrzędny)

57 Formuły atomowe są elementarnymi wyrażeniami logicznymi, przyjmującymi wartości prawdy lub fałszu. Na formułę atomową składa się term lewostronny, term prawostronny oraz operator relacyjny. W notacji Backusa-Naura formułę atomową zapisuje się następująco: <LHTerm> <operator> <RHTerm> gdzie: <LHTerm> – term lewostronny <RHTerm> – term prawostronny <operator> – operator relacji

58 Dostępność operatorów w zależności od rodzaju termu

59 Formuły atomowe z termami stałymi MultipleUnordered-MultipleUnordered.
{1, 2, 3}  {1, 2, 3, 4} – prawda {1, 2, 3, 4}  {1, 2, 3} – prawda {1, 2, 3}  {2, 3, 4} – fałsz {1, 2, 3}  {0, 3} – prawda

60 Formuły atomowe z termami stałymi MultipleOrdered-MultipleOrdered
[1, 5, 3]  [1, 5, 3, 0] – prawda [1, 2, 3]  [1, 2, 3, 4] – prawda [1, 2, 3]  [2, 3, 4, 5] – fałsz [1, 2, 3]  [3, 2, 1] – fałsz [1, 2, 3]  [1, 2, 3] – fałsz [1, 2, 3]  [4, 5, 6] – prawda [1, 2, 3]  [1, 2, 4] – prawda [1, 2, 3]  [3, 2, 1] – prawda

61 Formuły atomowe ze zmiennymi, stałymi i funkcjami
X = 2 Przychód > Koszty Stawka  [20, 30, 40] add(X, 2)  ln(Y)

62 Reguły RULE r: IF <premise> THEN <conclusion> gdzie:
r – identyfikator reguły <premise> – przesłanka reguły <conclusion> – konkluzja reguły

63 Przesłanki Przesłanki reguły mają postać koniunkcji formuł atomowych:
<atom_#1> and <atom_#2> and ... and <atom_#n> gdzie : <atom_#i> – i-ta formuła atomowa and – operator koniunkcji

64 Konkluzje Konkluzja reguły zawiera jedną formułę atomową z dodatkowymi ograniczeniami. Ograniczenia odnoszą się do termu występującego po lewej stronie formuły oraz dopuszczalnych operatorów. Term lewostronny musi być termem zmiennym, a jedynym dopuszczalnym operatorem jest operator „=”, interpretowany w tym przypadku jako podstawienie wartości termu z prawej strony pod zmienną występującą po lewej stronie. <Variable> = <RHTerm> gdzie: <Variable> – zmienna <RHTerm> – term

65 Reguły - przykłady RULE 1: IF (X > 2) and (Y = 2) THEN Z = „dobry”
RULE 2: IF GatunekStali = „St32” THEN ZamiennikGatunku = {„St32”, „S235”, „DC01”}

66 Dialekty Dialekty języka REBIT związane są z poziomem ekspresji wynikającym z rodzaju dopuszczalnych termów. Ze względu na rodzaj termu rozróżnia się dwa dialekty: Basic Complex W dialekcie o nazwie Basic dopuszczalne są jedynie termy stałe i zmienne. Reguły w dialekcie Complex mogą zawierać wszystkie rodzaje termów.

67 Tabele decyzyjne

68 Siatki decyzyjne


Pobierz ppt "Metody reprezentacji wiedzy – cz. 2."

Podobne prezentacje


Reklamy Google