Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Слайды искусственного интеллекта / Л22. Языки инт.программирования.ppt
Скачиваний:
124
Добавлен:
19.05.2015
Размер:
100.35 Кб
Скачать

Создание мощного и гибкого инструментария интеллектуального программирования в настоящее время ведется в следующих направлениях:

1.Разработка систем представления знаний путем прямого использования широко распространенных языков обработки символьной информации и языков программирования общего назначения.

2.Расширение базисных языков ИИ для систем представления знаний за счет специализированных языков и пакетов.

3.Создание языков представления знаний, специально ориентированных на поддержку определенных формализмов, и реализация соответсвующих трансляторов с этих языков.

ПАРАДИГМЫ ПРОГРАММИРОВАНИЯ В ИИ

СИСТЕМЫ АВТОМАТИЗИРОВАННОЙ РАЗРАБОТКИ ПО

Новой ветвью в технологии промышленной разработки и реализации сложных и значительных по объему систем программного обеспечения является CASE-технология (Computer Aided Software Engeneering).

Все средства поддержки CASE-технологии делятся на две большие группы:

CASE-ToolKits CASE-WorkBenches

По определению CASE-ToolKits - коллекция интегрированных программных средств, обеспечивающих автоматическое ассистирование в решении задач одного типа в процессе создания программ.

CASE-WorkBenchs системы в контексте автоматизации программирования - это интегрированные инструментальные системы, поддерживающие весь цикл создания и сопровождения программ.

ЛИСП разработан в Стенфорде под руководством Дж. Маккарти в начале 60-х годов. К концу 80-х годов ЛИСП был реализован на всех классах ЭВМ, начиная с ПК и кончая высокопроизводительными вычислительными системами. Принципы, положенные в основу языка ЛИСП: использование единого спискового представления для программ и данных; применение выражений для определения функций; скобочный синтаксис языка. Более поздние разновидности ЛИСПа: MacLisp, Interlisp.

OPS5, CLIPS – языки представления знаний, поддерживающих продукционный подход. Объекты описываются с помощью фреймов-экземпляров, прототипы которых задаются в виде определенных структур данных, опирающихся на небольшое число встроенных типов. Модуль вывода решений состоит из трех основных блоков: отождествления (поиск подходящих правил), выбора исполняемого правила из конфликтного множества правил и исполнителя выбранного правила.

ПРОЛОГ (начало 70-х годов, Марсельский университет) предлагает такую парадигму мышления, в рамках которой описание решаемой задачи представляется в виде слабо структурированной совокупности отношений.

Механизмы вывода, встроенные в ПРОЛОГ, обеспечивают поиск решения на основе перебора возможных альтернатив.

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

ПРОЛОГ

В логических программах существует только один тип данных - термы. Каждый терм обозначает некоторую сущность, принадлежащую миру. С другой стороны, любой объект решаемой задачи в программе представляется термом того или иного вида. Программа состоит из множества утверждений, которые можно рассматривать как сеть отношений, существующих между термами.

Терм - есть либо переменная, либо константа, либо структура (составной терм).

Константы. Существуют два вида констант: нечисловые константы, называемые атомами и числа. Кроме того к константам относят и символьные строки.

ПРОЛОГ

формализмы

Тип данных - терм Пример представления даты в виде терма:

дата(‘четверг’,24,‘ноябрь’, 2006).

функтор компоненты

Функтор - имя отношения, компоненты - объекты отношения. Размерность структуры равна числу компонентов, входящих в

нее.

Компоненты структуры заключаются в скобки и разделяются запятой.

Виды компонент:

атомные константы

числовые константы

переменные

1) Атом может содержать любой алфавитно-цифровой знак и должен заключаться в апострофы.

Примеры атомов: 'моя мать' 'Иван, да, Марья' '_ первый' 'Георгий‘ .

2) Числовые константы или просто числа. Примеры: 205, -10, 3.75.

ПРИМЕР ПРОГРАММЫ НА ЯЗЫКЕ ПРОЛОГ

“Истинно то, что военный А имеет то же самое звание, что и военный В, если истинно то, что военный А имеет звание R, и то, что военный В имеет звание R.”

В приведенном примере:

одинаковое_ звание (А, В):- -заголовок правила, военный (А,R), военный (В, R). -тело правила,

военный (А,R), -первая подцель, военный (В,R). -вторая подцель.

Иначе: ?-одинаковое_ звание (фамилия (’Абрамов’)), фамилия(‘Федоров’))

Ответ: да.

Пролог

ВОПРОСЫ Факт имеет форму структуры, в конце записи которой

ставится точка.

Вопрос, часто называемый целью, имеет форму структуры, перед которой ставится символы ?- ,

а после структуры ставится точка.

Пример вопроса:

?- военный ('Тихонов ', 'сержант ').

ответом на наш вопрос является "да". ?-военный(S, 'полковник' ).

Пролог даст ответы: S=Климов, S=Максимов