2

Я заинтересован в реализации и использовании некоторых сложных алгоритмов теории графов с целью (надеюсь) найти контрпримеры для некоторой гипотезы.Я заинтересован в опровержении некоторых гипотез теории графов в python, какая самая эффективная библиотека/сервер настроена для использования?

Что такое наиболее эффективные библиотеки, настройки серверов, которые вы бы порекомендовали?

Я думаю об использовании API-интерфейса Python.

Для запуска алгоритмов я думал об использовании Hadoop, но, исследуя Hadoop, я чувствую, что он более подходит для анализа баз данных, чем перечисление проблем.

Если мое мнение о Hadoop верное, то какая из лучших настроек сервера вы бы рекомендовали для запуска такого процесса?

Любые выводы о том, как запустить алгоритм в удаленной распределенной среде, которая не потребует много перезаписи кода или стоимости больших денег, были бы полезны.

большое спасибо!

+0

Каков размер кластера? Hadoop может быть излишним, если вы планируете запустить его на одной машине [хотя некоторые могут не согласиться со мной] – amit

+1

Почему Python? Вы уверены, что это правильный язык для работы? –

+1

Кроме того, mapreduce [который является парадигмой hadoop tools] идеально приспособлен для использования на графиках для определенных целей. Существует также пример того, как обратный график веб-ссылок в [канноническом документе] (http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/iw//archive/mapreduce-osdi04.pdf) – amit

ответ

1

Вы можете посмотреть на neo4j, который является базой данных без sql. Если ваши ограничения масштабируемости сильны, это может быть хорошим выбором.

Интерфейс REST на основе, но существуют некоторые питона переплеты тоже (см here)

Вы можете посмотреть здесь для blog с некоторыми приложениями теории графов (небольшое исследование по масштабируемости можно найти here).

+0

Выглядит интересно будет искать их. Благодарю. Однако я хотел бы отметить, что большинство вычислений в моем приложении будет потрачено на перечисление графиков, а не на наличие графиков, хранящихся в базе данных, и их доступ к ним. Я задаюсь вопросом, будет ли это делать с использованием no-sql или любой другой базы данных, необходимой или полезной. – nsimplex

+0

Да, я не уверен, что это соответствовало бы вашим потребностям ... Хотя есть специальный язык запросов для перечисления графа (обход). Он называется Cypher (http://docs.neo4j.org/chunked/1.4/cypher-query-lang.html). Возможно, этого может быть достаточно для первой попытки ... –

3

Вы можете посмотреть CUDA как еще один вариант, если это очень вычислительная задача.