Professional Documents
Culture Documents
Wnioskowanie oparte o czynnik pewności charakteryzuje się tzw. propagacją niepweności, tj.
niepewność przesłanek bezpośrednio rzutuje na niepewność konkuzji. Propagacja ta obliczana
jest na podstawie nastepujacego wzoru:
Przykład.
Zalety Wady
w przypadku gdy CF
przesuwa zaufanie bliski 0 - niemożliwe
produkowanych rozróżnienie czy MB i
hipotez MD są takie same
asymptotycznie do (konflikt, bo
pewności, kumulując jednocześnie
miary kolejnych reguł wierzymy i nie) czy
produkujących obie miary są bliskie
rozważane hipotezy. zeru (hipoteza nie
(wprost: zbliżamy się może być
do pewności) potwierdzona ani
zanegowana)
CF jest symetryczną
miarą - niezależny od
kolejności zapalania
reguł
1
Autorzy: kulfoniasty & switch486
Źródło: wykłady dr Haliny Kwaśnickiej.
O co chodzi?:
Problemy:
Sama gramatyka niewiele pomoże, inteligentny program musi umieć wychwycić znaczenie
2
Autorzy: kulfoniasty & switch486
Źródło: wykłady dr Haliny Kwaśnickiej.
– zmienne: V1,V2,...,Vn
– ich dziedziny (odpowiednio): D1,D2,...,Dn
– ograniczenie qk dla k=
1,2,...,L
• jest zdefiniowane na iloczynach kartezjańskich zbiorów wartości
• jest j-relacją, j∈{1,...,n}: q ∈ D × D × ... × D
–
przegląd zupełny zapewnia znalezienie rozwiązania
–złożoność obliczeniowa: D1xD2x...xDnxE (Di,E – liczności
zbiorów)
1. Algorytm z powrotami
3
Autorzy: kulfoniasty & switch486
Źródło: wykłady dr Haliny Kwaśnickiej.
Przykład:
A i B -> c ; A i C -> D
Probabilistyczna reprezentacja:
P(A) , P(B), P(D)
Przy założeniu niezależności A i B -> P(C) = P(a)*P(B)
Przy braku założenia niezależności A i C mamy P(D) = P(A i C) = P(A) * P(C|A)
4
Autorzy: kulfoniasty & switch486
Źródło: wykłady dr Haliny Kwaśnickiej.
• własności (opisu) akcji: nazwa i opis znaczenia, np. podnieś plok y z bloku z
• warunków wstępnych (precondition): koniunkcja prawdziwych literałów (atomów),
np. ontable(x), (clear y), (empty)
• efektu: koniunkcja literałów (prawdziwych lub negatywnych) opisujących jak zmieni
się sytuacja po wykonaniu akcji (operatora).
Istnieją dwie reprezentacje efektów:
o ADD lista, np. (empty), (clear x)
o DELETE lista, np. (hold y)
5
Autorzy: kulfoniasty & switch486
Źródło: wykłady dr Haliny Kwaśnickiej.
– may_move (Object)
– next_to (Region1, Region2)
– on_top (Support, Object)
6
Autorzy: kulfoniasty & switch486
Źródło: wykłady dr Haliny Kwaśnickiej.
• Dobrze zdefiniowana formuła (Well formed formula, wff) jest predykatem lub
wyrażeniem (z negacją, koniunkcją, dysjunkcją, implikacją, kwantyfikatorami)
• Klauzule:
– są analogiczne do zdań
– są zbudowane z wykorzystaniem predykatów i logicznych łączników
– mogą zawierać uniwersalny kwantyfikator
Dedukcja jest logicznie poprawną metodą wnioskowania, która przy założeniu prawdziwości
reguły zapisanej np. w formie implikacji (p->q) oraz prawdziwości faktu (q) dedukuje
prawdziwość konkluzji q. (np. p: pada deszcz, q: jest mokro; p->q: jesli pada deszcz to jest
mokro; z prawdziwosci p: pada deszcz oraz przewdziwości implikacji p->q wnioskujemy: jest
mokro (q jest prawdziwe)). Dedukcja znajduje zastosowanie w systemach produkcyjnych
Abdukcja, analogicznie do indukcji, nie jest logicznie poprawną metodą wnioskowania, ale w
przeciwieństwie do indukcji a analogicznie do dedukcji, w abdukcji dysponujemy zbiorem
ogólnych reguł rządzących modelowanym światem. Zakładając prawdziwość konkretnej
reguły (p->q) i obserwując jej konkluzję (q), dedukujemy prawdziwość przesłanki (p).
Przykład: p: człowiek jest pijany; q: nie może iść prosto; p->q: jeśli człowiek jest pijany to nie
może iść prosto; zakładamy prawdziwość p->q i obserwujemy prawdziwe q: iksiński nei idzie
prosto; wniosek: iksiński jest pijany
7
Autorzy: kulfoniasty & switch486
Źródło: wykłady dr Haliny Kwaśnickiej.
• Czy system ma za zadanie wyciąganie ogólnych wniosków na temat świata jaki został
mu przedstawiony za pomocą faktów (zaobserwowanych - true).
-- FCh
• Czy system ma móc sprawdzać, czy w świecie istnieją fakty (są zaobserwowane - są
true), które odpowiadałyby za konkretną (wybraną) konsekwencję.
-- BCh
• System zaczyna ze zbiorem reguł prawdziwych w danym momencie i określa to co
jest prawdziwe na mocy istniejących w nim reguł - nie ma celu okreslonego.
[wynik: wiele faktów]
-- FCh
• System ma określony cel i sprawdzane jest czy ten cel jest 'prawdzowy' w danym
świecie (fakty + reguły).
[wynik: poprawność wybranej konkluzji, lub jej brak]
-- BCh
• Można by powiedzieć, że FCh zazwyczaj działa dłużej od BCh (zależy od konstrukcji
reguł w bazie).
Wnioskowanie w przód:
Wnioskowanie w tył:
Backward Chaining
1. Określ konkluzję
2. Przeszukaj listę konkluzji, znajdź nazwę konkluzji
3. Ustal IF klauzule w części IF (warunki) reguły
4. Jeśli jedna z klauzul IF nie ma wartości, i nie jest zmienna konkluzji, zapytaj
użytkownika o jej wartość
8
Autorzy: kulfoniasty & switch486
Źródło: wykłady dr Haliny Kwaśnickiej.
5. Jeśli jest zmienna konkluzji w innej regule, zapisz numer tej reguły na wierzch stosu
konkluzji i idź do kroku 3
6. Jeśli wyrażenie na wierzchu stosu nie może być ustalone za pomocą tej reguły, usuń go ze
stosu i wyszukaj na liście konkluzji innego wyrażenia z tą zmienną
7. Jeśli znajdziesz, idź do kroku 3.
8. Jeśli nie ma więcej konkluzji na stosie z ta nazwą, to reguła dla poprzedniej konkluzji jest
fałszywa. Jeśli nie ma poprzedniej konkluzji, nie można znaleźć odpowiedzi. Jeśli jest, wróć
do kroku 6
9. Powtórz powyższe (idąc do 3) aż żadnej innej zmiennej konkluzji nie ma w kolejce
9
Autorzy: kulfoniasty & switch486
Źródło: wykłady dr Haliny Kwaśnickiej.
17. Omow wnioskowanie w tyl algorytm kiedy stosujemy wady zalety przyklad.
Ktore z wnioskowan (dedukcja, indukcja, abdukcja) stosuje sie w tym wnioskowaniu?
• podobnie jak wnioskowanie w przód, oparte na dedukcji (ale spojrzenie jest "od tyłu")
• znając cel, szukamy reguł przy pomocy których można go osiągnąć, tj. takie reguły
które mają cel po stronie konkluzji
• jeżeli znajdziemy taką regułe, lub reguły, przy pomocy których udowodnimy że
poprzednik implikacji, która implikuje postawiony cel, jest prawdziwy, to
udowodnimy cel
• jest algorytmem depth-first search, czy li występują problemy w przypadku
niepełności bazy wiedzy lub powtarzania się stanów
•
Algorytm:
1. Określ konkluzję
2. Przeszukaj listę konkluzji, znajdź nazwę konkluzji
3. Ustal IF klauzule w części IF (warunki) reguły
4. Jeśli jedna z klauzul IF nie ma wartości, i nie jest zmienna konkluzji, zapytaj
użytkownika o jej wartość
5. Jeśli jest zmienna konkluzji w innej regule, zapisz numer tej reguły na wierzch stosu
konkluzji i idź do kroku 3
6. Jeśli wyrażenie na wierzchu stosu nie może być ustalone za pomocą tej reguły, usuń go ze
stosu i wyszukaj na liście konkluzji innego wyrażenia z tą zmienną
7. Jeśli znajdziesz, idź do kroku 3.
8. Jeśli nie ma więcej konkluzji na stosie z ta nazwą, to reguła dla poprzedniej konkluzji jest
fałszywa. Jeśli nie ma poprzedniej konkluzji, nie można znaleźć odpowiedzi. Jeśli jest, wróć
do kroku 6
9. Powtórz powyższe (idąc do 3) aż żadnej innej zmiennej konkluzji nie ma w kolejce
Zalety
Wady
10
Autorzy: kulfoniasty & switch486
Źródło: wykłady dr Haliny Kwaśnickiej.
Kiedy stosujemy
• diagnostyka, np. medyczna, kiedy znamy stan obecny a chcemy ustalić przyczyny
• ogólne sytuacje w których od problemu (celu) dochodzimy do przyczyn.
•
• dziedzinę zmiennych
• funkcję rozwiązującą problem
11
Autorzy: kulfoniasty & switch486
Źródło: wykłady dr Haliny Kwaśnickiej.
Wady:
Zalety
• sprawdza do przodu
• eliminuje zmienne nie spełniające ograniczeń ze WSZYSTKICH dziedzin
• pusta dziedzina jakiejś zmiennej = nie tędy droga. trzeba tę wartość odrzucić
• jeżeli wszystkie wartości danej zmiennej zostaną odrzucone (przejrzymy wszystkie
wartości z dziedziny i nie będą spełniać ograniczeń) to zawracamy
Przeszukiwanie wszystkich dziedzin, z kótymi łączy się dana zmienna może odbywać się
równoczesnie
Moje zdanie
osobiście wybrałbym rozwiązanie z rozproszeniem w oparciu o funkcję rrozwiązujacą
problem i wykorzystującą algorytm Forward Checking, ponieważ zapewnia on większą
efektywnośc, dzieki wykorzystaniu algorytmu FC. ponadto charakterystyka tego algorytmu
pozwala na dalsze usprawnienia m.in. wprowadzenie kolejnego problemu równoległości
12
Autorzy: kulfoniasty & switch486
Źródło: wykłady dr Haliny Kwaśnickiej.
Dwa podejścia:
Całościowe
– bierze się pod uwagę wszystkie cechy całego rozpoznawanego obiektu
– podejmuje się decyzję o jego przynależności w jednym etapie (jednym akcie decyzyjnym)
– np. metody oparte na pojęciu odległości w przestrzeni cech, metody oparte na metodach
aproksymacji funkcji przynależności podejście na metodach probabilistycznych, nawiązujące
do statystyki, itp.
Strukturalne
– w rozpoznawanym obiekcie wyróżnia się najpierw określone elementy
– ustala się ich wzajemne relacje (wykorzystując wybrane i pomierzone cechy)
– właściwe rozpoznawanie dokonywane jest na podstawie strukturalnego opisu,
uwzględniającego wszystkie wykryte elementy i wszystkie ustalone relacje
– metody podejmowania decyzji są bardziej złożone i nawiązują m.in. do metod
lingwistycznych (wykorzystywanych w technikach programowania)
– podejście to jest bardziej złożone i mniej efektywne
Rysuneczek...
•Tilt – prosta prostopadła (normalna) do powierzchni
•Slant – kąt pomiędzy normalną a linią wzroku
•strzałki są narysowane w kierunku 'tilt',
•ich długość jest proporcjonalna do 'slant'
13
Autorzy: kulfoniasty & switch486
Źródło: wykłady dr Haliny Kwaśnickiej.
1. Primal Sketch
• 1 krok – analiza surowego obrazu jako struktury zmian poziomu szarości
• Efekt – baza opisów cech – krawędzi
• Cechy opisane w 'primal sketch' są trzech rodzajów: krawędzie (edges), słupki 'bars' i
plamki 'blobs'
Coś o liniach wirtualnych - raczej głupoty... podobnie w pozostałych przypadkach, same hasła
powinny wystarczyć...
08. Omow wnioskowanie z logika rzomyta podaj tez krotki przyklad zalety i
wady
Logika wielowartościowa.... taki rozkład pozostałych wartości w przedziale 0-1. np. {0; 1/3,
2/3, 3/3}
14
Autorzy: kulfoniasty & switch486
Źródło: wykłady dr Haliny Kwaśnickiej.
15
Autorzy: kulfoniasty & switch486
Źródło: wykłady dr Haliny Kwaśnickiej.
• Podczas wnioskowania sprawdza się, czy dana reguła może być zastosowana, tzn. czy
spełnione są jej przesłanki.
Przykład:
R1: jeśli A i B to Z i Y i R2: jeśli C i D to Z i Y
Siła R1 = min(wartość przynależności A, wartość przynależności B),
Siła R2 = min(wartość przynależności C, wartość przynależności D),
Siła akcji X = Siła R1,
Siła akcji Y = Siła R2,
Siła akcji Z = max(Siła R1, Siła R2) =
= max{min(wartość przynależności A, wartość przynależności B),
min(wartość przynależności C wartość przynależności D)}.
Example:
Załóżmy, że:
Rozmyty zbiór SLOWLY zdefiniowany jest dla X ∈ [0, 40],
Rozmyty zbiór MEDIUM zdefiniowany jest dla X ∈ [30 70],
Punkty obcięcia dla SLOWLY są: X1=6, X2=34, µ=0.6 ,
Punkty obcięcia dla MEDIUM są: X3= 34, X4= 66, µ=0.4,
16
Autorzy: kulfoniasty & switch486
Źródło: wykłady dr Haliny Kwaśnickiej.
Inne rozmyte wartości nie zostały wywnioskowane (ich siła jest równa zero),
Centroid dla SLOWLY = 20,20
Centroid dla MEDIUM=50.
• Ostra wartość wyjścia jest obliczana jako średnia ważona współrzędnych centroidów x
i obliczonych pól, z polami jako wagami
Przykład - wyostrzanie:
Centroid (T=SLOWLY)=20,
Centroid (X=MEDIUM)=50,
Pole obciętej figury SLOWLY=0,6·(40+28)/2 = 20,4,
Pole obciętej figury MEDIUM=0,4·(40+32)/2 = 14,4.
17
Autorzy: kulfoniasty & switch486
Źródło: wykłady dr Haliny Kwaśnickiej.
Cel SE, a zatem również cały system ekspertowy (jego system produkcji) jest
dekomponowalny na podcele jeśli można każdy z tych podceli wywnioskować w oparciu o
częsciowe bazy danych (podsystemy). Ponadto cel musi być spełniany przez pewną logiczną
funkcje podceli, z któych każdy może być rezultatem niezależnego procesu wnioskowania w
podzielonej bazie danych.
Czyli jeżeli mamy drzewo które zmierza do celu, to jeśli wybierzemy sobie dowolne
poddrzewa, to te poddrzewa będa podsystemami, w któych regułami są krawedzie, a faktami
są wierzchołki. Korzeń drzewa w danym podsystemie, jest tym podcelem, którego funkcją
powinien być cel systemu, czyli po polsku: cel końvowy musi zależec od celu, korzenia
drzewa, z tego podsystemu.
Przykłąd:
18
Autorzy: kulfoniasty & switch486
Źródło: wykłady dr Haliny Kwaśnickiej.
Baza wiedzy:
IF INTEREST=FALL THEN STOCK=RISE
IF INTEREST=RISE THEN STOCK FALL
IF DOLLAR=FALL THEN INTERES=RISE
IF DOLLAR=RISE THEN INTEREST=FALL
IF FEDIN=FALL AND FEDMON=ADD THEN INTEREST=RISE
Generalnie w wykładach jest jeszcze rysunek pseudo implementacyjny, który jest trywialny i
głupi...
19
Autorzy: kulfoniasty & switch486
Źródło: wykłady dr Haliny Kwaśnickiej.
Cechy metody:
20
Autorzy: kulfoniasty & switch486
Źródło: wykłady dr Haliny Kwaśnickiej.
Systemy produkcji:
• commutative (zamienne, niezależne od kolejności reguł)
• noncommutative (niezamienne, zależne od kolejności reguł) -> 05.
Można więc:
21
Autorzy: kulfoniasty & switch486
Źródło: wykłady dr Haliny Kwaśnickiej.
Przykład.
Wnioskowanie w tył:
Backward Chaining
1. Określ konkluzję
2. Przeszukaj listę konkluzji, znajdź nazwę konkluzji
3. Ustal IF klauzule w części IF (warunki) reguły
4. Jeśli jedna z klauzul IF nie ma wartości, i nie jest zmienna konkluzji, zapytaj użytkownika o jej wartość
5. Jeśli jest zmienna konkluzji w innej regule, zapisz numer tej reguły na wierzch stosu konkluzji i idź do
kroku 3
6. Jeśli wyrażenie na wierzchu stosu nie może być ustalone za pomocą tej reguły, usuń go ze stosu i wyszukaj na
liście konkluzji innego wyrażenia z tą zmienną
7. Jeśli znajdziesz, idź do kroku 3.
8. Jeśli nie ma więcej konkluzji na stosie z ta nazwą, to reguła dla poprzedniej konkluzji jest fałszywa. Jeśli nie
ma poprzedniej konkluzji, nie można znaleźć odpowiedzi. Jeśli jest, wróć do kroku 6
9. Powtórz powyższe (idąc do 3) aż żadnej innej zmiennej konkluzji nie ma w kolejce
Baza wiedzy:
IF DEGREE NO THEN POSITION NO
IF DEGREE=YES THEN QUALIFY=YES
IF DEGREE=YES AND DISCOVERY=YES
THEN POSITION=RESEARCH
IF QUALIFY=YES AND GRADE < 3.5 AND EXPERIENCE ≥ 2
THEN POSITION=SERVICE ENGINEER
IF QUALIFY=YES AND GRADE < 3.5 AND EXPERIENCE < 2
THEN POSITION=NO
IF QUALIFY=YES AND GRADE ≥ 3.5
THEN POSITION=PRODUCT ENGINEER
22
Autorzy: kulfoniasty & switch486
Źródło: wykłady dr Haliny Kwaśnickiej.
Przykład.
Problem trzech hetmanów. Każda kolumna to jest inna zmienna, 3 możliwe wartości. Kazdy
proces otrzymuje jedną zmienną. kazdy proces zakłada że zna zmienna w jednej kolumnie i
poszukuje wartości dla dwóch pozostałych kolumn. Poszukiwanie rozwiązania jest
niezależne. Dla każdego podproblemu może być inny algorytm ale nie musi.
23