Я работаю с AI, и один из моих алгоритмов должен работать с добавлением и удалением ребер. Я могу сделать это с помощью igraph, но моя проблема: это слишком медленно.Ускоренный способ удаления края по индексу вершин [igraph Python]
Если я работаю с двумя словарями, я могу запустить свой код в 0.2 с. Но с графиком я беру более 5 с. И я не знаю, как улучшить производительность кода.
Код, приведенный ниже, является частью алгоритма. Это удаляет все ребра между двумя списками вершин. Кто-нибудь знает, как это сделать с лучшей производительностью?
for vertexI in self.vertexSI:
for vertexJ in self.vertexSJ:
try:
nOfLoops += 1
edgeID = self.g.get_eid(vertexI.index, vertexJ.index)
self.g.delete_edges(edgeID)
except Exception as e:
nOfErrors += 1
Спасибо.
Hi, Tamás. Как вы говорите, добавление/обновление графика igraph происходит слишком медленно, даже используя строку кода выше. Мое решение выполняло все изменения с использованием только диктаторов и воссоздало новый объект igraph. Для меня это идеально для меня. Теперь я могу делать все, что хочу, с помощью простых структур, и я могу отлаживать и использовать функции обнаружения сообщества из igraph. Большое спасибо за ваш ответ и эту удивительную библиотеку! –