7.2. Языки и технологии логического программирования prolog, lisp
7.2.1. Prolog — один из старейших и все еще один из наиболее популярных языков логического программирования, хотя он значительно менее популярен, чем основные императивные языки. Он используется в системах обработки естественных языков, исследованиях искусственного интеллекта, экспертных системах, онтологиях и других предметных областях, для которых естественно использование логической парадигмы [104].
Главной парадигмой, реализованной в языке Prolog, является логическое программирование. Как и для большинства старых языков, более поздние реализации, например, Visual Prolog, добавляют в язык более поздние парадигмы, например, объектно-ориентированное или управляемое событиями программирование, иногда даже с элементами императивного стиля.
Prolog использует один тип данных, терм, который бывает нескольких типов [104]:
атом— имя, без особого смысла, используемое для построения составных термов;
числа и строки такие же, как и в других языках;
переменная обозначается именем, начинающимся с прописной буквы, и используется как символ-заполнитель для любого другого терма;
составной терм состоит из атома-функтора, за которым следует несколько аргументов, каждый из которых в свою очередь является атомом.
Целью выполнения программы на Prolog является оценивание одного целевого предиката. Имея этот предикат и набор правил и фактов, заданные в программе, Prolog пытается найти привязки (значения) переменных, при которых целевой предикат принимает значение истинности [104].
Prolog-программа является собранием правил и фактов. Решение задачи достигается интерпретацией этих правил и фактов. При этом пользователю не требуется обеспечивать детальную последовательность инструкций, чтобы указать, каким образом осуществляется управление ходом вычислений на пути к результату. Вместо этого он только определяет возможные решения задачи и обеспечивает программу фактами и правилами, которые позволяют ей отыскать требуемое решение [105].
Prolog относится к так называемым декларативным языкам, требующим от автора умения составить формальное описание ситуации. Поэтому программа на Prolog не содержит управляющих конструкций типа if … then, while … do; нет также оператора присваивания [105].
В Prolog задействованы другие механизмы. Задача описывается в терминах фактов и правил, а поиск решения Prolog берет на себя посредством встроенного механизма логического вывода.
Перечень возможных синтаксических конструкций Prolog невелик и в этом смысле язык прост для изучения.
Prolog реализован, практически, для всех известных операционных систем и платформ. В число операционных систем входят OS для мэйнфреймов, всё семейство Unix, Windows, OS для мобильных платформ [106].
7.2.2. Lisp -[93]
Контрольные вопросы и задания для самостоятельной работы по главе 7
7.1.Эффективность информированных стратегий поиска?
7.2. Жадный поиск по первому наилучшему совпадению?
7.3. Поиск : минимизация суммарной оценки стоимости решения, где- стоимость достижения данного узла, и- стоимость прохождения от данного узла до цели?
7.4. Поиск с использованием алгоритма жадного поиска является оптимальным, если функцияпреемственна?
7.5. Эвристический поиск с ограничением объема памяти (для поискаприменяется идея итеративного углубления эвристического поиска, за счет условия останова развертывания стоимости, а не глубины)?
7.6. Зависимость производительности поиска от точности эвристической функции?
7.7. Составление допустимых эвристических функций?
7.8. Нечеткие события?
7.9. Мера необходимости?
7.10. Нечеткие элементы, нечеткие множества?
7.11. Принцип относительности возможности?
7.12. Оптимальное оценивание и принятие решений?
7.13. Оценивание параметра нечеткого множества?
7.14. Решения в известной и неизвестной ситуациях?
7.15. Байесовская стратегия решения?
7.16. Логические аспекты здравого смысла?
7.17. Использование обычных средств программирования?
7.18. Использование дополнительных пакетов?
7.19. Языки искусственного интеллекта: Lisp?
7.20. Языки искусственного интеллекта: Prolog?
- Предисловие
- Список использованных сокращений
- Часть 1.
- Глава 1. Математические основы формализации и методов описания
- Часть 2.
- Глава 2. Методы представления знаний с использованием
- Часть 3.
- Глава 3. Интеллектуальные технологии создания информационных систем. Способы получения информации и ее реализации для оценивания состояния агрегатов
- Часть 4.
- Глава 4. Источники информации и причины возникновения ее неопределенности
- 4.1. Переработка и использование информации в реальных условиях функционирования агрегатов
- Часть 5.
- Список использованных сокращений и обозначений
- Введение:
- Часть 1.
- Глава 1. Математические основы формализации и методов описания
- Формализация объекта и парадигмы
- 1.3. Множества и перечень базовых операций над множествами
- Перечень базовых операций над множествами
- Области определения функций
- Обратная функция
- Теорема
- Мера и нечеткая мера
- Задача построения нечетких мер
- Нечеткие множества: определение и формы записи в операциях и
- 1.7.Функции доверия и правило Демпстера а.Р.,[23]
- 1.8. Нормировка функций в теории нечётких множеств
- 1.9. Нечёткие отношения: прямая и обратная задачи
- Глава 2. Методы представления знаний с использованием приближенных и нечетких множеств
- 2.1.Нечеткие вычислительные технологии
- 2.2.Семантика объекта: определение и типизация
- 2.3.Создание Базы знаний: постановка, семантика, прагматика
- 2.4. Сопоставление объектов: постановка, семантика, прагматика
- 2.5.Распознавание объектов: постановка, семантика, прагматика
- 2.6. Управление процессом представления знаний
- Нечёткие множества: субъективность и неточность
- 2.8.Нечеткая алгебра
- 2.9.Нечеткие иерархические отношения
- 2.10.Естественность операций max и min
- 2.11.Нечеткая статистика
- 2.12. Совместимость и нечеткое ожидание
- Глава 3. Нечеткие технологии создания информационных систем. Способы получения информации и ее реализации для оценивания состояния агрегатов
- 3.2. Обработка нечетких данных как неопределенных чисел
- Методология представления агрегата в виде комплексного механизма
- 3.2.2. Описание исходной информации на языке размытых множеств
- Размытость интервалов, ограничений, критериев и целей управления в эксплуатации и диагностике
- 3.3.3. Размытые ограничения, цели и оптимизация работы агрегата в условиях нечеткой информации о состоянии
- Анализ информации для диагностики и оценивания состояния механизмов
- 3.5. Оценки погрешностей измерений и наблюдений за состоянием агрегатов
- Влияние погрешностей исходных данных на погрешности диагноза
- Глава 4. Источники информации и причины возникновения ее неопределенности
- 4. 2. Управление и идентификация на объекте в условиях неопределенности информации на основе знаний, получаемых при функциональной диагностике
- Тогда множество диагностических признаков g также будет нечетким
- 4.3.Представление и использование чётких и «размытых» знаний в математических моделях оценивания состояния агрегатов, на основе функциональной диагностики
- 4.3.1.Формализация решения задачи оценивания состояния
- 4.3.2. Особенности решения задач контроля и функционирования агрегата
- Глава 5. Введение в генетическое программирование
- 5.1. Введение в генетические и эволюционные алгоритмы
- 5.2. Сравнительный анализ эволюционных алгоритмов
- 5.3. Генетическое программирование
- 5.4. Перспективные направления развития гп
- Глава 6. Введение в нейронные сети
- 6.1. Алгоритмы их обучение и эластичные нейро-нечеткие системы
- 6.2. Имитация нервных клеток
- 6.3. Математическая модель нейрона
- 6.4. Обучение нейронных сетей
- 6.5. Метод обратного распространения ошибки
- 6.6. Алгоритм настройки нейронной сети
- Глава 7. Другие методы нечетких технологий для построения
- 7.1. Введение в теорию возможностей и смысла
- 7.1.1. Неопределенность и неточность
- 7.1.2. Традиционные модели неточности и неопределенности
- 7.1.3. Меры неопределенности
- 7.1.4. Меры возможности и необходимости
- 7.1.5. Возможность и вероятность
- 7.2. Языки и технологии логического программирования prolog, lisp
- Глава 8. Послесловие
- 8.1. Эволюция искусственного интеллекта для развития интеллектуальных
- 8.2.Экспертные системы нового уровня
- 8.3. Роботика
- 8.4. Преобразование речи искусственного языка
- 8.5. Интеллект муравьёв и его использование
- 8.6. Искусственная жизнь, мозг, познание, разум, память и мышление
- 8.7. Боты
- Optimizator подсистемы диагностики состояния энергоустановок, skais, для решения задач технического обслуживания
- Заключение
- Заключение
- Литература