- •Введение
- •Глава 1 системы, основанные на знаниях
- •1.1. История создания искусственного интеллекта
- •1.2. Процесс мышления
- •1.3. Основные понятия и классификация систем, основанных на знаниях
- •1.4. Экспертные системы как элемент искусственного интеллекта
- •1.5. Теоретические аспекты извлечения знаний
- •1.6. Коммуникативные методы извлечения знаний
- •1.7. Текстологические методы извлечения знаний
- •Глава 2 модели представления знаний
- •2.1. Представление знаний и выводы в экспертных системах
- •2.2. Модель представления знаний средствами логики предикатов первого порядка
- •2.3. Представление знаний продукционными правилами
- •2.4. Модель представления знаний в виде фреймов
- •2.5. Представление знаний в виде семантической сети
- •2.6. Модель доски объявлений
- •2.7. Модель представления знаний в виде сценария
- •Глава 3 архитектура и технология разработки экспертных систем
- •3.1. Основные положения
- •3.2. Технология разработки экспертной системы
- •3.3. Механизм вывода (интерпретатор правил)
- •3.4. Взаимодействие пользователей с экспертной системой
- •3.5. Подсистема анализа и синтеза сообщений
- •3.6. Морфологический анализ входных сообщений
- •3.7. Синтаксический анализ входных сообщений
- •3.8. Семантический анализ входных сообщений
- •3.9. Синтез выходных сообщений
- •3.10. Диалоговая подсистема
- •3.11. Объяснительные способности эс
- •Глава 4 применение нечеткой логики в эксперТнЫх системах
- •4.1. Предпосылки возникновения нечеткой логики
- •4.2. Нечеткая логика
- •4.3. Нечеткие подмножества
- •4.4. Нечеткие правила вывода в экспертных системах
- •4.5. Задания для разработки экспертных систем
- •Глава 5 ГенетическиЙ алгоритм
- •5.1. Предисловие
- •5.2. Генетический алгоритм
- •5.3. Параметры и этапы генетического алгоритма
- •5.3.1. Кодирование информации и формирование популяции
- •5.3.2. Оценивание популяции
- •5.3.3. Селекция
- •5.3.4. Скрещивание и формирование нового поколения
- •7.3.5. Мутация
- •5.4. Настройка параметров генетического алгоритма
- •5.5. Канонический генетический алгоритм
- •5.6. Пример работы и анализа генетического алгоритма
- •5.7. Общие рекомендации к программной реализации генетического алгоритма
- •5.8. Задания для лабораторных работ
- •Глава 6 искусственные нейронные сети
- •6.1. Биологические нейронные сети
- •6.2. Формальный нейрон
- •6.3 Нейронные сети
- •6.4. Обучение инс
- •8.5. Алгоритм обратного распространения ошибки
- •6.6. Работа нейронной сети
- •6.7. Пример работы и обучения нейронной сети
- •6.8. Программная реализация
- •6.9. Задания для лабораторных работ
- •Заключение
- •Приложение 1 Контрольные вопросы
- •Приложение 2 Темы рефератов и индивидуальных заданий Темы рефератов
- •Темы индивидуальных заданий
- •Приложение 3 Ресурсы в сети Интернет
- •Список литератуРы
- •Оглавление
1.3. Основные понятия и классификация систем, основанных на знаниях
Искусственный интеллект ориентирован на создание методов дублирования функций живых интеллектуальных систем искусственными системами. Технология разработки интеллектуальных программных средств основана на том, что знания о решении задач отделяются от программ и реализуются в виде базы знаний, а в программах реализуется алгоритм манипулирования этими знаниями. Этот алгоритм называют механизмом логического вывода. Знания являются явными и доступными, что отличает интеллектуальные системы от большинства традиционных программных средств.
К знаниям относят информацию о логике решения задач, а к данным – информацию, которая должна быть проанализирована в соответствии с этой логикой. Поэтому имеются специфические признаки, отличающие знания от данных:
-
внутренняя интерпретируемость, означающая, что в знаниях находится информация, раскрывающая смысл элементов знаний;
-
структурированность знаний, заключающаяся в возможности декомпозиции сложных объектов на более простые и установлении соответствующих связей между ними;
-
связность знаний отражает причинно-следственные и временные отношения между фактами, процессами и явлениями;
-
активность знаний, так как они могут содержать планы действий и управляющие процедуры.
Знания, которыми обладает специалист в какой-либо области (дисциплине), можно разделить на формализованные (точные) и неформализованные (неточные) знания.
Формализованные знания формулируются в виде общих и строгих суждений (законов, формул, моделей и алгоритмов), отражающих универсальные знания.
Неформализованные знания отличаются конкретностью, субъективностью и приблизительностью. Обычно они являются результатом обобщения многолетнего опыта работы и интуиции специалистов и представляют собой многообразие эмпирических приемов и правил.
В зависимости от того, какие знания преобладают в той или иной предметной области, ее относят к формализованной (если преобладают точные знания) или к неформализованной (если преобладают неточные знания) предметной области. Задачи, решаемые на основе точных знаний, называют формализованными, а задачи, решаемые с помощью неточных знаний, – неформализованными [5].
Традиционное программирование в качестве основы для разработки программ использует алгоритм, то есть формализованное знание. Поэтому до недавнего времени считалось, что ЭВМ не приспособлены для решения неформализованных задач. Расширение сферы использования ЭВМ показало, что неформализованные задачи составляют очень важный класс задач, по-видимому, значительно больший, чем класс формализованных задач. Неумение решать неформализованные задачи сдерживает внедрение ЭВМ в описательные науки. Поэтому исследования в области ЭС имеют большое значение и занимают важное место в информатике.
К неформализованным задачам относятся те, которые обладают одной или несколькими из следующих особенностей [5]:
-
алгоритмическое решение задачи неизвестно (хотя, возможно, и существует) или не может быть использовано из-за ограниченности ресурсов ЭВМ (времени, памяти);
-
задача не может быть представлена в числовой форме (требуется символьное представление);
-
цели задачи не могут быть выражены в терминах точно определенной целевой функции.
Как правило, неформализованные задачи обладают неполнотой, ошибочностью, неоднозначностью и (или) противоречивостью знаний (как данных, так и используемых правил преобразования). Экспертные системы отличаются от традиционных программ тем, что ориентированы на решение неформализованных задач. Основными особенностями ЭС являются:
-
алгоритм решения неизвестен заранее, а строится самой системой с помощью символических рассуждений, базирующихся на эвристических приемах;
-
способность анализа и объяснений своих действий и знаний;
-
способность приобретения новых знаний от пользователя – эксперта, не знающего программирования, и изменения в соответствии с ними своего поведения;
-
обеспечение “дружественного”, как правило естественно-языкового, интерфейса с пользователем.
С точки зрения пользователя, наиболее важными свойствами ЭС являются:
-
возможность предоставления подробных объяснений полученных решений;
-
возможность постепенного наращивания баз знаний без перепрограммирования;
-
знания из баз знаний обладают самостоятельной ценностью и могут распространяться.
Перечислим основные виды интеллектуальных систем, отличающиеся целью и реализацией знаний:
-
интеллектуальные информационные поисковые системы, обеспечивающие в процессе диалога взаимодействие конечных пользователей с базами знаний на профессиональных языках пользователей;
-
интеллектуальные пакеты прикладных программ, в которых, в отличие от обычных пакетов, реализуются знания о процессе решения задач предметной области;
-
экспертные системы, обеспечивающие возможность решения задач в полностью неформализованных областях, причем вся информация о решении задач предметной области реализуется в виде баз знаний.
Экспертные системы представляют собой класс компьютерных программ, которые выдают советы, проводят анализ, выполняют классификацию и ставят диагноз. Они ориентированы на решение задач, обычно требующих проведения экспертизы человеком-специалистом. В отличие от машинных программ, использующих процедурный анализ, ЭС решают задачи в узкой предметной области на основе дедуктивных суждений.
Классификация ЭС по решаемой задаче [1]:
1. Интерпретация. Это анализ исходных данных с целью определения их смысла.
2. Диагностика. Это процесс поиска неисправности в системе, который основан на интерпретации данных
3. Мониторинг (наблюдение). Это задача непрерывной интерпретации сигналов и выдачи оповещений в тех случаях, когда контролируемые параметры выходят за допустимые пределы. Мониторинг является частью диагностической системы, которая работает в реальном масштабе времени.
4. Прогнозирование. Это предсказание хода развития системы в будущем на основании ее поведения в прошлом и настоящем. Эти системы содержат блоки обработки статистики, блоки принятия решения на основе неполной информации, блоки генерации альтернативных путей развития системы.
5. Планирование. Под планированием понимается определение планов действий, относящихся к объектам, способным выполнять некоторые функции.
6. Проектирование. Цель: помочь человеку при нахождении им эвристических решений в процессе творчества или автоматизировать рутинную работу. Проектирование состоит в подготовке спецификаций на создание “объектов” c заранее определенными свойствами.
7. Обучение. Под обучением понимается использование компьютера для обучения какой-то дисциплине или предмету. Системы обучения диагностируют ошибки при изучении какой-либо дисциплины с помощью ЭВМ. Система получает информацию о деятельности некоторого объекта (например студента) и анализирует его поведение. База знаний изменяется в соответствии с поведением объекта. Примером такого обучения может служить компьютерная игра, сложность которой автоматически увеличивается.
8. Контроль и управление. Системы, основанные на знаниях, могут применяться в качестве интеллектуальных систем контроля и управления. Они способны принимать решения, анализируя данные, поступающие из разных источников. Такие ЭС уже работают на атомных электростанциях, управляют воздушным движением и осуществляют медицинский контроль.
9. Поддержка принятия решений. Поддержка принятия решений – это совокупность процедур, обеспечивающая лицо, принимающее решения, необходимой информацией и рекомендациями, облегчающими процесс принятия решения. Эти ЭС помогают специалистам выбрать и сформировать оптимальное решение в конкретной ситуации.