Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Prolog.docx
Скачиваний:
3
Добавлен:
25.09.2019
Размер:
59.65 Кб
Скачать
  1. Общие сведения о Прологе, области применения, отличия Пролога от других языков программирования.

Искуственный интеллект (ИИ) – это научное направление, связанное с разработкой программ, связанных с различной деятельностью, требющей человеческого интеллекта

К области применения ИИ относятся следующие:

  • Восприятия и распознавание образа;

  • Математика и математическое доказательство теорем;

  • Игры (шахматы);

  • Решение задач;

  • Понимание естественного языка.

Обычные языки программирования не очень удобны для разработки систем ИИ. Для построения данных систем были разработаны специальные языки, т. как Пролог, имеющий встр. Механизмы вывода, и ЛИСП – ориентированный на обработку списков.

Теоритической основа Пролога - символьная логика,(исчислением предикатов).

Области применения:

Управление производственными процессами.

использование баз данных;

перевод с одного языка на другой;

создание интерфейса на естественном языке;

создание экспертных систем;

доказательство теорем и др.

Отличие от традиционных процедурных языков Пролог язык описаний, а не как язык предписаний

Используемый в прологе подход состоит, в описании известных фактов и отношений (правил), касающихся решаемой задачи, а не в предписании последовательности шагов, выполняя которые ЭВМ решает задачу. Решение на прологе следует из составленного описания.

  1. Основные элементы Турбо-Пролога: имена объектов, термы, константы, переменные, структуры, атомы.

Имена объектов должны начинаться с малой буквы, за которой могут следовать произвольные символы (буквы, цифры, знак подчеркивания).

Объекты данных в ТП называются термами.

Терм может быть константой, переменной или структурой. Классификация объектов данных приведена на схеме.

Атом – синтаксически неделимый терм.

Констаныты относятся к одному из 6 стандартных типов данных:

Тип

Ключевое слово

Диапазон значений

Пример

Символы

char

Все символы

‘a’, ‘C’, ‘%’

Целые числа

integer

-32678…32767

-153, 125

Действительные числа

real

-1E-307…1E308

2.48

Строки

string

Последовательность символов

“Sony”, “256”

Символьные имена

symbol

real_data, ‘Delete string’

Файлы

file

Допустимое в ДОС имя файла

a.txt

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

Структуры – объекты, которые состоят из нескольких компонент. Записывается с помощью указания ее функтора и компонента. Компоненты заключаются в ( ) и разделяются ,. Функтор записывается перед открывающей скобкой. В качестве компонент могут быть переменные или структуры.

data_rogd (D, mart, 1980)

Все структурные объекты можно избразить в виде деревьев. Корнем дерева является функтор, а ветвями, выходящими из него – компоненты.

3 Структура программы Турбо-Пролога, разделы программы.

Програма содержит описание задачи, имеющее 3 компоненты:

  1. имена и структуры объектов, используемых в задаче;

  2. имена отношений, которые существуют между объектами;

  3. Факты и правила, описывающие отношения.

Программа состоит из нескольких разделов, каждому из которых предшествует ключевое слово.

domains <описание типов данных>

predicates <описание предикатов>

goal <целевое утверждение>

clauses <утверждения (предложения)>

В программе необязательно наличие всех разделов. Обычно должно быть, 2 и 4. Могут присутствовать еще 2 раздела для определения глобальных доменов и предикатов – global domains, global predicates. Они позволяют обеспечить междумодульный интерфейс, если программа состоит из нескольких модулей. Программа может создать несколько разделов domains, predicates, clauses. При этом надо соблюдать следующие ограничения:

  • раздел должен начинаться с ключевого слова;

  • при компиляции поддерживается только одна цель, может быть только один раздел goal;

  • все предложение раздела clauses, описывающие один и тот же предикат должны записываться друг за другом;

  • при компиляции может обрабатываться только один раздел глобальных предикатов, при этом перед ним не должен использоваться раздел объявления обычных предикатов;

  • разделы, создающие предикаты базы данных должны использоваться перед объявлением всех глобальных и обычных предикатов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]