logo

Логіка першого порядку в штучному інтелекті

У темі Пропозиційна логіка ми побачили, як представляти висловлювання за допомогою пропозиційної логіки. Але, на жаль, у пропозиційній логіці ми можемо представити лише факти, які є істинними чи хибними. PL недостатньо для представлення складних речень або тверджень природної мови. Пропозиційна логіка має дуже обмежену виразну силу. Розглянемо наступне речення, яке ми не можемо представити за допомогою логіки PL.

c масив рядків
    «Деякі люди розумні», або «Сачін любить крикет».

Щоб представити наведені вище твердження, логіки PL недостатньо, тому нам потрібна якась потужніша логіка, наприклад логіка першого порядку.

Логіка першого порядку:

  • Логіка першого порядку — ще один спосіб представлення знань у штучному інтелекті. Це розширення пропозиційної логіки.
  • FOL є достатньо виразним, щоб представити твердження природної мови в стислій формі.
  • Логіка першого порядку також відома як Логіка предикатів або логіка предикатів першого порядку . Логіка першого порядку — це потужна мова, яка розробляє інформацію про об’єкти більш простим способом, а також може виражати зв’язок між цими об’єктами.
  • Логіка першого порядку (як природна мова) не лише припускає, що світ містить факти, такі як пропозиційна логіка, але також припускає наступні речі у світі:
      Об'єкти:A, B, люди, цифри, кольори, війни, теорії, квадрати, ями, wumpus, ......
  • Відносини: Це може бути унарне відношення, наприклад: червоний, круглий, сусідить, або n-будь-яке відношення, наприклад: сестра, брат, має колір, стоїть міжфункція:Батько, найкращий друг, третій інінг, кінець, ......
  • Як природна мова логіка першого порядку також має дві основні частини:
      Синтаксис
  • Семантика

    Синтаксис логіки першого порядку:

    Синтаксис FOL визначає, який набір символів є логічним виразом у логіці першого порядку. Основними синтаксичними елементами логіки першого порядку є символи. Ми пишемо твердження у скороченій нотації на FOL.

    Основні елементи логіки першого порядку:

    Нижче наведено основні елементи синтаксису FOL:

    Постійний 1, 2, А, Джон, Мумбаї, кіт,....
    Змінні x, y, z, a, b,...
    Присудки Брат, батько, >,....
    функція sqrt, LeftLegOf, ....
    Сполучники ∧, ∨, ¬, ⇒, ⇔
    Рівність ==
    Квантор ∀, ∃

    Атомні речення:

    • Атомарні речення є основними реченнями логіки першого порядку. Ці речення утворюються із символу предиката, за яким стоїть дужка з послідовністю термінів.
    • Ми можемо представити атомарні речення як Предикат (термін1, термін2, ......, термін n) .

    Приклад: Раві та Аджай — брати: => Брати (Раві, Аджай).
    Chinky is a cat: => кіт (Chinky)
    .

    Складні речення:

    • Складнопідрядні речення складаються шляхом поєднання складних речень за допомогою сполучників.

    Логічні оператори першого порядку можна розділити на дві частини:

      Тема:Тема — головна частина висловлювання.Присудок:Предикат можна визначити як відношення, яке зв’язує два атоми разом у висловлюванні.

    Розглянемо вислів: «x — ціле число». , він складається з двох частин, перша частина x є підметом оператора, а друга частина «є цілим числом», відома як предикат.

    Логіка першого порядку в штучному інтелекті

    Квантори в логіці першого порядку:

    • Квантифікатор — це мовний елемент, який породжує квантифікацію, а квантифікація визначає кількість зразка у всесвіті дискурсу.
    • Це символи, які дозволяють визначити або ідентифікувати діапазон і область змінної в логічному виразі. Існує два типи кванторів:
        Універсальний квантифікатор (для всіх, кожного, усього)
    • Екзистенційний квантор (для деяких принаймні один).

    Універсальний квантор:

    Універсальний квантор — це символ логічного представлення, який вказує, що твердження в межах його діапазону є істинним для всього або кожного екземпляра певної речі.

    Універсальний квантор представлений символом ∀, який нагадує перевернуту літеру A.

    Примітка: в універсальному кванторі ми використовуємо імплікацію «→».

    Якщо x є змінною, то ∀x читається як:

      Для всіх х Для кожного x Для кожного x.

    приклад:

    Всі люди п'ють каву.

    Нехай змінна x, яка посилається на кота, тому всі x можуть бути представлені в UOD, як показано нижче:

    Логіка першого порядку в штучному інтелекті

    ∀x людина(x) → випити (x, кава).

    інтерфейс на java

    Це читатиметься так: Є всі x, де x — людина, яка п’є каву.

    Екзистенційний квантор:

    Екзистенціальні квантори — це тип кванторів, які виражають, що твердження в межах його обсягу є істинним принаймні для одного екземпляра чогось.

    типи об'єднань у rdbms

    Він позначається логічним оператором ∃, який нагадує перевернуте E. Коли він використовується з предикатною змінною, він називається екзистенціальним квантором.

    Примітка. У екзистенціальному кванторі ми завжди використовуємо І або символ сполучення (∧).

    Якщо x є змінною, тоді квантор існування буде ∃x або ∃(x). І це буде читатися так:

      Існує 'х'. Для деяких «х.» Для принаймні одного «х».

    приклад:

    Деякі хлопці розумні.

    Логіка першого порядку в штучному інтелекті

    ∃x: хлопчики (x) ∧ intelligent (x)

    Це читатиметься так: Є кілька х, де х — розумний хлопчик.

    Важливі моменти:

    • Основний сполучник для універсального квантора є наслідком .
    • Основний сполучник для екзистенціального квантора є і .

    Властивості кванторів:

    • В універсальному кванторі ∀x∀y подібний до ∀y∀x.
    • У екзистенціальному кванторі ∃x∃y подібний до ∃y∃x.
    • ∃x∀y не схоже на ∀y∃x.

    Деякі приклади FOL з використанням квантифікатора:

    1. Всі птахи літають.
    У цьому питанні предикатом є ' літати (птах) .'
    А оскільки є всі птахи, які літають, то це буде представлено наступним чином.
    ∀x птах (x) → літати (x) .

    ipconfig для ubuntu

    2. Кожна людина шанує свого батька.
    У цьому питанні предикатом є ' respect(x, y),' де x=людина, а y=батько .
    Оскільки існує кожна людина, то використовуватиму ∀, і це буде представлено таким чином:
    ∀x людина(x) → поважає (x, батько) .

    3. Деякі хлопчики грають у крикет.
    У цьому питанні предикатом є ' грати (x, y) ,' де x= хлопчики, а y= гра. Оскільки є кілька хлопців, ми будемо використовувати ∃, і це буде представлено як :
    ∃x хлопчики (x) → грати (x, крикет) .

    4. Не всі учні люблять і математику, і природничі науки.
    У цьому питанні предикатом є ' like(x, y),' де x= учень, а y= предмет .
    Так як не всі учні, тому будемо використовувати ∀ із запереченням, отже таке представлення для цього:
    ¬∀ (x) [ студент(x) → like(x, математика) ∧ like(x, наука)].

    5. Тільки один учень зазнав невдачі з математики.
    У цьому питанні предикатом є ' невдало (x, y),' де x= учень, а y= предмет .
    Оскільки є лише один учень, який зазнав невдачі з математики, ми використаємо наступне представлення для цього:
    ∃(x) [ студент(x) → не склав (x, математика) ∧∀ (y) [¬(x==y) ∧ студент(y) → ¬не склав (x, математика)] .

    Вільні та зв'язані змінні:

    Квантори взаємодіють зі змінними, які з’являються відповідним чином. Існує два типи змінних у логіці першого порядку, які наведені нижче:

    Вільна змінна: Змінна називається вільною змінною у формулі, якщо вона знаходиться поза межами квантора.

    Приклад: ∀x ∃(y)[P (x, y, z)], де z є вільною змінною.

    Прив'язана змінна: Змінна називається зв’язаною змінною у формулі, якщо вона зустрічається в межах квантора.

    Приклад: ∀x [A (x) B( y)], тут x і y є зв’язаними змінними.