Генерация мыслЕй из различных отраслЕй, Как от самых от яслЕй и до самых до послЕй. Суть работы мозга |
Головной мозг высших животных управляет работой многих (не обязательно всех) систем живого организма, а также решает задачи, не решаемые другими системами, например, целенаправленный поиск пищи, полового партнёра, убежища, расчёт траектории движения, обработка зрительных образов и т.п. При этом, очевидно, основная функция индивида - обеспечение собственного существования и существования биологического вида. Вся работа мозга направлена на выполнение этой функции, которую можно назвать целевой, т.е. на достижение и поддержание её максимума. Для животных в эту функцию включается, например, потребление пищи, избегание хищников и т.п. Очевидно, что подобные аспекты не являются обязательными для электронных систем искусственного интеллекта и могут не входить в базовый набор его понятий, хотя и могут использоваться в целях моделирования поведения. Например, страх в общем случае не присущ искусственной электронной системе, но можно ввести понятие страха, уровень которого будет возрастать при увеличении времени с момента предыдущего резервного копирования.
Предполагается, что система искусственного интеллекта должна строиться на простых элементах и принципах, а её работа должна обеспечиваться простыми (по возможности) алгоритмами. Например, базовые понятия, которыми будет оперировать система, могут быть простейшими и даже примитивными - "наличие", "отсутствие", "звук", "свет", "состояние комфорта", "дискомфорт" и т.п. Нетрудно заметить, что эти понятия аналогичны применяемым не только естественным интеллектом, но и организмами вообще.
Рассматриваемая система ИИ может быть представлена как иерархическая объектная база данных, содержащая записи (собственно объекты), связанные между собой по некоторым принципам, например "общий - частный". Все объекты БД одинаковы по своей структуре и могут содержать самую разнообразную информацию - логические значения (как самые простые), числовые значения, символы, отдельные слова (строки), наборы слов, т.е. текст, картинки, как битовые (байтовые) поля, звуки, как короткие, одно- и многочастотные, в том числе слоги речи, так и звуки большей продолжительности, включая произносимые слова и предложения. Также объекты БД могут хранить какие-либо действия в виде исполняемых файлов (например, форматов exe, elf или a.out) или наборов двоичных процессорных команд. При этом важную роль играют некоторые строки, являющиеся базовыми понятиями системы, и отдельные наборы слов - правила выполнения или построения чего-либо, выраженные в текстовой форме.
Все иерархические связи сводятся к некоторому начальному (при построении системы) объекту, хранящему значение "ничто", "что-то" или "некоторое абстрактное понятие". Это высший уровень - самое общее значение, понятие или термин, от которого логически происходят все остальные. Достижение этого уровня или получение этого значения как результата при построении логической цепочки ("рассуждений") означает завершение построения цепочки. Непосредственно с этим объектом связаны объекты следующего уровня, содержащие категоризирующую информацию, т.е. сами признаки - звук, зрительный образ, действие, состояние. В искусственной системе в этот набор категорий можно сразу добавить символ, слово и, возможно, текст.
Затем происходит дальнейшее ветвление связей, например, символ является наиболее общим понятием для букв (или других понятий, например иероглифов) какого-либо естественного языка, цифр, общепринятых символов и каких- либо других произвольных символов, принятых в системе. Слово также является наиболее общим понятием для собственно термина "понятие", слов языка, включая специальные термины, в том числе языковые ("существительное", "прилагательное" и т.п.).
Совершенно очевидно, что могут существовать не только межуровневые, но и перекрёстные связи, например, для нестандартного в системе символа один из объектов БД будет содержать графическое обозначение (зрительный образ) этого символа. Тогда для этого объекта иерархические связи пойдут к объекту ("суперобъекту"?), содержащему понятие "зрительный образ", и по цепочке к объекту "нестандартный символ" -> "символ".
Возможно другое построение системы, когда каждый объект БД хранит в себе информацию о своём типе (символ, образ, звук и т.п.). Сравнительная оценка эффективности обоих способов построения требует дальнейших исследований. Возможна также одновременная реализация этих способов.
С точки зрения теории структур данных, основой для построения такой системы может быть граф, в общем случае, ориентированный невзвешенный. Также нетрудно увидеть, что описанная система соответствует семантической сети как форме представления информации.
При вхождении в систему очередных данных может выполняться их поиск в БД, например, по алгоритму BFS, или какому-либо другому, возможно, более эффективному. При отрицательном результате поиска данные заносятся в БД в качестве нового объекта, после чего требуется провести связи к категоризирующим "суперобъектам" (или иерархически производным от них), либо информация о типе должна быть сразу указана для входящих данных.
При положительном результате поиска строится логическая цепочка связей от найденного объекта к "суперобъектам" верхних уровней, т.е. "прослеживаются" рёбра графа до достижения самого верхнего "суперобъекта". Возможно, алгоритмически это будет самая сложная часть системы. Результатом построения может быть сама цепочка, например, "предъявленная картинка содержит образ, соответствующий символу, обозначающему цифру один" и т.п.
Программо-техническое отступление. "Прослеживание" связей в графе по принципу "от частного к общему" может идти в противоположном направлении, чем при формировании системы связей. Это обстоятельство требует применения ненаправленного графа. Формирование системы связей, по крайней мере, на начальном этапе, по аналогии с нейронными сетями, возможно, будет напоминать принцип обучения с учителем. Полностью функционирующая система должна формировать новые связи самостоятельно.
Отдельные узлы этой системы могут являться входами информации, например, запросов на размещение новых данных в системе (с их последующей классификацией), или на выполнение каких-либо действий. Может потребоваться наличие нескольких таких узлов - для запросов на выполнение арифметических и им подобных операций (т.е. с одним и двумя операндами), на запуск исполняемых файлов, на обработку текстовой информации, и даже на обработку звуков и изображений (при необходимости). Такие узлы можно назвать сенсорами, рецепторами или датчиками. Их отличие от органов чувств живых систем - необязательно нейросетевой характер. Крайне желательно, чтобы внутри системы, т.е. в её узлах, хранились бы не только данные (знания и навыки, которым система обучилась), но и алгоритмы обработки узлов - включение (добавление), исключение, соединение, разъединение, поиск и т.п. Операции, реализующие эти алгоритмы, должны находиться в фиксированных (т.е. известных системе) узлах. Если такая реализация является слишком сложной, или недостаточно надёжной, то эти операции реализуются как обычные программные функции, в этом случае являясь аналогом инстинктивных (или записанных в ДНК) механизмов живых систем.
Сенсорные узлы могут как однозначно идентифицироваться для возможности их нахождения при обработке вводимых данных/запросов, так и быть заранее известными системе, причём и то и другое возможно одновременно (идентификация узла потребуется в любом случае). Если сенсорные узлы являются фиксированными, также как и начальный узел построения системы, то они также могут быть корневыми точками построения остовных деревьев на ориентированном графе. При наличии возможности параллельного выполнения процессов граф может просматриваться одновременно от своей "опорной" вершины и от сенсорных вершин. Возможно, это, до некоторой степени, является моделью автоволновых колебаний в мозге животных/человека.
В зависимости от назначения системы искусственного интеллекта может потребоваться наличие кроме сенсорных также и эффекторных узлов, связанных с исполнительными механизмами. Примером может служить узел результата <арифметической> операции. Эффекторные узлы также могут/должны быть фиксированы в системе. Следует отметить такую особенность: фиксированные узлы, - рецепторные и эффекторные, - не обязаны быть связанными с другими вершинами графа, т.е. получается граф с несвязными компонентами (в этом случае такие узлы не могут быть точками начала просмотра графа). Более того, структуры данных, в которые информация вводится или из которых выводится, вообще не обязаны быть узлами (вершинами). При этом могут упроститься алгоритмы обработки данных в этих структурах, например, семантического разбора запроса на выполнение некоторой операции.
Текущий вариант 2008/авг/02.