Leave a comment

deep_econom November 26 2022, 10:13:44 UTC
OpenCog, AGI, графы, AtomSpace.
https://deep-econom.livejournal.com/1042636.html

https://wiki.opencog.org/w/Atom
https://wiki.opencog.org/w/Type_hierarchy
https://wiki.opencog.org/w/Value

Различие между атомами и значениями сделано для того, чтобы предоставить пользователям два очень разных и разных способа хранения информации. Атомы обеспечивают общий способ кодирования графов и графической информации с мощными инструментами для выполнения поиска по графам, а также для манипулирования и преобразования их различными способами. Эта мощь связана с затратами на производительность: атомы хранятся в индексе ( AtomSpace ), глобально уникальны, неизменяемы, а реализация толстая и громоздкая, чтобы обеспечить быстрый поиск и обход графа.
...
По сути, у каждого атома есть связанное с ним хранилище ключей и значений . Тройка (атом, ключ, значение) называется оценкой . В иерархии атомных типов Values ​​наследуются от ProtoAtom .
...
Обратите внимание, что из-за иерархии типов все атомы являются значениями, поэтому при желании можно использовать атом везде, где может находиться значение. Обратное неверно: нельзя использовать значения, как если бы они были атомами.
...

Все эти системы построены на фундаменте из краеугольного камня.
Узлы и связи используются для представления всего, что напоминает теоретико-графовый граф .
Значения используются для присвоения «оценок» атомам: значения могут быть логическими истинными/ложными оценками, но они также могут быть числами, весами, векторами или строками или любой их комбинацией: к каждому атому прикреплена база данных ключ-значение, который может хранить любую информацию об этом атоме.
Это различие между «формой графа» и данными, которые «висят на нем», является центральным для обеспечения возможности высокоскоростного обхода графа и обобщенных запросов к графу .
...

Reply

deep_econom November 26 2022, 10:15:04 UTC
Еще одним фундаментальным краеугольным камнем является Atomese : идея о том, что все, включая запросы к графам, правила перезаписи графов, алгоритмы обработки графов, конвейеры данных и т. п., могут быть представлены с помощью Atom и реализованы с помощью Atom во время выполнения.

Таким образом, атомы можно использовать не только для формирования абстрактных синтаксических деревьев, представляющих какой-либо алгоритм или процедуру, но эти деревья также могут быть исполняемыми.

Одна из вещей, выражаемых как Atoms, - это сам язык запросов : таким образом, можно «запрашивать запросы», что может показаться загадочным, но это то, как на самом деле работают чат-боты (то есть, как чат-боты работают не только в OpenCog, но и в целом).
...

Все атомы в AtomSpace имеют тип. Двумя основными типами атомов являются Node и Link .
Типы образуют иерархию типов : все атомы наследуются от типа «Atom», а сам тип Atom наследуется от ProtoAtom . ProtoAtom сам по себе является базовым типом для значений (таких как значения истинности ), а также для атомов.

Reply

deep_econom November 26 2022, 10:29:25 UTC
https://wiki.opencog.org/w/Atom

Атомы как символы
Атомы обычно хранятся в AtomSpace , и когда они помещаются в AtomSpace, они становятся уникальными. Таким образом, по сравнению с другими языками программирования, атомы можно понимать как символы . AtomSpace - это, по сути, то же самое, что и таблица символов . Таблица символов обычно обладает тем свойством, что все символы в ней уникальны.

Как только атом помещается в AtomSpace, он получает единственный уникальный идентификатор. Этот уникальный идентификатор представляет собой строковое имя узла и исходящий набор ссылок .

В языке программирования Ruby символы буквально называются атомами. Это не случайность! Точно так же символы называются атомами в Прологе . Однако Пролог различает атомы, переменные и (составные) термины; В OpenCog нет. Таким образом, VariableNode играет роль переменной Prolog, а Link - это OpenCog-аналог составного термина.

И LISP, и Guile позволяют прикреплять параметры к символам. Они аналогичны значениям , которые можно прикрепить к атомам.

Reply


Leave a comment

Up