en ru

Размышления об алгоритме разума - AReasoner

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

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

AReasoner

AReasoner - решатель или движок логического вывода.

Состав:
1. Локальная модель мира (онтология).
2. Алгоритм разума.

Локальная модель мира (онтология)


1. Локальная модель - это онтология.
2. Онтология не полная, но с возможностью частичного пополнения из основной (глобальной) БЗ и из внешних источников.
3. Онтология состоит из онтологических атомарных единиц (далее сущности).
4. Модель (локальная онтология) содержит в том числе еще и дополнительные ассоциативные связи между элементами.
5. Ассоциативные связи имеют рад параметров. В частности: вес, надежность, достоверноесть.

Алгоритм разума


1. Подготовка: заполнение начальной онтологии с исходными данными.
2. Постановка задачи (цели).
3. Запуск алгоритма на выполнение.
4. Работа алгоритма. Во время работы может осуществляться запрос дополнительных данных (исходных данных) и запрос недостающих знаний из БЗ (блоков знаний).
5. Вывод результатов и запись результатов в БЗ.
6. Выход из алгоритма.

Описание алгоритма


1. Алгоритм последовательно просматривает все онтологические единицы (сущности) тукущем отображении, применяет к ним правила логического вывода и, таким образом, меняет локальную модель мира.
2. Текущая модуль (отображение) содердит как элементы мира, так и дополнительные (пока не существующие в глобальной БЗ) наложенные на модель мира элементы.
3. Размер текущей модели мира ограничен размерами выделенной оперативной памятью. Поэтому, естественно в "поле зрения" алгоритма не могут присутствовать все знания.
4. В текущую онтологию включаются ассоциативные сущности. При этом учитыватся "вес" ассоциативной связи.
5. Вес ассоциативной связи зависит от текущего контента и в разных ситуациях может отличаться.
6. В алгоритме присутсвует так же понятие "внимания". Это численное значение элементов, которые используются чаще других. У таких элементов "вес" увеличивается, а так же увеличивается вес ассоциированных с ним элементов.

Пример

Например у нас имеется некоторое знание об автомобиле. У автомобиля очень много элементов и, соответсвенно, в системе может находится очень большое кол-во знаний об автомобиле. При этом все знания, так или иначе связаны между собой. Естественно просмотреть и учесть все знания в разумных временных рамках невозможно. Поэтому учытываются только те знания об элементе "автомобиль", которые имеют наибольший вес в текущем контексте. Пусть, к примеру текущим контекстом будет "неполадка двигателя".

По этим двум элементам система автоматически загрузит из БЗ наиболее "весомые" элементы (такие как "двигатель", "карбюратор", "топливо" и т.д.). Элементов будет столько на сколько хватит выделенной оперативной памяти.

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

Таким образом обеспечивается плавное "перетекание" мысли от одного к другому. Так же, в общем-то, осуществляется процесс мышления у человека (и, вероятно, у других животных).

Если понаблюдать за собственным ходом мыслей, то это легко обнаружить. :)

Обсуждение: project-ai.org/forum/viewtopic.php?t=56












© AiKernel 2010-2013
02.07.2012 - 28.12.2012