Главная » 2010»Март»3 » 02.03.2010 Случайный выбор браузеров оказался совсем не случайным
12:53
02.03.2010 Случайный выбор браузеров оказался совсем не случайным
Экран выбора браузера по умолчанию, 1 марта пришедший на Windows-компьютеры европейских пользователей, как выяснилось, содержит ошибку в алгоритме случайной сортировки наименований веб-обозревателей, утверждает программный архитектор IBM Роб Меир (Rob Meir). Напомним: с подачи Opera Software, с конца 2007 года обвиняющей Microsoft в нарушении антимонопольного законодательства из-за включения Internet Explorer в состав всех ОС, Еврокомиссия утвердила предложенную самой корпорацией альтернативу в виде специального экрана с выбором любого другого браузера для его загрузки и последующего использования как основного.
Windows-экран выбора браузера по умолчанию сортирует кандидатов как ребенок.
Окно содержит список из 12 браузеров: пяти главных на первой странице (Apple Safari, Google Chrome, Microsoft Internet Explorer, Mozilla Firefox и Opera) и семи дополнительных — на второй (GreenBrowser, Maxthon, K-Meleon, Flock, Avant Browser, Sleipnir и FlashPeak SlimBrowser).
Формирование очередности браузеров должно подчиняться закону случайного распределения. Но на самом деле это не так. Вместо традиционного алгоритма случайного перемешивания Фишера-Йейтса, известного с 1938 года, в «Майкрософт» допустили ошибку, которой грешат новички, — выбрали сортировку массива с заданной функцией сравнения (компаратором). Подобный подход напоминает крайне неудачный учебный алгоритм «пузырьковой» сортировки в терминах его практической непригодности. Г-н Меир проверил свое предположение: взяв алгоритм «Майкрософт», доступный на этой веб-странице, он добавил к нему функции тестирования и выполнил 10 тыс. прогонов. Как выяснилось, Google Chrome чаще оказывается среди тройки первых браузеров в списке, а Internet Explorer, наоборот, располагает меньшими шансами появиться в четверке первых. Более того, браузер «Майкрософт» как назло получает 50-процентную вероятность оказаться на пятой позиции — последней на первом экране выбора. Safari с 40-процентной упертостью стремится занять четвертое место, Opera тяготеет к первому, второму и пятому номерам, а Firefox избегает положения замыкающего. Чтобы убедиться в этом, достаточно открыть эту веб-страницу (желательно в Internet Explorer) и задать нужное число итераций.
Вероятностное распределение браузеров в случае алгоритма «Майкрософт»
Вероятностное распределение браузеров в случае алгоритма Фишера-Йейтса.