- •1. Определение искусственного интеллекта. Искусственный интеллект (ии) можно определить как область компьютерной науки, занимающуюся автоматизацией разумного поведения.
- •. Тест Тьюринга.
- •3. Искуственный интеллект Обзор прикладных областей искусственного интеллекта. Основные сферы применения искусственного интеллекта.
- •4. Интеллектуальные информационные системы: определение и области применения.
- •5.Интеллектуальный анализ данных( определение ,задач, особенности )
- •10.Интеллектуальные информационно-поисковые системы.
- •11. Экспертные системы. Краткая характеристика. Общие задачи.
- •Исследовательский цикл разработки.
- •. Концептуальная модель.
- •Поиск на основе данных и цели. Графы.
- •Поиск в глубину и ширину.
- •12. Экспертные системы, основанные на правилах(эс на основе цели, объяснение и прозрачность при рассуждении на основе цели, Эс на основе данных, примечание)
- •17. Экспертные системы, основанные на данных.
- •13. Рассуждения на основе моделей.
- •14. Рассуждения на основе опыта.
- •16. Рассуждения на основе правил (достоинства и недостатки).
- •Рассуждения на основе опыта (достоинства и недостатки).
- •Рассуждения на основе моделей (достоинства и недостатки).
- •24. Гибридные системы.
- •20. Семантические сети.
- •21. Фреймы.
- •22. Концептуальные графы: введение, типы, экземпляры, имена.
- •Обобщение и специализация.
- •17.Нейронные сети(определение,основы,нйрон,персептрон(недостаток) )
- •Нейрон Мак-Каллока-Питтса.
- •Персептрон ф. Розенблата.
- •18. Карты Кохонена.
- •7.Деревья решений
- •Правило остановки. Разбивать дальше узел или отметить его как лист?
- •8. Деревья решений - математический аппарат (алгоритм с 4.5).
- •Например если один из атрибутов содержит фио клиентов, то gain(X) скорее всего выберет его.
- •9. Деревья решений - математический аппарат (алгоритм cart).
- •Правила разбиения
- •6. Ассоциативные правила. Алгоритм ограниченного перебора.
- •19.Генетические алгоритмы( Социальные и эмерджентные модели обучения,Игра жизнь,генетические алгоритмы,системы классификации на основе га)
- •Системы классификации
Поиск в глубину и ширину.
При поиске в глубину после исследования состояния сначала необходимо оценить все его потомки и их потомки, а затем исследовать любую из вершин братьев. Поиск в глубину по возможности углубляется в область поиска. Если дальнейшие потомки состояния не найдены, рассматриваются вершины-братья.
Поиск в ширину, напротив, исследует пространство состояний по уровням, один за другим. И только если состояний на данном уровне больше нет, алгоритм переходит к следующему уровню.
В отличие от поиска в ширину, поиск в глубину не гарантирует нахождение оптимального пути к состоянию, если оно встретилось впервые. Позже в процессе поиска могут быть найдены различные пути к любому состоянию. Если длина пути имеет значение в решении задачи, то в случае нахождения алгоритмом некоторого состояния повторно необходимо сохранить именно тот путь, который оказался короче.
Поиск в ширину всегда находит самый короткий путь к целевой вершине. Если в задаче существует простое решение, это решение будет найдено. К сожалению, при большом коэффициенте ветвления, если состояния имеют высокое среднее число потомков, комбинаторный взрыв может помешать алгоритму найти решения.
Поиск в глубину эффективен для областей поиска с высокой степенью связности, потому что ему не нужно помнить все узлы данного уровня. В степень использованья пространства состояний в случае поиска в глубину – это линейная функция длины пути. На каждом уровне сохраняются только дочерние вершины единственного пути.
Так что же лучше: поиск в глубину или поиск в ширину? На этот вопрос можно ответить так. Необходимо исследовать пространство состояний и проконсультироваться с экспертами в данной области. В шахматах, например, поиск в ширину просто невозможен. В более простых играх поиск в ширину не только возможен, но даже может оказаться единственным способом избежать проигрышей или потерь в игре.
12. Экспертные системы, основанные на правилах(эс на основе цели, объяснение и прозрачность при рассуждении на основе цели, Эс на основе данных, примечание)
В ЭС основанных на правилах значение о решении задач предствляется в виде правил (если…то)
В системе, основанной на правилах, пары "условие-действие" представляются правилами "если..., то...", в которых посылка (часть если) соответствует условию, а заключение (часть то) — действию. Если условие удовлетворяется, экспертная система осуществляет действие, означающее истинность заключения. Данные частных случаев можно хранить в рабочей памяти. Механизм вывода осуществляет цикл продукционной системы "распознавание-действие". При этом управление может осуществляться либо на основе данных, либо на основе цели.
В экспертной системе на основе цели в рабочую память помещается целевое выражение. Система сопоставляет заключения правил с целевым выражением и помещает их предпосылки в рабочую память. Это соответствует декомпозиции проблемы на более простые подцели. На следующей итерации работы продукционной системы процесс продолжается, эти предпосылки становятся новыми подцелями, которые сопоставляются с заключениями правил. Система работает до тех пор, пока все подцели в рабочей памяти не станут истинными, подтверждая гипотезу. Таким образом, обратный поиск в экспертной системе приближенно соответствует процессу проверки гипотез при решении проблем человеком. В экспертной системе, чтобы достичь подцели, следует запросить информацию у пользователя. В некоторых экспертных системах разработчики определяют, какие подцели могут достигаться путем запроса к пользователю. Другие системы обращаются к пользователю, если не могут вывести истинность подцели на основе правил из базы знаний. В качестве примера решения задач на основе цели с запросами к пользователю рассмотрим небольшую экспертную систему диагностики автомобиля. Это не полная система диагностики, так как она содержит всего четыре очень простых правила. Она приводится как пример, демонстрирующий образование цепочек правил, интеграцию новых данных и использование возможностей объяснения.
Правило 1: если топливо поступает в двигатель и двигатель вращается, То проблема в свечах зажигания. Правило 2: если двигатель не вращается и фары не горят, То проблема в аккумуляторе или проводке. Правило 3: если двигатель не вращается и фары горят, То проблема в стартере. Правило 4: если в баке есть топливо и топливо поступает в карбюратор, То топливо поступает в двигатель. Для работы с этой базой знаний цель верхнего уровня проблема в X помещается в рабочую память, как показано на рис. 5.3.
Здесь X— переменная, которая может сопоставляться с любой фразой, например, проблема в аккумуляторе или проводке. В процессе решения задачи она будет связана с некоторым значением. С выражением в рабочей памяти сопоставляются три правила: правило 1, правило 2 и правило 3. Если мы разрешаем конфликты, предпочитая правила с наименьшим номером, будет активизироваться правило 1. При этом X связывается со значением свечи зажигания, и предпосылки правила 1 помещаются в рабочую память. Таким образом, система выбирает для исследования гипотезу о неисправности свечей зажигания. Это можно рассматривать как выбор системой ветви ИЛИ на графе И/ИЛИ. Отметим, что для истинности заключения правила 1 должны быть удовлетворены две предпосылки.
Они являются ветвями И графа поиска, представляющего декомпозицию задачи (действительно ли проблема в свечах зажигания) на две подзадачи (топливо поступает в двигатель и двигатель вращается). Затем можно активизировать правило 4, заключение которого сопоставляется с целевым утверждением топливо поступает в двигатель, и его предпосылки помещаются в рабочую память (рис. 5.5).
Теперь в рабочей памяти существуют три элемента, которые не соответствуют ни одному из заключений в наборе правил. В подобной ситуации экспертная система будет запрашивать пользователя. Если пользователь подтвердит истинность всех трех подцелей, экспертная система успешно определит, что автомобиль не заводится из-за неисправности свечей зажигания. При поиске этого решения система исследовала крайнюю слева ветвь графа И/ИЛИ, показанного на рис. 5.6.
При обнаружении решения реальная экспертная система сообщит пользователю свой диагноз. Необходимо также поддерживать достаточно длинную историю рассуждений, чтобы в случае необходимости возвратиться назад. Если вывод о неисправности свечей зажигания окажется неудачным, нужно иметь возможность возвратиться на второй уровень и проверить правило 2. Заметим, что информация по упорядочению подцелей в рабочей памяти на рис. 5.5 и на графе, представленном на рис. 5.6, явно не выражена. Однако, несмотря на простоту, этот пример подчеркивает важность поиска на основе продукционной системы и его представления графом И/ИЛИ в экспертных системах, основанных на правилах. Ранее мы подчеркивали, что экспертная система должна быть открытой для инспектирования, легко модифицируемой и эвристической по природе. Архитектура продукционной системы является важным фактором для каждого из этих требований. Легкость модификации, например, определяется синтаксической независимостью продукционных правил: каждое правило является "глыбой" знаний, которая может модифицироваться независимо. Однако существуют семантические ограничения, поскольку индивидуальные правила связаны по смыслу. Значит, они должны быть согласованы в любом процессе редактирования или модификации
Объяснения и прозрачность при поиске на основе цели.
Продукционная система осуществляет поиск на графе. Программы подсистемы объяснений на рис. 5.1 отслеживают процесс поиска на графе и используют эту информацию, чтобы отвечать на вопросы пользователя. С помощью продукционных правил каждый шаг процесса рассуждений документируется автоматически. Обычно экспертные системы, основанные на правилах, отвечают на два вопроса — "почему?" и "как?". Вопрос "почему?" возникает, когда программа запрашивает информацию у пользователя, и его ответ означает "почему вы запрашиваете эту информацию?". Ответом является текущее правило, которое система пытается активизировать. Ответом на вопрос "как вы получили этот результат?" является последовательность правил, использованных для достижения цели. Предположим, автомобильная экспертная система имеет средства объяснения, и в процессе работы достигла стадии, представленной конфигурацией рабочей памяти на рис. 7.7. Приведенный ниже диалог начинается с вопроса компьютера к пользователю о целях, представленных в рабочей памяти. Ответы пользователя выделены жирным шрифтом.
в баке есть топливо? да
топливо поступает в карбюратор? да
двигатель вращается? Почему?
Здесь пользователь задает вопрос: "Почему вы хотите знать, вращается ли двигатель?". Система отвечает с помощью символьного представления правила, к которому относится вопрос [
Было установлено, что:
топливо поступает в двигатель
, поэтому если двигатель вращается, то проблема в свечах зажигания.
Поскольку пользователь на первые два вопроса ответил "да", это дало возможность активизировать правило 1 и проверить его первую предпосылку. Отметим, что объяснением поведения системы является только вывод правила,
которое находится в рассмотрении на данный момент. Однако это обеспечивает адекватное объяснение причин, почему программа хочет знать, вращается ли двигатель. В ответ на вопрос "почему" система отмечает, что, по ее данным, топливо поступает в двигатель. Предположим, пользователь далее спрашивает
Как топливо поступает в двигатель?
Ответом является последовательность рассуждений, приведшая к этому заключению. Она восстанавливается обратным проходом от цели вдоль соответствующих правил до информации, введенной пользователем.
Из правила 4 следует:
Если в баке есть топливо и топливо поступает в карбюратор,
то топливо поступает в двигатель.
В баке есть топливо — указано пользователем
Топливо поступает в карбюратор — указано пользователем\
Таким образом, архитектура продукционной системы обеспечивает основу для этих объяснений. В каждом цикле управления выбирается и активизируется новое правило. После каждого цикла программа может быть остановлена и проинспектирована. Поскольку каждое правило представляет "глыбу" знаний по решению проблемы, текущее правило обеспечивает контекст для объяснения. Этим продукционный подход отличается от более традиционных архитектур. Итак, система, основанная на знаниях, отвечает на вопросы "почему?", отображая текущее правило, которое она пытается активизировать. В ответ на вопросы "как?" она предоставляет последовательность рассуждений, которая привела к цели. Хотя эти механизмы являются концептуально простыми, они обладают хорошими возможностями объяснений, если база знаний организована логически грамотно. Можно использовать стеки правил и деревья доказательств для объяснений. Если объяснения должны быть логичными, важно не только, чтобы база знаний выдавала корректный ответ, но и чтобы каждое правило соответствовало одному шагу процесса решения проблемы. Если в одном правиле базы знаний заключено несколько шагов или правила сформулированы произвольным образом, получить правильные ответы на вопросы "как?" и "почему?" будет сложнее. Это не только подрывает доверие пользователя к системе, но и делает программу более трудной для понимания и модификации разработчиками.
