
- •1.Введение в функциональное и логическое программирование
- •1.1. Основные классы вычислительных моделей
- •1.1.1 Процедурная вычислительная модель
- •1.1.2 Функциональная вычислительная модель
- •1.1.3. Логическая вычислительная модель
- •1.1.4. Объектно-ориентированная вычислительная модель (ооп)
- •1.2.Метод оценки (способ получения результатов)
- •1.3. Обмен информацией в процессе оценки
- •1.4.Понятие искусственного интеллекта
- •1.5.Символьные языки программирования
- •1.6. Основные направления в искусственном интеллекте
- •Для работы в сфере ии надо иметь:
- •1) Языки ии, обеспечивающие простоту модификации
- •3) Важна и структура самой машины, позволяющая с
- •2.Основы логического программирования и язык Пролог.
- •2.1.Основные понятия
- •2.2.Определение отношений на основе фактов и правил
- •2.3 Пример программы на языке Пролог
- •2.4.Использование рекурсии
- •2.5.Декларативная и процедурная трактовка программы
- •2.6. Cтруктура программы
- •2.7.Особенности лп:
- •2.8 Использование предиката not и
- •3.Синтаксис Пролога
- •3.1. Объекты данных
- •3.2. Составные объекты и альтернативные домены. В утверждениях объекты представляют собой данные.
- •3.2.1. Составная структура
- •Листинг3.1. Использование доменной структуры с именем personal_library
- •3.2.2.Доменная структурная диаграмма программы “Библиотека” (дсд)
- •3.2.3.Предикатная структурная диаграмма программы “Библиотека” (псд)
- •3.2.4. Альтернативные домены
- •Выводы:
- •Рассмотрение работы с составными объектами и альтернативными доменами закончено. Посмотрим, как именно строится логический вывод, реализованный на эвм?
- •3.3. Сопоставление структур(matching)
- •3.4.Унификация и подстановки (Unify).
- •3.5.Основные правила поиска с возвратом:
- •Листинг 3.4.Унификация и поиск с возвратом
- •4.Принцип резолюции
- •Метод резолюции в исчислении предикатов – это пра-
- •4.1.Логическое следствие
- •4.2. Логический вывод
- •4.3 Преимущества и недостатки метода резолюции
- •4.4. Пример применения метода резолюций.
- •5. Управление поиском решений
- •5.1.Метод отката после неудачи – опн
- •5.2 Метод отсечения и отката – оо
- •5.2.1.Влияние предиката cut на составную цель
- •5.2.3. Использование зеленых и красных отсечений
- •5.2.4.Использование предиката not как средства управления
- •5.3.Метод повтора, определяемый пользователем (мп)
- •5.4.Методы организации рекурсии
- •Листинг 5.9. Бесконечная рекурсия (хвостовая рекурсия)
- •Пример программы, которая циклически считывает символ, введенный пользователем. Если символ не равен #, то он выводится на экран, иначе процесс заканчивается.
- •Листинг 5.14. Пример рекурсии для генерации ряда чисел в порядке возрастания
- •Определение
- •Список помогает сделать программу компактной, эффектив-
- •Список – это рекурсивный составной объект, поэтому
- •6.1.Операции над структурами данных типа список.
- •6.2.Предикат findall
- •6.3. Операции со структурами данных.
Метод резолюции в исчислении предикатов – это пра-
вило вывода новой логической формулы из двух посылок (похоже на решение системы уравнений. Предполагается, что уравнение истинно при некоторых значениях неизвестных, и делаются подстановки, сохраняющие эту истинность и дающие новые уравнения).
Метод резолюции является более общим по отношению к модус поненс и цепному правилу. Модус поненс является частным случаем правила резолюции для случая ложного А. Правило резолюции можно рассматривать как аналог цепного правила в применении к формулам, находящимся в конъюнктивной нормальной форме. (Любое выражение в ИП1П можно привести к КНФ - по сути похоже на упрощение алгебраических выражений).
Резолюция – это метод доказательства того, что ложное высказывание – ложно, а не того, что истинное высказывание - истинно. Необходимо понимать, что такое логическое следствие и логический вывод.
Предложения программы сами по себе не являются true или false .Значения true или false для предложения определяются их конкретной интерпретацией. Решая задачу мы всегда выбираем определенную область интерпретации (предметную область), которая представляет собой произвольное множество объектов (D).{На основе теоретико-множественной модели}. Эти объекты сопоставляются именам, входящим в наши предложения (S1).
Наши предложения (S1) Область интерпретации(D)
сonst -------------------------------объект
функтор -------------------------------функция
предикат -------------------------------отношение
{true,false}
Используем интерпретацию множества предложений S1 для оценки каждого предложения из S1 с помощью истинностных значений true и false.
Каждое предложение из S1 будет принимать в данной интерпретации true или false. Сказать, что некоторое предложение из S1 истинно или ложно относительно выбранной интерпретации, значит сказать, что истинно или ложно соответствующее высказывание о D.
Таким образом, посредством установления связи с внешним миром объектов предложения S1 приобретают истинностно - функциональное значение.
4.1.Логическое следствие
Множество предложений S1 логически влечет некоторое предложение F тогда и только тогда, когда в каждой интерпретации над произвольной областью из выполнения в ней множества предложений S1 следует выполнение в ней предложения F (или F является логическим следствием множества предложений S1).
S1 |-- F -(логически следует)
Смысл отношения |-- заключается в том, что если
S1 |-- F (S влечет за собой F ) имеет место, то это происходит благодаря внутреннему устройству самих предложений, независимо от того, что могут означать составляющие их части в соответствии с той или иной интерпретацией. Использование интерпретации приписывающей значения – это всего лишь один из способов образования понятия логического следствия, которое в конечном счете от этих интерпретаций не зависит.
На
практике не требуется исследовать
различные области интерпретации для
установления отношения S1|--
Fn+1
,так как существуют более простые
методы, основанные на логическом выводе.
Наиболее простой метод для установления
отношения логического следствия S1|--F
основан на логическом выводе.