Реферат

Реферат Понятие интеллектуальной информационной системы

Работа добавлена на сайт bukvasha.net: 2015-10-28

Поможем написать учебную работу

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

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 23.11.2024





####04/09/10###
«Понятие интеллектуальной информационной системы»
         Около полувека назад зародился как наука искусственный интеллект на основе которого создавались первые интеллектуальные информационные системы. В России первой такой системой называлась «логик-теоретик» предназначенная для доказательства теорем и исчисления высказываний. В первые её работа была продемонстрирована 9.08.1956 г. В настоящее время ИИС проникли во все сферы нашей жизни, основной целью построения которых является выявление, исследование и применение знаний высоко классифицированных экспертов для решения сложных задач возникающих на практике. В таких системах знания представляются в виде конкретных правил, решения тех или иных задач, т. е. Имитируется человеческое искусство анализа, неструктурированных или слабо структурированных проблем. Основным элементом ИИС является база знаний, для генерации алгоритмов решения прикладных задач в зависимости от конкретных потребностей пользователя. Признаки ИИС:

1)                Развитые коммуникативные способности то есть взаимодействует с конечным пользователем в виде диалога.

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

3)                Способность к самообучению то есть умение системы накапливать опыт, а затем применять его для решения задач.

4)                Адаптивность то есть способность системы к развитию в соответствии с изменениями в области знаний.

Классификация ИИС:

1.                 Системы с интеллектуальным интерфейсом, содержит 5 видов ИИС:

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

1.2 Естественно языковой интерфейс применяется к ИБД, а также пока документальной информации, голосового ввода команд в системах управления и машинного перевода с иностранных языков.

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

1.4 Системы контекстной помощи, относятся к классу систем распространения знаний, в них пользователь описывает проблему, а система на основе дополнительного диалога, конкретизирует её и выполняет поиск необходимых рекомендаций, такие системы называются системой поддержки принятия решений(СППР).

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

2.                 Экспертные системы делятся на:

2.1 Классифицирующие ЭС, решают задачи распознавания ситуации по конкретным признакам, метод — дедуктивный логический вывод.

2.2 До определяющие ЭС, используются для решения задач с не полностью определенными данными и знаниями, методы — это Байесовский вероятностный метод. Коэффициент неуверенности и нечеткая логика.

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

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

а) Распределенное решение проблем разделенных на параллельно решаемые самостоятельными источниками знания.

б) Реализация альтернативных рассуждений на основе использования различных источников знания и механизма устранения противоречий.

в) Применение различных стратегий вывода в зависимости от типа решаемой проблемы

г) Обработка больших массивов информации из баз данных.

д) Использование математических моделей и внешних процедур для имитации развития ситуации.

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

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

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

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

1) Получение информации о текущей проблеме

2) Сопоставление полученной информации со значениями признаков прецедентов из базы данных.

3) Выбор ситуации из базы данных наиболее близкой к рассматриваемой проблеме.

4) Адаптация выбранного прецедента к текущей проблеме.

5) Проверка корректности каждого полученного решения.

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

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

4.                 Адаптивные ИС, требования:

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

2) Быть пригодными для легкой и быстрой реконструкции при изменении проблемной среды, выделяют:

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

4.2 Компонентные технологии, осуществляет адаптацию типовых разработок к особенностям проблемной области.
Тема: «Понятие данных и знаний, понятие экспертной системы и этапы её разработки»

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

1) Наблюдение и измерение

2) Данные на машинных носителях

3) Модели данных в виде графиков и диаграмм.

4) На языке описания данных.

5) Базы данных на машинных носителях.

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

1)                Исходные знания

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

3)                Знания в виде структуры данных для хранения и обработки в ПК.

4)                Базы знаний на машинных носителях.

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

1)                Общедоступные это факты, теории, определения теорий из учебников, справочников и т. д

2)                Индивидуальные это собственный опыт накопленный в результате многолетней работы, кроме того в работе знания делятся на:

1) Факты, фактические знания. Это знания типа А это А. Характерны для баз данных и сетевых моделей.

2) Правила это знания для принятия решений. «Если А то Б»

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

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

1)                Представление знаний должно быть однородным, то есть единообразным.

2)                Представление знаний должно быть понятно не только эксперту но и конечному пользователю.

         Выделяют 4 типичные МПЗ:

1)                Логическая

2)                Продукционная

3)                Фреймовая

4)                Модель семантической сети

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

1) База знаний

2) Механизм логических выводов

3) База данных для представления фактических знаний

4)* Модуль приобретения знаний

5)* Пользовательский интерфейс

6)* Модуль предложения разумного совета с комментариями(модуль советов и объяснений)

         Классификация ЭС:

1)                По степени сложности(поверхностные и глубинные)

2)                По степени связанности правил(связные и мало связные)

3)                По типу модели предметной области(статический и динамические)

4)                По стадиям разработки:

а) Демонстрационный прототип(10-100 правил)

б) Исследовательский прототип(200-500 правил)

в) Действующий прототип(500-1000 правил)

г) Промышленный образец(1000-1500 правил)

д) Коммерческий образец(1500-3000 правил)

5)                По типу решаемых задач:

а) Интерпретирующие, т. е. Построение описаний ситуаций по наблюдаемым данным.

б) Прогнозирующие, вывод вероятных следствий из заданных ситуаций.

в) Диагностирующие, т. е. Заключение о нарушениях в системе исходя из наблюдений

г) Проектирующие то есть построение конфигурации объектов при ограничениях

д) Планирующие, проектирование плана действий

е) Мониторинговые, сравнение наблюдений с критическими точками плана

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

з) Ремонтирующие, выполнение плана применения выработанной рекомендацией

и) Обучающая, диагностика, отлаживание и исправление поведения ученика

к) Управляющая, интерпретация+прогноз+ремонт+мониторинг систем.

3.                 Этапы разработки экспертной системы

Процесс разработки ЭС носит эволюционный характер и содержит следующие этапы:

1)                Идентификация это определение характеристик задачи, на этом этапе инженер по знаниям и эксперт определяют цели и задачи построения ЭС, её предметную область, ресурсы(время, вычислительные средства, ПО, литература), а также указывают участников процесса создания системы.

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

3)                Формализация это разработка структур для организации знания, здесь инженер по знаниям производит выбор инструментального средства и при помощи эксперта представляет основные понятия и отношения в рамках некоторого формализма.

4)                Реализация, формулировка правил воплощающих знания, в ходе этапа эксперт осуществляет наполнение БЗ, а инженер по знаниям комбинирует и реорганизует формализованные данные.

5)                Испытания, это оценка правил в которых воплащено знание, здесь проводиться оценка работы программы прототипа. Эксперт дает оценку работы программы и помогает инженеру по знаниям в последующих её изменениях

6)                Опытная эксплуатация, проверяется пригодность ЭС для конечных пользователей.
###10/09/10###
---!
Пример: Все слоны имеют серую окраску.
Х — слоны

Слон(х)

цвет(х, серый)

()(слон)
         Логический вывод в таких моделях осуществляется с помощью закона силлогизма(если из А следует Б, а из Б следует С, то из А следует С). Достоинства данной модели:

1)                Единственность теоретического обоснования

2)                Возможность реализации системы формально точных определений и выводов.

Недостаток:

1)                Сложно представить знание эксперта при решении сложных задач

2.                 Продукционная модель представления знаний.

         В продукционной модели(модели правил) знания представляются в виде совокупности правил «если, то». Существует 2 типа продукционных систем:

1)                С прямыми выводами, используются для решения задач диагностического характера. Эти системы включают три компонента:

1) База данных, содержащая много фактов

2) База правил состоящих из набора продукции

3) Интерпретатор для получения логического вывода на основании этих знаний.

1+2 = образует базу знаний, а интерпретатор это механизм логического вывода. Вывод выполняется в виде цикла «понимаю — выполняю», причем в каждом цикле выполняемая часть выбранного правила обновляет базу данных, в результате содержимое базы данных преобразуется от первоначального к целевому, то есть целевая система синтезируется в базе данных.

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

1)                ЕСЛИ намерение — отдых и дорога ухабиста ТО использовать джип

2)                ЕСЛИ место отдыха горы ТО дорога ухабиста

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

         С обратными выводами, в котором механизм логического вывода основан на ином принципе: цель - использовать джип, для достижении цели проверяем правило 1. По скольку НО и ИД есть в базе данных, то для достижении цели необходимо доказать что дорога ухабиста. Принимаем ДУ за новую цель и переходим к правилу 2. Условная часть правила истина, правило выполнимо, цель ДУ доказана, а значит подтверждается цель использовать джип.

Достоинства:

1)                Простота создания и понимание отдельных правил

2)                Простота пополнения и изменения

3)                Простота механизма логического вывода

Недостатки:

1)                Неясность взаимных отношений правил


2)                Сложность оценки целостного образа знаний

3)                Крайне низкая эффективность обработки

4)                Отличие от человеческой структуры знаний

5)                Отсутствие гибкости в логическом выводе

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

имя фрейма:

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

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

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

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

записать фрейм служащего Иванова Ивана Ивановича 1974 г. рождения, работающего 3 года программистом.

(Служащий:

         Фамилия(Иванов);

         Имя (Иван);

         Отчество (Иванович);

         год рождения (1974);

         специальность (программист);

         стаж (3 года))

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

         фрейм аудитории:

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

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

Петров на протяжении периода времени с t1 по t2 владел автомобилем марки святогор.
# смотреть телефон

         Для показа иерархической сети все объекты разделим на подмножество и элементы, дуги которых подпишем соответственно S и E

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

1)                По приобретение — это способ автоматизированного построения базы знаний посредством диалога эксперта и специальной программы, при этом структура знаний заранее закладывается в программе, эта стратегия требует существенной предварительной проработки предметной области.

2)                Извлечение знаний касается непосредственно живого контакта инженера по знаниям и источника знания.

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

     проблемы

### смотреть телефон

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

1)                Психологический

2)                Лингвистический

3)                Гносеологический

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

1)                Участники общения

2)                Средство общения

3)                Предмет общения

В соответствии с этой структурой выделяют 3 «слоя» психологических проблем  возникающих при извлечении знаний:

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

2)                Процедурный. Проблемы данного слоя касаются проведения самой процедуры извлечения знаний. Беседу с экспертом лучше всего проводить в небольшом помещении тет-а-тет. Длительность одного сеанса не должна превышать 1-2 часа. Проводить лучше в первой половине дня с 10 до 12, причем взаимная утомляемость партнеров при беседе наступает через 20-25 минут, поэтому в сеансе нужны паузы. При этом результаты необходимо протоколировать. Для этого существуют 3 способа: 1) Запись на бумаге непосредственно по ходу беседы(недостатки: мешает беседе, трудно успеть записать все) 2) Магнитофонная запись(недостаток: может сковать эксперта) 3) Запоминание с последующей записью(недостаток: должна быть блестящая память).

3)                Когнитивный слой. Когнитивная психология изучает механизмы при помощи которых человек познает окружающий мир. Инженеру по знаниям с позиции когнитивной психологии следует: 1) Не навязывать эксперту ту модель представления которая ему более понятна и естественна 2) Использовать различные методы работы с экспертом 3) Четко осозновать цель процедуру извлечения или её главную стратегию 4) Чаще рисовать схемы отображающие рассуждения эксперта.

Лингвистический аспект.

1)                Проблема общего кода. Языки на которых говорят инженер по знаниям и эксперт могут существенно отличаться. Язык инженера по знаниям состоит из 3ех компонентов: а) термины предметной области, которые он взял из специальной литературы в период подготовки б) Общенаучная терминология из его теоретического багажа в) Бытовой разговорный язык. А язык эксперта состоит из 4ех компонентов: а) Специальная терминология принятая в предметной области б) Общенаучная терминология в) Бытовой язык г) Профессиональный жаргон. Если считать что бытовой и общенаучные языки примерно совподают, то общий код который необходимо выработать партнерам буудет складываться из потоков: а) Бытовой язык б) Спецтерминология эксперта в) Общенаучный термин г) Спецтермины из литературы, причем выроботка общего кода начинается с выписывания инженера по знаниям всех терминов употребляемых экспертом и уточнения их смысла, затем следует группировка терминов и их синонимы.

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

3)                Словарь пользователя. Лингвистические результаты соотнесенные со слоями предыдущих проблем направлены на создание адекватной базы знаний. Следовательно для разработки пользовательского интерфейса необходима дороботка пользовательского словаря общего кода с поправкой на доступность и прозрачность системы.

4)                Гносеологический аспект. Гносеология это раздел философии связаный с теорией познания или теории отражения действительности в сознании человека. В процессе извлечения знаний инженера интересует компонент знаний связанный с неканоническими, индивидуальными знаниями эксперта, так как предметные области именно с таким типом знаний считаются наиболее восприимчивыми к внедрению экспертных систем. Эти области называются эмпирическими, так как в них накоплен большой объем фактов и наблюдений, а их теоритическое обобщение это вопрос будущего. Рассмотрим этапы структуры познания: 1) Описание и обобщения фактов 2) Установление связей и закономерностей(существует 2 вида мышления: 1) логическое 2) ассоциотивное это цепочка идей связанных общими понятиями) 3) Построение идеализированной модели, на этом этапе необходим специализированный язык, с помощью которого можно описывать и конструировать модели мира, которые возникают в процессе мышления 4) Объяснение и предсказание моделей это завершающий этап структуры познаний, который является частичным критерием истинности полученного знания, и если выявленная система знаний эксперта полна и объективна. То на её основании можно делать прогнозы и объяснять любые явления из данной предметной области.

Классификация методов извлечения знаний.

### смотреть схему в телефоне.

Д/з --- выписать суть тринадцати методов.
###20/09/10###

«Нейросети»

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

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

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

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

1) Распознавание образов. Задача состоит в отнесении входного набора данных, представляющего распознаваемый объект, к одному из заранее известных классов. Число этих задач входит распознавание рукописных и печатных символов, при оптическом вводе в ЭВМ, распознавание типов клеток крови, распознавание речи и другие.

2) Кластеризация данных задача состоит в группировке входных данных по присущей им «Близости». Алгоритм определения близости данных(определения расстояния между векторами и другие) закладывается в нейросеть при её построении. Наиболее известные применения кластеризации связаны со сжатием данных, анализом данных и поиском в них закономерности.

3) Ассоциотивная(контекстно адресуемая) память, это память позволяет считывать содержимое по частичному или искаженному изображению, заполненных данных, основная область — мультимедийные базы данных.

4) Аппроксимация функций. Имеется набор эксперементальных данных {(x1, y1), …,(xn, yn)} представляющих значение Yi неизвестной функции от аргумента Xi=(Xi1, Xi2,..., Xim). Требуется найти функцию апроксимирующую неизвестную и удовлетворяющую некоторым критериям. Эта задача актуальна при моделировании сложных систем и создании систем управления сложными динамическими объектами.

5) Предсказание. Говорит о том что набор значений y представляющий собой поведение системы в момент времени t требуется по предыдущему поведению системы предсказать её поведение в момент временит. е. ### Используется в системах управления складскими запасами и всистемах принятия решений.
6) Оптимизация. Имеются ограничения и оптимизирующие значения целевой функции, требуется найти решение полной NP — проблемы


3.                 Модель искусственного нейрона. Любой нейрон задается совокупностью его входа, весами входа, функцией состояния и функцией активации. Функция состояния определяет состояние нейрона в зависимости от его входов, весов входа и предыдущих состояний. Функция активации определяет выходной сигнал нейрона как функцию от его состояния.

         Функции активации могут быть:

1)                Линейная y=kp+b

2)                ступенчатая

3)                сигмаидальная

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

1) Сеть с прямыми связями.

2) Сеть с перекрестными связями

3) Сеть с обратными связями

Сети могут быть:

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

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

2) При этом на входах сети появляется одна из запомненых последовательностей признаваемая сетью как наиболее близкая из начально поданных.

2)                Обучаемыми. В которых графы межнейроных связей и веса входов изменяются при выполнении алгоритма обучения. Алгоритмы обучения делятся на 3 группы:

1) Наблюдаемые, когда значение выхода заранее известно и обязательно сравнивается с получившимся значением.

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

3) Смешанные. Используется как наблюдаемые и ненаблюдаемые алгоритмы.

Классы нейроных сетей называют нейропарадигмами, которые характеризуются:

1) Состовляющими их нейронами(число входов, функция состояния, функция активации каждого нейрона или слоя нейрона)

2) Типом графа межнейроной связи(с прямыми связями, с перекрестными связями и обратными)

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

1) многослойные сети в которых связи устанавливаются только между нейронами соседних слоев. Тогда структура нейросети определяется правилом(число нейронов в следующем слое в 2 раза меньше чем в предыдущем)

2) Рекуррентные сети. Содержит обратные связи что дает получение различных значений выходов при одних и тех же входных данных. В процессе обучения позволяют накапливать знания.

3) Модель Хопфилда. Эта математическая модель ассоциативной памяти с использованием правила Хэбба: если 2 нейрона возбуждаются вместе то их сила связей возрастает, если они возбуждаются порознь то сила связей между ними уменьшается. Условия для построения модели Хопфилда:

1) Все элементы связаны со всеми

2) Прямые и обратные связи симметричны

3) Исключаются обратные связи с выхода на вход одного нейрона.

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

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

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

1) Обучение с учителем

2) Обучение без учителя, неконтролируемое

3) Смешанное обучение.

Обучение по примерам характеризуется 3 основными свойствами:

1)                Емкость, которая соответствует количеству образцов которые может запомнить сеть.

2)                Сложность образцов которая определяет способности нейросети к обучению

3)                Вычислительная сложность.

Расмотрим известные правила обучения:

1)                Правила коррекции по ошибке. Весь процесс обучения состоит в коррекции исходных данных которые обычно задаются случайным образом. Разность между известным значением результата и реакцией сети соответствует величине ошибки которая может использоваться для корректировке. Коректировка заключается обычно в небольшом(менее 1ого процента увеличения веса тех связей которые усиливают правильные реакции и улучшения тех связей которые способствуют ошибочным)

2)                Правило Хэбба: если нейроны по обе стороны синапса активизируются одновременно то силой синаптической связи возрастает

3)                Обучение методам соревнований при которым нейроны соревнуются друг с другом за активизацию в процессе соревновательного обучения осуществляется изменение весов связи выйгравшего нейрона(победитель забирает все)

4)                Метод обратного распрастранения ошибки при котором необходимо распологать обучающей выборкой содержащей правильные ответы. То есть выборка должна включать множество пар образцов входных и выходных данных, между которыми необходимо установить соответствие. Перед началом обучения межнейроным связям присваиваются небольшие нейроные значения. Каждый шаг процедуры состоит из двух фаз: 1) Входные элементы сети устанавливаются в заданное состояние. Далее входные сигналы распространяются по сети порождая некоторые выходной вектор. 2) Полученый выходной вектор сравнивается с требуемым, если они совпадают, то весовые коофиценты связей не изменяются, в противном случае вычисляется разница между фактическими и требуемыми выходными значениями, которая передается от выходного слоя к входному. На основе этой информации проводится изменение связей. Обучение продолжается до тех пор пока ошибка не уменьшится до заданной величины

         Аппаратные и программные реализации нейросетей. К аппаратной реализации относятся нейро компьютеры(это ПК или рабочая станция в состав которых входят дополнительная нейроплата FMR — Fujitsu), нейроплаты, нейробис(большие интегральные схемы МД1220 MicroDevices).

         Программная реализация BrainMaker CSS для решения задач прогнозирования, оптимизации  и моделирования ситуации в промышленых и финансовых компаниях. NeuroSolutions предназначена для моделирования нейросетей произвольной структуры. Neuro Shell Ward System's Group.
«Эволюционные аналоги в искуственых интелектуальных системах»
1.                 Понятие эволюции и эволюционных вычислений.

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

1)                Генетические алгоритмы

2)                Эволюционные стратегии

3)                Эволюционное программирование

2.                 Генетические алгоритмы: понятие, классы решаемых задач, операторы и этапы.

Отличаются от 2ух следующих парадигм в представлении любой альтернативы в виде битовой строки фиксированной длинны, манипуляции с которой производятся в отсутствии всякой связи с её смысловой интерпритацией т. е. В данном случае применяется единое универсальное представление любой задачи. Парадигмы генетических алгоритмов предложил Джон Холланд в начале 60ых годов прошлого века, опубликовав основные положения ГА.

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

# разрыв

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

1)                Сформировано заданное пользователем число поколений.

2)                Популяция достигла заданного пользователем уровня

3)                Достигнут некоторый уровень сходимости т. е. Особи в популяции стали идеальными(одинаковыми)

Рассмотрим общую схему работы генетического алгоритма.

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

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

1)                Формирование множества терминалов, множества примитивных функций, синтаксических правил и критериев оценки создаваемых программ.

2)                На основе закона о случайности создается начальная популяция компьютерных программ ориентированных на решение поставленной задачи.

3)                Каждая программа выполняется, а результаты её работы оцениваются с помощью целевой функции

4)                Формируется новая популяция программ, в которую сгенерированные программы могут попасть с вероятностью пропорциональной значению целевой функции.

5)                Реализуются генетические операторы репродукции скрещивания и мутации.

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

3.                 Эволюционные стратегии.

Оперируют объектами тесно связанными задачами. Каждая из альтернатив решения представляется единым массивом численных параметров, за каждым из которых скрывается аргумент целевой функции. Воздействие на данные массивы осуществляются с учетом их смыслового содержания и направлено на улучшение значений входящих в них параметров. Парадигму эволюционных стратегий предложили Реченберг 73 год и Шефель 77 год. В качестве стохастического метода нахождение глобального минимума функции многих переменных суть которого состоит в следующем: из случайных векторов решения задачи многокритериальной оптимизации формируется начальная популяция объектов эволюции над которыми выполняются следующие действия:

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

2)                Вычисляются значения целевой функции и осуществляется выбор наилучшего решения которое отбирается в новую популяцию.

3)                Процесс продолжается до тех пор пока не будет достигнуто приемлемое решение. Таким образом каждый объект в популяции характеризуется 2умя векторами: вектором решения и случайным вектором изменяющее это решение. Совокупность полученных точек составляет очередное поколение точек, которые оцениваются по значениям минимизируемой функции, в результате отбора одни особи гибнут, а другие живут и размножаются, вместо оператора скрещивания в эволюционных стратегиях используются операторы рекомбинации, при этом компоненты вектора потомка создаются из компонент векторов решения двух родителей. Это можно сделать разными способами:

1) Случайным образом

2) Как среднее арифметическое

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

4)                Эволюционное программирование. В основе эволюционного програмирования лежит идея представления альтернатив в виде универсальных конечных автоматов способных реагировать на стимулы поступающие из окружающей среды. Идеи ИП были предложены в 1966 году Фогелем Оуэлсон Уолш, которые предложили схему эволюции логических автоматов решающих задачи предсказания, диагностики, распознавания и классификации образцов, а также задачи управления объектом с неизвестным характером. Логические(конечные) автоматы это модели описывающие средствами формальной логики, возможные переходы исследуемой системы из некоторого первоначального состояния в заключительное. Форма представления автомата графы. Эволюционная программа реализует моделирование процессов естественной эволюции моделей автоматов, причем в каждый момент времени сохраняется тот автомат который наилучшим образом может справиться с данной задачей. Следовательно данный автомат сохраняется и поставляет потомков в следующее поколение. Процесс завершается когда получено достаточно хорошая программа, или исчерпан ресурс времени. Рассмотрим способы реализации оператора мутации:

1) Изменение заключительного состояния.

2) Изменение в условиях перехода из одного состояния в другое

3) Добавление нового состояния

4) Удаление состояния

5) Изменение начального состояния

Этапы алгоритма ИП:

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

4)                Отсев неперспективных моделей

5)                на основе случайного применения оператора мутации производятся потомки

6)                Тестирование моделей потомков путем решения поставленой задачи и оценка поставленных результатов

7)                Отбор наиболее перспективных потомков

8)                Проверка условий окончания процесса эволюции, если условия завершения эволюции удовлетворены то переход на 9ый этап, иначе возврат на 5ый этап, где объекты последней сгенерированной популяции выступают в качестве родителей.

9)                Конец алгоритма.

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

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

1.                 Основные конструкции языка пролог. К основным конструкциям языка пролог относятся термы и утверждения, которые заимствованы из логики. Все утверждения делятся на 2 вида: 1) Факты 2) Правило.

Терм — это структура данных, которая представляет любой объект задачи, или отношение между объектами. К термам относятся переменные и константы. Эти 2 вида называются простыми термами, следовательно существует такое понятие как составной терм, который содержит функтор и последовательность из 0 или более аргументов f(x1,x2 … xn) где f имя функтора, а x1,x2 и т. д. Любой составной терм это предикат, соответственно составной терм имеет арность. Например: записать факт увлечения Тома тенисом с помощью составного терма; записать составной терм даты рождения, data(20, october, 2003); добавить в предыдущий пример конкретную персону чей день рождения, data(ivan ivanov, 20, october, 2003). Аргументами терма могут быть целые числа, атомы типа string или symbol, термы простые или составные.

2.                 Сопоставление — это операция над термами при задании запроса. Для сопоставления в прологе имеются следующие правила «два терма сопоставимы если: 1) они идентичны 2) переменным в обоих термах можно приписать конкретные значения, а после подстановки термы станут идентичны», например: дано два терма 1) data(D, M, 1983) 2) data(D1, may, Y1) — термы сопастовимы;

data(D, M, 1983)

data(D1, may, 1944)
Сопаставление это процесс на ход которого подаются 2 терма, а он проверяет соответствуют ли эти термы друг другу, если термы сопастовимы то говорят что процесс успешный, в противном случае процесс не успешный. При успешном процессе находят конкретные значения переменных, делающие термы тождественными. Запрос на проведение такой операции можно передать системе в окне диалога если использовать знак равенства. data(D, M, 1983)=data(D1, may, 1944). Процесс сопоставления двух термов называется унификацией. Для унификации пролог использует следующие правила:

1)                Одинаковые константы сопоставимы друг с другом.

2)                Если переменная уже связана(имеет конкретное значение), то она действует также как обычная константа.

3)                Свободная переменная(еще не имеет конкретного значения) сопоставляется с константой или с ранее связанной переменной и становится связанной соответствующим значением.

4)                2 свободные переменные связываются друг с другом, с этого момента они трактуются как одна переменная, то есть одна из переменных принимает значения, то вторая принимает это же самое значение.

5)                Свободная переменная может быть связана с термом

6)                Два составных терма сопоставимы если они имеют одно и то же имя функтора и одинаковое количество аргументов, например:

birthday(Name, data(_,_,Y))

birthday(persona(«Ivan», «Ivanov»), data(«Август», 2, 1980))

Процесс унификации пролог выполняет в 2ух случаях: 1) когда цель сопоставляется с заголовком утверждения 2) Когда в цели используется знак равенства.

3.                 Управление поиском решений. Рассмотрим основные методы, которые позволяют управлять работой программы на прологе: 1) отсечение — используется для прерывания поиска с возвратом, обозначается словом cut или ! Это предикат вычисление которого всегда завершается успешно. Его помещают в тело правила как обычную подцель. После того как процесс прошел отсечение поиск с возвратом предикотов перед отсечением выполнить невозможно, а также нельзя возвратиться к другим предикатам содержащим отсечение. Отсечение применяют в 2ух случаях:

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

2) Когда логика программы нуждается в отсечении чтобы предотвратить рассмотрение альтернативных подцелей, такие отсечения называются красными. Например: записать программу определения статуса человека. Метод повторяющихся операций. Для этого существует 2 способа: 1) С помощью специального предиката откат fail, который выполняет предикат до невыполнения, таким образом предикат содержащий fail всегда заканчивается неуспехом, следовательно необходимо записать еще один предикат который заканчивался успехом. Fail должен быть последний в правиле, например: вывести название всех машин(задача лабораторный работы)


pr-car(x):-car(x,_,_), write(x), nl, pr-car(x)

При использовании предиката Fail необходимо использовать 2 утверждения.

###

Слияние списков или объединения.

Domains

list=integer*

predicates

append(list, list, list)

clauses

append([], L, L).

append([H | T], L, [H | T1]):-append(T, L, T1).

Цели: 1) Объединение двух списков, пример:

append([1,2,3], [4,5], X)

X=[1,2,3,4,5]

2)                нахождение разности между списками, пример:

append(L, [2,3], [1,2,3])

L=[1]

3)                Расщепление результативного списка на 2, пример:

append(X, L, [1,2,3])

X=[1] L=[2,3]

X=[1,2] L=[3]

X=[1,2,3] L=[]

5* Обработка данных в списках.

findall(var, Predicat, ListName)

Var — это имя переменной которой необходимо включить в список.

Predicat — это предикат из которого нужно собрать сведения.

ListName — это имя списка куда заносятся результирующие данные.

Пример1:

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

Domains

list=string*

predicates

person(string, integer)

causes

person(«Tom», 28).

person(«Ann», 18).

person(«Lis», 34).

Зададим цель с помощью предиката findall:

findall(X, person(X, _), L)

L=[«Tom», «Ann», «Lis»]
«Разработка собственной экспертной системы и программирование её на языке пролог»

1.                 Выбор предметной области, выбор объектов для предметной области(объектов должно быть 11), пример:

Предметная область: дикие животные

Объекты:

1)                Тигр

2)                Гепард

3)                Жираф

4)                Зебра

5)                Пингвин

6)                Альбатрос

7)                Страус

8)                Пантера

2.                 Выделим основные характеристики животных:

Для тигра: хищник, млекопитающие, рыжевато-коричневый окрас, черные полосы.

Гепард: хищник, млекопитающие, рыжевато-коричневый окрас, темные пятна.

Жираф: млекопитающие, травоядное, длинная шея, темные пятна.

Зебра: млекопитающее. Травоядное, черные полосы.

Пингвин: птица, хорошо плавает, черно-белый окрас.

Альбатрос: птица, хорошо летает.

Страус: птица, длинная шея, длинные ноги, черно-белый окрас

Пантера: млекопитающее, хищник, черный окрас.

3.                 Выделим не определяемые понятия и запишем их характеристики:

Млекопитающие — кормят детенышей молоком, имеет шерсть.

Хищник — питается мясом, острые зубы, острые когти.

Травоядные — имеет копыта, жуют жвачку.

Птица: откладывают яйца, имеет перья или пух.

4.                 Схема экспертной системы:

Дикие животные

###

Примечания по схеме: максимальное подразделение на 3 группы. Далее работаем по схеме слево направо.

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

1)                Животное кормит детенышей молоком ?

2)                Животное имеет шерсть ?

3)                Животное откладывает яйца ?

4)                Животное имеет перья ?

5)                Животное имеет пух ?

6)                Животное питается мясом ?

7)                Животное имеет острые зубы ?

8)                Животное имеет острые когти ?

9)                Животное имеет копыта ?

10)            Животное жуют жвачку ?

11)            Животное имеет черный окрас ?

12)            Животное имеет рыжевато коричневый окрас ?

# дописать

6.                 Запись правил:

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

1)                Животное тигр если оно млекопитающее и оно хищник и имеет рыжевато-коричневый окрас и имеет темные полосы.

9)                Оно млекопитающее если кормит детенышей молоком и имеет шерсть.

# дописать, всего 12 правил.

Д/з сдать в черновом варианте разработку экспертной системы до 1 декабря.

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

1)                Run — используется для запуска программы(в окне цели зададим цель).

2)                animal_is

3)                позитив и негатив

4)                clear_facts

5)                remember

6)                ask — формирует вопрос

стр. 95-99.
Структура в прологе

         Структура — это единый объект состоящая из совокупности других объектов называемых компонентами(структура аналогична записям на языке пролог), например:

1)                Служащий

- ФИО

- Др

- отдел

2)                Каталог библ книг

- ФИ автора

- название

- изд-во

- год издания

3)                семья

- член семьи:

- ФИО

- дата рожд.

- статус

На прологе это будет выглядеть следующим образом:

семья(член семьи(энн, фокс, дата(9, мая, 1951 ), нер), член семьи (том, фокс, дата(7, май, 1950), работает (bbc, 15200)), [член семьи (пат, фокс, дата (5, май, 1973), не работает), член семьи (джим, фокс, дата (5, мая, 1973), не работает)])
Тогда база фактов будет состоять из последовательности обсуждений подобных этому и описывать все семьи представляющие данную программу. Используя данную структуру можно задавать следующие вопросы:

1)                Найти всех членов семьи фокс.

Семья (член семьи(_,фокс,дата(_,_,_),_))

2)                Найти все семьи имеющие 3 детей

семья(_, _,[_,_,_])

3)                Найти всех замужних женщин имеющих по крайней мере 2 детей

семья(член семьи(x,y,_,_),_, [_, _|_])

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

1)                Правило определения мужа.

muz(x):-

семья(_, x,_).

2)                Правило нахождения жены

zhena(y):-

семья( y,_,_)

3)                Правило нахождения детей

deti(x):-

семья(_,_,y),

принадлежит (x, y).

принадлежит(x, [x|T]).

принадлежит(x, [H|T]):-

принадлежит(x,T).

4)                Нахождение любого члена семьи в базе данных

существует(x):-

muz(x) or

zena(x) or

delete(x).

5)                Определить доход работающего.

dohod(x):-

семья(член семьи(x,_,_,rabotaet(_,y))).
1)                Найти имена всех людей из базы данных.

2)                Найти всех детей родившихся в 81 году.

3)                Найти всех работающих жен.
«Графика в прологе»

         Создание и работа с окнами. В прологе есть 5 предикатов позволяющих программе управлять окнами. С их помощью можно создавать несколько окон, выполнять ввод и вывод в определенные окна и устанавливать атрибуты окон. Рассмотрим эти предикаты:

1)                makewindow имеет следующие атрибуты(<номер окна>; <атрибуты окна>; <атрибуты рамки>, заголовок окна, начальный номер строки, начальный номер столбца высота окна, ширина окна)

Номер окна это целое число которое идентифицирует окно в программе. Это число используется в качестве ссылки gotowindow.

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

0 — черный

1 — синий

2 — зеленый

3 — голубой

4 — красный

5 — фиолетовый

6 — коричневый

7 — белый

8 — серый

9 — светло синий

10 — светло зеленый

11 — светло голубой

12 — светло красный

13 — светло фиолетовый

14 — желтый

15 — интенсивно белый
цвета фона:

0 — черный

16 — синий

32 — зеленый
48 — голубой


64 — красный

80 — фиолетовый

96 — коричневый

104 - желтый

112 — белый

Чтобы получить атрибут окна нужно цвет текста прибавить цвет фона. Если хотим чтобы символы мерцали, нужно прибавить к результату 128. Например:

необходимо создать окно с белыми символами без мерцания, тогда атрибут окна равен: 7+0

Красные символы на желтом фоне с мерцанием: 4+104+128= 236

Синие символы на светло красном фоне: ?

Атрибуты рамки это целое число значение которого определяет рамку окна. Если значение атрибута равно 0, то окно не имеет видимой границы. Если задается мерцающая граница, то она всегда будет белой с мерцающей тонкой линией в середине границы имеющей указаный цвет. Рассмотрим цвета рамки:

1 — синяя

2 — зеленая

3 — светло синяя

4 — красная

5 — фиолетовая

6 — желтая

7 — белая

8 — коричневая

мерцающая белая рамка -1

мерцающая желтая рамка -2

мерцающая фиолетовая -3

мерцающая красная -4

мерцающая светло синяя -5

-6 светло зеленая

-7 синяя

-8 серая

Заголовок окна задает метку окна. Это строка задаваемая в качестве значения атрибута и размещается в центре верхней рамки окна. Если заголовка окна нет, то вместо атрибута записываем аргумент состоящий из 2ух последовательных знаков ковычек.

Определение размеров и положения окна.

Начальный номер строки это целое число определяющее верхнюю линию создаваемого окна, максимально на экране вмещается 25 линий тогда для этого аргумента допустимы следующие значения от 0 до 24.

Начальный номер столбца это целое число указывающее крайний левый столбец окна. Максимальное количество столбцов 80. Высота окна это целое число определяющее количество строк 25. Ширина окна это целое число указывающее число столбцов занимаемых окном, максимально — 80, например:

1)                makewindow(1,7,7, «Полный экран»,0,0,25,80)

2)                makewindow(2, 4, 1, «Меню», 4, 20, 16 , 40)

3)                makewindow(3, 8, -1, «», 5, 20, 25, 12)

shiftwindow используется для смены текущего окна. Имеет 1 параметр, номер окна shiftwindow(<номер окна>).

Gotowindow(<номер окна>) быстрое переключение между окнами которые не перекрываются.

Clearwindow очистка окна

removewindow удаляет окна с экрана.

Использование окон для ввода и вывода.

1)                read

2)                readint вводит целое число

3)                readchar вводит один символ

4)                nl перевод строки

Для того чтобы работать с данными предикатами необходимо использовать предикат cursor, например:

1)                в окне номер 1 имеющей черный фон и белые символы и белую рамку начиная с 1;1 высота 8 и ширина 28 вывести фразу отличный день в строку 4 столбца 12

run:-

makewindow(0, 7, 7, «», 1, 1, 8, 28),

cursor(4,12),

write(«Отличный день»).

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

Создать 4 окна «Жизнь звезды» «В ней появилась черная дыра»

«Жизнь звезды» «Звезда взорвалась»

«Жизнь звезды» «Звезда светит»

«Жизнь звезды» «Звезда родилась»
predicates

okna

clauses

okna :-

         makewindow(1, 7, 7, «Жизнь звезды», 3, 12, 10, 40),

         cursor(3, 8),

            write(«Жизнь звезды»), ne,

         makewindow(2, 7, 7, «Жизнь звезды», 5, 14, 10, 40),

         shiftwindow(2),

         cursor(3, 12),

         write()

1. Реферат Современные технологии производства резервуарных металлоконструкций
2. Реферат на тему Хозяйство Дагестана III в до нэ IV вдо н э
3. Реферат на тему The Politics Of Boom Essay Research Paper
4. Реферат на тему Гносеология материалистического эмпиризма
5. Кодекс и Законы Содержание и значение государственного и муниципального финансового контроля
6. Контрольная работа на тему Налоговое поле предприятия как элемент налогового планирования
7. Контрольная работа по Менеджменту 28
8. Курсовая Управление обеспечением конкурентоспособности продукции
9. Реферат Демонология
10. Реферат Внешняя реклама магазинов