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

В этой серии из четырех частей мы рассмотрим различные виды графиков как структур данных и сетевых диаграмм, используемых для визуализации данных. Эти методы уже применялись в партнерских проектах SingularityNET, таких как OpenCog и Aigents.

В этом посте мы дадим вводный обзор различных типов графиков, ссылаясь на примеры отрисовки этих графиков с помощью графического фреймворка Aigents. Позже мы рассмотрим некоторые уникальные возможности использования OpenCog в инфраструктуре SingularityNET в качестве общей системы хранения и обработки графов. Наконец, мы также представим некоторые основные параметры визуализации графов, поддерживаемые фреймворком Aigents Graphs, который также будет интегрирован в SingularityNET.

В будущих публикациях будет описано использование графиков в проекте OpenCog Language Learning и агентской системе Aigents News and Reputation, а также будут представлены дополнительные варианты использования и приложения обобщенных гиперграфов и мета-графиков.

Графики: краткое введение

Графики можно рассматривать как минимум с двух точек зрения.

  1. Во-первых, они могут представлять определенные шаблоны, структуры и решения хранения данных, такие как графические базы данных, хранилища триплетов, определенные конфигурации реляционных баз данных или системы, подобные OpenCog AtomSpace.
  2. Во-вторых, графы можно рассматривать как особые способы визуализации данных с помощью различных видов визуальных языков, включающих узлы или вершины, соединенные ссылками или ребрами, как визуальный язык, используемый фреймворком Aigents Graphs.

Давайте вспомним различные способы различения многих типов графиков в соответствии с дорожной картой (или дорожным графиком), представленной выше. Мы будем иметь в виду узлы, связанные ссылками. Все примеры будут проиллюстрированы веб-ссылками на реальные графы, созданные с помощью фреймворка Aigents Graphs.

Изучение многих типов графов

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

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

Более того, можно считать, что граф имеет смешанное направление, если в нем есть как направленные, так и ненаправленные ссылки.

Независимо от направления графы могут иметь структуру с разным уровнем сложности. Например, существует дерево или ациклический граф, определенный так, что любые два узла в графе могут быть связаны только одним путем (т.е. только одной уникальной цепочкой ссылок). Примером такого дерева является граф с участием детей и родителей.

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

Кроме того, существуют циклические графы, в которых несколько путей ссылок могут вести от одних узлов к другим, что позволяет перемещаться по ним кругами. Примером может служить диаграмма дружеских отношений между многими людьми. Обратите внимание, что некоторые узлы, объединяющие уникальные и неуникальные пути из разных ссылок и разных сегментов графа, называются концентраторами или концентраторами.

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

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

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

Более сложная форма графа - это нечеткий взвешенный нечеткий граф, с некоторым значением, прикрепленным к каждой ссылке, указывающим вес ссылок как силу соответствующей связи или вероятность ее существования. Интерпретация и числовая шкала такого веса может варьироваться от случая к случаю, но часто его принимают в диапазоне от 0 до 100% или от 0,0 до 1,0. Хорошим примером такого графа является хранение предпочтений людей, где одни связи между субъектами и объектами могут быть более важными и ценными, чем другие.

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

В наиболее сложном случае каждая из ссылок может быть связана с полным распределением вероятностей, выведенным из журнала предоставленных свидетельств.

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

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

Следует отметить, что каждый гиперграф теоретически может быть представлен более атомарным простым графом, состоящим из большего числа узлов и двоичных связей. Например, единственная гиперссылка «брат», соединяющая трех братьев, может быть представлена ​​узлом «общий родитель» и тремя связями «сына».

Еще более сложной формой графа является мета-граф (или граф более высокого порядка), который позволяет одному графу играть роль узел в другом графе, который называется подграфом, тогда как ссылающийся внешний граф называется суперграфом.

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

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

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

OpenCog - обобщенный гиперграф - уникален просто потому, что поддерживает все вышеперечисленное. Он не имеет отношения к узлам и ссылкам, он имеет дело с атомами, где каждый атом является обобщенной гиперссылкой , который может иметь арность 0 для представления атома или арность 2 для представления любой простой двоичной связи или арность более 2 для представления любой гиперссылки. При этом любая ссылка, являющаяся атомом, может быть связана с другой ссылкой, поэтому мета-граф можно построить несколькими способами.

Более вводную информацию можно найти в следующем видео, основанном на слайдах, упомянутых здесь.

Превращение графиков в визуальные макеты

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

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

Макеты могут быть естественными, основанными на некоторых свойствах узлов, таких как имя, которое может быть отсортировано в алфавитном порядке, или по рангу или важности узла. Естественные макеты являются детерминированными до тех пор, пока у узлов не изменены свойства. Таким образом, каждый раз, когда вы пытаетесь визуализировать одни и те же узлы, они будут отображаться одинаково. Например, детерминированная компоновка в Aigents Graphs вычисляется с горизонтальным расположением, выполняемым на основе естественного алфавитного порядка имени узла (слева направо), и вертикальным расположением, выполняемым на основе ранга узла (наивысший - вверху, самый низкий - внизу. ).

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

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

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

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

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

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

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

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

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

Как вы можете принять участие?

Обязательно посетите наш форум сообщества, чтобы обсудить исследования, упомянутые в сообщении. В ближайшие недели мы предоставим вам более инсайдерский доступ к новаторским исследованиям SingularityNET в области искусственного интеллекта, а также подробно расскажем о наших разработках. Пожалуйста, обратитесь к нашим дорожным картам для получения дополнительной информации.