У меня есть ненаправленный взвешенный граф с объектами произвольного типа в качестве узлов.Вес ребра между двумя узлами A и B представляет собой сходство этих двух узлов в интервале (0, 1]. Сходство 0 приводит к отсутствию связи между узлами, поэтому граф может быть разбит на части.
Учитывая заданный вес w и начальный узел S, который является алгоритмом для нахождения всех узлов, которые имеют вес> w. Подузлы (если смотреть из S) должны иметь произведение всех весов на пути. Т.е.:
S --(0.9)-- N1 --(0.9)-- N2 --(0.6) -- N3
Начиная с S, узлы будут иметь следующие значения подобия:
N1: 0.9
N2: 0.9 * 0.9 = 0.81
N3: 0.9 * 0.9 * 0.6 = 0.486
Таким образом, при заданном S и целевом весе 0,5 поиск должен возвращать N1 и N3. Если поиск начинается с N2вернул бы S, N1 и N3.
Есть ли у них какие-либо алгоритмы, которые соответствуют моим потребностям?