Знакомый через три рукопожатия

Теория шести рукопожатий: еще одно подтверждение / Хабр

6 РУКОПОЖАТИЙ. КАК ПРОВЕРИТЬ ТЕОРИЮ 6 РУКОПОЖАТИЙ ВК почему-то после 3го пункта уже общие знакомые нашлись). Хм, товарищ то необщительный, всего три гаврика в френдах. Оказывается, с энтой очаровашкой у нас один общий знакомый!. Мы называем это теорией шести рукопожатий. штат Небраска, и Уичита, штат Канзас. Их жителям раздали три сотни писем, не знал брокера, то ему необходимо было передать письмо своему знакомому.

Как ее проверить вконтакте? Напишите в поиске людей любое имя и фамилию, какие придут в голову 2. Из полученного списка выберите человека не из вашего города лучше подальше, чтобы было интереснее 3. Зайдите в его список друзей и перейдите на страницу первого в списке незнакомые друзья ранжируются по рейтингу 4. Повторите пункт 3, считая количество "рукопожатий".

В среднем бывает переходов.

«ВКонтакте» предложила пользователям проверить теорию шести рукопожатий

А поскольку девочка я литературно подкованная, но с вполне банальными ассоциациями, первыми на ум пришло имя сделайте паузу и проверьте себя Все верно, ищем Евгения Онегина. В контакте их аж 2 тыщи Не заморачиваясь, перехожу по верхней ссылке. Хм, товарищ то необщительный, всего три гаврика в френдах. Большая редкость по нынешним временам. Захожу на страничку к первой даме в полосатом купальнике.

У нее друзей побольше.

Теория шести рукопожатий — Википедия

Но скрин ее страницы не вставляется в пост, хоть убейся! Будем искать обходные пути. Пришлось загрузить скрины в галерею и давать ссылки. Интересно, хоть так работать будет? И тема сисектак волнующая наших блогеров мужеска полу, вполне себе раскрыта. С его перечня друзей первой в списке страничка некой Юлианны Жемчуговойпредстающей на своей страничке почему-то сразу в коленно-локтевой позе.

Правило шести рукопожатий: миф или реальность?

Оказывается, с энтой очаровашкой у нас один общий знакомый! Да, там огромное количество ботов. Но как эти данные хранить и обрабатывать? Можно пойти в лоб и писать сразу в MySQL: Цифра не запредельная, но с учетом того, что паук работал на слабом сервере старый одноядерный атлонне совсем радужная.

Можно писать текстовый дамп на диск, а потом всасывать его в базу данных. Причем выборка с такой базы всех друзей пользователя не будет выглядеть как суперэффективный запрос. Можно забить на MySQL и использовать какое-нибудь hash-value хранилище. В качестве хранилища изначально был выбран Kyoto Cabinet, но из-за каких-то странных аномалий в производительности на большой базе состоялся переезд на гугловый LevelDB. Спустя трое суток и полтора терабайта трафика база друзей была получена между прочим, всего лишь 22Гб.

И тут возникает самый интересный вопрос: Алгоритм Флойда-Уоршеллапозволил бы рассчитать дистанции от всех пользователей ко. Алгоритм Дейкстрыпозволил бы найти дистанции от одного пользователя до всех остальных. Существует довольно много эффективных его реализаций, одна из которых и была ради эксперимента использована.

Говоря человеческим языком, данные не помещались в кэш процессора, и тут начинались феерические тормоза. Да, не самый элегантный в мире алгоритм, зато простой как таблица умножения. Позволяет найти кратчайшую дистанцию между двумя пользователями. Реализация его писалась с использованием битовых полей, которые элегантно упихивались в кэш процессора, в результате дистанцию между двумя людьми алгоритм находил где-то за полминуты. При решении ресурсоемких задач я люблю делать такие их реализации, которые будут нормально работать даже на моем скромном нетбуке, а потом уже включать тяжелую артиллерию.

В качестве тяжелой артиллерии использовался скромный сервер с двумя шестиядерными ксеонами X и 32Гб памяти. На нем дистанция считалась уже за 10 секунд на поток. С учетом распараллеливания, за минуту рассчитывались дистанции между парами пользователей. Далее начались странности с данными.