Większość współczesnych środków informatycznych obsługujących Internet wykorzystuje
lepiej lub gorzej określone operacje i reguły logicznej analizy tekstu. W tym kontekście,
znajomość przez nauczycieli metod logicznej analizy tekstu wydaje się być dobrze
uzasadniona. Zapoznanie się z ta dziedzina moŜna rozpocząć od ksiąŜki Witolda
Marciszewskiego „Metody analizy tekstu naukowego” (1981 r.). ChociaŜ praca ta była
przygotowana dla wydawnictwa jako poradnik, czy przewodnik po wskazanej w tytule
ksiąŜki dziedzinie wiedzy, przeznaczony dla nauczycieli akademickich i studentów, to takŜe
prezentowała nowatorskie idee oraz wytyczała nowe kierunki badań. Zwłaszcza prekursorskie
było zaproponowanie, jako głównego celu logicznej analizy tekstu, badania logicznego
związku pomiędzy tematem a rematem, tj. pomiędzy tymi fragmentami tekstu, które
reprezentują wiedzę potrzebną do wyznaczenia innej wiedzy, a tymi fragmentami tekstu,
które reprezentują wiedzę wyznaczoną na podstawie tematu. W tym ujęciu, istotą
poprawności logicznej jednostki tekstu jest występowanie logicznego stosunku pomiędzy
tematem i rematem. Ten związek logiczny ustala się dokonując formalnego opisu relacji
określających zwartość tematyczną tekstów z danej dziedziny wiedzy, do której naleŜy
analizowany tekst. Analizowane relacje zwane są relacjami nawiązywania. Na podstawie
tych relacji wyprowadzane są jedne teksty z drugich, adekwatnie do wyznaczania jednej
wiedzy przez drugą. W sensie wyprowadzalności tekstów, w dowolnym wyprowadzeniu
jedne teksty są następnikami innych, w tym teksty wyprowadzane (rematy) są następnikami
tekstów (tematów), z którymi pozostają w relacji nawiązywania. Z tego powodu, do badania
struktury tematycznej tekstu moŜna zastosować aparat pojęciowy teorii krat. Ze względu na
znaczenie pojęć tematu i rematu dla analizy tekstu, postuluje się utworzenie teorii, którą autor
omawianej pracy proponuje nazwać logiczną teorią tekstu.
Formalizacja języka dziedzin wiedzy
Omówimy teraz standaryzację procedur logicznej analizy tekstu określoną przez
wymogi programowania logicznego.
W dowolnym systemie reprezentacji wiedzy reprezentowana jest wiedza z pewnej
dziedziny. Język, w którym wyraŜana jest ta wiedza nazywamy językiem tej dziedziny
wiedzy. Istotą programowania logicznego jest
1) taka formalizacja tekstu zadania, wyraŜonego w języku jakiejś dziedziny wiedzy,
która reprezentuje wiedzę logiczną o danych i faktach, do których odwołuje się
(nawiązuje) tekst zadania, a więc reprezentacja tego co jest dla tego tekstu i dla danej
dziedziny wiedzy tematem, utoŜsamianym w programowaniu logicznym z siecią
semantyczną,
2) formalizacja relacji nawiązywania, ustalających sekwencje operacji prowadzących od
danych i faktów do innych danych i faktów lub do nowych danych (szukanych) i
ustaleń (tj. do rematu); w programowaniu logicznym sekwencjom tych operacji
odpowiada przestrzeń rozwiązań, a zbiorowi relacji nawiązywania - baza wiedzy,
3) formalizacja wszystkich faktów określonych przez relacje nawiązywania występujące
w tekście zadania; w programowaniu logicznym reprezentacji tych faktów odpowiada
dynamiczna baza danych,
4) formalizacja zbioru danych, niekoniecznie występujących w tekście zadania, do
których trzeba się odwołać, aby uzyskać to co jest szukane; w programowaniu
logicznym odpowiada temu zewnętrzna baza danych,
5) formalizacja zapytań, określających to co szukane i co ma być ustalone, a więc
reprezentacja tego co jest dla danego tekstu zadania rematem.
W celu dokonania tak rozumianej formalizacji tekstów języka dziedziny wiedzy wyróŜniamy
w nim:
1) zaimki nieokreślone: „ktoś”, „coś”, „jakiś”, itp., oznaczające dowolnie ustalony
przedmiot,
2) nazwy indywidualne, oznaczające indywidua, np. „ten człowiek”, „to dziecko”,
„miasto Warszawa”, „to co jest aktualnie liczone”, „człowiek, o którym jest tu
mowa”, „przedmiot, który mamy na uwadze”, „dowolnie ustalony na czas rozwaŜań
przedmiot”, itp.
3) nazwy proste, które nie są tworzone z innych nazw, np. „dom”, „liczba”
4) funktory nazwotwórcze tworzące z nazw (zaimków) nowe nazwy (zaimki),
oznaczające operacje i ich złoŜenia
5) nazwy złoŜone, zbudowane z nazw prostych za pomocą funktorów nazwotwórczych,
np. „wielki, biały stół”
6) zaimki złoŜone: „coś białego”, „jakaś liczba”, itp.
7) dane – nazwy odnoszące się bezpośrednio do stanów rzeczy, np. „dana długość”,
„dane nazwisko”, „data urodzenia” w wyraŜeniu „znana jest data urodzenia Jana
Kowalskiego”, oraz wszystkie nazwy występujące w wyraŜeniach odwołujących się
do wiedzy człowieka, itp.
8) Szukane – nazwy odnoszące się pośrednio do stanów rzeczy, np. „szukana długość”,
„szukane nazwisko”, nazwy tego co szukane i wskazywane przez pytania, itp.
9) umiejscowienie tekstu - nazwa będąca identyfikatorem połoŜenia nazwy w tekście,
np. „w środku tekstu”, „na wstępie”, „piąta z kolei dana”, „druga z kolei szukana”,
„następująca po [nazwa]” , „w cytowanej ksiąŜce”, itp.
10) funktory zdaniotwórcze: zwroty typu „kaŜde ... jest ...”, „...biegnie”, itp. oraz
spójniki zdaniowe „ nieprawda, Ŝ e...”, „...i...”, „...lub...”, „jeŜ eli..., to...”, „...wtedy i tylko wtedy...”, a takŜ e zwroty kwantyfikują ce „kaŜ dy...spełnia warunek....”,
„pewien... spełnia warunek...”, „ ...identyczne z...”,
11) fakty - wyraŜenia zdaniowe łączone zwrotami „jest faktem, Ŝ e ...”, „załóŜ my, Ŝ e
...”, „prawdą jest, Ŝ e ...” i wszystkimi zwrotami o tym samym znaczeniu,
wskazującymi na znany stan rzeczy
12) ustalenia - wyraŜenia łączone zwrotem „jest ustalone, Ŝ e ...”, „naleŜ y odpowiedzieć na pytanie czy ...” i wszystkimi zwrotami o tym samym znaczeniu, wskazujące
pośrednio na stan rzeczy; ustalenia odpowiadają więc pewnego rodzaju pytaniom
13) funktory odwołań – są to wszelkie znaki, w tym zwroty odwołujące się do innych
tekstów, czy części danego tekstu np. do wyraŜeń zdaniowych zawartych w tekście,
np. rozpoczęcie wyraŜenia zdaniowego z duŜej litery i zakończenie go kropką jest
odwołaniem do wydzielonego przez ten funktor wyraŜenia zdaniowego, funktorami
odwołań są takŜe dla nazw zwrot „...jest...”, a dla wyraŜeń zdaniowych zwroty „....
Stąd wynika, Ŝe ...”, „..., a więc ...”, „Zatem ....”, itp. oraz zwroty określające
cytowanie lub bycie faktem czy ustaleniem,
14) odwołania – wyraŜenia tworzone za pomocą funktorów odwołań
15) wyraŜenia zdaniowe, które zbudowane są z wyróŜnionych nazw za pomocą
wyróŜnionych funktorów i te wyraŜenia, które dają się tak przeformułować, aby były
zbudowane z wyróŜnionych nazw i funktorów.
Następnie budujemy schematy (wzory, diagramy, tabele, itp. )1 wyróŜnionych wyraŜeń
zdaniowych języka danej dziedziny wiedzy tak, aby kaŜdemu takiemu schematowi,
oddzielnie, odpowiadało jakieś wyraŜenie tego języka. W standardowej notacji logiki
pierwszego rzędu formalizację moŜemy dokonać następująco:
1) zmienne: x1, x2, x3, ... , reprezentują zaimki nieokreślone, np. wyraŜenie zdaniowe
„kaŜ dego dnia ktoś biegnie jakąś aleją parku jakiegoś miasta”
jest równoznaczne
„kaŜ dego dnia człowiek jakiś biegnie aleją parku jakąś miasta jakiegoś .”
a po zamianie zaimków na zmienne
„kaŜ dego dnia człowiek x1 biegnie aleją parku x2 miasta x3.”
2) stale: c1, c2, c3, ... , reprezentują nazwy indywidualne, np. wyraŜenie zdaniowe
„jakiś człowiek mieszka w mieś cie Warszawa”
c1
człowiek x1 mieszka w c1
3) dziedziny deklarowane (typy zmiennych): D1, D2, D3, ... , reprezentują nazwy proste,
„kaŜ dego dnia człowiek biegnie w mieś cie”
D1 D2 D3
4) symbole funkcyjne: f 1
1
1
k
k
k
1 , f2 , f3 , ... , f1 , f2 , f3 , ... , reprezentują funktory nazwotwórcze
jeden, ..., k-argumentowe, ... , np.
człowiek x1 mieszkają cy w c1
f 2
1
1 ( f1 ( x1 ) , c1)
5) termy: niech t1, t2, t3, ..., reprezentują dowolne zaimki (proste i złoŜone) – zmienne i stałe
są termami, jeśli t
k
k
1, t2, t3, ...,tk są termami, a fn jest symbolem funkcyjnym, to fn (t1, t2, t3,
...,tk) jest termem, np. schemat w punkcie 4) jest termem powstałym z symbolu
funkcyjnego f 2
1
1 , termu f1 (x1) oraz stałej c1
6) dziedziny: niech H1, H2, H3, ... , reprezentują dowolne nazwy – dziedzinami są dziedziny
deklarowane (np. standardowe) oraz jeśli H
k
1, H2, H3, ... , Hk są dziedzinami, , a fn jest
symbolem funkcyjnym, to f k
n (H1, H2, H3, ...,Hk) jest dziedziną wyznaczoną przez ten
symbol, np. jeŜeli dziedzina D1 reprezentuje nazwę „człowiek”, a dziedzina D2 – nazwę
1 NaleŜy zauwaŜyć, Ŝe współcześnie formalizacji dokonuje się takŜe np. w języku diagramów, tj. sieci
semantycznych i przestrzeni rozwiązań, posiadających strukturę grafów skierowanych. Por. R. Kowalski, Logika
w rozwią zywaniu zadań , Warszawa 1989, s. 33.
„miasto”, natomiast symbol funkcyjny f 2
1 reprezentuje zwrot „... mieszkający w ...”, to
f 2
1 (D1,D2) jest dziedziną reprezentującą wyraŜenie nazwowe „ człowiek mieszkający w
mieście”
7) deklaracja symbolu funkcyjnego: niech H1, H2, H3, ... są dziedzinami deklarowanymi
oraz H jest dziedziną róŜną od nich, dalej niech f k
n jest symbolem funkcyjnym, wtedy
wyraŜenie H = f k
k
n (H1, H2, H3, ...,Hk) nazywamy deklaracją symbolu funkcyjnego fn ,
8) deklaracja dziedzin: niech D1, D2, ..., Dk są dziedzinami standardowymi, a H1, H2, ..., Hn
pewnymi ustalonymi dziedzinami, w których nie występują wymienione dziedziny
standardowe, wtedy wyraŜenie D1, D2, ..., Dk = H1; H2; ...; Hn nazywamy deklaracją
dziedzin D1, D2, ..., Dk i czytamy: dziedziny D1, D2, ..., Dk utoŜsamiamy z dziedzinami H1
lub H2 lub ... lub Hn ,
9) deklaracja
zewnętrznej
dynamicznej
bazy
danych:
deklaracja
dziedzin
reprezentujących nazwy zewnętrznych w stosunku do tekstu zadania, zbiorów danych
10) deklaracja miejsca danych w zewnętrznej bazie danych: deklaracja dziedziny miejsca
danej lub szukanej
11) predykaty: P 1
1
1
k
k
k
1 , P2 , P3 , ... , P1 , P2 , P3 , ... , reprezentują funktory zdaniotwórcze,
tworzące z nazw albo zaimków wyraŜenia zdaniowe, jedno, ..., k-argumentowe, ..., np.
człowiek x1 mieszka w c1
P 2
1
1 ( f1 ( x1 ) , c1)
12) stałe logiczne: ¬, ∧, ∨, ⇒, ⇔, ∀, ∃, =, reprezentują odpowiednio wymienione spójniki
zdaniowe i zwroty kwantyfikujące oraz identyczność.
13) Znaki techniczne: nawiasy i przecinki – reprezentują obszar wiązania przez funktory
składników tekstu, np. jeśli w napisie „A ∨ B ∧ C” nie umieścimy nawiasów (. ), to nie
wiadomo czy napis ten jest schematem jakiegokolwiek zdania, gdyŜ nie reprezentuje
wiedzy o tym, które ze zdań jest tu połączone spójnikiem „lub”, a które spójnikiem „i”,
chyba, Ŝe wcześniej ustalimy kolejność łączenia przez spójniki logiczne (tzw. siłę
wiązania); napis „(P 1
1
1
1 (c1) ∨ P1 (x1)) ∧ P2 (c2)” jest schematem jakiegoś wyraŜenia
zdaniowego,
14) deklaracje predykatów: niech H
k
1, H2, H3, ... , Hk są deklarowanymi dziedzinami, , a Pn
jest predykatem, to P k
n (H1, H2, H3, ...,Hk) deklaracją predykatu,
15) formuły atomowe: niech t
k
1, t2, t3, ...,tk , tn są termami, a Pn jest predykatem, wtedy
P k
n (t1, t2, t3, ...,tk) jest formułą atomową,
16) formuły: deklaracje dziedzin, deklaracje predykatów, formuły atomowe są formułami,
niech A, i B są formułami oraz t i h termami, wtedy formułami są ¬ (A), ( A) ∧ (B) , (A)
∨ (B), (A) ⇒ (B), ⇔, ∀xk (A), ∃xk (A) , t = h,
17) deklaracja wewnętrznej bazy danych: deklaracja predykatów, których dziedziny są
dziedzinami danych lub szukanych
18) formuły faktów - formuły będące schematami faktów,
19) formuły ustaleń – formuły będące schematami ustaleń
20) formuły reguł - formuły będące schematami odwołań
Uwaga. RozróŜnienie: wewnętrzna, zewnętrzna baza danych nie jest natury czysto
technicznej, lecz związane jest ze strukturą wielu tekstów wyraŜonych w jakimś języku
wiedzy. I tak, wiązanie przez predykaty danych z szukanymi określone jest powiązaniami
wewnątrz tekstu, natomiast określenie termów jako naleŜących do dziedziny danych lub
szukanych oraz ustalenie ich miejsca moŜe jedynie odbyć się na zewnątrz tekstu.
Formuły poprawnie zbudowane nie zawierające dziedzin nazywamy formułami
rachunku kwantyfikatorów, a zbiory deklaracji związane z tymi formułami - środowiskiem
określoności tych formuł (environ). Na formalizację analizy tekstu języka danej dziedziny
wiedzy składają się więc (w nawiasach podano nazwy tych składników w języku Turbo
Prolog):
1. Środowisko
E1.
Deklaracja dziedzin (DOMAINS), w tym zewnętrznej bazy danych
E2.
Deklaracja dynamicznej bazy danych (DATABASE)
E3.
Deklaracja predykatów (PREDICATES)
1. Lista ustaleń (GOAL): lista (koniunkcja) formuł atomowych w których występują
zmienne reprezentujące to co szukane
2. Lista formuł (CLAUSES)
F1.
Formuły faktów
F2.
Formuły reguł
W formalizacji tekstów języka danej dziedziny wiedzy wykorzystuje się takŜe
następujące zasady schematyzacji:
Schemat 1.
Dowolna część wyraŜ enia ję zyka, która odnosi się do tej samej wiedzy ma ten
sam schemat.
Schemat 2.
KaŜ da schematyzacja wyraŜ enia zdaniowego poprzedzona jest deklaracjami
dziedzin i predykatów reprezentują cych odpowiednio nazwy i funktory zdaniotwórcze wiąŜą ce
te nazwy w danym wyraŜ eniu zdaniowym. Przykład
x2
x3
x4
P 3
3
1 P1
JeŜ eli jakaś osoba poŜ yczy coś drugiej osobie, a ta poŜ yczy to trzeciej, to trzecia osoba moŜ e
to zwrócić pierwszej
P 3
2
x1
Dziedziny:
D1 – osoba,
D2 – przedmioty poŜyczane/zwaracane,
Predykaty:
P 3
1 - .... poŜyczy ..., ...,
P 3
2 - .... zwróci ..., ...,
Deklaracje:
P 3
1 (D1, D2, D1) – deklaracja reprezentuje wiedzę o tym, Ŝe osoba poŜycza przedmiot, osobie,
P 3
2 (D1, D2, D1) - deklaracja reprezentuje wiedzę o tym, Ŝe osoba zwraca przedmiot, osobie,
Schemat przykładowego wyraŜenia zdaniowego ma postać
3
3
3
3
1 (D1, D2, D1) ∧ P2 (D1, D2, D1) ∧ ((P1 (x1, x2, x3) ∧ P1 (x3, x2, x4)) ⇒ P2 (x4, x2, x1))
Środowisko
Formuła
Schemat 3
Schematyzują c wyraŜ enie, te same nazwy i zaimki nie poprzedzone
bezpoś rednio zwrotami kwantyfikują cymi oznaczamy za pomocą tych samych symboli
zmiennych, a jeŜ eli poprzedzone są bezpoś rednio wyraŜ eniami kwantyfikują cymi, oznaczamy je róŜ nymi wcześ niej nie wystę pują cymi zmiennymi.
Schemat 4
JeŜ eli w prostym wyraŜ eniu zdaniowym (nie zawierają cym spójników
zdaniowych) nazwy poprzedzone są bezpoś rednio zwrotami kwantyfikują cymi, to zwroty kwantyfikują ce wraz z nazwami zastę pujemy róŜ nymi, wcześ niej nie wystę pują cymi zmiennymi, a stosowne znaki kwantyfikatorów wraz z odpowiadają cymi im zmiennymi
wypisujemy na począ tku formuły zgodnie z porzą dkiem wykonywanej schematyzacji. Np.
KaŜdy matematyk jest uczniem pewnego matematyka
∀
x
2
1
P1 ∃ x2
P 2
∃
2
1 (D1, D1) ∧ ∀x1 x2 P1 (x1, x2)
Gdzie D1 jest dziedziną reprezentującą matematyków.
Schemat 5
We wszystkich schematach, w których wystę pują kwantyfikatory, kaŜ dy
kwantyfikator musi wią zać inną zmienna, np. formuła ∀x
1
1
1 P1 (x1) ∨ ∃ x1 P1 (x1) nie moŜ e
być poprawnym schematem, ale formuła ∀x
1
1
1 P1 (x1) ∨ ∃ x2 P1 (x2) moŜ e nim być .
Uwaga. W formalizacji stosowanej zazwyczaj w logice formalnej dziedziny zapisuje się w
postaci jednoargumentowych predykatów, np. zamiast P 2
∃
2
1 (D1, D2) ∧ ∀x1 x2 P1 (x1, x2) moŜna
napisać: ∀x1 (D1(x1) ⇒ ∃x2 (D2(x2) ∧ P12(x1, x2))), a w notacji teoriomnogościowej :
∀x ∈ ∃ ∈
2
1
D1 x2 D2 P1 (x1, x2).
MoŜna takŜe zmienne odnoszące się do róŜnych dziedzin oznaczać w róŜny sposób,
np. w notacji teoriomnogościowej zbiory oznacza się duŜymi literami a ich elementy małymi.
ZłoŜoność uzyskanych napisów w tych schematyzacjach jest jednak znacznie większa niŜ w
proponowanej wyŜej metodzie, dlatego teŜ ta metoda schematyzacji przyjęła się w
programowaniu logicznym.
Nie wchodząc w szczegóły programowania logicznego w języku Turbo Prolog,
zauwaŜmy na zakończenie tej części rozwaŜań, Ŝe program komputerowy napisany w tym
języku reprezentuje wiedzę o logicznej analizie zadania jako jednostki tekstu, analizie
ustalającej logiczny związek pomiędzy tym co jest tematem zadania i tym co jest rematem
zdania, czy upraszczając: pomiędzy tym co jest dane, a tym co jest szukane. To spostrzeŜenie
jest silną motywacją do poczynienia pewnych uogólnień.
1.7 Reprezentowanie wiedzy o wartościach logicznych zdań – tabele
prawdziwościowe
Dotąd rozwaŜaliśmy schematy zdań będące reprezentacjami wiedzy o tym, w jaki
sposób zdania złoŜone są zbudowane ze zdań prostych. Nie interesowało nas, czy zdanie
reprezentuje wiedzę o pewnym stanie rzeczy, czy teŜ nie, tzn., czy zdanie to jest prawdziwe
w pewnej dziedzinie wiedzy (ma wartość logiczną prawdy), czy nie (ma wartość logiczną fałszu). Nie była teŜ brana pod uwagę wiedza o tym, jaka jest zaleŜność pomiędzy wartością
logiczną zdania złoŜonego utworzonego przy pomocy spójników ze zdań prostych a
wartościami logicznymi tych zdań.
Aby móc reprezentować tego rodzaju wiedzę, wartości prawdy i fałszu oznaczymy,
odpowiednio, symbolami 1 i 0.
W reprezentacji standardowej, będącej wynikiem formalizacji, wiedza o zasadach
określania wartości logicznej zdań złoŜonych jest zazwyczaj przedstawiana za pomocą tabel
prawdziwościowych , budowanych dla schematów tych zdań. Tabele prawdziwościowe dla
formuł są wzorami, według których określamy wartość logiczną zdania złoŜonego w
zaleŜności od wartości zdań składowych:
A
B
¬A
A ∨ B
A ∧ B
A ⇒ B
A ⇔ B
0
0
1
0
0
1
1
0
1
1
1
0
1
0
1
0
0
1
0
0
0
1
1
0
1
1
1
1
Tab. 1
Formuły, które są schematami tylko zadań prawdziwych nazywamy tautologiami, a
takie, które są schematami tylko zdań fałszywych nazywamy kontrtautologiami.
To czy formuła jest tautologią czy nie moŜemy sprawdzić korzystając z tabel
prawdziwościowych. Np. kaŜda formuła postaci (A ∧ (B ∨ C)) ⇒ (¬C ⇒ A) jest tautologią,
gdyŜ na podstawie tabel prawdziwościowych moŜna wykazać, Ŝe przy dowolnych
wartościach logicznych składowych A, B, C formuła reprezentuje zadanie prawdziwe (Tab. 2)
ZauwaŜmy, Ŝe na podstawie tabel prawdziwościowych dla spójników zdaniowych
dysponujemy następującą wiedzą:
• formuła ¬A jest tautologią, gdy dowolne zdanie o schemacie A jest fałszywe, co oznacza,
Ŝe A jest kontrtautologią,
• formuła A ∨ B jest tautologią, gdy w dowolnym zdaniu o schemacie A ∨ B co najmniej
jedno ze zdań o schematach A, B jest prawdziwe, w szczególności, gdy jedna z formuł A
lub B jest tautologią,
• formuła A ∧ B jest tautologią, gdy w dowolnym zdaniu o schemacie A ∧ B oba zdania
schematach A, B są prawdziwe, w szczególności, gdy obie formuły A i B są tautologiami,
• formuła A ⇒ B jest tautologią, gdy w dowolnym zdaniu o schemacie A ⇒ B, jeŜeli
zdanie o schemacie A jest prawdziwe, to zdanie o schemacie B jest prawdziwe, w
szczególności, jeŜeli formuła A jest tautologią, to B jest teŜ tautologią,
• formuła A ⇔ B jest tautologią, gdy w dowolnym zdaniu o schemacie A ⇔ B oba zdania
o schematach A, B mają tę samą wartość logiczną, w szczególności, gdy obie formuły A i
B są tautologiami lub kontrtautologiami,
B
C
B ∨ C
¬C
A ∧ (B ∨ C
¬C ⇒ A (A ∧ (B ∨ C)) ⇒ (¬C ⇒ A)
0
0
0
0
1
0
0
1
1
0
0
0
1
0
1
1
0
1
0
1
1
0
0
1
1
1
0
1
1
1
1
1
0
0
1
1
0
0
1
1
1
0
1
1
0
1
1
1
0
1
1
1
0
0
1
1
1
1
1
1
0
1
1
1
Tab. 2
RozwaŜmy teraz formuły poprzedzone kwantyfikatorami. Niech A(x) jest dowolną
formułą, w której x jest jedyną zmienną wolną. Oznaczmy zbiór wszystkich zdań, których
schematem jest ta formuła przez P, gdy wszystkie zdnia tego zbioru są prawdziwe, przez
F, gdy są fałszywe, a przez T, gdy niektóre zdania tego zbioru są prawdziwe, a niektóre
fałszywe. Wiedzę o wartościach logicznych zdań, których schematem jest formuła
∀xA(x) lub formuła ∃xA(x) reprezentuje tabela
A(x)
∀xA(x)
∃xA(x)
P
1
1
F
0
0
T
0
1
Tab. 3
Wiedzę reprezentowaną przez powyŜszą tabelę moŜemy teŜ sformułować następująco:
• jeŜeli formuła ∀xA(x) jest schematem zdania prawdziwego, to formuła A(x) jest
schematem zdań wśród których kaŜde zdanie jest prawdzie, np. zdanie o schemacie A(c),
gdzie wybór termu c nie zaleŜy od formuły A(x), a jedynie od dziedziny argumentu x, jest
więc dowolny,
• jeŜeli formuła ∃xA(x) jest schematem zdania prawdziwego, to formuła A(x) jest
schematem zdań wśród których co najmniej jedno zdanie jest prawdzie, np. zdanie o
schemacie A(c), gdzie wybór termu c zaleŜy od formuły A(x) i od dziedziny argumentu x,
a więc moŜe być dokonany tylko raz podczas formalizacji tekstu,
• jeŜeli formuła ¬∀xA(x) jest schematem zdania prawdziwego, to formuła ¬A(x) jest
schematem zdań wśród których co najmniej jedno zdanie jest prawdzie, np. zdanie o
schemacie ¬A(c), gdzie wybór termu c zaleŜy od formuły A(x) i od dziedziny argumentu
x, a więc moŜe być dokonany tylko raz podczas formalizacji tekstu,
• jeŜeli formuła ¬∃xA(x) jest schematem zdania prawdziwego, to formuła ¬A(x) jest
schematem zdań wśród których kaŜde zdanie jest prawdzie, np. zdanie o schemacie
¬A(c), gdzie wybór termu c nie zaleŜy od formuły A(x), a jedynie od dziedziny
argumentu x, jest więc dowolny,
Wykorzystując powyŜszą wiedzę, sprawdzanie czy schemat danego zdania jest tautologią
moŜna dokonywać na dwa sposoby:
1. zbadać, czy wartość logiczna prawdziwego zdania złoŜonego o danym schemacie nie
zaleŜy od wartości logicznej zdań składowych – jest sprawdzanie wprost,
2. zbadać, czy załoŜenie, Ŝe zdanie złoŜone o danym schemacie ma wartość logiczną fałszu,
moŜe prowadzić do sytuacji, w której zdanie przyjmuje dwie róŜne wartości logiczne czy
teŜ, w której pewne zdanie i jego negacja są jednocześnie prawdziwe lub jednocześnie
fałszywe, tzn. zachodzi sprzeczność – jest to sprawdzanie nie wprost.
ZauwaŜmy, Ŝe sprawdzanie tautologiczności bazuje na wnioskowaniu, a opisane zasady
sprawdzania moŜna precyzyjniej przedstawić w postaci następujących schematów:
¬¬ A
(NN)
A
A ∧ B
¬( A ∧ B)
(K)
(NK)
A
¬ A | B
¬
A ∨ B
¬( A ∨ B)
(A)
(NA)
A | B
¬ A
A ⇒ B
( A ⇒
¬
B)
(C)
(NC)
A
¬ | B
A
¬ B
∃ x (
A x)
¬∃ x (
A x)
(EX)
(NEX)
(
A c)
¬ (
A x)
x
∀ (
A x)
¬ x
∀ ( Ax)
(ALL)
(NALL)
(
A c)
¬ (
A c)
Gdzie znak „|” oznacza rozgałęzienie wywodu, a ograniczenia nałoŜone na term są takie
jak poprzednio.
Logicy w XX w. wykazali, Ŝe zaprezentowana tu wiedza o formalizacji tekstów języków
dziedzin wiedzy jest wystarczająca do sprawdzenia nie wprost czy dowolna formuła jest
tautologią, jest to tzw. metoda tabel analitycznych. Metoda ta jest takŜe skuteczna do
badania poprawności rozumowań prezentowanych w tekstach wyraŜających wiedzę z
dowolnych dziedzin oraz do określenia szerokiej klasy formuł (tzw. klauzul hornowskich),
dla których moŜliwa jest automatyzacja rozumowań przez komputery. Tak rozumiana
automatyzacja jest przedmiotem programowania logicznego.
1.8 Elementy logicznej teorii tekstu
Podsumowując rozwaŜania dotyczące formalizacji naszkicujemy, podając listę
stosownych definicji, aparat pojęciowy umoŜliwiający sformułowanie logicznej teorii tekstu.
Przez wiedzę będziemy rozumieć, jak poprzednio, informację przetwarzaną przez umysł
człowieka, a przez reprezentację wiedzy, przedstawianie (kodowanie) wiedzy za pomocą
róŜnorakich środków w ramach systemów komunikacji międzyludzkiej. Reprezentacje
wiedzy są więc tekstami. Zrelatywizowanie reprezentacji wiedzy do dziedzin wiedzy
prowadzi do wyodrębnienia tekstowych dziedzin wiedzy, a wyraŜanie tych tekstów w
jakimś języku, do wyodrębnienia języka dziedziny wiedzy. Gdy wszystkie równokształtne
teksty reprezentują tę samą wiedzę ( w szczególności są pusto spełnione), a równokształtność
jest kongruencją w tekstowej dziedzinie wiedzy, to tekstową dziedzinę wiedzy nazywamy
systemem reprezentacji wiedzy.
Definicja 1
Strukturę relacyjną < U, U0, ε, R> nazywamy tekstową dziedziną wiedzy, gdy U jest niepustym zbiorem wszystkich tekstów reprezentujących wiedzę z pewnej dziedziny, U0 –
wyróŜnionym niepustym podzbiorem zbioru U zwanym bazą tekstową, ε jest relacją
częściowego porządku określoną na zbiorze U zwaną relacją zawierania się tekstów, a R jest
ustalonym zbiorem relacji określonych w U zwanych relacjami nawiązywania tekstów.
Definicja 2
Niech TDW = < U, U0, ε, R> jest tekstową dziedziną wiedzy.
(a) Dwa teksty α,β∈U są równokształtne, gdy struktury relacyjne powstałe przez obcięcie
systemu TDW odpowiednio do zbiorów {t∈U : t ε α}, {t∈U : t ε β} wszystkich tekstów
zawartych w tekstach α,β są izomorficzne oraz części tekstu α pozostają w tych samych
relacjach w systemie TDW co ich obrazy izomorficzne zawarte w tekście β.
(b) Tekst α jest wyprowadzalny ze zbioru tekstów X⊆U, co zapisujemy X |- α
R
, gdy istnieje
taki tekst β, zwany wyprowadzeniem tekstu α ze zbiory X, i istnieje taki ciąg tekstów
α1, α2, ..., αn ∈ U, Ŝe spełnione są warunki
(1) teksty α1, α2, ..., αn zawarte są w tekście β,
(2) αn = α,
(3) dla dowolnych i≤n: bądź αi ∈ X, bądź istnieją takie i1, i2, ..., ik < i oraz istnieje taka
relacja r ∈ R, Ŝe <αi1, αi2, ..., αik,, αi> ∈ r
(4) β jest najmniejszym tekstem w < U, ε > spełniającym warunki (1)-(3).
(c) Ramą zbioru tekstów X⊆U nazywamy zbiór Fr(X) = {α∈U : X |- α
R
}
(d) Poprawnie zbudowanymi nazywamy teksty naleŜące do zbioru Fr(U0).
(e) Dla dowolnych tekstów α, β ∈U,
α ≥ β wttw istnieje taki zbiór X tekstów, Ŝe β ∈ X i X |- α
R
, napis „α ≥ β” czytamy: α
nawiązuje do β, lub α jest następnikiem β,
(f) Dla dowolnego tekstu α∈U, zbiór Ex(α) = {t∈U : t ε α} nazywamy budową tekstu α.
(g) Tekst β jest rematem tekstu α wttw β ∈ Fr(U0), α ≠ β, β ∈ Ex(α) oraz nie istnieje taki tekst t∈ Ex(α), Ŝe t≥β.
(h) Tekst t jest tematem tekstu α wttw t ∈ Fr(U0), α ≠ t, t ∈ Ex(α) oraz kaŜdy następnik t naleŜący do Ex(α) jest rematem α.
(i) Dowolny tekst nazywamy jednostką tekstu, gdy posiada w swojej budowie rematy i
tematy oraz gdy ze zbioru wszystkich tematów tego tekstu wyprowadzalny jest kaŜdy z
rematów.
ZauwaŜmy, Ŝe dowolne wyprowadzenie tekstu poprawnie zbudowanego jest jednostką
tekstu. WaŜne jest takŜe stwierdzenie, Ŝe dla dowolnej tekstowej dziedziny wiedzy TDW, w
której wszystkie równokształtne teksty reprezentują tę samą wiedzę, eŜeli relacja „~”
równokształtności tekstów jest kongruencją w TDW, to struktura ilorazowa TDW/~ jest
takŜe tekstową dziedziną wiedzy. Uzasadnione jest więc sformułowanie następującej
definicji:
Niech w tekstowej dziedzinie wiedzy TDW wszystkie równokształtne teksty reprezentują tę
sama wiedzę, a relacja „~” równokształtności tekstów jest kongruencją w TDW. Wtedy
strukturę ilorazową TDW/~ nazywamy systemem reprezentacji wiedzy, relacje
nawiązywania nazywamy relacjami konkatenacji, a o wyprowadzeniu danego tekstu
mówimy, Ŝe jest konkatenacją pewnego ciągu tekstów określonego przez definicję
wyprowadzenia tekstu. Tekstami są typy tekstów równokształtnych.
Przyjmijmy dalej, Ŝe wiedza logiczna odnosi się do przetwarzania informacji we
wszechświecie określającej ogólną budowę, cechy, przyporządkowania obiektów
odnoszących się do danej dziedziny wiedzy oraz relacje pomiędzy tymi obiektami .
Definicja 4
Język, w którym przedstawiamy schematycznie, za pomocą schematów, tj. formuł, wzorów,
planów, diagramów itp., wiedzę logiczną nazywamy językiem sformalizowanym. Język ten
jest określony przez cztery zbiory symboli < Al., Tr, Fm, W>, Al jest alfabetem, Tr –
zbiorem termów, Fm – zbiorem formuł, a W jest rodziną zbiorów formuł takich, Ŝe do
kaŜdego z tych zbiorów naleŜą formuły reprezentujące wiedzę o tej samej wartości logicznej.
Alfabet składa się z ze stałych i zmiennych indywiduowych, będących zarazem termami,
symboli funkcyjnych – wiąŜących stałe i zmienne w termy, predykatów – wiąŜących stałe i
zmienne w formuły, spójników – wiąŜących formuły w inne formuły, kwantyfikatorów –
wiąŜących zmienne i formuły w inne formuły oraz symboli pomocniczych (np. nawiasów,
ramek, kropek, linii, strzałek itd.).
Przykładem języka sformalizowanego jest język będący wynikiem formalizacji
(schematyzacji) języka dowolnej dziedziny wiedzy.
Definicja 5
Systemem reprezentacji wiedzy logicznej nazywamy system reprezentacji wiedzy, w
którym zbiorem tekstów bazowych jest zbiór wszystkich symboli języka sformalizowanego, a
zbiór relacji konkatenacji pozwala
1) wyróŜnić wszystkie składniki języka sformalizowanego,
2) wyprowadzić formuły poprawnie zbudowane,
3) tworzyć teksty wywodów prowadzących od formuł o określonej wartości logicznej do
formuł o określonej wartości logicznej (niezmienniczość wartości logicznych względem
wywodów).
Systemy iteracyjne
Patrząc z poziomu informatyki zauwaŜamy, Ŝe korzystanie ze środków informatycznych, czy
systemów multimedialnych, algorytmiczny charakter ich uŜycia uświadamiane są jako
wielokrotnie powtarzalne i odtwarzalne działania jednakowych dla wszystkich, uniwersalnych
mechanizmów-organizacji wiedzy, czy teŜ jako swoiste systemy interaktywnych procesów
psychofizycznych określających komunikację człowieka z człowiekiem, człowieka z maszyną
i człowieka z przyrodą. W tym sensie środki informatyczne (systemy multimedialne) są
pewnymi systemami iteracji. Ma to kardynalne znaczenia dla prawidłowego kształtowania
pojęć informatycznych, wskazuje bowiem na to, Ŝe kaŜ de zadanie informatyczne
wykonywane jest w okreś lonym systemie iteracji. Powrócimy do tego aspektu edukacji informatycznej w dalszych rozdziałach
Definicja
Dowolną dziedzinę tekstową wiedzy nazywamy systemem iteracyjnym , gdy kaŜ dy tekst w tej dziedzinie jest wyprowadzalny z tekstów wzorcowych (elementarnych). Procedurą jest
dowolna dziedzina tekstowa wiedzy ograniczona do wszystkich tekstów zawartych w pewnym
tekś cie. JeŜ eli tekst jest wyprowadzeniem tekstu T to mówimy Ŝ e procedura jest niezawodna dla T, w przeciwnym wypadku, Ŝ e jest zawodna.
Definicja
Zbiorem procedur w danym systemie iteracji jest najmniejszy zbiór do którego naleŜą :
1. Procedury relacyjne (wyprowadzenia z uŜ yciem relacji nie bę dą cymi operacjami),
2. Procedury operacyjne (wyprowadzenia z uŜ yciem operacji),
3. Cią gi procedur,
4. Układy trzech procedur, postaci jeŜ eli (procedura relacyjna wyprowadzenia α , procedura pierwsza, procedura druga), reprezentują ce wykonanie procedury pierwszej, gdy
procedura relacyjna wyprowadzenia α nie zawodzi, a drugiej, gdy zawodzi.
5. Układy dwóch procedur zwane procedurami iteracyjnymi, postaci powtarzaj(procedura
relacyjna, dana procedura), okreś lają ce osią galność kaŜ dego stanu wyprowadzonego przez kolejne stosowanie tej samej procedury wyprowadzenia – dopóki procedura
relacyjna nie zawodzi wykonywana jest dana procedura.
Nazwa „procedura iteracyjna” jest uzasadniona tym, Ŝe procedura ta jest wtedy
wykonywana, gdy spełniony jest warunek wyprowadzalności (rys.)
nie
Czy
procedura
niezawodzi?
tak
Procedura
Rys. 1.5 Schemat blokowy procedury iteracyjnej
Programowanie operacyjne a programowanie logiczne
MoŜna wyróŜnić trzy konkurencyjne a zarazem współzaleŜne sposoby formalnej reprezentacji
procedur:
1) reprezentacja ikoniczna – schematy blokowe, grafy, diagramy, drzewa, itp.
2) reprezentacja symboliczna – języki programowania: strukturalne, logiczne, obiektowe,
wizualne.
3) reprezentacja enaktywna - tabele decyzyjne, arkusze kalkulacyjne, bazy danych,
symulacje.
Pierwszy sposób reprezentacji jest zarazem pierwszym etapem formułowania algorytmu:
precyzyjnym zobrazowaniem algorytmu. Drugi sposób, to opis algorytmu w jakimś języku
sformalizowanym, a trzeci sposób to symulacja działania algorytmu. Przez problem
informatyczny rozumie się przejście od reprezentacji ikonicznej do reprezentacji
symbolicznej. Rozwiązanie tego problemu umoŜliwia określenie reguł, których zastosowanie
pozwala dokonać symulacji realizacji algorytmu.
Sformalizowany język (zdefiniujemy go dalej), w którym wyraŜamy procedury
realizowane w pewnym systemie iteracji nazywamy językiem programowania, a wyraŜenia
odpowiadające procedurom programami. Są dwa typy języków programowania: pierwszy
tworzy się na bazie reprezentacji procedur operacyjnych, a drugie na bazie procedur
relacyjnych.
Programy reprezentujące procedury operacyjne określamy następująco:
S jest zbiorem programów realizowanych w systemie rzeczywistości Re wtedy i tylko
wtedy, gdy jest najmniejszym spośród zbiorów S’ spełniającym następujące warunki:
(i)
podzbiorem S’ jest zbiór wszystkich podstawień termu t za zmienną indywiduową x,
postaci x:= t2,
(ii)
jeśli α jest formułą logiczną spełnioną w danym systemie rzeczywistości Re oraz K,M,
K1, K2, ..., Kn,, dla dowolnych n>0, naleŜą do S’, to wyraŜenia: begin K1; K2,; ..., Kn end (odpowiada ciągowi procedur),
if α then K else M (odpowiada procedurze typu jeŜeli...), while α do K (odpowiada procedurze iteracyjnej) ,
naleŜą do S’.
Programy określone na bazie procedur relacyjnych są deklaracjami procedur
relacyjnych, tj. formułami określonymi przez preneksyjne postacie normalne koniunkcyjno-
alternatywne formuł logicznych (wszystkie kwantyfikatory występują na zewnątrz formuły o
postaci normalnej). Wykorzystuje się tu metodę znaną w logice pierwszego rzędu, wyciągania
kwantyfikatorów przed formułę, sprowadzenia formuły do postaci kanonicznej koniunkcyjno
alternatywnej, a następnie rozszerzenia języka o symbole funkcyjne pozwalające usunąć
kwantyfikatory egzystencjalne. Deklaracje procedur moŜna wyrazić za pomocą ciągów
zbiorów deklaracji tych relacji lub negacji ich deklaracji, zwanych klauzulami, a
programowanie w języku klauzul (np. język PROLOG)3 nazywamy programowaniem
logicznym. Zdefiniujemy teraz bardziej precyzyjnie składnię języka klauzul. Najbardziej
dogodnym zapisem klauzul jest zapis postaci
B1, B2, ..., Bm :- A1, A2, ..., An
Gdzie znak „:-„ czytamy: jeśli, przy czym B1, B2, ..., Bm, A1, A2, ..., An są formułami
atomowymi, n ≥ 0 i m ≥ 0. Formuły atomowe A1, A2, ..., An stanowią koniunkcję warunków
klauzuli, a B1, B2, ..., Bm– alternatywę konkluzji. Spośród klauzul wyróŜnia się klauzule hornowskie postaci
B :- A1, A2, ..., An
2 Symbol „:=” jest niekiedy w podręcznikach nazywany symbolem przypisania. Niestety jest to myląca nazwa,
sugerująca uczniowi jakoby przypisanie było czymś innym niŜ podstawienie. Tym bardziej, Ŝe operację
podstawienia zna on świetnie z lekcji matematyki.
3 R. Kowalski, Logika w rozwią zywaniu zadań, WNT, Warszawa 1989.
Jeśli klauzula zawiera zmienne x1, ..., xk, naleŜy ja interpretować jako stwierdzenie, Ŝe
dla wszystkich x1, ..., xk : B1 lub ... lub Bm jeśli A1 i ... i An.
Jeśli n = 0, klauzulę naleŜy interpretować jako bezwarunkowe stwierdzenie, Ŝe dla
wszystkich x1, ..., xk : B1 lub ... lub Bm .
Jeśli m = 0, klauzulę naleŜy interpretować jako stwierdzenie, Ŝe dla wszystkich
x1, ..., xk nieprawda, Ŝe zachodzi A1 i ... i An.
Jeśli m = n = 0, klauzulę zapisuje się w postaci (klauzula pusta) i interpretuje jako
zdanie zawsze fałszywe.
Atom (lub formuła atomowa) to wyraŜenie postaci: R (t1, ..., tm), przy czym R jest
m-argumentowym symbolem relacyjnym, t1, ..., tm są termami oraz m ≥ l.
Atom naleŜy interpretować jako stwierdzenie, Ŝe relacja o nazwie R zachodzi między
indywiduami o nazwach t1, ..., tm.
Term jest zmienną, stałą lub wyraŜeniem postaci f (t1, ..., tm), przy czym f jest
m - argumentowym symbolem funkcyjnym, t1, ..., tm są termami oraz m ≥ l. .
Zbiory symboli relacyjnych, symboli funkcyjnych, stałych i zmiennych mogą być
dowolnymi zbiorami wzajemnie rozłącznymi. Przyjmiemy konwencję, w której małe litery
u, v, w, x, y, z oznaczają zmienne. Znaczenie innego rodzaju symboli moŜna rozpoznać po ich
pozycji w klauzuli.
Symbol implikacji w języku klauzul jest skierowany w kierunku odwrotnym niŜ w
klasycznym języku logiki. Przyzwyczajenie kaŜe pisać raczej: A :- B (jeśli A to B), a nie
B :- A (B jeśli A). JednakŜe róŜnica jest nieistotna. Notację: B :- A stosuje się w celu
wyeksponowania konkluzji klauzuli.