Софт и безопасность

Софт и безопасность / Операционные системы / Windows /

Случайный выбор в окне браузеров Windows оказался совсем не случайным

02 марта 2010 года, 14:27 | Текст: Юрий Стрельченко | Послушать эту новость

Экран выбора браузера по умолчанию, 1 марта пришедший на Windows-компьютеры европейских пользователей, как выяснилось, содержит ошибку в алгоритме случайной сортировки наименований веб-обозревателей, утверждает программный архитектор IBM Роб Меир (Rob Meir).

Windows-экран выбора браузера по умолчанию сортирует кандидатов как ребенок.
Windows-экран выбора браузера по умолчанию сортирует кандидатов как ребенок.

Напомним: с подачи Opera Software, с конца 2007 года обвиняющей Microsoft в нарушении антимонопольного законодательства из-за включения Internet Explorer в состав всех ОС, Еврокомиссия утвердила предложенную самой корпорацией альтернативу в виде специального экрана с выбором любого другого браузера для его загрузки и последующего использования как основного.

Экран выбора распространяется через службу обновления Windows Update: пользователи XP получают уведомление о новом высокоприоритетном обновлении, владельцы Vista и Windows 7 — о важном патче.

Окно содержит список из 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) и задать нужное число итераций.

Вероятностное распределение браузеров в случае алгоритма «Майкрософт».
Вероятностное распределение браузеров в случае алгоритма «Майкрософт».

Вероятностное распределение браузеров в случае алгоритма Фишера-Йейтса.
Вероятностное распределение браузеров в случае алгоритма Фишера-Йейтса.

Подготовлено по материалам Computerworld.

Каждый день слушайте итоговый подкаст Свободного Радио «Компьюлента»!
blog comments powered by Disqus

Последние новости по теме "Windows":

Архив материалов
  «   Февраль 2012   »  
ПнВтСрЧтПтСбВс
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29