Wykład 4 Ramy, wektory wiedzy, drzewa decyzyjne

Podobne dokumenty
Systemy eksperowe. Agnieszka Nowak Brzezińska Wykład I

Systemy ekspertowe i ich zastosowania. Katarzyna Karp Marek Grabowski

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE

Czy architektura umysłu to tylko taka sobie bajeczka? Marcin Miłkowski

Modelowanie i Programowanie Obiektowe

Systemy ekspertowe : program PCShell

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Język UML w modelowaniu systemów informatycznych

Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa.

Paweł Kurzawa, Delfina Kongo

Alicja Marszałek Różne rodzaje baz danych

Klasy abstrakcyjne, interfejsy i polimorfizm

TECHNOLOGIE OBIEKTOWE. Wykład 3

Bazy danych. Zachodniopomorski Uniwersytet Technologiczny w Szczecinie. Wykład 3: Model związków encji.

Ćwiczenie numer 4 JESS PRZYKŁADOWY SYSTEM EKSPERTOWY.

Programowanie obiektowe - 1.

Systemy ekspertowe i sztuczna inteligencja. dr Agnieszka Nowak Brzezioska

Faza Określania Wymagań

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)

Drzewa decyzyjne. 1. Wprowadzenie.

Programowanie Obiektowe i C++

hierarchie klas i wielodziedziczenie

Informatyka I. Dziedziczenie. Nadpisanie metod. Klasy abstrakcyjne. Wskaźnik this. Metody i pola statyczne. dr inż. Andrzej Czerepicki

problem w określonym kontekście siły istotę jego rozwiązania

Systemy ekspertowe. Wnioskowanie w systemach regułowych. Część piąta. Autor Roman Simiński.

Reprezentacja wiedzy

Podstawy Programowania Obiektowego

Metoda Tablic Semantycznych

Wykład I. Wprowadzenie do baz danych

Archipelag Sztucznej Inteligencji

Rysunek 1: Przykłady graficznej prezentacji klas.

SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD XII: Modele i architektury poznawcze

Systemy baz danych. mgr inż. Sylwia Glińska

Słowem wstępu. Część rodziny języków XSL. Standard: W3C XSLT razem XPath 1.0 XSLT Trwają prace nad XSLT 3.0

Struktura drzewa w MySQL. Michał Tyszczenko

Język UML w modelowaniu systemów informatycznych

Paradygmaty dowodzenia

Baza danych. Baza danych to:

prawda symbol WIEDZA DANE komunikat fałsz liczba INFORMACJA (nie tyko w informatyce) kod znak wiadomość ENTROPIA forma przekaz

Wprowadzenie niektórych zagadnień OOP oraz wzorce operacyjne

Jacek Skorupski pok. 251 tel konsultacje: poniedziałek , sobota zjazdowa

Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym

030 PROJEKTOWANIE BAZ DANYCH. Prof. dr hab. Marek Wisła

Wprowadzenie do programowania aplikacji mobilnych

TEORETYCZNE PODSTAWY INFORMATYKI

W naukach technicznych większość rozpatrywanych wielkości możemy zapisać w jednej z trzech postaci: skalara, wektora oraz tensora.

Język UML w modelowaniu systemów informatycznych

Podstawy Sztucznej Inteligencji (PSZT)

PODSTAWY BAZ DANYCH. 19. Perspektywy baz danych. 2009/2010 Notatki do wykładu "Podstawy baz danych"

Systemy uczące się wykład 1

Wykład 3. Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy

ZARZĄDZANIU. Wykład VI. dr Jan Kazimirski

Projekt wykonania zadania informatycznego specyfikacja zadania

Podstawy programowania III WYKŁAD 4

Transformacja wiedzy w budowie i eksploatacji maszyn

PLAN WYKŁADU BAZY DANYCH INDEKSY - DEFINICJE. Indeksy jednopoziomowe Indeksy wielopoziomowe Indeksy z użyciem B-drzew i B + -drzew

Wprowadzenie do Prologa

Programowanie Obiektowe i C++ Marcin Benke

Zachodniopomorski Uniwersytet Technologiczny w Szczecinie. Bazy danych. Wykład 4: Model SERM. dr inż. Magdalena Krakowiak

Wstęp do Sztucznej Inteligencji

Wykład z Technologii Informacyjnych. Piotr Mika

Klasyfikacja metodą Bayesa

Wprowadzenie do systemów informacyjnych

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

Modelowanie diagramów klas w języku UML. Łukasz Gorzel @stud.umk.pl 7 marca 2014

Programowanie obiektowe

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

Ćwiczenia nr 7. TEMATYKA: Krzywe Bézier a

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Metody drążenia danych D1.3

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Normalizacja baz danych

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

10. Translacja sterowana składnią i YACC

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017

Algorytm. Krótka historia algorytmów

Modelowanie danych, projektowanie systemu informatycznego

Podejście obiektowe - podstawowe pojęcia

Analiza i programowanie obiektowe 2016/2017. Wykład 6: Projektowanie obiektowe: diagramy interakcji

Dziedziczenie. Tomasz Borzyszkowski

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA. Modelowanie danych. Model związków-encji

Diagramy klas. WYKŁAD Piotr Ciskowski

Indukowane Reguły Decyzyjne I. Wykład 3

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 6.0

Katalog wymagań programowych na poszczególne stopnie szkolne. Matematyka. Poznać, zrozumieć

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

TEORIA GRAFÓW I SIECI

Style programowania - krótki przeglad

Klasy abstrakcyjne i interfejsy

Wykład 8. Testowanie w JEE 5.0 (1) Autor: Zofia Kruczkiewicz. Zofia Kruczkiewicz

Technologie baz danych

Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04

Diagramu Związków Encji - CELE. Diagram Związków Encji - CHARAKTERYSTYKA. Diagram Związków Encji - Podstawowe bloki składowe i reguły konstrukcji

Algorytm - pojęcie algorytmu, sposób zapisu, poziom szczegółowości, czynności proste i strukturalne. Pojęcie procedury i funkcji.

Tom 6 Opis oprogramowania

SZTUCZNA INTELIGENCJA

PN-ISO 704:2012/Ap1. POPRAWKA do POLSKIEJ NORMY. Działalność terminologiczna Zasady i metody ICS nr ref. PN-ISO 704:2012/Ap1:

Technologie informacyjne - wykład 12 -

Transkrypt:

Systemy ekspertowe Wykład 4 Ramy, wektory wiedzy, drzewa decyzyjne 1

RAMY 2

Ramy (ang. frames) geneza i założenia Geneza: 1. chęć wyjaśnienia efektywności rozumowania naturalnego w odniesieniu do problemów świata rzeczywistego, 2. zbudowanie bazy danych zawierającej dużą ilość wiedzy deklaratywnej, niezbędnej w tego typu rozumowaniu. Wiedza miała być kodowana w sposób dostatecznie strukturalny, by osiągnąć pewien stopień zgodności w bazie danych, elastyczny, by system mógł odzyskiwać własną informację w sytuacjach nieprzewidzianych. Minsky określił ramy jako strukturę danych [ ] służącą do reprezentowania stereotypowych sytuacji, takich jak bycie w jakimś pokoju lub wyjście na przyjęcie urodzinowe dziecka. Z każdą ramą związanych jest kilka rodzajów informacji. Niektóre z nich mówią, jak użyć daną ramę. Inne informują o tym, jakiego zdarzenia należy oczekiwać. Jeszcze inne informują co robić, jeśli te oczekiwania nie są spełnione. 3

Wprowadzenie tego pojęcia spowodowało lawinę badań w dziedzinie sztucznej inteligencji oraz doprowadziło do powstania pierwszych języków praktycznie implementujących idee Minsky'ego, takich jak KRL, FRL czy KL-ONE Ramy, były modułem wiedzy, który stawał się aktywny w odpowiedniej sytuacji i dostarczał zarówno jej interpretacji, jak również umożliwiał nowe przewidywania. 4

Ramy - przykład Założenie: znajdujemy się w domu i naszym zadaniem jest otwarcie drzwi do nieznanego pokoju. Oczekiwania: przed wykonaniem tej czynności mamy na ogół pewne wyobrażenie tego, co będzie można dostrzec po otwarciu drzwi. Percepcja: Jeśli po otwarciu drzwi zobaczylibyśmy brzeg morza lub inny krajobraz, początkowo pojawiłyby się trudności z jego rozpoznaniem i zaskoczenie. Następnie prawdopodobnie bylibyśmy zdezorientowani, ponieważ nie moglibyśmy prawidłowo zinterpretować tego, co widzimy. Interpretacja: została uaktywniona rama pokój, jako funkcja otwarcia drzwi i rama ta odgrywa ważną rolę w interpretacji napływającej informacji. Oczekiwania z tym związane dotyczą między innymi kształtu pokoju. Jeśli zobaczylibyśmy w pokoju łóżko uaktywniona zostałaby rama sypialnia. Innymi słowy, nastąpiłby dostęp do najbardziej uszczegółowionej, dostępnej ramy. Taki proces uszczegółowiania oczekiwań nazywa się w kontekście teorii ram rozpoznawaniem sterowanym przez ramy (ang. frame-driven recognition). Psycholodzy pokazali doświadczalnie, że rysunki obiektów są łatwiejsze do zidentyfikowania (w sensie czasu reakcji i stopy błędów) w ich naturalnym kontekście, czyli kiedy spełniają nasze oczekiwania. 5

Struktura ramy Pojęcie ramy ewoluowało, stając się określeniem pewnej struktury danych bardzo wysokiego poziomu do opisu obiektów, która zazwyczaj składa się z nazwy ramy i pewnej liczby tzw. klatek (ang. slots), z których każda ma swoją nazwę i opisuje konkretną właściwość obiektu. W ramie nie mogą wystąpić dwie klatki o tej samej nazwie, w klatce nie może być dwóch faset o takiej samej nazwie. Każda klatka może zawierać zbiór tzw. faset, opisujących wartości lub dołączone procedury (ang. attache procedures), z których niektóre nazywane są demonami. 6

Rama a rekord W najprostszym przypadku rama może zawierać nazwę obiektu i zbiór par <atrybut, wartość>, co koresponduje z zapisem OAW <obiekt, atrybut, wartość>. Rama, o takiej uproszczonej budowie, przypomina budową rekordy znane z konwencjonalnych języków programowania. Ramy, w ogólniejszym przypadku, mogą jednak reprezentować bardziej złożoną wiedzę niż zwykły rekord. Ramy umożliwiają bowiem deklaratywną i proceduralną reprezentację wiedzy. 7

Zapis wartości Wartość może być zapisana: jawnie (np. z użyciem fasety typu VALUE), jako wartość domyślna (faseta DEFAULT) może być wyliczona i za pomocą procedur dołączonych, które uruchamiane są automatycznie, gdy spełnione zostają pewne warunki (stąd określenie demon). 8

Przykładowe procedury IF-ADDED (jeśli dodano), procedury tego typu uruchamiane są wtedy, gdy nowa wartość dodawana jest do klatki. Mogą być użyte, np. do kontroli poprawności danych. IF-NEEDED (jeśli potrzebne), procedury te są uruchamiane wtedy, gdy system chce pobrać informację z klatki, która nie zawiera jawnie reprezentowanej wartości. W szczególności, procedury te mogą zawierać algorytm wyliczający tę wartość, gdy podanie jej jawnie jest niewygodne lub wręcz niemożliwe (np. inżynier wiedzy nie zna jej z góry podczas tworzenia bazy wiedzy). Dla przykładu, jeśli rama zawiera informacje typu: stawka godzinowa oraz liczba przepracowanych godzin, to atrybut płaca nie musi zawierać wartości explicite. Przy zmiennej płacy byłoby to w najlepszym razie rozwiązanie niewygodne. Wystarczy, że w tej sytuacji będzie dołączona procedura zawierająca algorytm obliczania płacy na podstawie dostępnych w ramie wartości innych atrybutów, w tym przypadku będących podstawą do jej wyliczenia. IF-REMOVED (jeśli usunięte), procedury te uruchamiają się, gdy określona wartość jest usuwana z klatki. 9

Łączenie ram Ramy mogą być łączone ze sobą, tworząc w ten sposób strukturę hierarchiczną (graf), przy czym wierzchołkami takiego grafu są ramy, a jego gałęzie określają relację podrzędności. W większości języków opartych na ramach, ramy dzielą się na dwie kategorie: klasy (ang. class) Klasa stanowi opis jednego lub więcej podobnych obiektów. Klasa może być podklasą innej klasy. egzemplarze (ang. instances). Egzemplarze są ramami nie będącymi klasami dla innych ram i tworzone są na podstawie wzorca będącego klasą. 10

Ramy i dziedziczenie Dziedziczenie właściwości ramy nadrzędnej przez ramę podrzędną - informacje zapisane w klatkach jednej ramy są dziedziczone przez drugą. Powiązania pomiędzy poszczególnymi ramami definiują tzw. hierarchię dziedziczenia. Niektóre systemy dopuszczają tzw. wielodziedziczenie (ang. multiple inheritance), co oznacza, że jedna rama może dziedziczyć właściwości kilku ram nadrzędnych. 11

Reprezentacja wiedzy za pomocą ram system INVEST (1/2) Źródło: Heuer Heuer et al. (1988) Klasa Security Podklasa Governments Securities 12

Przykład ram (2/2) Podklasa Obligacja Egzemplarz pewnej obligacji 13

Własności ram (1/2) Umożliwiają jawną reprezentację struktury wiedzy, co jest mniej wyraźne w typowych systemach regułowych. Ramy dostarczają mechanizmów do budowy hierarchii (struktur) i dziedziczenia atrybutów. Daje im to właściwość określaną jako oszczędność lub efektywność poznawczą (ang. cognitive economy). Cecha ta może mieć duże znaczenie w systemach z dużymi bazami wiedzy o rozbudowanej hierarchii obiektów. Zależność interpretacji od kontekstu, a także lokalny przepływ sterowania, są zgodne z postulatami modularyzacji w programowaniu. Cecha ta daje szansę uporządkowania wiedzy, przyczyniając się do wzrostu niezawodności jej kodowania. Właściwość ta może być osiągnięta w systemach tablicowych przez wyodrębnienie tzw. źródeł wiedzy. 14

Własności ram (2/2) Ramy umożliwiają reprezentowanie stereotypów, tj. typowych przykładów określonych obiektów. Zależnie od konkretnej implementacji jest to tylko częściowo prawdziwe, bowiem ramy często wprowadzają rozróżnienia pomiędzy cechami zasadniczymi, tzn. niezbędnymi do tego, by dany obiekt mógł być uważany za egzemplarz określonego pojęcia, a właściwościami, które często współwystępują z tymi podstawowymi możliwość reprezentowania wyjątków (przez zastosowanie mechanizmu przesłaniania). 15

WEKTORY WIEDZY 16

Przykład 17

DRZEWA DECYZYJNE (POSTAĆ GRAFICZNA) 18

Drzewo decyzyjne Pokazuje ono kolejno testowane przez system fakty i ich wzajemne zależności. Pozwala na wykrycie błędów w strukturze reguł i faktów. 19

Przykład drzewa decyzyjnego 20

Zapis reguł w drzewie decyzyjnym 21

Ścieżka od korzenia do liścia drzewa - reguła złożona (dużo przesłanek) 22

Wyprowadzanie z drzewa reguł prostych (mało przesłanek) Wyszukujemy powtarzające się wzorce w drzewie decyzyjnym Wprowadzamy wnioski pośrednie. 23

Cechy drzew decyzyjnych Baza reguł z drzewa decyzyjnego składa się z reguł złożonych, dających od razu wnioski końcowe bez wniosków pośrednich Nie ma problemu z kompletnością i spójnością Dodając reguły pośrednie można z drzewa uzyskać reguły proste Reguły pośrednie można wykorzystać jeżeli: o jest to uzasadnione dziedziną problemu z punktu widzenia czytelności działania systemu dla użytkownika (wnioski pośrednie jako dodatkowe wyjaśnienia), lub/i: o gdy mamy powtarzalne wzorce w drzewie decyzyjnym, tak by dany wniosek pośredni mógł być wykorzystany w więcej niż jednej regule 24