Файл: Содержание 1 Цель 3 2 Введение 3 3 Преимущества логического программирования 4.docx

ВУЗ: Не указан

Категория: Реферат

Дисциплина: Не указана

Добавлен: 10.11.2023

Просмотров: 77

Скачиваний: 4

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Содержание 1 Цель 32 Введение 33 Преимущества логического программирования 44 Язык логического программирования Prolog 44.1 О языке Prolog 44.2 Сравнение с традиционными языками программирования. 64.3 Программирование на чистом Прологе. 84.4 Порядок правил. 84.5 Проблема завершения программ. 94.6 Порядок целей. 94.7 Избыточные решения. 104.8 Эффективность программ на Прологе. 114.9 Разработка программ. 135 Другие языки логического программирования. 165.1 Язык логического программирования KL0. 175.2 Типы данных KL0. 175.3. Язык программирования ShapeUp. 186 Заключение 207 Список литературы 21 Цель Целью данной работы является изучение с парадигмы логического программирования Введение Логическое программирование — парадигма программирования, а также раздел дискретной математики, изучающий методы и возможности этой парадигмы, основанной на выводе новых фактов из данных фактов согласно заданным логическим правилам.Логическое программирование возникло как упрощение функционального программирования для математиков и лингвистов, решающих задачи символьной обработки. Вместо описания алгоритма решения задачи описывается мир задачи, какие имеются объекты, их свойства и отношения между ними. За основу описания берутся отношения между объектами. Логическая программа представляет собой набор отношений, которые называются фактами, и правил, на основании которых могут быть получены новые отношения. Она не задает никакого процесса вычислений. Это своего рода база данных (БД) о предметной области задачи. Ее применение инициализируется запросом. Поиск ответа на запрос заключается в попытке логического вывода запроса на основании фактов и правил, имеющихся в БД. Поиск решения выполняется специальной программой - интерпретатором.Первым языком логического программирования был язык Planner, в котором была заложена возможность автоматического вывода результата из данных и заданных правил перебора вариантов (совокупность которых называлась планом). Planner использовался для того, чтобы понизить требования к вычислительным ресурсам (с помощью метода backtracking) и обеспечить возможность вывода фактов, без активного использования стека. Затем был разработан язык Prolog, который не требовал плана перебора вариантов и был, в этом смысле, упрощением языка Planner.В настоящее время самый популярный язык логического программирования – Prolog, с множеством диалектов, являющийся по своей сути универсальной машиной вывода, работающей в предположении замкнутости мира фактов. Другие менее популярные языки: Datalog, Mercury, Oz. Преимущества логического программирования Задача программиста – описание логической модели предметной области в терминах объектов, их свойств и отношений между ними (без деталей): описание данных и логики их обработки

5.1 Язык логического программирования KL0.

5.2 Типы данных KL0.

5.3. Язык программирования ShapeUp.



Строки представляются одномерными массивами небольших положительных целых. Размер элементов массива зависит от диапазона значений элементов строки и может изменяться от одной строки к другой. Для представления битовых массивов, используемых для хранения образов графических изображений в памяти, введены строки с однобитовыми элементами. Для представления символов в коде ASCII используются строки с размером элемента 8 бит.

5.3. Язык программирования ShapeUp.


ShapeUp - ещё один язык логического программирования, в основу которого положен Пролог, расширенный средствами сопоставления строк.

В ShapeUp образцы строк рассматриваются так же, как и термы Пролога, и их сопоставление возложено на процесс унификацию. Таким образом, программы на ShapeUp значительно проще, чем аналогичные программы на Прологе, их легче писать и понимать. Сокращается значительно и размер программ.

Прологу присущи недетерминированность и сопоставление с образцом. Эти свойства очень полезны для разработки систем обработки информационных знаний. К таким системам можно отнести системы понимания естественного языка и другие системы интеллектуальной обработки текстов. Для подобных приложений очень важна операция сопоставления строк. Однако механизм сопоставления с образцом в таком виде, как он существует в Прологе, недостаточен для сопоставления строк. Причина заключена в “терм-терм” механизме сопоставления. ShapeUp – попытка разработать более практический, свободный от присущего Прологу недостатка инструмент программирования. Характерной чертой ShapeUp, отличающей его от традиционных Пролог-систем, является выполняемая при унификации функция сопоставления строк. В ShapeUp включено несколько операторов сопоставления строк. Язык позволяет конструировать образцы строк, представляемые как термы Пролога. Образцы могут унифицироваться с различными строковыми объектами: расширена унификация для выполнения сопоставления строк. В результате ShapeUp-программы проще и имеют более прозрачную семантику, их легче писать.

Список языков логического программирования можно продолжать ещё долго. Кроме перечисленных выше, к языкам логического программирования относятся также: Дейталог, LogLisp и множество других. Но хотелось бы ещё остановиться на таком языке, как Лисп (от англ. Lisp – list processing – обработка списков).
  1. Заключение


Логическое программирование хорошо подходит для решения проблем, для работы с формальными и естественными языками
, для баз данных, запросных и экспертных систем и для других дискретных невычислительных задач. Пользователя привлекает ясность, содержательность программ и их нетехнический характер. В программе не нужно описывать, каким образом решается задача. Достаточно описания самой задачи и того, что желательно узнать.

Однако логическое программирование с использованием лишь хорновских предложений было бы слишком узконаправленным. Поэтому, кроме этого, используются другие методы программирования. Некоторые задачи по своему характеру процедурные, и программировать их чисто декларативными языками непрактично. Нужны более развитые типы данных. Пролог и логическое программирование непрерывно расширяются, охватывая все новые методы программирования и формы изображения именно в направлении процедурного и объектно-ориентированного программирования, а также в направлении параллельных вычислений.


  1. Список литературы


  1. И. Братко «Программирование на языке Пролог для искусственного интеллекта». М: Мир 1990г.

  2. «Язык Пролог в пятом поколении ЭВМ». Сборник статей под редакцией Ильинского. М: Мир 1988г.

  3. Клоксин, Меллиш «Программирование на языке Пролог». М: Мир 1987г.

  4. Дж. Стобо «Язык программирования Пролог». М: Радио и связь 1993г.

  5. Э. Хювёнен, Й. Сеппянен «Мир Лиспа» в 2-х томах. М: Мир 1990г.

  6. Хоггер «Введение в логическое программирование». М: Мир 1988г.

  7. Л. Стерлинг, Э. Шапиро «Искусство программирования на языке Пролог». М: Мир 1990г.