Пролог (мова програмування) - це

Основними поняттями в мові Пролог є факти, правила логічного висновку і запити, що дозволяють описувати бази знань. процедури логічного висновку і прийняття рішень.

Факти в мові Пролог описуються логічними предикатами з конкретними значеннями. Правила в Пролозі записуються в формі правил логічного висновку з логічними висновками і списком логічних умов.

Особливу роль в інтерпретаторі Прологу відіграють конкретні запити до баз знань, на які система логічного програмування генерує відповіді «істина» і «брехня». Для узагальнених запитів зі змінними в якості аргументів створена система Пролог виводить конкретні дані на підтвердження істинності узагальнених відомостей і правил виведення.

Факти в базах знань на мові Пролог представляють конкретні відомості (знання). Узагальнені відомості і знання в мові Пролог задаються правилами логічного висновку (визначеннями) і наборами таких правил виведення (визначень) над конкретними фактами і узагальненими відомостями.

Початок історії мови відноситься до 1970-х років. [1] Будучи декларативною мовою програмування. Пролог сприймає як програми деякий опис завдання або баз знань і сам виробляє логічний висновок, а також пошук вирішення завдань, користуючись механізмом пошуку з поверненням та уніфікацією.

Інтерес до Прологу піднімався і затихав кілька разів, ентузіазм змінювався жорстким неприйняттям. Найвище був піднятий інтерес до мови Пролог, як до мови майбутнього, під час розробок японської національної програми комп'ютери п'ятого покоління в 1980-х роках, коли розробники сподівалися, що за допомогою Прологу можна буде сформулювати нові принципи, які приведуть до створення комп'ютерів більш високого рівня інтелекту.

Мова Пролог в 1980-х роках був включений в ряд радянських вузівських і шкільних підручників інформатики для вивчення елементів математичної логіки, принципів логічного програмування і проектування баз знань і моделей експертних систем. З цією метою на IBM PC і ряді радянських шкільних комп'ютерів були реалізовані навчальні російськомовні інтерпретатори Прологу.

У мові Пролог факти описуються в формі логічних предикатів з конкретними значеннями. Правила виведення описуються логічними предикатами з визначенням правил логічного висновку у вигляді списку предикатів над базами знань і процедурами обробки інформації.

В даний час Пролог, незважаючи на неодноразові песимістичні прогнози, продовжує розвиватися в різних країнах і вбирає в себе нові технології і концепції, а також парадигми імперативного програмування. Зокрема, один із напрямів розвитку мови (в тому числі і в Росії) реалізує концепцію інтелектуальних агентів.

Кросплатформеність

Пролог реалізований практично для всіх відомих операційних систем і платформ (в тому числі для Java і .NET). У число операційних систем входять OS для мейнфреймів. все сімейство Unix. Windows. ОС для мобільних платформ.

архітектура

Базовим принципом мови є рівнозначність представлення програми і даних (декларативність), чому твердження мови одночасно є і записами, подібними записами в базі даних, і правилами, що несуть в собі способи їх обробки. Поєднання цих якостей призводить до того, що в міру роботи системи Прологу знання (і дані і правила) накопичуються. Тому Пролог-системи вважають природним середовищем для накопичення бази знань і навчання студентів і школярів принципам логічного програмування.

Програма на Пролозі описує відносини, що визначаються за допомогою пропозицій. Як і в будь-якому іншому мовою, орієнтованому на символьні обчислення. пропозиції шикуються з термів, які в свою чергу поділяються на атоми, числа, змінні і структури. Атом записується з малої літери або полягає в лапки, коли потрібно запис з великої літери.

Змінні, що записуються з великої літери, відрізняються від змінних в процедурних мовах програмування, вони не пов'язані з конкретною осередком пам'яті, а скоріше ближче до математичної змінної.

Структури є сукупності термів, укладені в круглі дужки, в тому числі і інші структури. Структура позначається ім'ям (функтором), яке розташовується перед круглими дужками.

Ще однією конструкцією є списки, елементи яких складається з т.з. тегів. В основі списків в Пролог лежать зв'язкові списки.

У чистому Пролозі пропозиції обмежуються диз'юнкт Хорна

і читаються як: Тема ІСТИНА, якщо Тіло ІСТИНА. Тіло правила містить посилання на предикати, які називаються цілями правила. Вбудовані предикати, / 2. що означає оператор з двома аргументами, що визначає кон'юнкцію цілей і; / 2 визначає диз'юнкцію.

Пропозиції з порожнім тілом називаються Фактами. Приклад факту:

воно еквівалентно правилу:

Пролог критикується в першу чергу за неповну декларативну природу. Створення програм в повністю декларативному стилі практично неможливо, потрібно вдаватися до процедурних прийомів, що призводить до різкого зростання складності створення і налагодження програм, а також поганий контрольованості проміжних результатів. [2] Іншим часто піддають критиці властивістю мови є відсутність типізації. У мові зумовлений порядок обходу дерева рішень в глибину і стандартизовані оператори, що дозволяють втручатися в цей процес (такі як оператор відсікання. Або розгалуження ->) і не дозволяють распараллелить програму, задіявши в пошуку рішення кілька процесорів або вузлів мережі.

Примітки

Дивитися що таке "Пролог (мова програмування)" в інших словниках:

ПРОЛОГ (мова програмування) - ПРОЛОГ (PROLOG, від PROgramming in LOGic, програмування в логіці), мова програмування (див. МОВИ ПРОГРАМУВАННЯ) високого рівня декларативного типу, призначений для розробки систем та програм штучного інтелекту; відноситься до ... ... Енциклопедичний словник

Мова програмування Пролог - мова логічного програмування, програма на якому складається: з логічних тверджень, що утворюють базу даних; і з правила виведення нових тверджень з відомих. За англійськи: PROLOG language Див. Також: Декларативні мови програмування ... ... Фінансовий словник

Мова програмування - мова програмування формальна знакова система, призначена для запису комп'ютерних програм. Мова програмування визначає набір лексичних, синтаксичних і семантичних правил, які задають зовнішній вигляд програми і дії, ... ... Вікіпедія

Мова програмування Dylan - Dylan динамічний об'єктно орієнтована мова програмування, націлений на швидку розробку програм, розроблений, перш за все, зусиллями множинне спадкування, поліморфізм і багато інших функцій. Мова загального призначення, ... ... Вікіпедія

  • Пролог (мова програмування). Джессі Рассел. Ця книга буде виготовлена ​​в відповідності з Вашим замовленням за технологією Print-on-Demand. High Quality Content by WIKIPEDIA articles! Пролог (фр. Programmation en Logique) - мова і система ... Детальніше Купити за тисячу сто двадцять п'ять руб
  • Реляційний мову пролог і його застосування. Дж. Малпас. Описується реляційний мову програмування Пролог, розглядається методика програмування і конкретні програми. Містить велику кількість вдало підібраних прикладів, що ілюструють ... Детальніше Купити за 270 руб
  • Основи програмування на мові Пролог. Курс лекцій. П. А. Шрайнер. Книга присвячена вивченню найбільш популярного мови штучного інтелекту Пролог. Ця мова, свого часу, був покладений в Японії в основу проекту ЕОМ п'ятого покоління, який, правда, не ... Детальніше Купити за 228 грн (тільки Україна)
Інші книги по запросу «Пролог (мова програмування)» >>

Схожі статті