Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Розв'язування математичних задач помощью мови логічного програмування Prolog

Реферат Розв'язування математичних задач помощью мови логічного програмування Prolog





у Програмі Використовують только Стандартні домени, тоді в розділі domains узагалі нема спожи.

Розділом goal корістуються для здавна вмонтованою (внутренних) цілей коли необходимо, щоб програма працювала Незалежності від розвитку середовища Прологу. Іншімі словами, если ві плануєте компілюваті програму в таку, яка самостійно віконуватіметься, можете явно вказаті мету виконан.

Розділ constants застосовують для про явище констант. Вжівають синтаксис:

lt; Ідентифікатор gt; = Lt; Макровізначення gt;.

При цьом вводяться Такі обмеження:

? в одному рядку винна буті определена лишь один константа;

? Заборонена рекурсія при візначенні Константи;

? в опісі констант система не розпізнає Великі та малі літери;

? ідентіфікаторі констант є глобальними и могут буті про явлені только один раз.

Розділ database - це база даних. Іноді во время виконан програми необходимо Сменить деякі факти, з Якими працює програма. Смороду знаходяться в дінамічній або Внутрішній базі даних. Факти, котрі розміщуються в дінамічній, повінні буті опісані в розділі database.

Пролог має декілька вмонтованою стандартних доменів, основні з якіх наведено в Додатках 1.

Можна скористати стандартними доменами во время Опису тіпів аргументів предикату. Їх НЕ нужно візначаті в розділі domains.

Кількість аргументів предикату назівається арністю предикату. Пролог допускає предикати з Однаково Назв, но різною арністю.

Пролог проводити Автоматичне превращение доменів:

) между рядками и символами;

) между цілим, символьний и дійснім доменом.

Як ми Вже позначають, синтаксис правила складається з трьох частин:

голова: - lt; підціль gt ;, lt; підціль gt ;, ..., lt; підціль gt;.

Кожна підціль віклікає відповідній предикат Прологу. Пролог-система тестує вікліканій предикат и перевіряє, чи может ВІН задовольнітіся. Если поточна підціль буде задоволена, тоді виклик справджується ї обробка переходити до наступної підцілі. Колі обробка успішно досягла крапки, то кажуть, что правило істінне.

У разі, если якась Із підцілей завершується Невдача, тоді Пролог-система возвращается назад і переглядає альтернативи Попередньо переглянутися підцілей, альо з вже іншімі значень параметрів. Цей процес назівається бектрекінгом.

Ві можете Включити в програму деякі директиви комп ютера безпосередно або ж сделать це, вибрать пункт меню Options/CompilerDirectives. Например, директиву include. За ее помощью можна підключіті до програми напісані Попередньо процедури. Додамо рядок include my.pro на качан програми. А у файлі my.pro опісуються процедури, Які Використовують у Програмі розв язку задачі. Если Розглянуто шлях НЕ дает ВІДПОВІДІ, необходимо переглянутися альтернативний. Такий ПІДХІД дістав Назву бектрекінг.

Пролог реалізує бектрекінг таким чином: на качана поиска розв язання поставленої проблеми ВІН ставити маркер на місце проглядання та вібірає Першу підціль. Если ее розв язання завершитися Невдача, тоді Пролог возвращается до точки, відміченої маркером и намагається найти альтернативних підціль. При поверненні в точку бектрекінгу, ВІН звільнює усі змінні, зв язані после входу в Дану точку.

Розглянемо програму:

, thing=symbol (name, thing) (name) _inquisitive (name) (john, wine). (lance, skiing). (Z, books): -reads (Z), _ inquisitive ( Z). (lance, books). (lance, films). (john) ._ inquisitive (join).


задам сістемі запитання у виде мети, яка складається з двох підцілей: (X, wine), likes (X, books)

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

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

Підціль likes (X, wine) відповідає фактом likes (john, wine). Тому Х зв язується з john. Потім Пролог Робить СПРОБА задовольніті Наступний підціль праворуч. Виклик Другої підцілі розпочінає новий поиск з Х=john. Перший пункт likes (john, wine) НЕ відповідає підцілі likes (X, books), того что wine НЕ є тім же, что ї books. Тому Пролог намагається підібраті Наступний пункт. Подалі поиск візначається третім правилом бектрекінгу. Колі підціль відповідає Голові, тоді наступна винне задово...


Назад | сторінка 7 з 12 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Розробка експертних систем засобами мови Турбо-Пролог
  • Реферат на тему: John F. Kennedy
  • Реферат на тему: Методи розв'язання крайових задач, в тому числі "жорстких" кр ...
  • Реферат на тему: The Semantics of Colors in John Milton's Poem Paradise Lost
  • Реферат на тему: Розробка програми для розв'язання систем лінійних рівнянь