logo

Logika pierwszego rzędu w sztucznej inteligencji

W temacie logiki zdań widzieliśmy, jak reprezentować stwierdzenia za pomocą logiki zdań. Niestety, w logice zdań możemy przedstawić jedynie fakty, które są albo prawdziwe, albo fałszywe. PL nie wystarcza do przedstawienia zdań złożonych lub wyrażeń w języku naturalnym. Logika zdań ma bardzo ograniczoną siłę wyrazu. Rozważmy następujące zdanie, którego nie możemy przedstawić za pomocą logiki PL.

oops, koncepcja w Javie
    „Niektórzy ludzie są inteligentni” lub – Sachin lubi krykieta.

Aby przedstawić powyższe stwierdzenia, logika PL nie jest wystarczająca, dlatego potrzebowaliśmy mocniejszej logiki, takiej jak logika pierwszego rzędu.

Logika pierwszego rzędu:

  • Logika pierwszego rzędu to kolejny sposób reprezentacji wiedzy w sztucznej inteligencji. Jest to rozszerzenie logiki zdań.
  • FOL jest wystarczająco wyrazisty, aby w zwięzły sposób reprezentować wypowiedzi języka naturalnego.
  • Logika pierwszego rzędu jest również nazywana Logika predykatów lub logika predykatów pierwszego rzędu . Logika pierwszego rzędu to potężny język, który w łatwiejszy sposób rozwija informacje o obiektach, a także może wyrażać relacje między tymi obiektami.
  • Logika pierwszego rzędu (podobnie jak język naturalny) nie tylko zakłada, że ​​świat zawiera fakty, jak logika zdań, ale zakłada także następujące rzeczy w świecie:
      Obiekty:A, B, ludzie, liczby, kolory, wojny, teorie, kwadraty, doły, wumpus, ......
  • Relacje: Może to być relacja jednoargumentowa, taka jak: czerwony, okrągły, sąsiadujący, lub n-dowolna relacja, taka jak: siostra, brat, ma kolor, wchodzi pomiędzyFunkcjonować:Ojciec, najlepszy przyjaciel, trzecia runda, koniec, ......
  • Jako język naturalny logika pierwszego rzędu składa się również z dwóch głównych części:
      Składnia
  • Semantyka

    Składnia logiki pierwszego rzędu:

    Składnia FOL określa, który zbiór symboli jest wyrażeniem logicznym w logice pierwszego rzędu. Podstawowymi elementami składniowymi logiki pierwszego rzędu są symbole. Wyrażenia piszemy w notacji skróconej w języku FOL.

    Podstawowe elementy logiki pierwszego rzędu:

    Poniżej przedstawiono podstawowe elementy składni FOL:

    Stały 1, 2, A, John, Bombaj, kot,....
    Zmienne x, y, z, a, b,....
    Predykaty Brat, Ojciec, >,....
    Funkcjonować sqrt, lewa noga, ....
    Łączniki ∧, ∨, ¬, ⇒, ⇔
    Równość ==
    Kwantyfikator ∀, ∃

    Zdania atomowe:

    • Zdania atomowe to najbardziej podstawowe zdania logiki pierwszego rzędu. Zdania te są utworzone z symbolu orzeczenia, po którym następuje nawias z sekwencją terminów.
    • Możemy przedstawić zdania atomowe jako Predykat (termin1, termin2, ......, termin n) .

    Przykład: Ravi i Ajay to bracia: => Bracia(Ravi, Ajay).
    Chinky jest kotem: => kot (Chinky)
    .

    Zdania złożone:

    • Zdania złożone tworzy się poprzez łączenie zdań atomowych za pomocą łączników.

    Instrukcje logiczne pierwszego rzędu można podzielić na dwie części:

      Temat:Temat jest główną częścią wypowiedzi.Orzec:Predykat można zdefiniować jako relację, która łączy dwa atomy w instrukcji.

    Rozważmy stwierdzenie: „x jest liczbą całkowitą”. , składa się z dwóch części, pierwsza część x jest podmiotem wypowiedzi, a druga część „jest liczbą całkowitą” i jest nazywana predykatem.

    Logika pierwszego rzędu w sztucznej inteligencji

    Kwantyfikatory w logice pierwszego rzędu:

    • Kwantyfikator jest elementem języka, który generuje kwantyfikację, a kwantyfikacja określa ilość okazu we wszechświecie dyskursu.
    • Są to symbole, które pozwalają określić lub zidentyfikować zakres i zasięg zmiennej w wyrażeniu logicznym. Istnieją dwa rodzaje kwantyfikatorów:
        Uniwersalny kwantyfikator (dla wszystkich, wszystkich, wszystkiego)
    • Kwantyfikator egzystencjalny (dla niektórych przynajmniej jeden).

    Uniwersalny kwantyfikator:

    Kwantyfikator uniwersalny jest symbolem reprezentacji logicznej, która określa, że ​​stwierdzenie w jego zakresie jest prawdziwe dla wszystkiego lub każdego wystąpienia konkretnej rzeczy.

    Kwantyfikator uniwersalny jest reprezentowany przez symbol ∀, który przypomina odwrócone A.

    Uwaga: W kwantyfikatorze uniwersalnym używamy implikacji „→”.

    Jeśli x jest zmienną, to ∀x odczytuje się jako:

      Dla wszystkich x Dla każdego x Dla każdego x.

    Przykład:

    Wszyscy ludzie piją kawę.

    Niech zmienna x odnosi się do kota, aby wszystkie x można było przedstawić w UOD jak poniżej:

    Logika pierwszego rzędu w sztucznej inteligencji

    ∀x mężczyzna(x) → napój (x, kawa).

    Będzie to odczytane jako: Są wszystkie x, gdzie x to mężczyzna pijący kawę.

    długość łańcucha w Javie

    Kwantyfikator egzystencjalny:

    Kwantyfikatory egzystencjalne to rodzaj kwantyfikatorów, które wyrażają, że stwierdzenie w swoim zakresie jest prawdziwe dla co najmniej jednego wystąpienia czegoś.

    Oznacza się go operatorem logicznym ∃, który przypomina odwrócone E. Kiedy jest używany ze zmienną predykatu, nazywa się go kwantyfikatorem egzystencjalnym.

    inicjator słownika c#

    Uwaga: W kwantyfikatorze egzystencjalnym zawsze używamy symbolu AND lub koniunkcji (∧).

    Jeśli x jest zmienną, wówczas kwantyfikatorem egzystencjalnym będzie ∃x lub ∃(x). I będzie to odczytane jako:

      Istnieje znak „x”. Dla jakiegoś „x”. Dla co najmniej jednego „x”.

    Przykład:

    Niektórzy chłopcy są inteligentni.

    Logika pierwszego rzędu w sztucznej inteligencji

    ∃x: chłopcy(x) ∧ inteligentni(x)

    Będzie to czytane w następujący sposób: Jest kilka x, gdzie x to inteligentny chłopiec.

    Punkty do zapamiętania:

    • Główny łącznik uniwersalnego kwantyfikatora jest implikacja .
    • Główny łącznik kwantyfikatora egzystencjalnego jest i .

    Właściwości kwantyfikatorów:

    • W kwantyfikatorze uniwersalnym ∀x∀y jest podobne do ∀y∀x.
    • W kwantyfikatorze egzystencjalnym ∃x∃y jest podobne do ∃y∃x.
    • ∃x∀y nie jest podobne do ∀y∃x.

    Niektóre przykłady FOL z wykorzystaniem kwantyfikatora:

    1. Wszystkie ptaki latają.
    W tym pytaniu predykat brzmi „ latać (ptak) .'
    A ponieważ latają wszystkie ptaki, zostanie to przedstawione w następujący sposób.
    ∀x ptak(x) →latać(x) .

    2. Każdy człowiek szanuje swoich rodziców.
    W tym pytaniu predykat brzmi „ szacunek(x, y)', gdzie x=człowiek i y= rodzic .
    Ponieważ istnieje każdy człowiek, użyjemy ∀ i będzie to przedstawione w następujący sposób:
    ∀x mężczyzna(x) → szacunek (x, rodzic) .

    3. Niektórzy chłopcy grają w krykieta.
    W tym pytaniu predykat brzmi „ graj (x, y) ,' gdzie x= chłopcy, a y= gra. Ponieważ jest kilku chłopców, więc będziemy korzystać ∃ i będzie reprezentowane jako :
    ∃x chłopcy(x) → graj(x, krykiet) .

    Numer 1 milion

    4. Nie wszyscy uczniowie lubią zarówno matematykę, jak i przedmioty ścisłe.
    W tym pytaniu predykat brzmi „ like(x, y)', gdzie x= uczeń, a y= przedmiot .
    Ponieważ nie ma wszystkich uczniów, więc użyjemy ∀ z negacją, więc następująca reprezentacja tego:
    ¬∀ (x) [ student(x) → podobny(x, matematyka) ∧ podobny(x, nauki ścisłe)].

    5. Tylko jeden uczeń nie zdał matematyki.
    W tym pytaniu predykat brzmi „ nie powiodło się (x, y)', gdzie x= uczeń i y= przedmiot .
    Ponieważ tylko jeden uczeń nie zdał matematyki, zastosujemy w tym celu następującą reprezentację:
    ∃(x) [ student(x) → nieudany (x, matematyka) ∧∀ (y) [¬(x==y) ∧ uczeń(y) → ¬nieudany (x, matematyka)] .

    Zmienne swobodne i powiązane:

    Kwantyfikatory oddziałują ze zmiennymi, które pojawiają się w odpowiedni sposób. Istnieją dwa typy zmiennych w logice pierwszego rzędu, które podano poniżej:

    Dowolna zmienna: Mówi się, że zmienna jest zmienną wolną we wzorze, jeśli występuje poza zakresem kwantyfikatora.

    Przykład: ∀x ∃(y)[P (x, y, z)], gdzie z jest zmienną wolną.

    Zmienna związana: Mówi się, że zmienna jest zmienną związaną we wzorze, jeśli występuje w zakresie kwantyfikatora.

    Przykład: ∀x [A (x) B( y)], tutaj x i y są zmiennymi powiązanymi.