Как направить поток информации в граф или ANN? - PullRequest
2 голосов
/ 30 июля 2011

Я строю ненаправленный ANN.Нет отдельных входных или выходных узлов, и все соединения не являются ненаправленными.

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

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

Я надеюсь, чтоэто может создать очень динамичный и реалистичный шаблон ANN с очень точными шаблонами обучения.

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

Есть идеи?

1 Ответ

3 голосов
/ 30 июля 2011

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

Алгоритм кратчайшего пути Дейкстры найдет кратчайший путьот одного узла до каждого другого узла в сети - чтобы вы могли найти все кратчайшие пути к номинированному конечному узлу за один проход алгоритма за O (N ^ 2) времени.

Алгоритм Флойда-Варшаллавычисляет кратчайший путь для каждой пары узлов в сети за O (N ^ 3) времени и требует O (N ^ 2) дискового пространства.Если ваша сеть не меняется, и вы можете позволить себе предварительную стоимость расчета, это может быть хорошим выбором.

...