- •19.0. Введение
- •19.1. Моделирование как метод познания
- •20.1. Формы представления моделей
- •20.2. Классификация математических моделей
- •21.1. Математическая модель системы (объекта)
- •21.2. Методы математического моделирования
- •3 Этап. Формализация постановки задачи: формальное описание целей и задач моделирования, формулировка требований.
- •21.3. Технология математического моделирования системы (объекта)
- •1 Этап. Формулирование целей и задач моделирования, выявление проблем, описание объекта исследования.
- •2 Этап. Изучение априорной информации об объекте исследования.
- •4 Этап. Стратегическое и тактическое планирование эксперимента с объектом.
- •5 Этап. Экспериментирование с объектом.
- •6 Этап. Идентификация объекта.
- •7 Этап. Оценка адекватности модели, ее свойств, устойчивости, областей применения.
- •8 Этап. Решение задач моделирования, подведение итогов.
- •21.4. Контрольные вопросы и задания
- •22.1. Понятие информационной модели
- •22.2. Этапы моделирования
- •22.3. Типовые информационные модели
- •Графы, сети, деревья
- •23.1. Понятие алгоритма
- •23.2. Свойства алгоритма
- •23.3. Данные алгоритмов
- •23.4. Элементарные алгоритмические действия
- •23.5. Способы записи алгоритмов
- •24.0. Введение
- •25.0. Введение
- •26.0. Введение
- •27.0. Введение
- •28.1. Вычисление конечных и бесконечных сумм и произведений
- •28.2. Решение уравнений итерационными методами
- •28.3. Расчет таблиц функциональных зависимостей
- •28.4. Подсчет числа положительных, отрицательных и нулевых элементов массивов
- •28.5. Расчет модуля вектора и нормы матрицы
- •28.6. Расчет среднего и дисперсии элементов в массивах
- •28.7. Поиск минимальных или максимальных значений в массивах
- •28.8. Алгоритмы упорядочивания элементов в массивах
- •28.9. Умножение матрицы на вектор и матрицы на матрицу
- •28.10. Возведение квадратной матрицы в целую степень
- •28.11. Исключение элементов массивов
- •28.12. Расчет определителя квадратной матрицы
- •28.13. Транспонирование матриц
- •29.1. Что такое язык программирования?
- •29.2. Низкоуровневые языки программирования
- •29.3. Языки высокого уровня
- •Навигация по разделам:
- •29.3.1. Процедурные языки программирования
- •29.3.2. Функциональные языки программирования
- •29.3.3. Логические языки программирования
- •30.0. Введение
- •31.0. Введение
- •31.1. Постановка и формализация задачи
- •31.2. Разработка алгоритмов решения задачи
- •31.2. Разработка алгоритмов решения задачи
- •31.4. Анализ результатов
- •31.5. Сопровождение программ
- •32.0. Введение
- •33.1. Технология структурного программирования
- •33.2. Структурные методы анализа и проектирования по
- •33.3. Модульное программирование
- •Навигация по разделу
- •33.3.1. Hipo - диаграмма
- •33.3.2. Метод нисходящего проектирования
- •33.3.3. Метод расширения ядра
- •33.3.4. Метод восходящего проектирования
- •33.4. Базовые управляющие структуры структурного программирования
- •33.5. Проектирование и тестирование программы
- •33.6. Подпрограммы, процедуры и функции
- •Навигация по разделу:
- •33.6.1. Основные понятия и терминология
- •33.6.2. Локальность
- •33.6.3. Параметры процедуры
- •34.1. Методология объектно-ориентированного программирования
- •34.2. Объектно-ориентированные методы анализа и проектирования по
- •34.3. Основные принципы построения объектной модели
- •34.4. Основные элементы объектной модели
- •34.5. Пример разработки консольного приложения в технологии объектно-ориентированного подхода
- •Навигация по разделу:
- •34.5.1. Диаграмма прецендентов uml
- •34.5.2. Диаграмма последовательности uml для прецедента
- •34.5.3. Диаграмма классов uml для прецендента «перевести р-ичную строку в число»
- •34.5.4. Текст приложения на языке Object Pascal
- •35.0. Введение
- •35.1. История развития бд
- •35.2. Классификация бд
- •Навигация по разделу:
- •35.2.1. Основные функции субд
- •36.1. Основные понятия бд
- •36.2. Основные понятия реляционной модели бд
- •36.3. Предпроектное обследование предметной области. Связи таблиц
- •36.4. Нормализация отношений
- •36.5. Общие сведения о ms Access
- •36.6. Приложение
- •36.6. Приложение
- •37.2. Связь между таблицами и целостность данных
- •37.3. Создание запросов в ms access
- •Навигация по разделу:
- •37.3.1. Запросы на выборку
- •37.2.3. Запросы с вычислениями
- •37.2.4. Итоговые запросы
- •37.2.5. Перекрестные запросы
- •37.4. Формы
- •37.3.2. Запросы с параметрами
- •37.5. Отчеты
- •38.0. Введение
- •38.1. Различные подходы к построению систем ии
- •38.2. Экспертные системы
- •Методы, основанные на правилах.
- •Методы, основанные на фреймах.
38.2. Экспертные системы
|
← 38.1. Различные подходы к построению систем ИИ |
39.0. Введение → |
Эффективность программы ИИ при решении задачи во многом зависит от знаний, которыми она обладает, а не только от формализации и схем вывода, которые она использует В конце 70-х г.г. специалисты в области ИИ приняли принципиально новую концепцию программ ИИ: чтобы программу сделать интеллектуальной, ее нужно снабдить множеством высококачественных специальных знаний о некоторой предметной области. Понимание этого привело к развитию специализированных программных систем, каждая из которых является экспертом в некоторой узкой предметной области – экспертных систем (ЭС). Технологию построения ЭС часто называют инженерией знаний. Как правило, этот процесс требует специализированной формы взаимодействия создателя ЭС, которого называют инженером знаний, и одного или нескольких экспертов в некоторой предметной области. Инженер знаний «извлекает» из экспертов процедуры, стратегии, эмпирические правила, которые они используют при решении задач, и встраивают эти знаний в ЭС. В результате появляется программа для ЭВМ, которая решает задачи во многом так же, как эксперты-люди.
Рассмотрим основные характеристики ЭС подробно. Сердцевину ЭС составляет база знаний (БЗ), которая накапливается в процессе ее построения. Знания выражены в явном виде и организованы так, чтобы упростить принятие решений. Важность этой особенности ЭС невозможно переоценить. Тот факт, что знания – основа ЭС- являются явными и доступными, отличает ЭС от большинства традиционных программ.
Наиболее важной характеристикой ЭС является то, что она применяет для решения проблем высококачественный опыт. Этот опыт представляет собой уровень мышления наиболее квалифицированных экспертов в данной области, что ведет к решениям творческим, точным и эффективным. Кроме того, знания, заложенные в ЭС, могут наращиваться постепенно в соответствии с нуждами бизнеса или заказчика.
Другой важной чертой ЭС является наличие у них прогностических возможностей. ЭС может функционировать в качестве теоретического инструмента обработки информации или модели решения задачи в заданной предметной области, давая ожидаемые ответы в конкретной ситуации и показывая, как изменятся эти ответы в новых ситуациях. ЭС может подробно объяснить подробно, каким образом новая ситуация привела к изменениям.
Кроме того, важным свойством ЭС является то, что их можно использовать для обучения и тренировки работников. ЭС, как правило, разрабатываются с расчетом на подробный процесс обучения, т.к они уже содержат необходимые знания и способны объяснить процесс своего рассуждения. Обычно разрабатывается интерфейс между обучаемым и ЭС: ЭС не только ищет ответ на поставленный вопрос, но, при необходимости, может дать подробную пошаговую справку по тому, как она искала решение.
Как было отмечено выше, основой ЭС является совокупность знаний, структурированных в целях упрощения процесса принятия решений ЭС. Для специалистов в области ИИ термин «знания» означает информацию, которая необходима программе, чтобы она вела себя «интеллектуально». Эта информация принимает, как правило, форму фактов или правил. Под фактом понимается утверждение, всегда являющееся истинным. Например:
«Резервуар №25 содержит серную кислоту»
«Истец был травмирован электропилой».
Под правилом понимается утверждение, принимающее истинное или ложное значение в зависимости от некоторых условий. Например:
«Если пролитая жидкость содержит ионы сульфата, то эта жидкость является серной кислотой»
«Если истец проявил неосторожность в обращении с электропилой, то применимо законодательство о неосторожном поведении пострадавшего, приведшего к несчастному случаю».
Факты и правила, заложенные в ЭС, не всегда либо истинны, либо ложны. Иногда существует некоторая степень неуверенности в достоверности факта или точности правила. Если это сомнение выражено явно в численной форме, то оно носит название «коэффициента уверенности».
Многие правила в ЭС являются эвристиками, т.е. эмпирическими правилами, которые эффективно ограничивают поиск решения. ЭС использует эвристики потому, что задачи, которые она решает (например, поиск новых месторождений в геологии или согласование исков в юриспруденции), как правило, трудны и не до конца понятны. Эти задачи не имеют строгого математического или алгоритмического решения. Алгоритмический метод гарантирует корректное или оптимальное решение задачи, в то время, как эвристический метод дает приемлемое решение в большинстве случаев. Использование эвристических правил делает поиск решения намного более легким и более практичным.
В ЭС знания организованы таким образом, чтобы знания о предметной области отделить от других типов знаний системы, таких, как решать задачи или взаимодействовать с пользователем (например, редактировать или печатать текст в соответствии с командами пользователя). Выделенные знания о предметной области называются базой знаний (БЗ), тогда, как общие знания о нахождении решений задач называются механизмом вывода. Программа, которая работает со знаниями, организованными подобным образом, называется системой, основанной на знаниях. Все ЭС являются системами, основанными на знаниях (но не наоборот – например, программу ИИ для игры в «крестики-нолики» нельзя считать ЭС, даже, если в ней знания о предметной области отделены от остальной программы).
БЗ ЭС содержит факты (данные) и правила (или другие представления знаний), использующие эти факты как основу для принятия решений. Механизм вывода содержит интерпретатор, определяющий, каким образом применять правила для вывода новых знаний, и диспетчер, устанавливающий порядок применения этих правил. Структура ЭС показана на рисунке 38.1.

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