Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Wnioskowanie w systemach sztucznych Wnioskowanie dedukcyjne lub niezawodne jest realizowane zgodnie z zasadami logiki formalnej Wnioskowanie redukcyjne.

Podobne prezentacje


Prezentacja na temat: "Wnioskowanie w systemach sztucznych Wnioskowanie dedukcyjne lub niezawodne jest realizowane zgodnie z zasadami logiki formalnej Wnioskowanie redukcyjne."— Zapis prezentacji:

1 Wnioskowanie w systemach sztucznych Wnioskowanie dedukcyjne lub niezawodne jest realizowane zgodnie z zasadami logiki formalnej Wnioskowanie redukcyjne zakładające, że przesłanka wynika z konkluzji nie jest realizowane zgodnie z zasadami logiki formalnej i w związku z tym jest zawodne

2 Wnioskowanie dedukcyjne reguła modus ponens (reguła odrywania): | A B | A | B

3 Wnioskowanie dedukcyjne | Jeżeli X jest studentem, to X zdał maturę. | X jest studentem. | X zdał maturę. | Jeżeli X jest studentem, to X zdał maturę. | X nie jest studentem. | X nie zdał matury. | Jeżeli X jest studentem, to X zdał maturę. | X zdał maturę. | X jest studentem.

4 Wnioskowanie dedukcyjne reguła modus tollens: | A B | ¬B | ¬A

5 Wnioskowanie dedukcyjne | Jeżeli X jest studentem, to X zdał maturę. | X nie zdał matury. | X nie jest studentem.

6 Wnioskowanie redukcyjne schematy wnioskowania: | A B | A B | ¬A | B | ¬B | A

7 Wnioskowanie redukcyjne | Jeżeli X jest studentem, to X zdał maturę. | X nie jest studentem. | X nie zdał matury. | Jeżeli X jest studentem, to X zdał maturę. | X zdał maturę. | X jest studentem.

8 Metody wnioskowania Wnioskowanie progresywne (w przód) Wnioskowanie regresywne (wstecz) Wnioskowanie mieszane

9 Przykład – przewidywanie bankructwa Oceniamy zagrożenie pewnej firmy bankructwem Pod uwagę bierzemy jego sytuację ekonomiczną (zadłużenie, rentowność) oraz sytuację rynkową (atrakcyjność oferty, zagrożenie ze strony konkurencji)

10 Typy i zmienne TYPES Ocena = "zły", "dobry" OcenaZagrozenia = "wysokie", "niskie", "brak" VARIABLES Zadluzenie: Ocena Rentownosc: Ocena OcenaEkonomiczna: Ocena AtrakcyjnoscOferty: Ocena SytuacjaKonkurencyjna: Ocena OcenaRynkowa: Ocena ZagrozenieBakructwem: OcenaZagrozenia

11 RULE R9 IF OcenaEkonomiczna = "zły" AND OcenaRynkowa = "zły" THEN ZagrozenieBakructwem = "wysokie" RULE R10 IF OcenaEkonomiczna = "zły" AND OcenaRynkowa = "dobry" THEN ZagrozenieBakructwem = "niskie" RULE R11 IF OcenaEkonomiczna = "dobry" AND OcenaRynkowa = "zły" THEN ZagrozenieBakructwem = "niskie" RULE R12 IF OcenaEkonomiczna = "dobry" AND OcenaRynkowa = "dobry" THEN ZagrozenieBakructwem = "brak"

12 RULE R1 IF Zadluzenie = "zły" AND Rentownosc = "zły" THEN OcenaEkonomiczna = "zły" RULE R2 IF Zadluzenie = "zły" AND Rentownosc = "dobry" THEN OcenaEkonomiczna = "zły" RULE R3 IF Zadluzenie = "dobry" AND Rentownosc = "zły" THEN OcenaEkonomiczna = "dobry" RULE R4 IF Zadluzenie = "dobry" AND Rentownosc = "dobry" THEN OcenaEkonomiczna = "dobry"

13 RULE R5 IF AtrakcyjnoscOferty = "zły" AND SytuacjaKonkurencyjna = "zły" THEN OcenaRynkowa = "zły" RULE R6 IF AtrakcyjnoscOferty = "zły" AND SytuacjaKonkurencyjna = "dobry" THEN OcenaRynkowa = "dobry" RULE R7 IF AtrakcyjnoscOferty = "dobry" AND SytuacjaKonkurencyjna = "zły" THEN OcenaRynkowa = "zły" RULE R8 IF AtrakcyjnoscOferty = "dobry" AND SytuacjaKonkurencyjna = "dobry" THEN OcenaRynkowa = "dobry"

14 Wnioskowanie wprzód

15

16

17 Zaczynamy od faktu Zadłużenie = zły Szukamy odpowiednich reguł Sprawdzamy, czy fakt Rentownosc = zły RULE R1 IF Zadluzenie = "zły" AND Rentownosc = "zły" THEN OcenaEkonomiczna = "zły"

18 Wnioskowanie wprzód Fakt nie jest prawdziwy regułę zaznaczamy jako wykorzystaną i szukamy kolejnej Fakt Rentownosc = dobry jest prawdziwy RULE R2 IF Zadluzenie = "zły" AND Rentownosc = "dobry" THEN OcenaEkonomiczna = "zły"

19 Wnioskowanie wprzód Odpalamy regułę, rejestrujemy nowy fakt OcenaEkonomiczna = zły i zapisujemy do stosu faktów Szukamy kolejnej reguły, w przesłankach której mamy fakt Zadłużenie = zły Takiej reguły już nie ma – usuwamy fakt ze stosu faktów i pobieramy kolejny

20 Wnioskowanie wprzód Załóżmy, że jest to fakt Rentowność = dobry Wśród niewykorzystanych reguł poszukujemy odpowiedniej: RULE R4 IF Zadluzenie = "dobry" AND Rentownosc = "dobry" THEN OcenaEkonomiczna = "dobry"

21 Wnioskowanie wprzód Sprawdzamy czy fakt Zadłużenie = dobry jest prawdziwy Ponieważ nie jest, regułę zaznaczmy jako wykorzystaną i szukamy kolejnej odpowiedniej Nie ma już żadnej takiej reguły – niczego nowego już nie wydedukujemy Usuwamy fakt ze stosu i pobieramy kolejny

22 Wnioskowanie wstecz

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38 Stawiamy hipotezę, np. ZagrożenieBankructwem = brak Silnik szuka reguł, w których konkluzją jest taki fakt: RULE R12 IF OcenaEkonomiczna = "dobry" AND OcenaRynkowa = "dobry" THEN ZagrozenieBakructwem = "brak"

39 Wnioskowanie wstecz Sprawdzamy, czy prawdziwe są przesłanki Pierwsza to OcenaRynkowa = dobry Szukamy reguły, w której występuje taka konkluzja: RULE R8 IF AtrakcyjnoscOferty = "dobry" AND SytuacjaKonkurencyjna = "dobry" THEN OcenaRynkowa = "dobry"

40 Wnioskowanie wstecz Sprawdzamy, czy prawdziwe są przesłanki Pierwsza to SytuacjaKonkurencyjna = dobry Szukamy reguły, w której występuje taka konkluzja – nie ma takiej reguły Silnik pyta o wartość logiczną tego faktu Jeżeli fakt jest prawdziwy to weryfikujemy kolejną przesłankę, jeśli nie to szukamy kolejnej reguły, która mogłaby potwierdzić, że OcenaRynkowa = dobry

41 Wnioskowanie mieszane - przykład

42 Dane jeżeli InneCechyMateriału_są_dobre i Wytrzymałość_jest_dobra wtedy Materiał_jest_dobry

43 Dane

44

45

46

47 Start i pierwsze kroki 1.Zakładamy, że wytrzymałość jest dobra 2.Szukamy wszystkich reguł, dla których zdanie jest przesłanką

48 Kolejne kroki 3.Analizujemy pierwszą regułę i ustalamy, że ustalenie jej wartości wymaga oceny zdania: InneCechyMateriału_są_dobre 4.Sprawdzamy, czy znamy wartość zdania 5.Jeżeli nie, przeszukujemy konkluzje wszystkich reguł poszukując zdania 6.Jeżeli nie znajdujemy reguły to po prostu pytamy o zdanie

49 Kolejne kroki 7.Załóżmy, że zdanie jest fałszywe 8.Zaznaczamy regułę jako odpaloną i powtarzamy, kroki 4, 5 i 6 dla kolejnej reguły 9.Jeżeli żadna reguła nie może być odpalona kończymy wnioskowanie 10.Załóżmy jednak że zdanie InneCechyMateriału_są_złe jest prawdziwe

50 Kolejne kroki 11.Odpalamy regułę: jeżeli InneCechyMateriału_są_złe i Wytrzymałość_jest_dobra wtedy Materiał_jest_średni i przyjmujemy, że zdanie Materiał_jest_średni jest prawdziwe

51 Kolejne kroki 12.Szukamy wszystkich reguł, dla których zdanie jest przesłanką

52 Kolejne kroki 13.Realizujemy kroki 3 do 9 dla zaznaczonych reguł 14.Załóżmy, że zdanie Powtarzalność_jest_dobra jest prawdziwe 15.Ustalamy, że zdanie Jakość_tak jest prawdziwe 16.Wracamy do punktu 12

53 Kolejne kroki

54 17.Załóżmy, że ustalamy wartość zdania Ekonomia_jest_dobra

55 Kolejne kroki 18.Musimy ustalić wartość zdań: Cena_jest_dobra i WarunkiPłatności_są_dobre 19.Powtarzamy kroki 3 do 6 dla obu zdań

56 WybranyStart = wybierz zmienną startową() dodaj WybranyStart do StosZmiennychWprzod while nie pusty StosZmiennychWprzod { AktualnaZmienna = zdejmij ze StosZmiennychWprzod for each Wyrazenie in WyrazeniaZwiazaneZeZmienna(AktualnaZmienna) _wyrazenie = EwaluujWyrazenie(Wyrazenie) for each Przeslanka in PrzeslankiDlaKtorychWyrazenieJestLewaStrona(_wyrazenie) {

57 WyrazenieZPrawejStrony = ZnajdzWyrazenieZPrawejStrony(Przeslanka) if (WartoscWyrazeniaZPrawejStrony == null) { EwaluujWyrazenie(WyrazenieZPrawejStrony) } EwaluujPrzeslanke(Przeslanka) ZmienWartoscPrzeslanki(Przeslanka) if (WartoscLogicznaPrzeslanki == true) { dodaj Przeslanka do StosPrzeslanek }

58 for each Przeslanka in PrzeslankiDlaKtorychWyrazenieJestPrawaStrona(Wyrazenie) { WyrazenieZLewejStrony = ZnajdzWyrazenieZLewejStrony(Przeslanka) if (WartoscWyrazeniaZLewejStrony == null) { EwaluujWyrazenie(WyrazenieZLewejStrony) } EwaluujPrzeslanke(Przeslanka) ZmienWartoscPrzeslanki(Przeslanka) if (WartoscLogicznaPrzeslanki == true) { dodaj Przeslanka do StosPrzeslanek }

59 while nie pusty StosPrzeslanek { AktualnaPrzeslanka = zdejmij ze StosPrzeslanek for each Regula in RegulyZwiazaneZPrzeslanka(AktualnaPrzeslanka) { if SprawdzRegule(Regula) { EwaluujRegule(Regula) }

60 EwaluujWyrazenie(X) for each Zmienna in ZmienneZwiazaneZWyrazeniem(X) { if (WartoscZmiennej == null) // wartość zmiennej nie jest znana { WartoscZmiennej = EwaluujZmienna(Zmienna) } dodaj do ListaZmiennych WartoscZmiennej } return EwaluatorTekstuWyrazenia(X, ListaZmiennych)

61 EwaluujPrzeslanke(X) Przeslanka = SzukajPrzeslanke(X) // pełny opis przesłanki WartoscWyrazeniaZLewejStrony = EwaluujWyrazenie(LewaStronaPrzeslanki) WartoscWyrazeniaZPrawejStrony = EwaluujWyrazenie(PrawaStronaPrzeslanki) return EwaluatorLogiczny(WartoscWyrazeniaZLewejStrony, WartoscWyrazeniaZPrawejStrony, Operator)

62 EwaluujZmienna(X) Zmienna = SzukajZmienna(X) if (KategoriaZmiennej == intermediate) { return WnioskujWstecz(X) } else { Wyrazenie = SzukajWyrazeniaKonkluzjiOkreslajacejZmienna(X) Akcja = SzukajAkcjiDlaWyrazenia(Wyrazenie) return EgzekutorAkcji(X, Akcja) }

63 SprawdzRegule(X) RegulaPrawdziwa = true for each Przeslanka in PrzeslankiZwiazaneZRegula(X) { if (WartoscLogicznaPrzeslanka == null) { EwaluujPrzeslanke(Przeslanka) } if (WartoscLogicznaPrzeslanka == false) { return false) break i } return true

64 EwaluujRegule(X) ZmienZmienna(ZmiennaOkreslanaPrzezRegule,EwluujWyrazenie(WyrazenieWKonkluzjiReguly(X)) dodaj ZmiennaOkreslanaPrzezRegule do StosZmiennychWprzod

65 WnioskujWstecz(X) for each Reguly in WszystkieRegulyOkreslajaceWartoscZmiennejX { if SprawdzRegule(Regula) { EwaluujRegule(Regula) } if (RegulaPrawdziwa == true) { EwaluujRegule(Regula) }


Pobierz ppt "Wnioskowanie w systemach sztucznych Wnioskowanie dedukcyjne lub niezawodne jest realizowane zgodnie z zasadami logiki formalnej Wnioskowanie redukcyjne."

Podobne prezentacje


Reklamy Google