Я работаю над базой данных графов на ArangoDB и пытаюсь проложить пути через случайную прогулку.Моя цель от начальной вершины V, я получаю, например, 4 случайных пути с заданной глубиной.
Начиная с этого момента, я нашел следующий код, который работает:
FOR vertex, edge, path IN 4..4 ANY 'Vertex/417438' edge_collection OPTIONS {bfs: TRUE, uniqueVertices : True, uniqueEdges : True}
SORT RAND()
LIMIT 3
FILTER IS_SAME_COLLECTION('Vertex', vertex)
RETURN path
Это действительно дает мне 3 пути с глубиной 4, но это занимает довольно много времени из-за SORT RAND () в начале.Я предполагаю, что сначала случайным образом сортируются все возможные решения, а затем возвращается решение.
Как вы думаете, есть способ получить случайные решения, которые стоят меньше времени?
Спасибо за ваше время и заваши будущие ответы