Предположим, у меня есть большой (несколько тысяч узлов) ориентированный граф G и гораздо меньший (3-5 узлов) направленный граф g. Я хочу подсчитать, сколько изоморфизмов g находятся в G. Другими словами, я хочу знать, сколько уникальных наборов узлов в G соответствует g. Я понимаю, что это экземпляр проблемы изоморфизма подграфа и поэтому NP-полно. Однако, учитывая, что вы можете предположить, что g невелик, существует ли какой-либо разумно эффективный алгоритм для этого?Подсчет подсписных экземпляров
4
A
ответ
1
Несмотря на то, что изоморфизм графа является NP-полным, проблемы, с которыми вы сталкиваетесь в реальном мире, часто довольно просты. Простой грубой силы должно быть достаточно: пусть M_i
будет набором карт из первых i узлов g в узлы G. Начните с m_0
, содержащего пустую карту и протягивая ее по одному узлу за раз, отбрасывая любые карты, которые нарушают ограничение x->y
iff m(x)->m(y)
.
Вы хотите заказать узлы в g, чтобы очень много обрезки происходило раньше. Предполагая, что ваши графики довольно разрежены, вам понадобится заказ, который как можно раньше завершает как можно большее количество ребер, возможно, dfs из узла с наивысшей степенью точности.
Смежные вопросы
- 1. Подсчет экземпляров даты
- 2. Группировка и подсчет экземпляров?
- 3. Подсчет различных экземпляров записей
- 4. Подсчет количества экземпляров
- 5. Подсчет экземпляров в таблице
- 6. SQL - подсчет экземпляров отношения
- 7. Подсчет экземпляров класса?
- 8. Подсчет экземпляров клиентов
- 9. Подсчет отдельных экземпляров строковых объектов
- 10. подсчет экземпляров слова в строке
- 11. подсчет количества экземпляров в строке
- 12. Подсчет экземпляров класса в AppDomain
- 13. Подсчет экземпляров значения в массиве
- 14. Подсчет количества экземпляров в ArrayList
- 15. Подсчет количества экземпляров в excel
- 16. MS Excel: Подсчет количества экземпляров между запятыми
- 17. Регистрация таблиц и подсчет экземпляров различных значений
- 18. Подсчет экземпляров значения параметра в форме доступа
- 19. Подсчет экземпляров строки во вложенном массиве ArrayList
- 20. подсчет нескольких экземпляров числа в диапазоне
- 21. Подсчет экземпляров по диапазонам в столбцах
- 22. Подсчет количества экземпляров условия для строки R
- 23. Подсчет последовательных экземпляров чисел больше значения
- 24. Подсчет экземпляров груза в двух диапазонах
- 25. MySQL: подсчет экземпляров во многих таблицах
- 26. Подсчет экземпляров одного и того же ввода поля
- 27. Django Model Property - подсчет внешнего ключа для нескольких экземпляров модели
- 28. Как использовать подсчет связанных экземпляров вместо атрибутов в OCL
- 29. Подсчет/проверка первых экземпляров записей в таблице mysql
- 30. Подсчет парных экземпляров, где их элементы находятся в разных столбцах
Возможно, http://math.stackexchange.com/ даст вам лучшие результаты - я знаю, что вы ищете, это алгоритм, но вы, вероятно, могли бы разработать алгоритм из теории – veljkoz 2010-11-23 19:34:54
Является ли ваша проблема «одним случаем» или вы хотите общий алгоритм. Я просто спрашиваю, потому что какая-то особенность на мощности краев g может многое помочь ... – 2010-11-23 19:36:09