Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Обзорки Информатика.doc
Скачиваний:
17
Добавлен:
27.10.2018
Размер:
2.87 Mб
Скачать

Видео и анимация.

MPEG - это аббревиатура от Moving Picture Experts Group. Эта экспертная группа работает под совместным руководством двух организаций - ISO (Организация по международным стандартам) и IEC (Международная электротехническая комиссия). Официальное название группы - ISO/IEC JTC1 SC29 WG11. Ее задача - разработка единых норм кодирования аудио- и видеосигналов.

MPEG-1 предназначен для записи синхронизированных видеоизображения (обычно в формате SIF, 288 x 358) и звукового сопровождения на CD-ROM с учетом максимальной скорости считывания около 1.5 Мбит/с. Качественные параметры видеоданных, обработанных MPEG-1, во многом аналогичны обычному VHS-видео, поэтому этот формат применяется в первую очередь там, где неудобно или непрактично использовать стандартные аналоговые видеоносители.

MPEG-2 предназначен для обработки видеоизображения соизмеримого по качеству с телевизионным при пропускной способности системы передачи данных в пределах от 3 до 15 Мбит/с, профессионалы используют и большие потоки. В аппаратуре используются потоки до 50 Мбит/с. На технологии, основанные на MPEG-2, переходят многие телеканалы, сигнал сжатый в соответствии с этим стандартом транслируется через телевизионные спутники, используется для архивации больших объёмов видеоматериала.

MPEG-3 - предназначался для использования в системах телевидения высокой чёткости (high-defenition television, HDTV) со скоростью потока данных 20-40 Мбит/с, но позже стал частью стандарта MPEG-2 и отдельно теперь не упоминается. Кстати, формат MP3, который иногда путают с MPEG-3, предназначен только для сжатия аудиоинформации и полное название MP3 звучит как MPEG Audio Layer III.

MPEG-4 - задает принципы работы с цифровым представлением медиа-данных для трех областей: интерактивного мультимедиа (включая продукты, распространяемые на оптических дисках и через Сеть), графических приложений (синтетического контента) и цифрового телевидения.

Звук. MIDI (Musical Instrument Digital Interface) — представляет собой последовательность команд для инструмента (нажатия клавиш, поворот регулятора), WAV (Waveform Audio) — цифровое неупакованное аудио, полученный путем квантования и оцифровки, MP3 — упакованное цифровое аудио.

Текст. Рекомендуется использовать язык разметки гипертекстовых документов HTML (Hyper Text Markup Language), который представляет собой совокупность команд, называемых тегами (от английского tag). HTML-тег записывается в угловых скобках и состоит из имени, за которым может следовать список атрибутов.

Для создания мультимедийных приложений можно использовать следующие программы: Microsoft PowerPoint, Macromedia Flash и другие.

27.Основные направления исследований в области искусственного интеллекта. Представление знаний в иис.Понятие об экспертной системе.

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

Фундаментальные разделы ИИ:

1. теория представления знаний: найти такие способы описания и представления фактов, общих сведений, закономерностей, правил и предписаний, которые позволят использовать все эти знания с помощью некоторых универсальных и формальных процедур анализа, рассуждения и синтеза, доступных доля простой реализации на ЭВМ;

2. теория обработки информации, выраженной на естественном языке: найти методы и способы понимания устной речи, извлечения смысла из письменных сообщений, переводы с одного языка на другой, синтеза речи и т.п. с тем, чтобы реализовать все эти формы языковой практики на ЭВМ (лингвистические процессоры).

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

Основные направления развития искусственного интеллекта:

  • Представление знаний и разработка систем, основанных на знаниях, разработка моделей представления знаний, создание баз знаний, моделей и методов извлечения и структурирования знаний).

  • Игры и творчество

  • Разработка естественно-языковых интерфейсов и машинный перевод. Естественно-языковый интерфейс - это совокупность программных и аппаратных средств, обеспечивающих общение интеллектуальной системы с пользователем на ограниченном рамками проблемной области естественном языке. В его состав входят словари, отражающие словарный состав и лексику языка, а также лингвистический процессор, осуществляющий анализ текстов (морфологический, синтаксический, семантический и прагматический) и синтез ответов пользователю.

  • Распознавание образов - Это направление, основной задачей которого является создание моделей, методов и средств, связанных с решением задач классификации, таксономии, формирования понятий и т. п.

  • Новые архитектуры компьютеров

  • Интеллектуальные роботы. Здесь главными задачами ИИ являются задачи «машинного зрения» и управления движением. «Машинное зрение» включает в себя способность робота ориентироваться в пространстве, воспринимать обстановку и строить ее план (т.н. анализ сцен), узнавать контуры и форму предметов, обнаруживать и обходить препятствия при движении и т.д. Управление движением позволяет роботу перемещаться, совершать рабочие движения своими подвижными элементами, воспринимать нагрузку и дозировать собственные усилия.

  • Специальное программное обеспечение, направленное на обучение и самообучение

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

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

Параллельно с развитием структуры ЭВМ происходило развитие информационных структур для представления данных. Появились способы описания данных в виде векторов и матриц, возникли списочные структуры, иерархические структуры. В настоящее время в языках программирования высокого уровня используются абстрактные типы данных, структура которых задается программистом. Появление баз данных (БД) знаменовало собой еще один шаг на пути организации работы с декларативной информацией. В базах данных могут одновременно храниться большие объемы информации, а специальные средства, образующие систему управления базами данных (СУБД), позволяют эффективно манипулировать с данными, при необходимости извлекать их из базы данных и записывать их в нужном порядке в базу.

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

Знания - совокупность сведений, образующих целостное описание, соответствующее некоторому уровню осведомленности об описываемом вопросе, предмете, проблеме и т.д. Знания - это выявленные закономерности в предметной области (принципы, связи, законы), позволяющие решать задачи в этой области.

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

Знания могут быть классифицированы по следующим категориям:

  • поверхностные - знания о видимых взаимосвязях между отдельными событиями и фактами в предметной области;

  • глубинные - абстракции, аналогии, схемы, отображающие структуру и процессы в предметной области.

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

  • процедурные: знания, отвечающие на вопрос «Как решать поставленную задачу?»; эти знания хранятся в памяти интеллектуальной системы в виде описаний процедур, с помощью которых их можно получить. В таком виде обычно описывается информация о предметной области, характеризующая способы решения задач в этой области, а также различные инструкции, методики и т.п.

декларативные: знания, не содержащие в явном виде процедуры решения задач; которые записаны в памяти так, что они непосредственно доступны для использования после обращения к соответствующему полю памяти. В таком виде обычно записывается информация о свойствах предметной области фактах, имеющих в ней место и т.п. информация.

Модель знаний - описание знаний в базе знаний. Известны четыре типа моделей знаний:

1. логические, в основе которых лежит формальная логическая модель;

2. сетевые, в основе которых лежат семантические сети;

3. фреймовые, основанные на фреймах;

4. продукционные, основанные на продукциях.

Каждая такая М.З. определяет форму представления знаний.

Формальные логические модели

Система ИИ в определенном смысле моделирует интеллектуальную деятельность человека и, в частности, - логику его рассуждений. В грубо упрощенной форме наши логические построения при этом сводятся к следующей схеме: из одной или нескольких посылок (которые считаются истинными) следует сделать «логически верное» заключение (вывод, следствие).

Логические выражения, построенные в данном языке, могут быть истинными или ложными. Некоторые из этих выражений, являющиеся всегда истинными, объявляются аксиомами (или постулатами). Они составляют ту базовую систему посылок, исходя из которой и пользуясь определенными правилами вывода, можно получить заключения в виде новых выражений, также являющихся истинными.

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

Классическими примерами аксиоматических систем являются исчисление высказываний и исчисление предикатов. Эти ФС хорошо исследованы и имеют прекрасно разработанные модели логического вывода.

ФС имеют и недостатки, которые заставляют искать иные формы представления. Главный недостаток - это «закрытость» ФС, их негибкость.

Логические модели

В основе моделей такого типа лежит формальная система, задаваемая четверкой вида: M = <T, P, A, B>. Множество T есть множество базовых элементов различной природы, например слов из некоторого ограниченного словаря, деталей детского конструктора, входящих в состав некоторого набора и т.п.

Множество P есть множество синтаксических правил. С их помощью из элементов T образуют синтаксически правильные совокупности.

В множестве синтаксически правильных совокупностей выделяется некоторое подмножество A. Элементы A называются аксиомами.

Множество B есть множество правил вывода. Применяя их к элементам A, можно получать новые синтаксически правильные совокупности, к которым снова можно применять правила из B. Так формируется множество выводимых в данной формальной системе совокупностей.

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

Семантические (смысловые) сети

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

В зависимости от типов связей, используемых в модели, различают классифицирующие сети, функциональные сети и сценарии. В классифицирующих сетях используются отношения структуризации. Такие сети позволяют в базах знаний вводить разные иерархические отношения между информационными единицами. Функциональные сети характеризуются наличием функциональных отношений. Их часто называют вычислительными моделями. Под фреймом понимается абстрактный образ или ситуация.

В отличие от моделей других типов во фреймовых моделях (под фреймом понимается абстрактный образ или ситуация) фиксируется жесткая структура информационных единиц, которая называется протофреймом. В общем виде она выглядит следующим образом:

(Имя фрейма:

Имя слота 1(значение слота 1)

Имя слота 2(значение слота 2)

. . . . . . . . . . . . . . . . . . . . . .

Имя слота К (значение слота К)).

Значением слота может быть практически что угодно (числа или математические соотношения, тексты на естественном языке или программы, правила вывода или ссылки на другие слоты данного фрейма или других фреймов). В качестве значения слота может выступать набор слотов более низкого уровня, что позволяет во фреймовых представлениях реализовать «принцип матрешки».

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

Связи между фреймами задаются значениями специального слота с именем «Связь». Часть специалистов по ИС считает, что нет необходимости специально выделять фреймовые модели в представлении знаний, т.к. в них объединены все основные особенности моделей остальных типов.

Продукционная модель

Продукционная модель, или модель, основанная на правилах, позволяет представить знания в виде предложений типа: Если (условие), то (действие).

В моделях этого типа используются некоторые элементы логических и сетевых моделей. Из логических моделей заимствована идея правил вывода, которые здесь называются продукциями, а из сетевых моделей - описание знаний в виде семантической сети. В результате применения правил вывода к фрагментам сетевого описания происходит трансформация семантической сети за счет смены ее фрагментов, наращивания сети и исключения из нее ненужных фрагментов. Таким образом, в продукционных моделях процедурная информация явно выделена и описывается иными средствами, чем декларативная информация. Вместо логического вывода, характерного для логических моделей, в продукционных моделях появляется вывод на знаниях.

Экспертные системы основаны на использовании искусственного интеллекта. Главная идея использования технологии экспертных систем заключается в том, чтобы получить от эксперта его знания и, загрузив их в память компьютера, использовать всякий раз, когда в этом возникает необходимость.

Экспертные системы (ЭС) - это сложные программные комплексы, аккумулирующие знания специалистов в конкретных предметных областях и тиражирующие этот эмпирический опыт для консультаций менее квалифицированных пользователей.

Традиционно знания существуют в двух видах - коллективный опыт и личный опыт. Если большая часть знаний в предметной области представлена в виде коллективного опыта (например, высшая математика), эта предметная область не нуждается в экспертных системах. Если в предметной области большая часть знаний является личным опытом специалистов высокого уровня (экспертов), если эти знания по каким-либо причинам слабо структурированы, такая предметная область, скорее всего, нуждается в экспертной системе.

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

Эвристики не гарантируют получения результата с такой же степенью уверенности, как алгоритмы ППР. Однако они часто дают приемлемые решения для практического использования. Таким образом, экспертные системы используются в качестве советующих систем.

Пользователь - специалист предметной области, для которого предназначена система. Обычно его квалификация недостаточно высока, и поэтому он нуждается в помощи и поддержке своей деятельности со стороны ЭС.

Специалист по знаниям - специалист по искусственному интеллекту, выступающий в роли промежуточного буфера между экспертом и базой знаний. Синонимы: когнитолог, инженер по знаниям, инженер-интерпретатор, аналитик.

Интерфейс пользователя - комплекс программ, реализующих диалог пользователя с ЭС как на стадии ввода информации, так и получения результатов. Специалист использует интерфейс также для ввода команд, содержащих параметры, определяющие процесс обработки информации. Пользователь может использовать четыре метода ввода информации: меню, команды, естественный язык, собственный интерфейс.

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

База знаний (БЗ) - ядро ЭС, совокупность знаний предметной области, записанная на машинный носитель в форме, понятной эксперту и пользователю (обычно на некотором языке, приближенном к естественному). Параллельно такому «человеческому» представлению существует БЗ во внутреннем «машинном» представлении. Для организации базы знаний используют различные модели представления знаний: продукционную, семантическое сети, фреймы, формальные логические модели.

Интерпретатор - часть ЭС, производящая в определенном порядке обработку знаний, находящихся в базе знаний. Как правило, в нем выделяют два блока: решатель и подсистема объяснений. Решатель - программа, моделирующая ход рассуждений эксперта на основании знаний, имеющихся в БЗ (синонимы: дедуктивная машина, блок логического вывода). Подсистема объяснений - программа, позволяющая пользователю получить ответы на вопросы: «Как была получена та или иная рекомендация?» и «Почему система приняла такое решение?» Ответ на вопрос «как» - это трассировка всего процесса получения решения с указанием использованных фрагментов БЗ, т.е. всех шагов цепи умозаключений. Ответ на вопрос «почему» - ссылка на умозаключение, непосредственно предшествовавшее полученному решению, т.е. отход на один шаг назад. Кроме этого, во многих экспертных системах вводят дополнительные блоки: базы данных, блок расчета, блок ввода и корректировки данных.

Модуль создания системы - служит для создания набора (иерархии) правил. Существует два подхода, которые могут быть положены в основу модуля создания системы: использование алгоритмических языков программирования и использование оболочек экспертных систем. Как правило, в модуль создания системы включается интеллектуальный редактор БЗ - программу, предоставляющую инженеру по знаниям возможность создавать БЗ в диалоговом режиме. Включает в себя систему вложенных меню, шаблонов языка представления знаний, подсказок («help» - режим) и других сервисных средств, облегчающих работу с базой.

Класс «экспертные системы» сегодня объединяет несколько тысяч различных программных комплексов, решающих разные типы задач:

Задачи интерпретации данных.

Задача диагностики.

Задача мониторинга.

Задача проектирования.

Задача прогнозирования.

Задача планирования.

Задачи обучения.

Информационные технологии ППР и информационные технологии ЭС широко используются для решения задач в слабоформализованных предметных областях, однако между ними существуют существенные различия:

1) решение проблемы в рамках систем ППР открывает уровень понимания возможностей системы пользователем и его возможности получить и осмыслить решение; технология экспертных систем предлагает пользователю принять решение, превосходящее его возможности;

2) экспертные системы способны пояснить свои рассуждения в процессе получения решения (очень часто эти пояснения более важны для пользователя, чем само решение);

3) новый компонент информационных технологий - знания, использующиеся только в экспертных системах;

4) главная ориентация СППР - принятие решений, а ИТЭС - на тиражирование знаний.

28.Представление о логическом программировании. Представление знаний о предметной области в виде фактов и правил базы знаний. Языки программирования ИИ.

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

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

Основными понятиями в языке Пролог являются факты, правила и вопросы. Из фактов и правил образуются описания данных, про­цедур и программы на языке Пролог. Вопросы - это основное сред­ство ведения диалога с базами знаний и программами, имеющимися в памяти ЭВМ.

Факты в Прологе служат для описания конкретных данных и простейших сведений. Примеры фактов:

мама (зина, вова); - Зина - мама Вовы

папа (миша, вова); - Миша - папа Вовы

Группы фактов могут образовывать данные. Совокупность дан­ных, размещаемых на дисках, образуют базы данных. Общее опреде­ление данных в Прологе:

данные:

<факт>; [<факт>;...]

Правила используются для описания определений, процедур принятия решений и обработки данных. Примеры использования правил для описания определения понятия «родитель»:

родитель (х,у) ¬ папа (х,у); - Родитель — это папа или мама

родитель (х,у) ¬ мама (х,у);

Процедуры образуются из некоторых групп правил. Общая форма описания процедур в Прологе:

процедура:

[<факты>] <правило>; [<правило>; ...]

Пример описания рекурсивной процедуры, в которой определя­емое понятие задается через самое себя:

предок (х,у) ¬ родитель (х,у);

предок (x,z) ¬ родитель (х,у), предок (y,z);

Программа на Прологе — это совокупность процедур над опреде­ленными данными:

программа:

<процедуры>; [<данные>;]

Описания баз данных на Прологе образуют совокупность описа­ний данных:

база данных:

<данные>; [<данные>; ... ]

Базы знаний на Прологе описываются наборами фактов и правил определения обобщенных понятий над ними:

база знаний:

<данные>; <правила>;

Вопросы в языке Пролог служат запросами к базам данных и знаний, а также обращениями к процедурам и программам. Приме­ры вопросов:

? мама (х,вова)

? предок (х,вова)

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

Вопросы в Прологе служат для записи простых или сложносоставных запросов к базам знаний или обращений к процедурам и про­граммам. Ответами на запросы к базам данных и знаний могут быть логические значения ДА (истина) или НЕТ (ложь) либо список кон­кретных данных, отвечающих запросу.

Общая форма записи сложносоставных вопросов:

сложный вопрос:

? <вопрос>[,<вопрос> ...]

В сложносоставных вопросах составляющие его подвопросы раз­деляются запятыми. Любой вопрос в Прологе начинается со знака вопроса «?» и заканчивается знаком «точка с запятой». Пример сложносоставного вопроса:

? папа (х,у), папа (у,вова);

Простые вопросы имеют следующую форму записи:

простой вопрос:

? <имя>(<арг>[,<арг> ...])

Здесь <имя> - это имя некоторого факта или правила в програм­ме или базе знаний. Количество аргументов в таком простейшем вопросе должно строго совпадать с количеством аргументов (пара­метров) в описаниях соответствующих фактов и правил.

В роли аргументов в вопросах могут указываться как конкретные значения, так и переменные. Если в вопросе указаны только кон­кретные значения, то ответом будет логическое значение ДА или НЕТ. Если же в вопросе указываются переменные, то при положительном ответе дополнительным результатом будет вывод конкретных значе­ний переменных, указанных в исходном вопросе.

В роли переменных в Прологе могут указываться латинские и русские буквы, как строчные, так и прописные: а, b, с, ..., х, у, z; A, В, С, ..., X, Y, Z; а, б, в, ... , э, ю, я; А, Б, В, ..., Э, Ю, Я.

Кроме того, в качестве имен переменных могут употребляться лю­бые слова и словосочетания, заканчивающиеся знаком апострофа ['].

Примеры имен: дед ', х1 ', оценка4 ' и т. п.

Кроме того, в вопросах и правилах на Пролог аргументы могут иметь неопределенные значения. Для этого вместо конкретных значений или имен переменных в вопросе указывается знак подчер­кивания [ _ ].

Пример вопроса с использованием неопределенных значений:

? мама (мать', _ );

Ответом на указанный вопрос будет перечень имен всех матерей, сведения о которых имеются в базе знаний.

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

родитель (х,у) ¬ мама (х,у);

родитель (х,у) ¬ папа (х,у);

бабушка (x,z) ¬ мама (х,у), родитель (y,z);

дедушка (x,z) ¬ папа (х,у), родитель (y,z);

Общая форма записи правил на Прологе:

правило:

<заголовок> ( <определение>;

Здесь <заголовок> отделяется от <определения> двумя знаками: ¬ «меньше» и «тире». В конце правила записывается «точка с запя­той».

Заголовки правил имеют следующую форму:

заголовок:

<имя>(<парам>[,<парам> ...])

Здесь <имя> - это любое слово или словосочетание. В роли параметров в заголовках правил могут указываться переменные или конкретные значения либо неопределенные значения с помощью знака подчеркивания [_].

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

определение:

<заголовок>[,<заголовок> ...]

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

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

Результатом выполнения любых процедур и правил в Прологе всегда являются логические значения - ДА либо НЕТ, соответству­ющее успеху или неуспеху их применения. В этом смысле приме­нение правил в Прологе совпадает с проверкой условий в логике. Соответственно форма записи обращений к правилам и процедурам в Прологе совпадает с формой записи предикатов в математической логике.

Однако в отличие от математической логики, где существенны только логические значения этих предикатов, в Прологе резуль­татом применения правил и процедур может быть конкретизация значений переменных, указанных в обращениях к ним.

Пример такого обращения:

? родитель (х,вова)

х = зина

Полученный ответ имеет двойной результат: во-первых, подтверж­дение истинности наличия «родителей» у «вовы», а во-вторых, кон­кретизация переменной «х» в обращении к процедуре «родитель» с именем «вова», которая дает значение «х = зина».

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

В этом смысле результаты выполнения процедур и программ на Прологе могут быть эквивалентны результатам выполнения программ на других языках программирования.