Logiczna analiza tekstu

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ć

P 3

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,

A

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:

Definicja 3

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.