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


