SOFTWARE VISUALIZATION
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: http://student.agh.edu.pl/~zwozniak/rbs/TPM_model.JPG
Akcja: http://student.agh.edu.pl/~zwozniak/rbs/TPM_action.JPG
Granulacja danych: http://student.agh.edu.pl/~zwozniak/rbs/TPM_gran.JPG
Podgląd ogólny widoku uruchamiania programu Prologu.
http://student.agh.edu.pl/~zwozniak/rbs/TPM_1.JPG
Ten sam widok z bliska
http://student.agh.edu.pl/~zwozniak/rbs/TPM_2.JPG
Projekt powstawal w latach 1983-1988 w Open University and Expert Systems Ltd.
TPM jest dostepny jako komercyjny produkt (od Expert Systems Ltd.) uruchamiany na graficznych stacjach roboczych systemu UNIX
Tools for Software Visualization – SVT (Semantic Visualization Tools) and Vmax
http://student.agh.edu.pl/~zwozniak/rbs/vmax.pdf
VPP (Visual Programming in Prolog)
http://student.agh.edu.pl/~zwozniak/rbs/vpp.pdf
PPVL (Prolog Program Visualization Laboratory)
http://student.agh.edu.pl/~zwozniak/rbs/PPVL.JPG
http://student.agh.edu.pl/~zwozniak/rbs/ppvl.pdf
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.
Reprezentacja wiedzy:
1.Reguły decyzyjne (Decision Rules)
najbardziej podstawowa forma przedstawiania reguł to:
reguła: fakt1 ^ fakt2 ^ … ^ faktn → konkluzja
bardziej rozbudowana forma może mieć postać:
reguła: fakt1 ^ fakt2 ^ … ^ faktn → konkluzja1 ^ konkluzja2 ^ … ^ konkluzjan
2.Tabele decyzyjne (Decision Tables)
tabele decyzyjne mają postać:
http://student.uci.agh.edu.pl/~zwozniak/rbs/tabela.jpg
zaletą tabeli jest ich prostota i łatwość ich interpretacji, wadą natomiast jest to,
że klasyczne tabele są ograniczone do binarnej logiki.
3.Drzewa decyzyjne (Decision Trees)
Reprezentacja wiedzy przy pomocy drzewa jest czytelna, łatwa do użycia i zrozumienia.
Reprezentacja przy pomocy drzewa wygląda następująco:
http://student.uci.agh.edu.pl/~zwozniak/rbs/tree.jpg
Korzeń drzewa jest węzłem wejściowym. Do każdego węzła dołączone są gałęzie.
Koła reprezentują akcje.
Prostokąty reprezentują atrybuty.
Równoległoboki reprezentują relacje i wartości
4.Grafy (Graphs)
Używana w sztucznej inteligencji teoria grafów, opisująca pewien rodzaj abstrakcyjnych danych. Graf składa się z węzłów, które są zwykle opisane oraz krawędzi. Tak utworzona sieć jest grafem skierowanym z numerycznymi wartościami przypisanymi do krawędzi.
5.Grafy koncepcyjne (Conceptual Graph)
W grafie koncepcyjnym węzły są koncepcyjnymi zależnościami. Każda koncepcja jest szczególną instancją koncepcyjnego typu. Każdy graf reprezentuje pojedynczą formułę.
6.Ramki (Frames)
7.Model obiektowo-zorientowany (Object-oriented model)
8.Sieci symantyczne (Semantics Network)