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

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

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

Для тех кто не в курсе, эта теория заключается в том, что все что все жители земли в среднем знакомы друг с другом через цепочку. Мы называем это теорией шести рукопожатий. пятилетняя девочка опосредованно знакома с президентом. на вопрос: сколько надо иметь DNS-серверов, чтобы связать все компьютеры во всемирную сеть. Тео́рия шести́ рукопожа́тий — социологическая теория, согласно которой любые два Люди знакомы между собой в среднем через 4,74 рукопожатия .

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

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

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

Согласно теории шести рукопожатий, мы все знакомы друг с другом через общих знакомых

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

Шесть рукопожатий | Журнал Популярная Механика

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

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

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

Оказывается, с энтой очаровашкой у нас один общий знакомый!

Как я проверяла теорию шести рукопожатий

Итого - ровно 5 шагов. В легком остолбенении ставлю контрольный опыт. Конечно, было бы прекрасно взять данные о друзьях из Facebook, ведь он охватывает весь мир, да и народа там. Такой объем трафика малость не вписывался в стремившийся к нулю бюджет исследования, и вариант с Facebook был откинут.

Мой взгляд был устремлен на ВКонтакте. Да, он охватывает только Россию и СНГ причем неравномерно — в одноклассниках, к примеру, публика постарше. Да, там огромное количество ботов. Но как эти данные хранить и обрабатывать?

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

Можно пойти в лоб и писать сразу в MySQL: Цифра не запредельная, но с учетом того, что паук работал на слабом сервере старый одноядерный атлонне совсем радужная. Можно писать текстовый дамп на диск, а потом всасывать его в базу данных. Причем выборка с такой базы всех друзей пользователя не будет выглядеть как суперэффективный запрос. Можно забить на MySQL и использовать какое-нибудь hash-value хранилище.

В качестве хранилища изначально был выбран Kyoto Cabinet, но из-за каких-то странных аномалий в производительности на большой базе состоялся переезд на гугловый LevelDB.

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

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

Говоря человеческим языком, данные не помещались в кэш процессора, и тут начинались феерические тормоза.

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

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