Основи на Visual Prolog, Въведение влогическо програмиране, Факти - Езикът на логиката

Въведение в логическото програмиране

В Prolog ние получаваме решение на проблем чрез логическо извличане от предварително известни позиции. Обикновено програмата Prolog не е последователност от действия, тя е набор от факти с правила за правене на заключения въз основа на тези факти. Следователно Prolog е известен катодекларативен език.

Prolog включва машина за изводи, която се основава на съвпадение на шаблони. С помощта на избор на отговори на запитвания, той извлича съхранената (известна) информация. Prolog се опитва да тества истинността на дадена хипотеза (с други думи, да отговори на въпрос), като иска информация, за която вече е известно, че е вярна. Знанието на Prolog за света е ограничен набор от факти (и правила), дадени в програмата.

Една от най-важните характеристики на Prolog е, че в допълнение към логичното търсене на отговори на въпроси, които задавате, той може да се занимава с алтернативи и да намира всички възможни решения. Вместо обичайната работа от началото на програмата до края, Prolog може да се върне назад и да разгледа повече от един „път“, докато решава всички части, съставляващи проблема.

Предикатната логика е предназначена да преведе принципите на логическото мислене в писмена форма по възможно най-простия начин. Prolog се възползва от логическия синтаксис, за да разработи език за програмиране. В логиката на предикатите вие ​​първо изключвате всички несъществени думи от вашите изречения. След това трансформирате тези изречения, като поставите релацията на първо място, последвана от групираните обекти. В бъдеще обектите стават аргументи, между които се установява тази връзка. Като пример, в табл. представени предложения, превърнати вспоред синтаксиса на предикатната логика.

Синтаксис на предикатната логика

Изречения на естествен език

Синтаксис на предикатната логика

Бил обича кола, ако колата е красива

харесва (сметка, кола) ако е забавно (кола)

Прологът описваобекти(objects) ирелации(relations), а след това описваправила(rules), при които тези релации са верни. Например предложение

Бил обича кучета. (Бил като кучета.)

установява връзка между обекти Бил и кучета (Бил и кучета); тази връзка е харесвания. Следното е правило, което определя кога изречението „Бил обича кучета“ е вярно:

Бил харесва кучета, ако те са добри. (Бил харесва кучета, ако кучетата са мили.)

В Пролог връзката между обектите се наричафакт(факт). В естествения език отношението се установява в изречението. В логиката на предикатите, използвана от Prolog, релацията съответства на проста фраза (факт), състояща се от името на релацията и обекта или обектите, затворени в скоби. Подобно на изречение,фактът завършва с точка (.).

Ето някои изречения на естествен език с връзка харесвания:

Бил обича Синди. (Бил като Синди)

Синди обича Бил. (Синди като Бил)

Бил обича кучета. (Бил като кучета)

Сега нека пренапишем същите тези факти, използвайки синтаксиса на Пролог:

харесва (сметка, кучета).

Фактите, освен отношения, могат да изразяват и свойства. Така, например, изреченията на естествения език „Кърмит е зелен“ и „Кейтлин е момиче“ в Пролог, изразяващи едни и същи свойства, изглеждат така: