Главная →
Мой проект →
Метод реализации ИИ
Метод реализации ИИ
Prof
В этой статье я попытаюсь изложить свои соображения, о том как можно реализовать Искусственный Интеллект програмными средствами.
Содержание
Во введение обычно даказывается нужен ли нам ИИ, зачем нам ИИ, а так же история развития различных направлений методов реализации. Эту информацию я предлагаю найти вам самостоятельно. Например: Механизмы сознания .
Термины
- Анализ
- Анализ - разложение целого на части и исследование каждой части в отдельности.
- Ассоциации
- Ассоциации - связаные логически (или нет) обуекты (слова, действия, ...).
- Дедукция
- Дедукция заключается в формулировании гипотез (предварительно сформированные непровереные принципы), а за тем - сбор фактов с целью их подтверждения.
- Действие
-
- Индукция
- Индукция - движение в исследовании от фактов к теории.
- Синтез
- Синтез - воссоединение исследованых в процессе анализа частей в единое, внетренне связвное целое в соответствии с их ролью и значением.
- Событие
- Событие - результат действия.
Нулевое приближение
Предлагаю использовать реализацию ИИ в виде "черного ящика". То есть на входе ИИ имеем данные от различных датчиков (микрофон, клавиатура, видеокамера и т.д.), а на выходе действия ИИ (вывод информации на монитор, колонки, движения(для роботов) и др.). А теперь давайте рассмотрем "черный ящик" более подробно.
Последовательность работы ИИ
Кузнецов С.Н. предлагает блок-схему работы ИИ:
- Настройка
- Восприятие
- Анализ
- Планирование
- Решение
- Действие
На этапе "Настройка" в состояниях Active Explore, Fear, Danger и др. происходит более точное позиционирование, настройка сенсоров, подкачка доп данных в ОЗУ, которые могут понадобиться в дальнейшем.
На этапах "Восприятие" и "Анализ" изучается бОльшее кол-во возможных объектов.
"Планирование" идет глубже, вовлекается больше знаний и опыта для правильного "Решения". Похоже на шахматы. На втором уровне, когда машина продумывает на два хода вперед, играть еще можно... а вот на четвертом уже трудно...
[1]
Что заставит ИИ существовать ИИ (какая цель) - получение заний.
Представление знаний
Знания удобно хранить как данные в базе данных, подгружая их при необходимости в предметную область для анализа и обработки.
Описание AI
Задачи блока AI
I. Управление данными
- Выводить данные после обдумывания.
- При вводе создавать новый поток мыслей для обдумывания введенного.
- Загружать необходимые объекты для обдумывания.
- Выгружать ненужные объекты (для освобождения ресурсов).
- Управление потоками обдумывания (важные - быстрее, средней важности - медленнее, не важные - выгружать).
Поток мыслей (обдумывание) можно завершить, если он пришел к логическому заключению или он имеет не важный характер.
- Создавать новые объекты, не существующие а БД, если это требуется для процесса обдумывания или введены неизвестные данные.
II. Логический вывод
Логический вывод, используя начальные данные, данные, полученные в результате промежуточных вычислений (обдумываний) и промежуточных вопросов. В результате может быть выдан результат юзеру, записи данных в БД, какие-то действия.
III. Непосредственно процесс мышления
Предложение (данные), введеное юзером анализаруется (разбивается на мелкие части, которые можно обработать). Используемые объекты помещаются в предметную область (объектную область). Объектами служат объекты, действия, их свойства и результаты от их взаимодействия (от действий).
- Предметная область
- Предметная область - внутренний мир AI.
- Обдумывание
-
Обдумывание - виртуальное взаимодействие объектов из предметной области. Взаимодействия происходят через действия.
Виды результатов от действий:
1. Вид аксиома - принятое на веру, не доказаное действие одного объекта на другой.
2. Вид гипотеза - не доказаное, но принятое для рассмотрения и проверки.
3. Вид Теорема - доказаное (выведено из других теорем и аксиом).
Результат действия - изменение свойств объекта, удаление объекта с образованием нового (новых) объектов.
Доказательство теорем
Пока не придуно
С чего начать?
Начинать создание ИИ, помоему, нужно с создания структуры базы знаний. База знаний должна храниться в базе данных с включеными в нее связями, ведь знания можно представить, как взаимосвязанные фрагменты. Такой фрагмент в вашей статье называется атом памяти, но для него существует другое название - фрейм . Фрейм должен удовлетворять следующим требованиям:
- Не занимать много места в памяти (в оперативной - при обработке, на венчестере - при хранении).
- Быстрый поиск и извлечение из базы данных для использования.
- Должен содержать как можно больше информации в себе. Например: с кем связан и как именно, когда и как использовался, результаты от его использования в каких-то ситуациях и т.д.
- Должен быть совместим с разными методами анализа и обработки знаний для получения решения в заданой ситуации или для получения новых знаний. Например: должет быть элементом в нейронных сетях, должен быть элементом в логическом выводе (Методики ИИ ) [2].
- Фрейм должен представлять данные различных типов (графика, текст, звуки, связи) без конфликтов.
- С помощья фреймов должно быть реализовано представление действий. Дейтсвием может быть, например, вывод сообщения на экран, если у нас будет программа типа "Чат", или движение манипуляторами, если программа для управления роботом.
- Другие особенности (они обязательно возникнут в процессе разработки).
Источники
- Кузнецов С.Н. Artificial Intelligence - Искусственный Интеллект... мы тоже работаем над этим!
- Качур Д. Методики ИИ
Дополнительно
Статья: Представление знаний в ИИ
Описание модуля UAIFreimA
Описание модуля UAIFreim
ИИ от Prof
E-mail
© Prof 2003
09.11.2009