Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемstudy.susu.ru
1 Логическое программирование Лекция 2 Введение в язык Пролог
2 Содержание История и основатели языка Ключевые особенности Диалект SWI-Prolog 2
3 Язык Пролог 3 PROLOG ~ PROgramming in LOgic ( Программирование в терминах логики ) – самый популярный язык логического прогр. Язык основан на теории исчисления предикатов первого порядка и методах доказательства теорем. Основной метод вычислений – резолюция (resolution, процедура доказательства ) Поддерживает декларативный ( описательный ) стиль программирования – программы конструируются в терминах точного определения проблемной ситуации / формулировки задачи, без написания программы в виде последовательности инструкций по выполнению алгоритма (« что истинно », а не « как решить задачу ») Программа на Прологе определяет, является ли заданная цель истинной / достижимой, и если да – то при каких условиях / значениях переменных (« что получить »). Процедурность Пролога выражается в опеределении порядка действий по достижению цели (« как получить »).
4 История Пролога ( основы ) , "A machine oriented logic based on the resolution principle", "Journal of the ACM 12", Дж. Робинсон представил метод автоматического поиска доказательства теорем в исчислении предикатов первого порядка - " принцип резолюции ". работа Роберта Ковальского " Логика предикатов как язык программирования ", 1974: заложила теоретические основы. В 1973 году " группа искусственного интеллекта " во главе с Аланом Кольмероэ создала в Марсельском университете программу, предназначенную для доказательства теорем.; программа использовалась при построении систем обработки текстов на естественном языке ; получила название Prolog ( от Programmation en Logique); прообраз Пролога (1 я эксперим. реализация )
5 История Пролога ( реализации ) 5 Первая программа на Прологе была написана в начале 1970 годов во Франции, в рамках проекта по пониманию естественного языка. Маартен ван Эмден из Эдинбурга ( экспериментальная демонстрационная система ); совместно в 1976 г. предложили два подхода к прочтению текстов логических программ : процедурный и декларативный. В 1977 году в университете Эдинбурга, каф. ИИ, Дэвид Уоррен и Фернандо Парейра создали очень эффективный компилятор языка для ЭВМ DEC–10 (" эдинбургская версия ") - прототип для многих последующих реализаций Пролога ; был сам написан на Прологе. В 1980 году Кларк и Маккейб в Великобритании разработали версию Пролога для персональных ЭВМ. В 1981 году стартовал проект Института по разработке методов создания компьютеров нового ( пятого ) поколения. в 1996 году был опубликован официальный стандарт ISO языка Prolog.
6 Ключевые особенности 6 Усилия программиста должны быть направлены на описание логической модели фрагмента предметной области решаемой задачи в терминах объектов предметной области, их свойств и отношений между собой, а не деталей программной реализации. Пролог - язык для описания данных и логики их обработки. Программа на Прологе не является таковой в классическом понимании, поскольку не содержит явных управляющих конструкций типа условных операторов, операторов цикла и т. д., а представляет собой модель фрагмента предметной области, о котором идет речь в задаче. Решение задачи записывается не в терминах компьютера, а в терминах предметной области решаемой задачи, в духе модного сейчас объектно - ориентированного программирования. Пролог очень хорошо подходит для описания взаимоотношений между объектами. Поэтому Пролог называют реляционным языком.
7 Достоинства Пролога 7 Часто используется для создания систем управления базами данных, где применяются очень сложные запросы, которые довольно легко записать на Прологе. В Прологе очень компактно, по сравнению с императивными языками, описываются многие алгоритмы ; Пролог - программу, как правило, очень легко писать, понимать и отлаживать. Прологу присущ ряд механизмов, которыми не обладают традиционные языки программирования : сопоставление с образцом, вывод с поиском и возвратом. Для хранения данных в Прологе используются списки, а не массивы. В языке отсутствуют операторы присваивания и безусловного перехода, указатели. Естественным и зачастую единственным методом программирования является рекурсия.
8 Основные области применения Пролога 8 быстрая разработка прототипов прикладных, автогенерация кода ; верификация программ и разработка высокоуровневых ЯП ; системы автоматического программирования ; естественно - языковые интерфейсы для существующих систем ; символьные вычисления : решение уравнений, диффернц./ интегрир.; автоматическое доказательство теорем ; проектирование динамических реляционных БД и СУБД ; экспертные системы и оболочки экспертных систем ; автоматический перевод с одного языка на другой ; системы автоматизированного проектирования ; и многие другие области … ( в т. ч. связанные с ИИ )
9 Ключевые особенности 9 Области, для которых Пролог не предназначен : большой объем арифметических вычислений ( обработка аудио, видео и т. д.); написание драйверов. К достоинствам языка относятся : сочетание декларативного и процедурного подхода ; простые и легко понимаемые тексты программ ; высокая степень модульности, обеспечивающая модификацию и отладку программ ; эффективность реализации интерпретатора ( транслятора ) на всех типах ЭВМ.
10 Диалекты Пролога 10 На сегодня существует довольно много реализаций Пролога. Наиболее известные из них следующие: Turbo Prolog, SWI Prolog, Micro Prolog, AMZI-Prolog, Arity Prolog, CProlog, Quintus Prolog, Strawberry Prolog, UNSW Prolog и т. д. … В России были разработаны такие версии Пролога как: Пролог-Д (Сергей Григорьев), Акторный Пролог (Алексей Морозов), Флэнг (Александр Манцивода, Вячеслав Петухин).
11 SWI Prolog 11 мощная среда разработки с набором графических инструментов ХРСЕ, распространяемая на условиях лицензии GNU GPL. развитие началось в 1987 г., и сегодня он широко используется в исследованиях, образовании, а также в коммерческих приложениях. довольно популярная система, в основном благодаря удобной среде и переносимой библиотеке для создания графического интерфейса. почти как все реализации в основном следует знаменитому « эталону » - Edinburgh Prolog, но содержит частично реализованные особенности ISO Prolog.Edinburgh PrologISO Prolog содержит быстрый компилятор, профилировщик, набор библиотек и удобный интерфейс для подключения Си - модулей. реализован для ряда UNIX- платформ таких как HP, IBM Linux, для NeXT, OS/2, Sun и Sparc, а также для традиционного семейства ОС Windows.
12 Выводы 12 Язык Пролог является классическим языком парадигмы логического программирования ; основан на декларативном стиле. Автор Пролога – Алан Кольмероэ из Марсельского университета, разработавший 1 ю версию языка в 1973 году. Пролог используется во многих областях, связанных с искусственным интеллектом. Существует множество разновидностей ( диалектов ) Пролога, одна из самых эффективных – версия SWI Prolog, изучению которой будет уделено время на практике.
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.