Если вы ищете расположение, которое не повторяет вершины:
То, что вы, похоже, ищете, - это гамильтонов путь в графе сетки.
Это, как известно, NP-Полное описание общих грид-графиков, см. Гамильтоновы пути в грид-графиках .
Так что вы, вероятно, можете попытать счастья с любым из приближенных / эвристических / и т. Д. Алгоритмов, известных для гамильтоновых путей / евклидовых путешествийЗадача продавца.
Если вы ищете соглашение, которое может повториться, но хотите минимально возможное количество баллов в соглашении:
Это снова NP-Complete.Вышеуказанная проблема может быть сведена к этому.Это связано с тем, что минимально возможное блуждание имеет n вершин тогда и только тогда, когда у графа есть гамильтонов путь.
Если вы просто ищете какое-то расположение точек,
Тогда все вынужно сделать, это проверить, если граф подключен.Если он не подключен, такой договоренности быть не может.
Вы можете выполнить поиск в глубину, чтобы выяснить это.Поиск в глубину также даст вам такую возможность в случае, если график подключен.
Если вы хотите что-то ближе к оптимальному (но в достаточно быстрое время), вы, вероятно, можете использовать алгоритмы аппроксимации для евклидового коммивояжерапроблема.