To jest stara wersja strony!


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)

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

Akcja:

:pl:miw:miw08_rbs_back:tpm_action.jpg

Granulacja danych:

:pl:miw:miw08_rbs_back:tpm_gran.jpg

Podgląd ogólny widoku uruchamiania programu Prologu.

:pl:miw:miw08_rbs_back:tpm_1.jpg

Ten sam widok z bliska

: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

Przykładowy ekran widoku klauzuli:

:pl:miw:miw08_rbs_back:vmax2.jpg

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:

  1. Visual Programming (VPP)
  2. 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

Relacja w VPP jest przedstawiana następująco:

:pl:miw:miw08_rbs_back:vpp2.jpg

Klauzula w następujący sposób:

:pl:miw:miw08_rbs_back:vpp3.jpg

Reguła następująco:

: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

Poniższy rysunek pokazuje jeden ze sposobów reprezentowania list relacji w VPP i VPE:

:pl:miw:miw08_rbs_back:vpp6.jpg

Aktualnie są dwie prototypowe implementacje VPP:

  • Philip
  • Treglow

Sprawozdanie

Materiały

pl/miw/miw08_rbs_back.1215768901.txt.gz · ostatnio zmienione: 2019/06/27 15:58 (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