2218

Когда нечего делать на каникулах - игра в википедии

Далеко не один раз на пикабу мне встречались посты про занимательную игру, где в википедии нужно было добраться до статьи про Гитлера максимум за 6 шагов. Пару раз я в неё даже играла в небольшой компании: было забавно, но каждый раз достаточно просто, так что еще тогда у меня зародилась идея провести небольшое расследование и выяснить, каков шанс выиграть.

Тут очень кстати начались рождественские каникулы, захотелось немножко попрограммировать, и я наконец засела за эту задачку. Проект был назван "Индекс Гитлера", и было решено ограничить себя русской википедией, в которой по данным на 24 декабря 1585950 статей.


Важный дисклеймер: я не одобряю идеи Гитлера, не призываю никого одобрять эти идеи и вообще никого ни к чем не призываю.


Техническое исполнение


Википедия предоставляет довольно мощный API, который позволяет добыть практически любую информацию о нужных статьях. API работал настолько прекрасно, что я прониклась бесконечным уважением к людям, которые это всё написали и поддерживают. Более того, за 5 дней бомбардировки википедии запросами меня не только не забанили, но даже не ограничили скорость.

Началось всё с написания простенького приложения на C# с SQL базой для вытаскивания статей первого уровня, то есть тех, у которых есть прямая ссылка на Гитлера. Делалось это путем вызова API и запроса обратных ссылок (backlinks) со статьи про Гитлера. Первый уровень был вытащен, перешла ко второму, который добывался всё через те же backlinks. С третьим уровнем начались проблемы: по скромным подсчетам для перебора статей третьего уровня мне бы потребовалось около 40 дней, а ждать так долго совершенно не хотелось. К тому же мне хотелось в том числе найти статьи, с которых нет ссылок на Гитлера, так что нужен был какой-то финт ушами. Сделать какой-то умный финт ушами я не осилила, поэтому самым прямолинейным методом просто вытащила все статьи до 8.500.000 идентификатора. Почему именно такая правая граница? Потому что максимальный идентификатор у одной из статей второго уровня был 8.000.000, ну и я еще докинула 500.000. По итогу, я не могу 100% утверждать, что там, за 8.500.000 жизни нет, но если она и есть, то её очень мало, и она не сильно повлияет на конечный результат. Затем нужно было избавиться от всяких служебных статей, и вот уже с такой вычищенной выборкой работать дальше, проверяя, есть ли у статей ссылки на статьи с уже известным уровнем.


Как итоге: в базе 1589569 обработанных статей, т.е. даже больше, чем заявляет википедия. Что-то не отфильтровала, что - не знаю. Но но разница в 3000 пугающей не выглядит.


Ну а теперь самое интересное..


Результаты


Определяя Индекс Гитлера как кол-во шагов, за которые можно дойти до статьи про Гитлера, получаем следующую статистику

То есть с 97% статей можно перейти на статью про Гитлера максимум за 3 шага. Добавим туда четвертый уровень, и получим 99,8%, то есть почти все. А статей 6-го уровня я вообще не нашла. Вместо них, зато, встретились те, с которых нет ссылок на Гитлера. 400 из них не имеют ссылок вообще никуда, не то что на Гитлера.


Результаты поиска статей первого уровня были довольно предсказуемыми: германия, немецкий язык, прочее немецкое, военные деятели, населенные пункты, имеющие непосредственное отношение ко второй мировой войне..

так, а это что такое?

Пошла, проверила, всё так:

К теме трёх поросят неоднократно обращался другой мультипликатор, Тэкс Эвери: так, мультфильм «Blitz Wolf» времён Второй мировой войны использует волка для карикатурного изображения Адольфа Гитлера, два беззаботных поросёнка представляют страны, заключившие с ним пакт о ненападении, и лишь третий поросёнок (сержант Свин), подозревая подвох, готовится к войне.

Второй и третий уровень содержат слишком много статей, чтобы найти какие-то закономерности, поэтому я даже не пыталась. Но может быть вам будет интересно узнать, что от носовой слизи (да, такая статья на википедии тоже есть) можно дойти до Гитлера за 3 шага:


Носовая слизь -> хлорид натрия -> Германия (или Китай) -> Гитлер


Четвертый уровнь и милые сердцу математические термины

Там же химия, астрономия, медицина, неизвестные мне люди и населенные пункты, просто неизвестные мне слова типа Жарри, Мапуче и Бокштейн.


Пятый уровень и еще меньше известных слов. Вот тубус знаю, тубус - это детство. Тело с ручками тоже знаю, метод Гаусса-Зейделя знать должна, но не знаю.

Ну и если вам несказанно повезло попасть в 0.1 процент статей, не связанных с Гитлером никак, вас там встретят Центр художественного перевода и литературных связей Азербайджана, Раздражающий контакный дерматит и Всемирный день кастрации животных. Ну и так, по мелочи.


Вот, собственно и всё. Можно играть смело - шанс выиграть чрезвычайно высок. Если кому-то захочется играть с читами - обращайтесь, могу снабдить каждый день устаревающей базой, там ищутся все нужные ссылки.


С наступающим!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества