Logiczna reprezentacja wiedzy i metoda logiczno-algebraiczna dr inż. Grzegorz ilcek & dr inż. Maciej Hojda Zakład Inteligentnych Systemów Wspomagania Decyzji, Instytut Informatyki, Politechnika Wrocławska copyright Grzegorz ilcek & Maciej Hojda
Wybrane opisy obiektów wejściowo-wyjściowych u y=f (u) Obiekt opisany funkcyjną zależnością wyjścia od wejścia y u D u R(u,y) D y y Obiekt opisany relacyjną reprezentacją wiedzy u u (α u ) (α u,α w,α y ) y (α y ) y Obiekt opisany logiczną reprezentacją wiedzy
Podstawowe pojęcia ormuła logiczna opisująca obiekt składa się z formuł elementarnych α i operacji logicznych: alternatywy ( ᴠ ), koniunkcji ( ᴧ ), negacji ( ), Implikacji ( ). Np. (α 1, α 2, α 3, α 4 )= α 1 ᴠ α 2 ᴧ α 3 α 4.
Podstawowe pojęcia α(x) formuła elementarna ( własność zmiennych wejściowych, wyjściowych, bądź pomocniczych ogólnie oznaczonych przez x) pewne z założenia niepodzielne klocki (z założenia, tzn. zakładamy, że są niepodzielne, ale w rzeczywistości mogą składać się ze skomplikowanych formuł logicznych). Np. α(x)= Prędkość x>100 km/h lub α(x)= Dla każdego x spełniona jest relacja R(x,a)=x>a. α u,i (u)єa u i-ta (i=1,2,,n1) formuła elementarna wejściowa dotycząca tylko zmiennych u należąca do zbioru formuł wejściowych A u α y,i (y) ЄA y i-ta (i=1,2,,n2) formuła elementarna wyjściowa dotycząca tylko zmiennych y należąca do zbioru formuł wyjściowych A y α w,i (u,w,y) ЄA w i-ta (i=1,2,,n3) formuła elementarna pomocnicza (wewnętrzna systemu) dotycząca zmiennych u lub y lub w (nie tylko u i nie tylko y) należąca do zbioru formuł pomocniczych (wewnętrznych) A w (W ogólności α w,i może zależeć nie tylko od trójki (u,w, y), ale również od par (u,w), a także (w,y)).
Podstawowe pojęcia n=n1+n2+n3 liczba wszystkich formuł elementarnych (α u, α w, α y ) =α ciąg wszystkich formuł elementarnych a j =w(α j )Є{0,1} wartość logiczna j-ej formuły elementarnej (a u, a w, a y )=a zerojedynkowy ciąg wartości logicznych odpowiednich formuł elementarnych α u, α w, α y (takich ciągów jest 2 n dla każdego ciągu formuł elementarnych α) Np. dla ciągu formuł elementarnych α=(α u1, α u2, α w, α y ) przykładowe 4 (z 16) ciągi wartości (a i =(a u1, a u2, a w, a y ), i-numer ciągu wartości), są następujące: a 1 =(1,1,1,1), a 2 =(0,1,1,0), a 3 =(0,0,0,1), a 4 =(0,1,0,1).
Logiczna reprezentacja wiedzy jest zbiorem faktów (α)= 1 (α)ᴧ 2 (α)ᴧ ᴧ k (α) zbiór k faktów (definiuje relację R(u,y)) i (α) i-ty fakt, (i=1,2,,k) zapisany jako formuła logiczna składająca się z formuł elementarnych α i (a), (a) wyrażenia algebraiczne w algebrze logiki dwuwartościowej W bazie wiedzy zakłada się, że wszystkie występujące w niej formuły są faktami, czyli są prawdziwe, czyli dla każdego ciągu a, (a)=1. W literaturze fakty w formie implikacji często zwane są regułami, stąd możliwe są inne określenia jak : baza faktów, baza reguł, baza reguł i faktów.
akty a relacje Każdy fakt i (α) określa relację między zmiennymi wejściowymi, wyjściowymi i pomocniczymi (wewnętrznymi): R i (u,w,y)={(u,w,y) Є UΧWΧY: i [a u (u),a w (u,w,y),a y (y))]=1}, i=1,2,,k Zbiór tych relacji tworzy bazę wiedzy (k liczba reguł i faktów w bazie wiedzy). Zmienne w można wyeliminować i sprowadzić bazę wiedzy do jednej relacji: R(u,y)={(u,y) Є UΧY: V w ЄW [(u,w,y) Є R 1 (u,w,y) R k (u,w,y)]}, czyli R(u,y)={(u,y) Є UΧY: V w ЄW [(a)=1]}.
akty a relacje c.d. Oznacza to, że w obiekcie mogą wystąpić tylko takie wartości (u,y), dla których istnieje taka wartość w, że wszystkie fakty są prawdziwe. u (α u ) logiczna formuła wejściowa, w której występują tylko podciągi α złożone z α u,i (i=1,2,,n1) (definiuje zbiór D u ={uєu: u [a u (u)]=1}) y (α y ) logiczna formuła wyjściowa, w której występują tylko podciągi α złożone z α y,i (i=1,2,,n2) (definiuje zbiór D y ={yєy: y [a y (y)]=1})
Proste zadanie analizy Proste zadanie analizy, inaczej problem dowodzenia twierdzeń. Należy dla przyjętej bazy faktów i reguł podać postać formuły wejściowej u oraz y, przy czym zakłada się, że formuła u jest prawdziwa, a więc formuła ~ = u ᴧ uznana jest za prawdziwą. Należy odpowiedzieć na pytanie: Jaka jest wartość ~ logiczna podanej formuły y? (Inaczej, czy y jest logiczną konsekwencją?). Możliwe odpowiedzi to: TAK, NIE, NIE WIEM. (Ta ostatnia oznacza, że wartość logiczna y nie jest zdeterminowana zbiorem faktów i reguł i własnością u.) W rzeczywistości wyznaczenie algorytmu wnioskowania (z użyciem odpowiednich reguł wnioskowania) dla skomplikowanych struktur logicznych może być bardzo trudne, o ile w ogóle możliwe.
Zadanie analizy Zadanie analizy polega na wyznaczeniu najlepszej* postaci formuły wyjściowej y dla zadanej formuły wejściowej u, a więc odpowiedniego zdania logicznego zawierającego elementarne formuły wyjściowe połączone odpowiednimi spójnikami logicznymi, które spełnia implikację u ᴧ y. (#) *Najlepsza oznacza taką formułę, która implikuje wszystkie inne. Np. jeśli M formuł 1 y, 2 y, 3 y,, M y spełnia (#) oraz zachodzi ( 1 y 2 y) ᴧ ( 1 y 3 y) ᴧ ᴧ ( 1 y M y), to najlepszą formułą jest 1 y Zadanie można więc sformułować następująco: Dane: u, Wyznacz: najlepszą* y spełniającą (#).
Zadanie podejmowania decyzji (sterowania) Zadanie podejmowania decyzji (sterowania) polega na wyznaczeniu najlepszej** postaci formuły wejściowej u dla zadanej formuły wyjściowej y, a więc odpowiedniego zdania logicznego zawierającego elementarne formuły wejściowe połączone odpowiednimi spójnikami logicznymi, które spełnia implikację u ᴧ y. (#) **Najlepsza oznacza taką formułę, która jest implikowana przez wszystkie inne. Np. jeśli M formuł 1 u, 2 u, 3 u,, M u spełnia (#) oraz zachodzi ( 2 u 1 u) ᴧ ( 3 u 1 u) ᴧ ᴧ ( M u 1 u), to najlepszą formułą jest 1 u Zadanie można więc sformułować następująco: Dane: y, Wyznacz: najlepszą** u spełniającą (#).
Metoda logiczno-algebraiczna Metoda logiczno-algebraiczna, zwana też metodą Bubnickiego. Polega na rozwiązaniu zadania analizy bądź podejmowania decyzji poprzez przejście z reprezentacji zdania w formie zmiennych logicznych na ich reprezentację w algebrze dwuwartościowej, rozwiązaniu postawionego równoważnego zadania zastępczego, a następnie powrotu do reprezentacji w formie zmiennych logicznych.
Dodatkowe oznaczenia A zbiór wszystkich ciągów a=(a u,a w,a y ) S a ={a Є A: (a)=1} zbiór równoważny formule (α). S u ={a u Є A: u (a u )=1} zbiór równoważny formule u (α u ). S y ={a y Є A: y (a y )=1} zbiór równoważny formule y (α y )
Rozwiązanie zadania analizy Równoważny problem analizy polega na wyznaczeniu najmniejszego zbioru S y, dla którego spełniona jest implikacja a u ЄS u a y ЄS y Aby rozwiązać zadanie analizy należy znaleźć wszystkie ciągi wartości formuł elementarnych a y (czyli zbiór S y ), dla których spełnione jest (a u,a w,a y )=1 ᴧ u (a u )=1
Rozwiązanie zadania podejmowania decyzji (sterowania) Równoważny problem analizy polega na wyznaczeniu największego zbioru S u, dla którego spełniona jest implikacja a u ЄS u a y ЄS y Aby rozwiązać zadanie podejmowania decyzji należy znaleźć wszystkie ciągi wartości formuł elementarnych a u (czyli zbiór S u ), dla których spełnione jest (a u,a w,a y )=1 ᴧ y (a y )=1 ale niespełnione jest (a u,a w,a y )=1 ᴧ y (a y )=0
Rozwiązanie zadania podejmowania decyzji (sterowania) c.d. W praktyce należy wyznaczyć dwa zbiory S u1 i S u2. Dla S u1 spełnione jest (a u,a w,a y )=1 ᴧ y (a y )=1, Dla S u2, spełnione jest (a u,a w,a y )=1 ᴧ y (a y )=0. Ostatecznie S u = S u1 S u2
Powrót do reprezentacji w formie zmiennych logicznych Aby przejść z reprezentacji algebraicznej do logicznej, wystarczy utworzyć formułę stworzoną z alternatyw koniunkcji zmiennych logicznych (formuł elementarnych), których wartości występują w odpowiednim zbiorze S u lub S y, przy czym jeśli w danym ciągu wartości przy odpowiadającej zmiennej logicznej jest wartość 0, to w formule ta zmienna wystąpi z negacją. Jest to tzw. postać dysjunkcyjna. Przykład: Dla rozwiązania zadania analizy S y ={(0,1);(1,0);(1,1)}, formuła wyjściowa wygląda następująco: y = ( α y1 ᴧ α y2 ) ᴠ (α y1 ᴧ α y2 ) ᴠ (α y1 ᴧ α y2 ). Otrzymaną formułę często można uprościć stosując prawa i twierdzenia rachunku zdań logicznych, np. powyższą formułę można zapisać prościej jako y = α y1 ᴠ α y2.
Dodatkowe informacje W sformułowanych rozwiązaniach zastępczych, zadań analizy i podejmowania decyzji wykorzystujących algebrę dwuwartościową, można zauważyć, że do znalezienia rozwiązania należy przeglądnąć wszystkie możliwe ciągi wartościowań formuł elementarnych. Dla dużych i skomplikowanych problemów zadanie może być bardzo trudne, głównie ze względu na jego czasochłonność. Aby dla wielu przypadków uprościć procedurę rozwiązania zaproponowano metody dekompozycji. Metoda logicznoalgebraiczna jak i metody dekompozycji zarówno dla zadania analizy jak i podejmowania decyzji zostały opisane m.in. w następujących publikacjach:
Literatura Bubnicki, Z. (1990), Wstęp do systemów ekspertowych, PWN, W-wa. Bubnicki, Z. (1992), Decomposition of a system described by logical model. R. Trappl (red.) Cybernetics and System Research, t. 1, Singapore: World Scientific, 121-128 Bubnicki, Z. (1997), Logic-algebraic method for a class of knowledge-based systems.. Pichler, R. Moreno-Diaz (red.) Computer Aided System Theory, Lecture Notes in Computer Science, Springer-Verlag, 1333, Berlin, 420-428 Bubnicki, Z. (1997), Logic-algebraic method for a class of dynamical knowledge-based systems. A. Sydow (red.) Proc. of the 15th IMACS World Congress on Scientific Computation, Modelling and Applied Mathematics, t. 4, 101-106, Berlin Bubnicki, Z. (1998), Logic-algebraic method for knowledge-based relation systems. Sys. Anal. Model. Simul., 33, 21-35 Bubnicki, Z. (1999), Learning processes and logic-algebraic method in knowledge-based control systems. S.G. Tzafestas, G. Schmidt (red.) Progress in System and Robot Analysis and Control Design. Lecture Notes in Control and Information Sciences, 243. Springer-Verlag, London, 183-194 Bubnicki, Z. (2002), Teoria i algorytmy sterowania, PWN, W-wa
Przykłady Na kolejnych slajdach znajdują się przykłady ilustrujące przedstawioną teorię
System grzewczy - schemat u 2 u 4 u 1 y 1 u 3 Grzejnik wody Podsystem sterujący () y 2 u 5 y 3 copyright Maciej Hojda
Wejścia i wyjścia u [0, ) Doprowadzone napięcie zasilające do grzałki [V ] 1 u {0,1} 2 Włącznik grzejnika [wył., wł.] u (, ) Wprowadzona docelowa temperatura wody [ C 3 u (, ) Zmierzona aktualna temperatura wody [ C 4 u [0, ) Poziom wody w zbiorniku [ cm] 5 ] ] y { brak, zielony, czerwony } Sygnał kontrolki [nieaktywny, ogrzewanie włączone, ogrzewanie 1 niemożliwe] y {0,1} 2 Podanie napięcia na grzałkę [nie, tak] y (, ) Różnica między temperaturami: docelową, a aktualną[ C ] 3 copyright Maciej Hojda
ormuły elementarne i fakty u1 {0,1} " 24 u 1 460 " u2 {0,1} " u 2 1" u3 {0,1} " u3 u4 " u4 {0,1} " u 10 " 5 y1 {0,1} " y ~ brak 1 " y2 {0,1} " y zielony y3 {0,1} " y 1" 1 " 2 y4 {0,1} " y 0 " 3 w1 {0,1} Czy system jest gotowy do ogrzewania wody [nie, tak] w2 {0,1} Czy woda powinna być ogrzana [nie, tak] 1 u1 u2 w1 2 u3 u4 w2 3 w1 w2 y2 y3 4 u3 y4 4 u3 y4 copyright Maciej Hojda
Przykładowe przekształcenia między wejściami, wyjściami, a formułami D u u 1 [210,240], 1 3 1, 1, 1, 0 u u1 u2 elementarnymi u 2, u 30, u 20, u 5 u3 u4 u ( u ) u1 u2 u3 u4 u ( u ) u1 u2 u3 u4 1, 0, 0, 1 u u1 u2 4 u3 u4 2 3 u u 5 D u u 1 [40,460], u 0, u 4, 10 5 D y y y1 brak, y2 tak, y 3 0 0, 0, 1, 1 y1 y2 y3 y4 1, 1, 0, 1 y D y y1 y2 y3 y1 zielony, y2 nie, y 3 0 y4 Przez formuły wejściowe u i wyjściowe y rozumiemy koniunkcje odpowiednich formuł elementarnych. copyright Maciej Hojda
Przykładowa reprezentacja wiedzy 1 u1 u2 w1 Zadanie analizy ~ 2 w1 u2 y1 ) 3 w1 y1 (~ y 2 u y ~ u1 u2? Zadanie syntezy y u ~ ( ~ ) y1 y2? copyright Maciej Hojda
Zadanie analizy - rozwiązanie a a u1 u2 a w1 a y1 a y2 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 1 0 1 0... 0 1 0 1 0 1 1 1 1 1... 0 1 0 0 1 1 1 1 1 1... 0 1 0 1 1 1 1 1 1 1... 0 1 1 1 1 1 1 1 1 1... 1 2 3 u u S y {(1,0), (0,1), (1,1)} y ( y1 ~ y2) (~ y1 y2) ( y1 y2) y1 y2 copyright Maciej Hojda
a u1 Zadanie syntezy - rozwiązanie a u2 a w1 a y1 a y2 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0... 0 0 0 1 0 1 1 1 1 1 0 1 1 0 0 1 0 1 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 0 1... 0 1 0 0 1 1 1 1 0 1 1 0... 0 0 0 1 1 1 1 1 0 1 1 0 1 0 0 1 1 1 1 1 0 1 1 0 0 1 0 1 1 1 1 1 0 1 1 0... 0 0 1 1 1 1 1 1 0 1 1 0 1 0 1 1 1 1 1 1 0 1 1 0 0 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 0 1 1 0 2 3 y y ~ y S u1 {(0,0),(0,1),(0,1),(1,1)} S u2 {(0,0),(1,0),(0,1)} S u {(1,1)} copyright Maciej Hojda u u1 u2
Uproszczony system grzewczy u 1 u 2 Grzejnik wody Podsystem sterujący () y 1 u 3 u {0,1} Włącznik grzejnika [wył., wł.] 1 u (, ) Wprowadzona docelowa temperatura wody [ C 2 u (, ) Zmierzona aktualna temperatura wody [ C 3 ] ] y {0,1} Podanie napięcia na grzałkę [nie, tak] 1 copyright Maciej Hojda
Uproszczony system grzewczy {0,1} " u 1 " u2 2 {0,1} " u u " u3 3 4 {0,1} " y zielony y2 1 " {0,1} " y 1 " y3 2 {0,1} Czy system jest gotowy do ogrzewania wody [nie, tak] w1 {0,1} Czy woda powinna być ogrzana [nie, tak] y2 copyright Maciej Hojda