Справочник от Автор24
Поделись лекцией за скидку на Автор24

Введение в язык логического программирования Пролог

  • 👀 347 просмотров
  • 📌 275 загрузок
Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Конспект лекции по дисциплине «Введение в язык логического программирования Пролог» pdf
Реферат Лекция №1. Введение в язык логического программирования Пролог Выполнил: Проверил: 1 Содержание Содержание .................................................................................................................................................. 2 Парадигмы программирования .................................................................................................................. 3 Декларативное и процедурное программирование .................................................................................. 3 Базовые принципы логического программирования ............................................................................... 4 Процесс унификации и определение отношений на основе правил ...................................................... 4 Машина вывода и механизм бектрекинга ................................................................................................. 6 Список источников ..................................................................................................................................... 6 2 Парадигмы программирования Парадигма программирования – это совокупность принципов, методов и понятий, определяющих способ конструирования программ. Парадигма определяется:    вычислительной моделью базовой программной единицей методами разделения абстракций Разновидности парадигмы: 1. Императивная парадигма    структурное программирование обобщенное программирование аспектно-ориентированное программирование программирование 2. Декларативная парадигма   функциональное программирование логическое программирование 3. Объектно-ориентированная парадигма 4. Табличная парадигма 5. Реляционная парадигма Декларативное и процедурное программирование Под программой понимают последовательность команд, этот стиль программирования принято называть императивным (процедурным). Программируя в императивном стиле, программист должен объяснить компьютеру, как нужно решать задачу. Примерами императивных языков могут служить языки: Assembler и C++. Декларативный стиль можно назвать противоположным императивному. Программа представляет собой совокупность утверждений, 3 описывающих что представляет собой программа и желаемый результат. Программируя в декларативном стиле, программист должен задать спецификацию решения задачи. Примерами декларативных языков могут служить языки: LISP и Prolog. Базовые принципы логического программирования На примере Пролога можно выделить основные принципы логического программирования. Сопоставление с образцом, вывод с поиском и возвратом – механики, присущие этому языку программирования. Для хранения данных в Прологе используются списки, а не массивы. В языке отсутствуют операторы присваивания и безусловного перехода (указатели). Естественным, а то и единственным методом программирования является рекурсия. Пролог, как и все логическое программирование, требует немного иного стиля мышления, отказа от стереотипов императивного программирования. Процесс унификации и определение отношений на основе правил Теорема унификации Для любого унифицируемого конечного множества простых выражений S алгоритм унификации закончит свою работу и выдаст наиболее общий унификатор для S. Правила значительно расширяют возможности базы знаний, так как они универсальны и могут вместо конкретных значений содержать переменные. 4 Рассмотрим процесс унификации на примере, введем в программу правило, которое определяет отношение бабушка, как мама мамы: baba(X,Y):- mama(X,Z), mama(Z,Y). Дальше напишем: DOMAINS s = string PREDICATES mama(s,s) baba(s,s) CLAUSES mama("Наташа","Даша"). mama("Даша","Маша"). mama("Маша","Глаша"). mama("Маша","Паpаша"). baba(X,Y):- mama(X,Z), 43 mama(Z,Y). Запустим программу и зададим машине вывода вопрос baba(“Наташа”,W). Процесс унификации будет проходить следующим образом:  Сверху – вниз будет происходить поиск предиката baba( первые четыре факта не подходят)  Наткнувшись на правило baba, Пролог сопоставляет вопрос baba(“Наташа”,W) с головой правила baba(X,Y), после чего переменная X конкретизируется значением “Наташа”, а W связывается с переменной Y из правила baba(X,Y)  Пролог пытается последовательно достигнуть подцели mama(“Наташа”,Z) и mama(Z,Y)  Просматривая факты Пролог mama("Наташа","Даша"), что натыкается приводит к на факт конкретизации переменной Z значением “Даша”  Подцель считается достигнутой и Пролог переходит к доказательству подцели mama(Z,Y), а вернее – mama(“Даша”,Y)  Поиск снова начинается с первого факта, который в данном случае не может быть сопоставлен с подцелью ввиду несопоставимости 45 первых аргументов. Но уже на втором шаге сопоставление становится возможным конкретизируется значением “Маша”. 5 и переменная Y Машина вывода и механизм бектрекинга Логический вывод в Прологе выполняется машиной вывода, которая работает на идее сопоставления образцов, связывания фактов и логических переменных, сопоставлении вопросов с возможными ответами, основанными на правилах и фактах. Пролог просто доказывает гипотезы, реализуя различные стратегии логического вывода. Зачастую при решении задач требуется вернуться назад на некоторый шаг промежуточного решения, чтобы продолжить решение уже с другой логикой. На Прологе это можно сделать с помощью бэктрекинга. Как правило в месте ветвления подцелей Пролог ставит метку и начинает испытывать первую альтернативу, Если она оказывается неуспешной он продолжает решение с метки, исследуя вторую альтернативу. Точка возврата при отработка альтернатив называется точкой бэктрекинг поинт. Список источников 1. Основы программирования на языке Пролог : курс лекций : учеб. пособие для студентов вузов, обучающихся по специальностям в обл. информ. технологий / П. А. Шрайнер. - М. : Интернет - Ун-т Информ. Технологий, 2005. - 176 с. - (Серия «Основы информационных технологий» / Интернет-Ун-т информ. технологий). 2. Чистая архитектура. Часть II — Парадигмы программирования / Хабр (habr.com) 3. Практика логического программирования на языке Пролог: Учебно пособие / А.Ю. Беляков М-во с.-х. РФ, федеральное гос. бюджетное образов. учреждение высшего образов. «Пермская гос. с.-х. акад. им. акад. Д.Н. Прянишникова». – Пермь : ИПЦ «Прокростъ», 2017. – 129 с. 6
«Введение в язык логического программирования Пролог» 👇
Готовые курсовые работы и рефераты
Купить от 250 ₽
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ
Получи помощь с рефератом от ИИ-шки
ИИ ответит за 2 минуты

Тебе могут подойти лекции

Смотреть все 588 лекций
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot