Некие люди занимались верификацией всякого кода на Джаве и столкнулись с трудностями при доказательстве корректности TimSort'a - алгоритма сортировки, издавна используемого в Питоне и Джаве. Оказалось, что он некорректен, на некоторых данных не работает вообще.
Proving that Android’s, Java’s and Python’s sorting algorithm is broken (and showing how to fix it)
Кому вообще нужны эти теорем-пруверы? Питон, тесты, махание руками!
Proving that Android’s, Java’s and Python’s sorting algorithm is broken (and showing how to fix it)
Кому вообще нужны эти теорем-пруверы? Питон, тесты, махание руками!
no subject
Date: 2015-02-25 06:16 am (UTC)no subject
Date: 2015-02-25 06:20 am (UTC)Ай, память подвела-таки, двоичный поиск же, не quick sort:
http://habrahabr.ru/post/91605/
no subject
Date: 2015-02-25 07:05 am (UTC)no subject
Date: 2015-02-25 08:37 am (UTC)no subject
Date: 2015-02-25 09:37 am (UTC)Там ссылка и на баг с бинарным поиском.
no subject
Date: 2015-02-25 09:49 am (UTC)no subject
Date: 2015-02-25 09:50 am (UTC)no subject
Date: 2015-02-25 09:56 am (UTC)Но на
> (and showing how to fix it)
надо ж радоваться полчаса!
no subject
Date: 2015-02-25 10:31 am (UTC)no subject
Date: 2015-02-25 10:31 am (UTC)no subject
Date: 2015-02-25 10:36 am (UTC)Надеюсь, расползётся и побольше народу узнает.
Например, средствами чОрного пеара —
"Воон там какие-то придурки со своей математикой припёрлись и чо оно получили? Малозначительную issue нашли. Всё бы им в своей ерунде ковыряться, а не работать!" ;-)
Можно гораздо красочнее расписать, если чуть постараться ;-)
no subject
Date: 2015-02-25 12:23 pm (UTC)no subject
Date: 2015-02-25 01:33 pm (UTC)no subject
Date: 2015-02-25 01:35 pm (UTC)no subject
Date: 2015-02-25 02:27 pm (UTC)no subject
Date: 2015-02-25 02:30 pm (UTC)no subject
Date: 2015-02-25 03:34 pm (UTC)no subject
Date: 2015-02-25 03:46 pm (UTC)no subject
Date: 2015-02-25 06:37 pm (UTC)no subject
Date: 2015-02-25 09:52 pm (UTC)Массивы в 67'000'000 элементов вполне встречаются (как раз тот размер, который ещё можно локально обрабатывать без mapreduce)
git clone https://github.com/abstools/java-timsort-bug.git
cd java-timsort-bug
javac *.java
java TestTimSort 67108864
no subject
Date: 2015-02-26 08:52 pm (UTC)https://bugs.php.net/bug.php?id=61095) так проблемы, а вы тут с иногда неработающей сортировкой лезете :)
no subject
Date: 2015-02-27 06:54 am (UTC)