k001
k001
:...

April 2032
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30

k001 [userpic]
графы и графини

Вчера днём быстренько наваял скриптик на bash/sed/grep, вытаскивающий с livejournal.com френдов данного юзера. Выяснил, что ежели у кого больше 500 френдов - не покажут. Расстроился.

Вечером всё же решил дополнить скрипт с тем, чтобы он полученную инфу заносил в базу данных (MySQL). Сделал, и ну давай базу заполнять! Начал с себя и ещё нескольких юзеров, а потом стало интересно, какие там вообще объёмы, и сойдутся ли у меня юзера на букву z за разумное время. Очень долго сходились, но сошлись. Потом давай заполнять базу на букву y, и выяснилось, что многих на z у меня не хватало. Но и тут всё-таки сошлось к двум часам ночи.

В общем, после заполнения букв y и z у меня в базе осело примерно 15000 ников. После чего я скачал GraphViz и ну давай графы рисовать.

И, в общем, какая-то дрянь получается. Вот ежели взять двух-трёх юзеров, у которых френдов относительно немного (ну, скажем, не больше 10...20), и построить граф их дружбы, причём рекурсивно не углубляться - тогда ничего себе получается картинка. А ежели у кого 100 или 300 друзей, да ещё рекурсивно углубиться, то или ничего не нарисуется (памяти не хватает - 256Мб + своп), или нарисуется такая запутанная-перезапутанная схема, что просто караул.

[info]drouk@lj, а ты как рисовал?

Comments

Не факт, что graphviz лучшее решение для этой задачи
Я сейчас опять посоветую то, что я сам не проверял. Я точно помню, что когда я года три назад искал инструменты для отрисовки графов, мне попадалось несколько решений для изображения больших графов, названий я, к сожалению, не помню, но имеет смысл посмотреть, например, на
http://directory.google.com/Top/Science/Math/Combinatorics/Software/Graph_Drawing/, обращая внимание на слова huge и large.

Та же фигня - строить большие графы тяжело (а ты что думал - это задача достаточно высокого класса).

Можно попробовать еще попытаться использовать http://touchgraph.com - он показывает не весь граф сразу, а несолько нод - более простой инструмент для обычного просмотра.