Логическое программирование
Лабораторная
  • формат pdf, txt
  • размер 540.87 КБ
  • добавлен 03 ноября 2009 г.
Лабораторная работа - Поиск в пространстве состояний на языке Prolog
Написать и отладить программу решения задачи искусственного интеллекта,
используя технологию поиска в пространстве состояний.

Крестьянину нужно перевезти через реку
волка
козу
капусту
Но лодка такова, что в ней может поместиться только крестьянин,
а с ним или один волк, или одна коза, или одна капуста.
Но если оставить волка с козой, то волк съест козу,
а если оставить козу с капустой, то коза съест капусту.
Как перевез свой груз крестьянин?


Работа выполнена на языке Prolog + Python c pyswip
В лабе использованя своя просетенькая система логического программирования, полностью совместимая со SWI-prolog.
Отчет в формате — PDF
Исходники отчета — LaTeX2e

Про pyswip
При выполнении этой лабораторной работы, я использовал симбиоз Python и Пролог.
Это позволило мне, например, точно измерить время работы различных видов поиска.
Я приобрел опыт в сращении нескольких языков разлчичных парадигм. Кроме того я могу сам, контролировать вывод, и направить его, не в файл, а на текстовое поле окна, разукрасив его предварительно, всеми цветами радуги.

Пролог - язык логического программирования. Эту парадигму весьма легко воспринимать, если не знаком с другими. В японии его преподают в школе.
А чем Россия хуже? Я стал писать свою лабу исключительно на русском языке,
нарушая стандарт, потому, что хотел бы попытаться написать некое подобие современной системы логического программирования для школьников. Использование русского, облегчило бы процесс обучения.

Про поиск
Я познакомился со стратегией использования пространства состояний. Это оказалось очень удобно, мне не нужно, было для каждого поиска формулировать задачу заново или вносить в формулировку изменения. Поиск в глубину, весьма экономичен по памяти, но в своей наивной реализации неустойчив, и расточителен по времени. Его модификации дают значительно лучшие результаты, но сами программы становятся мене читаемы. В поиске в ширину со временем и памятью все наоборот. А читаемость программы еще хуже, более того пришлось использовать встренные предикаты, без которых до сих пор обходился.
Я думаю, что для различных задач подходят различные виды поиска, и выбор должен зависеть от цели.

МАИ.
Факультет прикладной математики.
Кафедра вычислительной математики и программирования.
Смотрите также

Братко И. Алгоритмы искусственного интеллекта на языке Prolog

  • формат pdf
  • размер 21.05 МБ
  • добавлен 11 февраля 2010 г.
3-е издание. : Пер. с англ. — М. : Издательский дом "Вильяме", 2001. 640 с. : ил. В книге известного специалиста по программированию приведены основные сведения о языке Prolog, описан процесс разработки программ на этом языке и показано применение языка Prolog во многих областях искусственного интеллекта, включая решение задач и эвристический поиск, программирование в ограничениях, представление знаний и экспертные системы, планирование, машинно...

Лабораторная работа - Ознакомление с языком программирования Prolog

Лабораторная
  • формат doc, odt, pdf, txt
  • размер 168.32 КБ
  • добавлен 03 ноября 2009 г.
Цель: Первоначальное ознакомление с выбранной системой программирования на языке Пролог, реализация предикатов обработки списков в различных представлениях. Задача: 1. Ознакомится с одной из систем программирования на языке Пролог на персональной или мини-ЭВМ (J#, GNU Prolog, BinProlog, Cprolog, AMZI Prolog, Visual Prolog, TurboProlog, JLog или др. ), освоить операции загрузки простейших пролог-программ и формулирования запросов. 2. Проверить н...

Лабораторная работа - Решение простых логических задач на языке Prolog

Лабораторная
  • формат zip
  • размер 694.84 КБ
  • добавлен 25 октября 2009 г.
МАИ. → Факультет прикладной математики. Кафедра вычислительной математики и программирования. Написать и отладить Пролог-программу (используя любую систему) решения логической задачи в соотвестсвии с вариантом. Один из пяти братьев разбил окно. Андрей сказал: Это или Витя, или Коля . Витя сказал: Это сделал не я и не Юра . Дима сказал: Нет, один из них сказал правду, а другой неправду . Юра сказал: Нет, Дима ты не прав . Их отец, кото...

Лабораторная работа №1

Лабораторная
  • формат doc
  • размер 4.69 КБ
  • добавлен 19 ноября 2008 г.
Отчет по лабораторной работе на тему: "Основы работы в системе Visual prolog 5.2. ". Содержит листинг программы.rn

Лабораторная работа №6

Лабораторная
  • формат doc
  • размер 60 КБ
  • добавлен 01 декабря 2008 г.
«Разработка экспертных систем (с демонстрацией поиска с возвратом, использованием БД и предиката not). Кратко теория и лабораторная работа на Visual Prolog 5/2

Лабораторная работа №7

Лабораторная
  • формат doc
  • размер 48.5 КБ
  • добавлен 01 декабря 2008 г.
«Файловая система Visual Prolog и обработка строк». Кратко теория и лабораторная работа

Реферат - История создания и развития языка Prolog

Реферат
  • формат docx
  • размер 679.52 КБ
  • добавлен 08 ноября 2010 г.
История создания и развития языка Prolog. Сферы использования. Среда разработки "SWI-Prolog". Среда разработки "Тurbo Prolog". Среда разработки " Visual Prolog ". Количество страниц 35.rn

Солдатова О.П., Лёзина И.В. Логическое программирование на языке Visual Prolog

  • формат pdf
  • размер 1.04 МБ
  • добавлен 24 октября 2010 г.
Учебное пособие: Самара, 2010. - 81 с. Предназначено для студентов направления «Информационные технологии» и специальности «Автоматизированные системы обработки информации и управления», и может быть использовано при изучении дисциплин «Логическое программирование», «Интеллектуальные системы», «Системы искусственного интеллекта» и «Основы экспертных систем». Содержание Предисловие 1 Логическое программирование и аксиоматические системы 1....

Сошников Д.В. Парадигма логического программирования

  • формат djvu
  • размер 12.5 МБ
  • добавлен 01 ноября 2009 г.
МАИ. Факультет прикладной математики. Кафедра вычислительной математики и программирования. Объем: 111стр. Содержание: Парадигмы. Системы логического программирования. Логика и исчисление предикатов. Логическое программирование как алгоритмическая модель. Типизированное логическое программирование. Языки программирование Prolog и Mercury. Рекурсивные структуры данных. Отрицание по неуспеху. Методы решения логических задач. Поиск в пространстве с...

Хачатрян В.Е., Лыхин Е.В., Шатров Д.В. Логическое программирование

Практикум
  • формат doc
  • размер 160.5 КБ
  • добавлен 17 октября 2010 г.
Методические указание к выполнению лабораторных работ для студентов специальности 220400 – Программное обеспечение вычислительной техники и автоматизированных систем Оглавление Введение Лабораторная работа № 1. Ознакомление с оболочкой AMZI! Prolog. Изучение основ программирования на языке Пролог. Отношения между данными Лабораторная работа № 2. Использование рекурсивных правил и структурированных данных Лабораторная работа № 3. Работа со спи...