Dawid Twardowski Informatyka, IV rok, VII sem, TOK B Numer albumu: 647 Teoretyczna budowa systemu eksperckiego doradzającego w wyborze potraw (książka kucharska) Wrocław 2010
Definicja System ekspertowy (funkcjonują też nazwy system ekspercki, system z bazą wiedzy) jest to program lub zestaw programów komputerowych wspomagający korzystanie z wiedzy i ułatwiający podejmowanie decyzji. Systemy ekspertowe mogą wspomagad bądź zastępowad ludzkich ekspertów w danej dziedzinie, mogą dostarczad rad, zaleceo i diagnoz dotyczących problemów tej dziedziny. Dla lepszego odróżnienia tej klasy systemów od pozostałych niezbędne jest dodanie kilku unikatowych cech systemów ekspertowych: - jawna reprezentacja wiedzy i oddzielenie wiedzy eksperckiej od procedur sterowania, - zdolnośd do wyjaśnieo (ang. explanation facilities), w szczególności sposobu rozwiązania danego problemu, co jest w opozycji do modelu czarnej skrzynki, typowego dla konwencjonalnych programów, - system ekspertowy rozwiązuje problemy nie w oparciu o jawnie zapisany algorytm, lecz z wykorzystaniem różnych metod wnioskowania (rozumowania), - systemy ekspertowe wykorzystują w przeważającej mierze przetwarzanie symboli, w mniejszym zaś stopniu obliczenia numeryczne. Etapy tworzenia systemu eksperckiego 1. Zdefiniowanie problemu identyfikacja książka kucharska 2. Gromadzenie wiedzy (inżynier wiedzy + ekspert w danej dziedzinie szef kuchni) 3. Formalizacja wiedzy (metody reprezentacji wiedzy) 4. Realizacja 5. Weryfikacja System dedykowany z zaszytą wiedzą, tworzony na konkretne zamówienie, czyli książka kucharska zawierająca wiedzę od eksperta ludzkiego w postaci zbioru przepisów kulinarnych. Jako kategorie wyboru posiada rozróżnienie co do: smaku, czasu przygotowania potrawy, stopnia trudności oraz rodzaju kuchni.
Budowa Ekspert ludzki (kucharz) Moduł modyfikacji wiedzy ( Baza wiedzy (potrawy) Mechanizm wnioskujący Moduł objaśniający Interfejs Szkielet systemu składający się z: Użytkownik Modułu modyfikacji wiedzy - pozwala na modyfikację wiedzy zawartej w systemie, umożliwiając tym samym jego rozbudowę Interfejsu użytkownika - umożliwia zadawanie pytao, udzielanie informacji systemowi oraz odbieranie od systemu odpowiedzi i wyjaśnieo Mechanizmu wnioskującego - główny składnik systemu ekspertowego wykonujący cały proces rozumowania w trakcie rozwiązywania problemu postawionego przez użytkownika Modułu objaśniającego jeden z elementów interfejsu pomiędzy systemem a użytkownikiem, który umożliwia użytkownikowi uzyskanie odpowiedzi dlaczego system udzielił takiej, a nie innej odpowiedzi, albo dlaczego system zadał użytkownikowi określone pytanie Bazy wiedzy - jest to deklaratywna postad wiedzy ekspertów z danej dziedziny zapisana za pomocą wybranego sposobu reprezentacji wiedzy, najczęściej reguł lub ram.
Łatwe Trochę trudniejsze Dośd trudne 15 minut 30 minut Powyżej 30 minut Przykładowa baza danych wraz z przypisanymi wartościami Trudnośd (C) Czas (B) Danie (E) Danie (E) Pizza 1 Pizza 1 Spaghetti 1 Spaghetti 1 Lazania 1 Lazania 1 Tzatziki 1 Tzatziki 1 Sałatka grecka 1 Sałatka grecka 1 Gyros 1 Gyros 1 Paella 1 Paella 1 Oreja 1 Oreja 1 Tortilla 1 Tortilla 1 Sajgonki 1 Sajgonki 1 Sushi 1 Sushi 1 Kurczak na słodko 1 Kurczak na słodko 1
Łagodny Ostry Włoska Grecka Hiszpaoska Orientalna Smak (A) Kuchnia (D) Danie (E) Danie (E) Pizza 1 Pizza 1 Spaghetti 1 Spaghetti 1 Lazania 1 Lazania 1 Tzatziki 1 Tzatziki 1 Sałatka grecka 1 Sałatka grecka 1 Gyros 1 Gyros 1 Paella 1 Paella 1 Oreja 1 Oreja 1 Tortilla 1 Tortilla 1 Sajgonki 1 Sajgonki 1 Sushi 1 Sushi 1 Kurczak na słodko 1 Kurczak na słodko 1 Reprezentacja wiedzy Smak potrawy: Czas przygotowania: Trudnośd przygotowania: Rodzaj kuchni: Danie: A 1 smak łagodny, A 2 smak ostry B 1 15 minut, B 2 30 minut, B 3 powyżej 30 minut C 1 łatwe, C 2 trochę trudniejsze, C 3 dosyd trudne D 1 kuchnia włoska, D 2 kuchnia grecka, D 3 kuchnia hiszpaoska, D 4 kuchnia orientalna E 1 pizza, E 2 spaghetti, E 3 lazania,, E 4 tzatziki, E 5 sałatka grecka, E 6 gyros, E 7 paella, E 8 oreja,, E 9 tortilla, E 10 sajgonki, E 11 sushi,, E 12 kurczak na słodko
Przykładowe reguły wnioskujące: IF (A 1^ B 2^ C 1^ D 1 ) THEN (E 1 ) 30 minut k.włoska pizza s.łagodny łatwe Ciasto: 15 g świeżych drożdży lub 7 g suchych 150 ml ciepłej wody 1/2 łyżeczki cukru 250 g mąki pszennej 1 pełna łyżeczka soli 1 łyżka oliwy z oliwek Sos pomidorowy i dodatki: 1 puszka pomidorów w sosie pomidorowym 2 łyżki oliwy z oliwek sól, pieprz, 1 łyżeczka cukru 40 g tartego sera mozzarella 1/2 pęczka świeżej bazylii* Przygotowanie: Drożdże wymieszad w kubku z 60 ml ciepłej wody, cukrem i 1 łyżką mąki. Odstawid na 15-20 minut w ciepłe miejsce do wyrośnięcia. Mąkę przesiad do miski, dodad sól, rozczyn drożdży, oliwę oraz resztę ciepłej wody. Wyrabiad ciasto przez 10-15 minut. Przykryd ściereczką i odstawid do wyrośnięcia na około 1 i 1/2 godziny. Rozdrobnione pomidory bez skórek zagotowad w rondelku wraz z oliwą, solą, pieprzem oraz cukrem. Gotowad na wolnym ogniu przez około 15 minut, aż sos zgęstnieje. Wyrośnięte ciasto podzielid na 2 części, obsypad mąką, rozwałkowad na placki. Ułożyd je na posmarowanej oliwą blasze, odstawid na 1/2 godziny do podrośnięcia w ciepłe miejsce bez przeciągów. Podrośnięte pizze posmarowad sosem pomidorowym, rysując okręgi (może pozostad trochę sosu). W tym momencie włączyd piekarnik i nagrzad go do maksymalnej temperatury 250. Odczekad jeszcze 15 minut po rozgrzaniu się piekarnika i włożyd blachę do górnej jego połowy. Piec przez 10-15 minut, aż boki pizzy się zarumienią a spód będzie upieczony i chrupiący. Na koniec pizze posypad tartym serem mozzarella i jeszcze na chwilę włożyd do piekarnika aby ser się roztopił. Wyjąd i posypad listkami bazylii IF (A 2^ B 2^ C 2^ D 3 ) THEN (E 7 ^ E 9 ) s.ostry 30 minut k.hiszpaoska paella tortilla trochę trudniejsze Składniki: 1 mały kurczak (podzielony na małe cząstki) sól, pieprz, sproszkowana papryka 4 łyżki oleju z oliwek 2-3 cebule 1 ząbek czosnku 50 g krewetek 1 strąk czerwonej papryki 250 g pomidorów 3 łyżki masła 250 g pełnoziarnistego ryżu 1/2 l bulionu z kury szafran 100 g czarnych oliwek 300 g ugotowanych krabów sok z 1 cytryny kilka listków szałwi 1 cytryna pokrojona w dwiartki. Składniki: 20 dag mąki kukurydzianej 1 łyżeczka soli 1 łyżeczka smalcu 1/4 l wody Lub: 20 dag mąki pszennej 1 łyżka smalcu 1 łyżeczka soli 1/4 l wody Mąkę połączyd z solą i smalcem. dokładnie wyrobid ciasto, stopniowo dolewając wodę ( do uzyskania konsystencji ciasta makaronowego). Cienko wywałkowad i smażyd na patelni o grubym dnie bez używania tłuszczu, do momentu zbrązowienia placków (ok. 30 sekund). Mięso wymyd pod gorącą wodą, osuszyd, natrzed solą, pieprzem, sproszkowaną papryką oraz olejem i pozostawid na 2-3 godziny. Cebulę i czosnek obrad i drobno posiekad. Paprykę oczyścid, wymyd i pokroid w paski. Pomidory umyd i podwiartowad. Rozgrzad masło i krótko smażyd na nim kawałki mięsa po obu stronach. Następnie mięso wyjąd i pozostawid do osuszenia. Na pozostałym tłuszcz usmażyd krewetki. Wyjąd. Do pozostałego na patelni tłuszczu dolad nieco wody i oderwad tłuszcz z dna patelni. W powstałym wywarze dusid cebulę, czosnek i paprykę. Małże dokładnie umyd szczoteczką, wybierając jedynie zamknięte muszle ( otwartych muszli nie używa się, ponieważ są niedobre ). Ryż wsypad do "paellery" czyli specjalnej patelni, w której tradycyjnie przygotowuje się paellę ( można ją zastąpid normalną patelnią o obwodzie przynajmniej 35 cm i o wysokim brzegu). Zagotowad bulion, zalad nim ryż i mieszając zagotowad na dużym ogniu. Patelnię zdjąd z ognia. Szafran rozpuścid w wodzie i wymieszad go z ryżem. Solą doprawid ryż do smaku. Jarzyny, pomidory i oliwki dodad do ryżu. Mięso kurczaka, małże, krewetki i kraby równomiernie rozmieścid na ryżu. Piekarnik rozgrzad do temperatury 200 stopni i na dole piekarnika ustawid nie przykrytą patelnię z paellą. Udekorowad dwiartkami cytryny.
Maszyna wnioskująca Wnioskowanie w systemie ekspertowym jest procesem wyszukania konkluzji przy wykorzystaniu zbioru reguł i faktów w konkretnej sytuacji, w określonych warunkach. Maszyna wnioskująca ma dad odpowiedź na następujące pytania: 1. Jak zacząd proces wnioskowania 2. Którą regułę zastosowad, gdy jest kilka reguł aktywnych 3. Jak znaleźd następne reguły Rodzaje wnioskowao w systemie ekspertowym: Wnioskowanie w przód wnioskowanie sterowane danymi, wnioskowanie w kierunku celu; generowanie nowych faktów na podstawie zbioru reguł i zaobserwowanych faktów. Wnioskowanie rozpoczyna się od analizy faktów. Na podstawie dostępnych reguł i faktów generowane są fakty tak długo, aż wśród nich znajdzie się poszukiwany przez użytkownika cel lub aż zabraknie reguł. R 1 Jeżeli danie jest ostre, to są to sajgonki. R 2 Jeżeli są to sajgonki, to robi się je 30 minut. R 3 Jeżeli robi się je 30 minut, to jest to trochę trudniejsze do wykonania. R 4 Jeżeli jest to trochę trudniejsze do wykonania, to jest to kuchnia orientalna. Są to sajgonki fakt R 2 R 3 R 4 fakt jest to kuchnia orientalna Wnioskowanie w tył wnioskowanie sterowane celem; zadaniem jest sprawdzenie czy hipoteza jest prawdziwa. Fakt: Jest to kuchnia orientalna Hipoteza: Przykładem takiej kuchni mogą byd sajgonki
Moduł objaśniający ( uzasadnianie otrzymanych konkluzji) Odpowiedzi na pytania użytkownika: - jak? - czyli prześledzenie procesu wnioskowania, który doprowadził do konkluzji. - dlaczego? - zadawane najczęściej wtedy, gdy system próbuje dowiedzied się o jakąś dodatkową daną; jest to żądanie wyjaśnienia, do czego ta dana jest systemowi potrzeba. - dlaczego nie? - wyjaśnienie dlaczego dana została odrzucona lub nie wzięta pod uwagę. - a co jeśli? - system pokazuje wnioskowanie i odpowiedź przy założeniu zmiany faktu czy treści reguły. Netografia: 1. www.wikipedia.org