Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:miw:miw08_rbs_back [2008/07/11 12:33]
miw
pl:miw:miw08_rbs_back [2008/07/14 09:58]
miw
Linia 1: Linia 1:
-====== Opis ====== 
-Dawid, Zwoźniak, <​david_z@poczta.fm>​ 
  
-RBS_Back 
-Przegląd metodologii reprezentacji reguł dla wnioskowania w tył (wstecz). Należy szczególnie uwzględnić reprezentacje graficzne oraz zwrócić uwagę na: przejrzystość reguł, gęstość reprezentowanej informacji. 
- 
- 
-====== Spotkania ====== 
-===== 080304 ===== 
-przydzielenie projektu 
- 
-===== 080311 ===== 
-planowane konsultacje 
- 
- 
-===== 080318 ===== 
-? 
- 
- 
- 
- 
-===== 080527 ===== 
- 
- 
-? 
- 
-===== 080626 ===== 
-? 
- 
- 
-====== Projekt ====== 
- 
- 
-====== WSTĘP ====== 
-Ekspertowy system regułowy składa się z bazy danych, zawierającej pewne ustalone fakty i reguły służące do wywnioskowywania nowych faktów oraz interpetera reguł, sterującego procesem wnioskowań. 
- 
-W systemach ekspertowych wykorzystuje się 3 rodzaje wnioskowania:​ 
-- w przód 
-- wstecz 
-- mieszane 
- 
-Wnioskowanie wstecz przebiega w odwrotną stronę niż wnioskowanie w przód. Ogólnie polega ono na wykazaniu prawdziwości hipotezy głównej na postawie prawdziwości przesłanek. Jeśli nie wiemy, czy jakaś przesłanka jest prawdziwa, to traktujemy tę przesłankę jako nową hipotezę i próbujemy ją wykazać. Jeżeli w wyniku takiego postępowania zostanie wreszcie znaleziona reguła, której wszy¬stkie przesłanki są prawdziwe, to konkluzja tej reguły jest prawdziwa. Na pod¬stawie tej konkluzji dowodzi się następną regułę, której przesłanka nie była po¬przednio znana itd. Postawiona hipoteza jest prawdziwa, jeśli wszystkie rozważa¬ne przesłanki dadzą się wykazać. 
- 
-Cel -> reguły -> fakty 
- 
-Wnioskowanie wstecz różni się od wnioskowania w przód m.in. tym, że generuje mniejszą liczbę nowych faktów oraz uniemożliwia równoczesne dowodzenie kilku hipotez. Ogólnie w typowych zastosowaniach wnioskowanie wstecz jest efektywniejsze i bardziej rozpowszechnione. Istotne jest także to, że przy wnioskowaniu wstecz czas oczekiwania na osiągnięcie rozwiązania postawionej hipotezy jest w wielu przypadkach dużo krótszy niż przy wnioskowaniu w przód. 
- 
- 
-Wnioskowanie wstecz zostało zastosowane,​ między innymi, w interpreterach PROLOG-u. 
- 
- 
-======== SOFTWARE VISUALIZATION ======= 
- 
-Celem projektu było zbadanie metodologii reprezentacji wiedzy w systemach regułowych z wnioskowaniem wstecz, a konkretnie o sposób wizualizacji wiedzy. 
- 
-W projekcie skupiono się na odszukaniu projektów wizualizaji reprezentacji wiedzy w PROLOG-u. 
- 
-Znaleziono następujące programy: 
-  * PPVL (Prolog Program Visualization Laboratory) 
-  * TPM (Transparent Prolog Machine) 
-  * Tools for Software Visualization – SVT (Semantic Visualization Tools) and Vmax 
-  * VPP (Visual Programming in Prolog) 
- 
- 
- 
- 
- 
- 
-======= PPVL (Prolog Program Visualization Laboratory) ========= 
- 
-PPVL jest projektem który służy do wizualizacji wiedzy Prolog-u. Łączy w sobie kilka programów do wizualizacji - SV. 
-Są to: 
-  * Spy (Byrd, 1980) 
-  * PTP (Prolog Trace Package) 
-  * TPM (Transparent Prolog Machine) 
-  * TTT (Textual Tree Tracer) 
- 
-W środowisku PPVL każdy wymieniony wyżej SV system ma podobny interfejs i nawigacje. 
- 
-Środowisko zostało stworzone w Macprolog wersji 4.5 i uruchamiane na Macintosh system 7.1 
- 
-Spy, PTP i TTT zostały w pełni zaimplementowane. Natomiast TPM zostało zaimportowane i później zmodyfikowane aby umożliwić integracje z PPVL (nawigacje i zapisywanie). 
-PPVL posiada wiele zalet nad zaimplementowanymi systemami osobno, między innymi zapewnia identyczny interfejs dla wszystkich systemów. 
- 
-== Spy (Byrd, 1980) == 
- 
-Spy jest krokowym, liniowym i tekstowym systemem śledzenia wykonywania programu, który używa Byrd Box model do uruchamiania programu. Model używa proceduralnej interpretacji logiki. 
- 
-Początek klauzuli jest klasyfikowany jako procedura, natomiast koniec klauzuli jedną lub więcej sub procedur. 
-Każda procedura lub sub procedura może mieć jeden z czterech stanów: 
-  * call 
-  * exit 
-  * fail 
-  * redo 
- 
-Wywołanie procedury jest klasyfikowane jako call, jeśli jest zakończone sukcesem jest kończone exit, jeśli nie to fail. Procedura ponownego próbowania lub wstecznego śledzenia jest pokazywana jako redo. 
- 
-Przykładowy program: 
- 
-''​p(X) :- q(X), r(X).''​ 
-''​q(a).''​ 
-''​q(b).''​ 
-''​r(b).''​ 
-'':​- p(What).''​ 
- 
-Spy - śledzenie wykonywania przykładowego programu: 
- 
-''​call p(_1)''​ 
-''​UNIFY 1 []''​ 
-''​call q(_1)''​ 
-''​UNIFY 1''​ 
-''​exit q(a)''​ 
-''​call r(a)''​ 
-''​fail r(a)''​ 
-''​redo q(a)''​ 
-''​UNIFY 2''​ 
-''​exit q(b)''​ 
-''​call r(b)''​ 
-''​UNIFY 1''​ 
-''​exit r(b)''​ 
-''​exit p(b)''​ 
- 
- 
- 
- 
- 
- 
- 
- 
-====== ISVL (The Internet Software Visualization Laboratory) ======== 
- 
- 
-======= TPM (Transparent Prolog Machine) =============== 
- 
-TPM jest narzędziem do wizualizacji i animacji uruchamianych programów napisanych w Prologu. Stworzony zarówno dla początkujących jak i zaawansowanych programistów Prologu, zapewnia wierną reprezentację (w zwolnionym tempie) działania wewnętrznego interpretera Prologu, jak również umożliwia wysokiej prędkości wizualny podgląd uruchamianego programu. 
- 
-Bieżące wersje umożliwiają używanie: textbook diagrams, animacji video oraz implementacji graficznych stacji roboczych. 
- 
-System dodatkowo umożliwia tworzenie użytkownikowi widoków śledzonych programów . 
- 
-Model: 
- 
-{{:​pl:​miw:​miw08_rbs_back:​tpm_model.jpg|:​pl:​miw:​miw08_rbs_back:​tpm_model.jpg}} 
- 
-Akcja: ​ 
- 
-{{:​pl:​miw:​miw08_rbs_back:​tpm_action.jpg|:​pl:​miw:​miw08_rbs_back:​tpm_action.jpg}} 
- 
-Granulacja danych: 
- 
-{{:​pl:​miw:​miw08_rbs_back:​tpm_gran.jpg|:​pl:​miw:​miw08_rbs_back:​tpm_gran.jpg}} 
- 
- 
-Podgląd ogólny widoku uruchamiania programu Prologu. 
- 
-{{:​pl:​miw:​miw08_rbs_back:​tpm_1.jpg|:​pl:​miw:​miw08_rbs_back:​tpm_1.jpg}} 
- 
-Ten sam widok z bliska 
- 
-{{:​pl:​miw:​miw08_rbs_back:​tpm_2.jpg|:​pl:​miw:​miw08_rbs_back:​tpm_2.jpg}} 
- 
- 
-Projekt powstawal w latach 1983-1988 w Open University and Expert Systems Ltd. 
-TPM jest dostepny jako komercyjny produkt (Expert Systems Ltd.) uruchamiany na graficznych stacjach roboczych systemu UNIX. 
-Powstała również wersja uczelniana na platforme Mac. 
- 
- 
- 
- 
-======= Tools for Software Visualization – SVT (Semantic Visualization Tools) and Vmax ========= 
- 
-System SVT dostarcza strukturę dla SV (Software Visualization) nazywana Vmax. Kod źródłowy i uruchamiane dane są analizowane w tym systemie poprzez język Prolog, co zapewnia dostęp do informacji o strukturze programu i uruchomionych w nim danych w szerokim zakresie połączonych widoków. Środowisko SVT oraz widok programu użytkownika został napisany w Javie. 
- 
-SVT jest potężnym narzędziem który umożliwia wizualizację programów napisanych w różnych językach oraz wszelkiego typu diagramów. 
- 
-Skupiono się jednak na możliwościach SVT do wizualizaji wiedzy i programów w Prolog-u. 
- 
-Vmax może wyświetlać i edytować programy Prolog-u jako wizualne języki (visual languages). To pokazuje potencjalne możliwości SVT dla visual programming. 
- 
-Klauzula Prologu w SVT wygląda następująco:​ 
-''​user_clause(ClauseId,​ Clause)''​ 
- 
-gdzie ClauseId jest niepowtarzalnym identyfikatorem klauzuli, a Clause jest struktura klauzuli. 
- 
-Aktualnie nie ma zewnętrznej tekstowej reprezentacji Prologu. 
- 
-Klauzule które zdefiniuje użytkownik mogą być przeglądane. 
- 
-Przykładowy ekran widoku predykatów:​ 
- 
-{{:​pl:​miw:​miw08_rbs_back:​vmax1.jpg|:​pl:​miw:​miw08_rbs_back:​vmax1.jpg}} 
- 
-Przykładowy ekran widoku klauzuli: 
- 
-{{:​pl:​miw:​miw08_rbs_back:​vmax2.jpg|:​pl:​miw:​miw08_rbs_back:​vmax2.jpg}} 
- 
-Struktura klauzuli może być vizualizowana na różne sposoby. Przedstawia to rysunek poniżej: 
- 
-{{:​pl:​miw:​miw08_rbs_back:​vmax3.jpg|:​pl:​miw:​miw08_rbs_back:​vmax3.jpg}} 
- 
-Vmax umożliwia również wizualizacji klauzul bardzo podobnie do TPM, co można zobaczyć na rysunku: 
- 
-{{:​pl:​miw:​miw08_rbs_back:​vmax4.jpg|:​pl:​miw:​miw08_rbs_back:​vmax4.jpg}} 
- 
-Vmax daje możliwość edycji klauzul na różne sposoby zarówno tekstowo jak i graficznie. Jednak zmiany w trybie graficznym nie są zapisywane do kodu źródłowego,​ dlatego jest to mało użyteczne. Lepszym rozwiązaniem w tym przypadku jest edycja kodu źródła programu. 
- 
- 
- 
-======== VPP (Visual Programming in Prolog) i VPE (Visual Program Execution)================== 
- 
-Komputerowe środowisko jakim jest VPP zostało stworzone aby wspomagać programowanie w Prolog-u przy wykorzystaniu graficznego interfejsu, który jest czytelniejszy dla początkujących programistów. 
- 
-Visual Programming to dwie różne eksperymentalne implementacje:​ 
-  - Visual Programming (VPP) 
-  - wizualizacja uruchamiania (VPE) 
- 
-W źródłach do jakich można dotrzeć VPE jest opisywane jeszcze w fazie konstrukcji. Działa na podobnej zasadzie jak TPM, jednak w przeciwieństwie do TPM ma dopełniający system VPP (który używa w zasadzie tych samych formalizmów) w celu zapewnienia pełną funkcjonalność dla visual programming. Zależności są bardziej wyeksponowane w VPE niż w TPM. 
- 
-Wyidealizowany widok środowiska VPP dla visual programming przedstawia rysunek poniżej: 
- 
-{{:​pl:​miw:​miw08_rbs_back:​vpp1.jpg|:​pl:​miw:​miw08_rbs_back:​vpp1.jpg}} 
- 
-Relacja w VPP jest przedstawiana następująco:​ 
- 
-{{:​pl:​miw:​miw08_rbs_back:​vpp2.jpg|:​pl:​miw:​miw08_rbs_back:​vpp2.jpg}} 
- 
-Klauzula w następujący sposób: 
- 
-{{:​pl:​miw:​miw08_rbs_back:​vpp3.jpg|:​pl:​miw:​miw08_rbs_back:​vpp3.jpg}} 
- 
-Reguła następująco:​ 
- 
-{{:​pl:​miw:​miw08_rbs_back:​vpp4.jpg|:​pl:​miw:​miw08_rbs_back:​vpp4.jpg}} 
- 
- 
-Natomiast rysunek poniżej przedstawia kompletny ślad uruchamiania prostego programu w VPE: 
- 
-{{:​pl:​miw:​miw08_rbs_back:​vpp5.jpg|:​pl:​miw:​miw08_rbs_back:​vpp5.jpg}} 
- 
-Poniższy rysunek pokazuje jeden ze sposobów reprezentowania list relacji w VPP i VPE: 
- 
-{{:​pl:​miw:​miw08_rbs_back:​vpp6.jpg|:​pl:​miw:​miw08_rbs_back:​vpp6.jpg}} 
- 
-Aktualnie są dwie prototypowe implementacje VPP: 
-  * Philip 
-  * Treglow 
- 
- 
- 
- 
-====== Sprawozdanie ====== 
-====== Materiały ====== 
pl/miw/miw08_rbs_back.txt · ostatnio zmienione: 2019/06/27 15:50 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0