Programowanie logiki indukcyjnej - Inductive logic programming

Programowanie logiki indukcyjnej ( ILP ) to poddziedzina sztucznej inteligencji symbolicznej, która wykorzystuje programowanie logiczne jako jednolitą reprezentację przykładów, wiedzy podstawowej i hipotez. Biorąc pod uwagę kodowanie znanej wiedzy podstawowej i zestaw przykładów reprezentowanych jako logiczna baza danych faktów, system ILP wyprowadzi hipotetyczny program logiczny, który zawiera wszystkie pozytywne i żadne negatywne przykłady.

  • Schemat: pozytywne przykłady + negatywne przykłady + podstawowa wiedzahipoteza .

Programowanie w logice indukcyjnej jest szczególnie przydatne w bioinformatyce i przetwarzaniu języka naturalnego . Gordon Plotkin i Ehud Shapiro położyli wstępne teoretyczne podstawy dla indukcyjnego uczenia maszynowego w logicznym otoczeniu. Shapiro zbudował swoją pierwszą implementację (Model Inference System) w 1981 roku: program Prolog , który indukcyjnie wywnioskował programy logiczne z pozytywnych i negatywnych przykładów. Termin „ Programowanie w logice indukcyjnej” został po raz pierwszy wprowadzony w artykule Stephena Muggletona w 1991 roku. Muggleton zorganizował także doroczną międzynarodową konferencję na temat programowania w logice indukcyjnej, na której przedstawił teoretyczne idee inwencji predykatów, rozdzielczości odwrotnej i implikacji odwrotnej. Muggleton najpierw zaimplementował odwrotne pociąganie w systemie PROGOL . Termin „ indukcyjny ” odnosi się tutaj do indukcji filozoficznej (tj. sugerowania teorii wyjaśniającej obserwowane fakty), a nie matematycznej (tj. dowodzącej właściwości wszystkich członków dobrze uporządkowanego zbioru).

Formalna definicja

Wiedza tło jest podana jako teoria logiki B , zwykle w postaci Klauzula Horna stosowanych w programowaniu logicznym . Te pozytywne i negatywne przykłady podano w połączeniu i z unnegated i negującymi naziemnych literałach , odpowiednio. Prawidłowe hipoteza H jest propozycja logiczny, który spełnia następujące wymagania.

Konieczność ” nie nakłada ograniczeń na h , ale zabrania tworzenia hipotezy, o ile pozytywne fakty można bez niej wyjaśnić. „ Wystarczalności ” wymaga żadnego generowane hipotezy h wyjaśnić wszystkie pozytywne przykłady . „ Słaby Konsystencja ” zabrania generacja dowolnej hipotezy h , które jest sprzeczne z wiedzą tło B . „ Silna zgodność ” zabrania również stawiania jakiejkolwiek hipotezy h, która jest niespójna z negatywnymi przykładami , biorąc pod uwagę podstawową wiedzę B ; implikuje „ słabą konsystencję ”; jeśli nie podano negatywnych przykładów, oba wymagania są zbieżne. Džeroski wymaga jedynie „ Dostateczności ” (zwanej tam „Kompletnością”) i „ Silnej konsekwencji ”.

Przykład

Zakładane relacje rodzinne w dziale „Przykład”

Poniższy znany przykład dotyczący poznawania definicji relacji rodzinnych wykorzystuje skróty:

par : rodzic , fem : kobieta , dau : córka , g : George , h : Helen , m : Mary , t : Tom , n : Nancy , e : Eve .

Zaczyna się od podstawowej wiedzy (por. zdjęcie)

,

pozytywne przykłady

,

i trywialne twierdzenie prawdziwe, oznaczające brak negatywnych przykładów.

Podejście Plotkinastosunkowo najmniej uogólnione (rlgg) ” do programowania w logice indukcyjnej powinno zostać wykorzystane do uzyskania sugestii, jak formalnie zdefiniować relację potomną dau .

To podejście wykorzystuje następujące kroki.

  • Zrelatywizuj każdy pozytywny przykładowy literał z pełną podstawową wiedzą:
    ,
  • Konwertuj na klauzulę w postaci normalnej :
    ,
  • Anti-unifikuj każdą zgodną parę literałów:
    • z i ,
    • z i ,
    • z i ,
    • z i , podobnie dla wszystkich innych literałów wiedzy w tle
    • z i i wiele innych zanegowanych literałów
  • Usuń wszystkie zanegowane literały zawierające zmienne, które nie występują w literale dodatnim:
    • po usunięciu wszystkich zanegowanych literałów zawierających inne zmienne niż , pozostaje tylko wraz ze wszystkimi podstawowymi literałami z wiedzy podstawowej
  • Konwertuj klauzule z powrotem do postaci Horn:

Wynikowa klauzula Horn jest hipotezą h uzyskaną przez podejście rlgg. Ignorując podstawowe fakty, klauzula nieformalnie brzmi „ jest nazywana córką jeśli jest rodzicem i jest kobietą ”, co jest powszechnie akceptowaną definicją.

W odniesieniu do powyższych wymagań, „ konieczność ” została spełniona, ponieważ predykat dau nie pojawia się w wiedzy podstawowej, co w związku z tym nie może implikować żadnej własności zawierającej ten predykat, jak w przykładach pozytywnych. „ Wystarczalność ” spełnia obliczona hipoteza h , ponieważ wraz z wiedzą podstawową implikuje pierwszy przykład pozytywny , i podobnie h iz wiedzy podstawowej implikuje drugi przykład pozytywny . „ Słaba spójność ” spełnia h , ponieważ h utrzymuje się w (skończonej) strukturze Herbranda opisanej przez podstawową wiedzę; podobnie dla " Silna konsystencja ".

Wspólna definicja relacji babci, mianowicie. , nie można się nauczyć przy użyciu powyższego podejścia, ponieważ zmienna y występuje tylko w treści klauzuli; odpowiednie literały zostałyby usunięte w czwartym kroku podejścia. Aby przezwyciężyć tę wadę, ten krok musi zostać zmodyfikowany w taki sposób, aby można go było sparametryzować za pomocą różnych dosłownych heurystyk po selekcji . Historycznie implementacja GOLEM opiera się na podejściu rlgg.

Indukcyjny system programowania logicznego

Indukcyjny system programowania logicznego to program, który przyjmuje jako dane wejściowe teorie logiczne i generuje poprawną hipotezę. Teorie H wrt Algorytm systemu ILP składa się z dwóch części: poszukiwania hipotezy i wyboru hipotezy. Najpierw hipoteza jest wyszukiwana za pomocą procedury programowania logicznego indukcyjnego, następnie podzbiór znalezionych hipotez (w większości systemów jedna hipoteza) jest wybierany przez algorytm selekcji. Algorytm selekcji ocenia każdą ze znalezionych hipotez i zwraca te z najwyższym wynikiem. Przykładem funkcji punktacji jest minimalna długość kompresji, gdzie hipoteza o najniższej złożoności Kołmogorowa ma najwyższy wynik i jest zwracana. System ILP jest kompletny, jeśli dla dowolnej teorii logiki wejściowej można znaleźć poprawną hipotezę H wrt do tych teorii wejściowych za pomocą procedury wyszukiwania hipotez.

Wyszukiwanie hipotez

Współczesne systemy ILP takie jak Progol, Hail i Imparo znajdują hipotezę H wykorzystując zasadę odwrotnego wnioskowania dla teorii B , E , H : . Najpierw konstruują pośrednią teorię F zwaną teorią mostową spełniającą warunki i . Następnie jako , uogólniają negację teorii mostów F z anty-uwikłaniem. Jednak działanie anty-uwikłania, ponieważ jest wysoce niedeterministyczne, jest obliczeniowo droższe. Dlatego też alternatywne poszukiwanie hipotez może być przeprowadzone przy użyciu operacji odwrotnego subsumpcji (anty-subsumpcji), która jest mniej niedeterministyczna niż anty-uwikłanie.

Pojawiają się pytania o kompletność procedury wyszukiwania hipotez konkretnego systemu ILP. Na przykład procedura poszukiwania hipotez Progola oparta na regule wnioskowania odwrotnego nie jest kompletna w przykładzie Yamamoto . Z drugiej strony Imparo jest kompletne zarówno pod względem postępowania anty-entailmentowego, jak i rozszerzonej procedury odwrotnej subsumpcji.

Realizacje

Zobacz też

Bibliografia

Dalsza lektura