W sztucznej inteligencji łączenie w przód i w tył jest jednym z ważnych tematów, ale zanim zrozumiemy łączenie w przód i w tył, warto najpierw zrozumieć, skąd wzięły się te dwa terminy.
Oświadczenie w sprawie Verilog
Silnik wnioskowania:
Silnik wnioskowania jest składnikiem inteligentnego systemu sztucznej inteligencji, który stosuje reguły logiczne do bazy wiedzy, aby wyciągać nowe informacje ze znanych faktów. Pierwszy silnik wnioskowania był częścią systemu ekspertowego. Silnik wnioskowania zwykle działa w dwóch trybach, którymi są:
Zdanie Horn i zdanie określone:
Zdanie Horn i zdanie określone to formy zdań, które umożliwiają bazie wiedzy korzystanie z bardziej ograniczonego i wydajnego algorytmu wnioskowania. Algorytmy wnioskowania logicznego wykorzystują podejścia łańcuchowe do przodu i do tyłu, które wymagają KB w postaci Zdanie określone pierwszego rzędu .
Zdanie określone: Zdanie stanowiące alternatywę literałów z dokładnie jeden literał dodatni jest znane jako klauzula określona lub klauzula ścisła rogowa.
Klauzula Horna: Zdanie stanowiące alternatywę literałów z co najwyżej jeden literał dodatni jest znana jako klauzula rogowa. Dlatego wszystkie zdania określone są zdaniami rogowymi.
Przykład: (¬ p V ¬ q V k) . Ma tylko jeden dodatni literał k.
Jest to równoważne p ∧ q → k.A. Łańcuch do przodu
Łączenie w przód jest również znane jako metoda dedukcji w przód lub wnioskowania w przód w przypadku korzystania z silnika wnioskowania. Łańcuchy w przód to forma rozumowania rozpoczynająca się od zdań atomowych w bazie wiedzy i stosująca reguły wnioskowania (Modus Ponens) w kierunku do przodu, aby wyodrębnić więcej danych, aż do osiągnięcia celu.
Algorytm Forward-chaining rozpoczyna od znanych faktów, uruchamia wszystkie reguły, których przesłanki są spełnione, i dodaje swoje wnioski do znanych faktów. Proces ten powtarza się aż do rozwiązania problemu.
Właściwości łączenia w przód:
- Jest to podejście z dołu do góry, ponieważ porusza się od dołu do góry.
- Jest to proces wyciągania wniosków na podstawie znanych faktów lub danych, zaczynając od stanu początkowego i kończąc na stanie docelowym.
- Podejście ukierunkowane na przyszłość nazywane jest również podejściem opartym na danych, ponieważ osiągamy cel, korzystając z dostępnych danych.
- Podejście typu forward-chaining jest powszechnie stosowane w systemach ekspertowych, takich jak CLIPS, systemy reguł biznesowych i produkcyjnych.
Rozważmy następujący słynny przykład, którego użyjemy w obu podejściach:
Przykład:
„Według prawa sprzedaż broni wrogim krajom przez Amerykanina jest przestępstwem. Kraj A, wróg Ameryki, ma trochę rakiet i wszystkie rakiety zostały mu sprzedane przez Roberta, który jest obywatelem amerykańskim.
Udowodnij to „Robert jest przestępcą”.
Aby rozwiązać powyższy problem, najpierw przekształcimy wszystkie powyższe fakty w zdania określone pierwszego rzędu, a następnie, aby osiągnąć cel, użyjemy algorytmu forward-chainingu.
Konwersja faktów na FOL:
- Sprzedawanie broni wrogim narodom przez Amerykanina jest przestępstwem. (Powiedzmy, że p, q i r są zmiennymi)
Amerykanin (p) ∧ broń(q) ∧ sprzedaje (p, q, r) ∧ wrogi(r) → Kryminalny(p) ...(1) - Kraj A ma kilka rakiet. ?p Posiada(A, p) ∧ Pocisk(p) . Można go zapisać w dwóch zdaniach określonych za pomocą instancji egzystencjalnej, wprowadzając nową Stałą T1.
Posiada (A, T1) ......(2)
Pocisk (T1) .......(3) - Wszystkie rakiety zostały sprzedane krajowi A przez Roberta.
?p Pociski(p) ∧ Posiada (A, p) → Sprzedaje (Robert, p, A) ......(4) - Rakiety to broń.
Pocisk(p) → Broń (p) ......(5) - Wróg Ameryki jest znany jako wrogi.
Wróg(p, Ameryka) →Wrogi(p) ......(6) - Kraj A jest wrogiem Ameryki.
Wróg (A, Ameryka) ......(7) - Robert jest Amerykaninem
Amerykanin (Robert). ...........(8)
Dowód łączenia w przód:
Krok 1:
W pierwszym kroku zaczniemy od znanych faktów i wybierzemy zdania, które nie mają implikacji, takie jak: Amerykanin (Robert), Wróg (A, Ameryka), Posiada (A, T1) i Pocisk (T1) . Wszystkie te fakty zostaną przedstawione jak poniżej.
Krok 2:
W drugim kroku zobaczymy te fakty, które wynikają z dostępnych faktów i przy spełnionych przesłankach.
Reguła (1) nie spełnia przesłanek, więc nie zostanie dodana w pierwszej iteracji.
Reguły (2) i (3) zostały już dodane.
Reguła-(4) spełnia przez podstawienie {p/T1}, więc sprzedaje (Robert, T1, A) dodaje się, co wynika z połączenia Zasad (2) i (3).
Reguła (6) spełnia podstawienie (p/A), więc dodaje się Wrogi (A), co wynika z Reguły (7).
Krok 3:
W kroku 3, jak możemy sprawdzić, reguła (1) jest zadowolona z podstawienia {p/Robert, q/T1, r/A}, więc możemy dodać Karnego (Robert) który wyciąga wnioski ze wszystkich dostępnych faktów. I w ten sposób osiągnęliśmy nasz cel.
W związku z tym udowodniono, że Robert jest przestępcą, stosując podejście łączenia w przód.
B. Łańcuch wsteczny:
Łańcuch wsteczny jest również znany jako metoda dedukcji wstecznej lub wnioskowania wstecznego w przypadku korzystania z silnika wnioskowania. Algorytm tworzenia łańcuchów wstecznych to forma rozumowania rozpoczynająca się od celu i działająca wstecz, łącząc reguły w celu znalezienia znanych faktów wspierających ten cel.
Właściwości łańcucha wstecznego:
- Nazywa się to podejściem od góry do dołu.
- Łańcuch wsteczny opiera się na zasadzie wnioskowania modus ponens.
- W łańcuchu wstecznym cel jest podzielony na cele cząstkowe lub cele cząstkowe, aby udowodnić, że fakty są prawdziwe.
- Nazywa się to podejściem zorientowanym na cel, ponieważ lista celów decyduje o wyborze i zastosowaniu zasad.
- Algorytm łączenia wstecznego jest używany w teorii gier, narzędziach do automatycznego dowodzenia twierdzeń, silnikach wnioskowania, asystentach dowodowych i różnych zastosowaniach sztucznej inteligencji.
- W metodzie łączenia wstecznego najczęściej stosowano a wyszukiwanie w głąb strategia na dowód.
Przykład:
W łańcuchu wstecznym użyjemy tego samego powyższego przykładu i przepiszemy wszystkie reguły.
Posiada (A, T1) ......(2)
Dowód łączenia wstecznego:
W łańcuchu wstecznym zaczniemy od predykatu celu, czyli Kryminalista (Robert) , a następnie wywnioskować dalsze reguły.
Krok 1:
W pierwszym kroku przyjmiemy fakt celu. A z faktu docelowego wyciągniemy inne fakty i w końcu udowodnimy, że te fakty są prawdziwe. Zatem naszym celem jest stwierdzenie: „Robert jest przestępcą”, więc jego orzeczenie jest następujące.
Krok 2:
W drugim kroku z faktu docelowego, który spełnia reguły, będziemy wyciągać wnioski z innych faktów. Jak więc widzimy w Zasadzie 1, predykat gola Kryminalny (Robert) występuje z substytucją {Robert/P}. Zatem dodamy wszystkie fakty łączące poniżej pierwszego poziomu i zastąpimy p Robertem.
Tutaj widzimy, że Amerykanin (Robert) jest faktem, więc tutaj jest to udowodnione.
Krok 3: W kroku 3 wyodrębnimy kolejny fakt Pocisk (q), który wywnioskowamy z Broni (q), ponieważ spełnia on Zasadę (5). Broń (q) jest również prawdziwa w przypadku podstawienia stałej T1 w q.
Krok 4:
W kroku 4 możemy wywnioskować fakty Missile(T1) i Owns(A, T1) z Sells(Robert, T1, r), co spełnia Zasada- 4 , z podstawieniem A zamiast r. Zatem te dwa stwierdzenia zostały tutaj udowodnione.
Krok 5:
W kroku 5 możemy wywnioskować ten fakt Wróg (A, Ameryka) z Wrogi(A) co spełnia Zasadę-6. A zatem wszystkie twierdzenia są udowadniane za pomocą łańcuchów wstecznych.