• Nie Znaleziono Wyników

LOGIKA ALGORYTMICZNA 4. Unifikacja. Podstawieniem nazywamy zbi´or sko´nczony postaci {t

N/A
N/A
Protected

Academic year: 2021

Share "LOGIKA ALGORYTMICZNA 4. Unifikacja. Podstawieniem nazywamy zbi´or sko´nczony postaci {t"

Copied!
2
0
0

Pełen tekst

(1)

LOGIKA ALGORYTMICZNA 4. Unifikacja.

Podstawieniem nazywamy zbi´or sko´nczony postaci {t1/v1, ..., tn/vn}, gdzie vi s¸a parami r´o˙znymi zmiennymi, a ti s¸a termami z ti 6= vi, 1 ≤ i ≤ n. Je´sli wszystkie ti s¸a termami podstawowymi, to podstawienie nazywa si¸e podstawowym. Przez ε oznaczamy puste podstawienie.

Je´sli E jest pewnym wyra˙zeniem (np. termem lub formu l¸a), a θ = {t1/v1, ..., tn/vn} jest podstawieniem, to przez Eθ oznaczamy wyra˙zenie otrzymane z E przez zamian¸e ka˙zdego wyst¸epowania vi na ti. Wtedy Eθ nazywa si¸e przyk ladem wyra˙zenia E.

Z lo˙zeniem podstawie´n θ = {t1/x1, ..., tn/xn} i λ = {u1/y1, ..., um/ym} nazywa si¸e

podstawienie (oznaczane przez θ◦λ) otrzymane ze zbioru {t1λ/x1, ..., tnλ/xn, u1/y1, ..., um/ym} przez wykre´slanie wszystkich sk ladnik´ow tiλ/xi, gdzie tiλ = xi, i wszystkich sk ladnik´ow

ui/yi, gdzie yi ∈ {x1, ..., xn}.

4.1. Uwagi. (a) θ ◦ ε = ε ◦ θ = θ;

(b) (θ ◦ λ) ◦ µ = θ ◦ (λ ◦ µ);

(c) Dla ka˙zdego wyra˙zenia E zachodzi E(θ ◦ λ) = (Eθ)λ.

4.2. Zadania. Znale´z´c θ ◦ λ dla

(a) θ = {f (y)/x, z/y} i λ = {a/x, b/y, y/z};

(b) θ = {g(z)/x, f (x)/y} i λ = {g(y)/x, r(a, z)/y, b/z}.

Podstawienie θ nazywa si¸e unifikatorem zbioru wyra˙ze´n {E1, ..., Ek} je´sli E1θ = E2θ = ... = Ekθ. Unifikator θ nazywa si¸e najog´olniejszym, je´sli dla ka˙zdego unifikatora λ zbioru {E1, ..., Ek} istnieje podstawienie µ takie, ˙ze λ = θ ◦ µ.

Rozpatrzmy zbi´or litera l´ow {L1, L2, ..., Ln} taki, ˙ze dla pewnego symbolu rela- cyjnego P wszystkie Limaj¸a posta´c P (t1, ..., tl) lub wszystkie Limaj¸a posta´c ¬P (t1, ..., tl).

Znajd´zmy pierwsz¸a z lewej pozycj¸e, na kt´orej pewne Li i Lj maj¸a r´o˙zne symbole. W ka˙zdym Li pozycja ta okre´sla pocz¸atek pewnego termu t0i (wyst¸epuj¸acego w Li jako podterm). Zbi´or {t01, ..., t0n} nazywa si¸e zbiorem niezgodno´sci wyra˙ze´n L1, L2, ..., Ln.

4.3. Zadania. Znale´z´c zbi´or niezgodno´sci w W :

(a) W = {¬R(f (x), a), ¬R(f (x), f (x)), ¬R(f (x), g(b))}, (b) W = {Q(x, r(a, f (x, y))), Q(x, r(a, g(x))), Q(x, r(a, a))}.

(c) W = {P (x, f (z)), P (x, a), P (x, g(h(x)))},

Algorytm unifikacji. Niech W b¸edzie pewnym zbiorem litera l´ow.

Krok 0. Niech W0 := W , ε0 := ε.

Krok k + 1. Niech σk b¸edzie podstawieniem zbudowanym na kroku k i niech Wk := W σk.

Ruch 1. Je´sli wszystkie litera ly zbioru Wk s¸a r´owne, to nast¸epuje zako´nczenie (STOP); σk jest najog´olniejszym unifikatorem zbioru W . Je´sli zbi´or Wk zawiera r´o˙zne litera ly, to niech Dk b¸edzie zbiorem niezgodno´sci w Wk.

Ruch 2. Je´sli Dk zawiera zmienn¸a vk i term tk, nie zawieraj¸acy vk, to wykonujemy Ruch 3. W przypadku, gdy takiej pary nie ma, nast¸epuje zatrzymanie algorytmu:

zbi´or Wk nie jest unifikowalny.

Ruch 3. Niech σk+1 := σk◦ {tk/vk} i Wk+1 := Wk{tk/vk}. Przej´scie do Kroku

1

(2)

k + 2.

4.4. Twierdzenie unifikacji. Je´sli zbi´or litera l´ow W jest unifikowalny, to algo- rytm unifikacji ko´nczy prac¸e w trakcie wykonywania Ruchu 1 pewnego kroku k + 1.

Wtedy σk jest najog´olniejszym unifikatorem. Je´sli Wk nie jest unifikowalny, to algo- rytm unifikacji ko´nczy prac¸e w trakcie wykonywania Ruchu 2 pewnego kroku k + 1.

4.5. Zadanie. Znale´z´c najog´olniejszy unifikator zbioru W (w przypadku, gdy zbi´or jest unifikowalny):

(a) W = {P (a, x, f (g(y))), P (z, f (z), f (u))}, (b) W = {P (f (a), x, z), P (y, y, g(x))}, (c) W = {P (f (a), g(x)), P (y, y)}.

2

Cytaty

Powiązane dokumenty

Uwaga: ka˙zde zadanie warte jest 6 punkt´ow, niezale˙znie od stopnia trudno´sci.

ma niesko ´nczenie wiele rozwi ˛ aza ´n zale ˙znych od .... parametrów

Oblicz stosunek pola powierzchni tej sfery do pola powierzchni sfery opisanej na graniastos

Kombinacj¸e (wariacj¸e) z powt´orzeniami mo˙zna uwa˙za´c za wynik losowania ze zwracaniem k element´ow ze zbioru [n] przy czym w przypadku wariacji istotna jest kolejno´s´c w

pr´ oba losowa - pr´oba losowana (najcz¸e´sciej) zgodnie z rozk ladem

Wtedy zbiór Th(Mod F ((F , C, R))) wszystkich zda« prawdziwych w ka»dym modelu sko«czonym j¦zyka (F, C, R) nie jest rekurencyjnie przeliczalny, ale jego dopeªnienie jest.

Udowodni´c, ˙ze je˙zeli ka˙zda niezrandomizowana niezmiennicza regu la decyzyjna ma sta le ryzyko, to klasa niezrandomizowanych niezmienniczych regu l decyzyjnych tworzy podklase..

Ka˙zda transformacja unitarna w (B) ⊗k mo˙ze by´ c zapisana jako iloczyn jednokubitowych transformacji unitarnych i dwukubitowych transformacji postaci CNOT zastosowanych