Вход

Prolog – язык разработки систем, основанных на знаниях

Рекомендуемая категория для самостоятельной подготовки:
Курсовая работа*
Код 188211
Дата создания 2015
Страниц 29
Источников 10
Мы сможем обработать ваш заказ (!) 27 апреля в 12:00 [мск]
Файлы будут доступны для скачивания только после обработки заказа.
1 700руб.
КУПИТЬ

Содержание

Введение 3
1 История языка Prolog 5
1.1 Разработка языка Prolog 5
1.2 Основные тенденции в развитии языка Prolog 6
1.3 История версий языков Turbo Prolog, PDC Prolog и Visual Prolog 7
2 Общие сведения о языке Prolog 9
2.1 Общие сведения о языке Prolog 9
2.2 Понятие факта, правила, запроса и процедуры 10
2.3 Механизм сопоставления и поиска с возвратом 12
2.4 Область применения языка Prolog 15
3 Prolog – язык разработки систем, основанных на знаниях 20
3.1 Системы, основанные на знаниях 20
3.2 Логические модели и логическое программирование 21
3.3 Простейшие конструкции языка предикатов 22
3.4 Предикатные формулы 23
3.5 Определение правильно построенной формулы 25
3.6 Логический вывод 26
Заключение 28
4 Список литературы 29

Фрагмент работы для ознакомления

Логические модели и логическое программированиеОдним из способов представления знаний в информационных системах является язык математической логики, позволяющий формально описывать понятия предметной области и связи между ними.В отличие от естественного языка, который очень сложен, язык логики предикатов использует только такие конструкции естественного языка, которые легко формализуются. Логика предикатов – это языковая система, которая оперирует с предложениями на естественном языке в пределах синтаксических правил этого языка. Язык логики предикатов использует слова, которые описывают [9]:понятия и объекты изучаемой предметной области;свойства этих объектов и понятий, а также их поведение и отношения между ними.В терминах логики предикатов первый тип слов называется термами, а второй тип слов – предикатами. Термы представляют собой средства для обозначения интересующих нас индивидуумов, а предикаты выражают отношения между различными индивидуумами, которые обозначаются с помощью термов.Логическая модель представляет собой множество предложений, выражающих различные логические свойства именованных отношений.Логическое программирование – это подход, при котором пользователь описывает предметную область совокупностью предложений в виде логических формул, а кибернетическое устройство, манипулируя этими предложениями, строит необходимый для решения задач вывод.Простейшие конструкции языка предикатовОдной из простейших конструкций логики предикатов является терм. Терм – это знак (символ) или комбинация знаков (символов), являющаяся наименьшим значимым элементом языка. К термам относятся константы, переменные и функции. Константы обозначают конкретные объекты реального мира. Переменные используются для обозначения некоторого из возможных объектов реального мира или их совокупности. Обычно их обозначения начинаются с заглавной буквы.Структуры – представляют собой последовательность разделенных запятыми констант или переменных, которые заключены в круглые скобки и следуют за функциональным символом (функтором). Функторы обозначают операторы, которые после воздействия на объект возвращают некоторое значение. Пример записи структур: сумма (1,2); +(1,2); удвоить (X), а примерами работы с ними и их унификации могут быть:?- +(2, 3) = 2 + 3.true.?- +(2, *(5,6)) = +(X, *(5X = 2,Y = 6.?- Resultis +(2, *(5,6)).Result =32 ?Предикат – это логическая функция, которая выражает отношение между своими аргументами и принимает значение «истина», если это отношение имеется, или «ложь», если оно отсутствует. Заключенная в скобки последовательность из nтермов, перед которой стоит предикатный символ, называется n-местным (или n-арным) предикатом, который принимает значения «истина» или «ложь» в соответствии со значением термов, являющимися его аргументами. Примеры записи предикатов:является ( ласточка, птица ).отец (X, «Петр»).Такого типа предикаты получили название атомарных предикатов и соответствуют наиболее простым предложениям разговорного языка – нераспространенным предложениям. В обычном человеческом языке из нераспространенных предложений с помощью соединительных союзов, местоимений, и других частей речи строят более сложные конструкции – сложные предложения.Предикатные формулыВ логике предикатов сложным предложениям естественного языка соответствуют предикатные формулы. Предикатные формулы образуются из атомарных предикатов с использованием логических связок. Эти связки еще называют пропозициональными и выделяют пять типов таких связок, которые приведены в табл. 6.1.Таблица 3.1.Обозначение и назначение логических связокОбозначение–1, илиА; или vО или ~Читается, как ...НЕИИЛИЕсли ..., То , Из ... следуетТогда и только ...ОперацияотрицаниеконъюнкциядизъюнкцияимпликацияэквиваленцияВ логических выражениях порядок выполнения логических операций задается круглыми скобками. При их отсутствии логические связки имеют следующий приоритет использования: сначала выполняется отрицание («не»), затем конъюнкция («и»), после конъюнкции – дизъюнкция («или») и в последнюю очередь – импликация.В логике высказываний показано, что операцию импликации можно выразить через дизъюнкцию и отрицание: А ^ В = –AvВ, а операцию эквивалентности можно представить через операции отрицания, дизъюнкции и конъюнкции: А -о- B= (–AvВ) А (–iBV A).Таким образом, операций отрицания, дизъюнкции и конъюнкции вполне достаточно, чтобы описывать и обрабатывать любые логические высказывания. Что касается логического программирования, то в нем наиболее часто используют связки «И», «НЕ»«ЕСЛИ». Тогда предикатная формула, соответствующая сложному предложению, может иметь вид, например,является(ласточка, птица) ^ имеет (ласточка, крылья),владеет (ласточка, гнездо).где «является», «имеет», «владеет»– это атомарные предикаты, а «,» и «-^» представляют собой логические связки.Однако приведенная конструкция предикатной формулы позволяет делать утверждение не только о конкретном индивидууме, которым являетсяласточка, но и обо всех индивидуумах из класса птиц, используя для этого вместо констант переменные:является(Х, птица) ^ имеет(Х,крылья), владеет(Х, гнездо)Используя переменные вместо конкретных имен, мы приходим к более общим понятиям кортежа длины n, предиката и логической формулы. Однако предикат, который содержит переменные, например,имеет (Х, крылья)не может быть однозначно оценен, так как невозможно определить ложь он или истина. Его значение определяется после подстановки в переменную некоторой константы.Однако иногда можно определить значения предиката, не делая подстановок, используя кванторы общности (V) и существования (3), которые обозначают «для всех» и «существует, по крайней мере, одно». Тогда приведенная выше логическая формула будет записана в виде:(VX) [является (Х, птица) ^ имеет (Х, крылья),владеет (Х, гнездо)]и соответствуют предложению, которое может читаться как: «любой Х является птицей, если этот Х имеет крылья и владеет гнездом».Кванторное логическое высказывание с квантором всеобщности вида VxA(x) – истинно только тогда, когда для каждого объекта xиз заданной совокупности высказывание A(x) истинно. Логическое высказывание с квантором существования 3xA(x) – истинно только тогда, когда в заданной совокупности существует объект х, такой, что высказывание A(x) истинно.Кванторы V и 3 могут использоваться и для любого числа переменных, а при их комбинации очень важен порядок их использования. Рассмотрим их различное использование, и соответствующее семантическое толкование высказываний на примере использования двуместного предиката любит/2, который описывает отношение «Х любит Y»:VXVYлюбит (Х, Y) - все любят всех;3Х VYлюбит (Х, Y) - существует такой X, который любит всех;VХ 3Yлюбит (Х, Y) - любой X любит хотя бы одного Y;3Х 3 Yлюбит (Х, Y) - существует такой X, который кого-либо любит;Y 3Xлюбит (Х, Y) - существует такой Y, которого кто-то любит;VY 3Xлюбит(Х, Y) - каждого Yлюбит хотя бы один Х.Определение правильно построенной формулыКомбинируя логические связки и кванторы можно рекурсивно определить составную формулу логики предикатов, называемую правильно построенной формулой (далее просто ППФ или логическая формула). Если говорить применительно к естественному языку, то ППФ описывает обычное предложение общего вида [10]:Термом является либо константа, либо переменная, либо кортеж из nтермов, перед которым стоит функтор.Предикат – кортеж из nтермов, перед которым стоит предикатный символ.Атомарный предикат является логической формулой.Если Fи G– логические формулы, то (F), (F,G), (FvG), (~F), (F^-G), (FoG) –также являются логическими формулами.Если F(X) – логическая формула, то выражения VXF(X) и 3XF(X) является логическими формулами.Все результаты, получаемые повторением конечного числа раз пунктов с 1 по 6, являются правильными логическими формулами.Множество предложений, которые построены согласно этим правилам, образуют язык логики предикатов первого порядка, который, являясь формализованным аналогом обычной логики, дает возможность строго рассуждать об истинности и ложности утверждений и об их взаимосвязи. В частности, о логическом следовании одного утверждения из другого, или, например, об их эквивалентности.Рассмотрим классический пример формализации утверждений естественного языка в логике первого порядка. «Все люди смертны»– этими словами начинается самый знаменитый из силлогизмов, гласящий далее: «Сократ – человек» и «следовательно, Сократ смертен». Используя определения правильно построенной формулы, первое предложение можно записать в виде VX( человек(Х) ^ смертен ), а второе предложение в виде факта человек(«Сократ»).Логический выводЛогический вывод – это процесс получения из множества правильно построенных логических формул {Si} некоторой новой ППФ (s) путем применения одного или нескольких правил вывода.Одним из таких правил является правило modusponens, которое используется в исчислении высказываний. Его еще называют правилом отделения или гипотетическим силлогизмом. Простой силлогизм – это рассуждение мысли, которое состоит из трёх простых атрибутивных высказываний: двухпосылок и одного заключения. Примером силлогизма может быть только что рассмотренный пример:Всякий человек смертен(большаяпосылка)Сократ – человек(меньшая посылка)Сократ смертен(заключение)Правило вывода modusponensпозволяет от утверждения условного высказывания A^-В и утверждения его основания A(антецедента) перейти к утверждению следствия B(консеквенту). Другими словами, если Aи A^-В – выводимые формулы, то Bтакже выводима. Формат записи этого правила вывода будет иметь вид:A, A^ ВBСледует отметить, что рассмотренное правило является частным случаем правила резолюций, которое в свою очередь относится к методу доказательства теорем через поиск противоречий. Правило резолюций, последовательно применяемое для списка резольвент, позволяет ответить на вопрос, существует ли в исходном множестве логических выражений противоречие.ЗаключениеПредставленная курсовая работа написана на тему «Prolog – язык разработки систем, основанных на знаниях»,целью которой являлось изучение языка Prolog и его характерных особенностей, позволяющих использовать его для разработки экспертных систем.В данной работе на основании анализа литературы и электронных источников были решены следующие задачи. Рассмотрена история разработки и основные тенденции языка пролог, приведена история версий языковTurbo Prolog, PDC Prolog и Visual Prolog и их краткое описание.Представлены общие сведения и описание основных конструктов языка Prolog, изучены основные понятия языка и определена область его применения. Исследованы особенности языка Prolog, как языка, основанного на знаниях. Приведено определение «Системы, основанной на знаниях» и описаны основные черты языка Prolog, как языка логического программирования, основанного на знаниях и принципы его работы.Цель работы – изучение языка Prolog и его характерных особенностей, позволяющих использовать его для разработки систем, основанных на знаниях – достигнута.Список литературыБратко, Иван. Алгоритмы искусственного интеллекта на языке PROLOG, 3-е издание. : Пер. с англ. – М. : Издательский дом «Вильяме», 2004. – 640 с. :Стерлинг Л., Шапиро Э. Искусство программирования на языке Prolog. – М.: Мир, 1990.Марселлус Д. Программирование экспертных систем на ТурбоPrologе– М.: Финансы и статистика, 1994Ин Ц., Соломон Д. Использование Турбо-Prologа. – М.: Мир, 1993Шрайнер П.А. Основы программирования на языке Prolog. Курс лекций. – ИНТУИТ, 2005. – 176 с.Цуканова Н.И., Дмитриева Т.А. Теория и практика логического программирования на языке Visual Prolog 7.Учебное пособие для вузов. – М.: Горячая Линия - Телеком, 2013. - 232 с.Язык программирования Prolog [Электронный ресурс]. – Режим доступа: открытый ресурс; постоянный адрес в Интернет: –http://it.kgsu.ru/Prolog/oglav.html–Загл. с экрана.Visual Prolog. Техническая, справочная и обучающая информацияот разработчиков (рус.) [Электронный ресурс]. – Режим доступа: открытый ресурс; постоянный адрес в Интернет – http:://wikiru.visual-prolog.com/index.phpCostaEduardo. Visual Prolog для чайников [Электронный ресурс]. – Режим доступа: открытый ресурс; постоянный адрес в Интернет: http://wikiru.visual-prolog.com/index.php?title=Visual_Prolog_for_Tyros –Загл. с экранаWielemakerJan, AnjewierdenAnjo. Programmingin XPCE/Prolog[Электронный ресурс]. – Режим доступа: открытый ресурс; постоянный адрес в Интернет:http://www.swi-prolog.org/packages/xpce/UserGuide/ –Загл. с экрана.

Список литературы [ всего 10]


1. Братко, Иван. Алгоритмы искусственного интеллекта на языке PROLOG, 3-е издание. : Пер. с англ. – М. : Издательский дом «Вильяме», 2004. – 640 с. :
2. Стерлинг Л., Шапиро Э. Искусство программирования на языке Prolog. – М.: Мир, 1990.
3. Марселлус Д. Программирование экспертных систем на ТурбоPrologе– М.: Финансы и статистика, 1994
4. Ин Ц., Соломон Д. Использование Турбо-Prologа. – М.: Мир, 1993
5. Шрайнер П.А. Основы программирования на языке Prolog. Курс лекций. – ИНТУИТ, 2005. – 176 с.
6. Цуканова Н.И., Дмитриева Т.А. Теория и практика логического программирования на языке Visual Prolog 7.Учебное пособие для вузов. – М.: Горячая Линия - Телеком, 2013. - 232 с.
7. Язык программирования Prolog [Электронный ресурс]. – Режим доступа: открытый ресурс; постоянный адрес в Интернет: –http://it.kgsu.ru/Prolog/oglav.html–Загл. с экрана.
8. Visual Prolog. Техническая, справочная и обучающая информацияот разработчиков (рус.) [Электронный ресурс]. – Режим доступа: открытый ресурс; постоянный адрес в Интернет – http:://wikiru.visual-prolog.com/index.php
9. CostaEduardo. Visual Prolog для чайников [Электронный ресурс]. – Режим доступа: открытый ресурс; постоянный адрес в Интернет: http://wikiru.visual-prolog.com/index.php?title=Visual_Prolog_for_Tyros –Загл. с экрана
10. WielemakerJan, AnjewierdenAnjo. Programmingin XPCE/Prolog[Электронный ресурс]. – Режим доступа: открытый ресурс; постоянный адрес в Интернет:http://www.swi-prolog.org/packages/xpce/UserGuide/ –Загл. с экрана.
Очень похожие работы
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
bmt: 0.00393
© Рефератбанк, 2002 - 2024