May. 28th, 2013

avva: (moose)
People of ACM: Christos Papadimitriou

Небольшое интересное интервью с Христосом Пападимитриу, которого я лично знаю как автора любимого учебника по теории сложности (Computational Complexity 1994 года; возможно, недавний учебник Arora & Barak презвошел его, не знаю, не читал; кстати, есть мнения на эту тему?). Еще он один из соавторов отличного учебника алгоритмов (Dasgupta, Papadimitriou, Vazirani, Algorithms), и автор популярного комикса про логику и теорию множеств (!) Logicomix.

Пападимитриу упоминает, что у него был студентом Билл Гейтс, до того, как бросил учиться, чтобы основать Майкрософт. Я не знал, что они написали вместе статью:
When I was an assistant professor at Harvard, Bill was a junior. My girlfriend back then said that I had told her: "There's this undergrad at school who is the smartest person I've ever met."

That semester, Gates was fascinated with a math problem called pancake sorting: How can you sort a list of numbers, say 3-4-2-1-5, by flipping prefixes of the list? You can flip the first two numbers to get 4-3-2-1-5, and the first four to finish it off: 1-2-3-4-5. Just two flips. But for a list of n numbers, nobody knew how to do it with fewer than 2n flips. Bill came to me with an idea for doing it with only 1.67n flips. We proved his algorithm correct, and we proved a lower bound—it cannot be done faster than 1.06n flips. We held the record in pancake sorting for decades. It was a silly problem back then, but it became important, because human chromosomes mutate this way.

Two years later, I called to tell him our paper had been accepted to a fine math journal. He sounded eminently disinterested. He had moved to Albuquerque, New Mexico to run a small company writing code for microprocessors, of all things. I remember thinking: "Such a brilliant kid. What a waste."


Вот эта статья: Gates, Papadimitriou. Bounds For Sorting By Prefix Reversal. Алгоритм Гейтса несложен для понимания и вполне остроумен.
avva: (moose)
Немного из недавнего и накопившегося:

  • Learning to Program: What are the best sites for learning programming?

    Неплохой обзор сайтов с подробными уроками программирования (где видеоуроками, где просто) для тех, кто совсем не умеет и хочет научиться.


  • Data Compression Explained.

    Нечто среднее между очень длинным FAQ'ом и небольшой книгой. Краткое введение в основы сжатия данных и подробный обзор основных подходов и алгоритмов. Написано, по-моему, ясно и аккуратно, но несколько сжато для совсем неопытного в программировании читателя. Не требует знаний об алгоритмах сжатия.


  • You Are Dangerously Bad At Cryptography.

    Отличная запись о том, почему опасно самому наивно использовать криптографические алгоритмы, с несколькими наглядными примерами.

    В дискуссии на HN есть тоже немало интересного. В частности, Томас Птачек напоминает, что его компания Matasano продолжает предлагать широкой публике Crypto Challenges - набор упражнений по прикладному криптоанализу, не требующих предварительных знаний в криптографии. Я сам не пытался пока делать Crypto Challenges, не нашел на это времени, но несколько моих знакомых, которым я доверяю, очень и очень их хвалят. Думаю, что всем, кому хочется больше знать в этой области, стоит попробовать.

December 2025

S M T W T F S
  123 4 56
78 9 10 11 1213
1415 1617181920
21 22 23 24 2526 27
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 28th, 2025 02:43 pm
Powered by Dreamwidth Studios