Алгоритмы - это сердце и душа computer science. Без них не обойтись, они есть везде - от сетевой маршрутизации и расчетов по геномике до криптографии и машинного обучения. "Совершенный алгоритм" превратит вас в настоящего профи, который будет ставить задачи и мастерски их решать как в жизни, так и на собеседовании при приеме на работу в любую IT-компанию. Если вы уже достаточно прокачались в асимптотическом анализе, жадных алгоритмах и динамическом программировании, самое время рассмотреть понятие NP-трудности, которое часто вызывает неподдельный страх. Тим Рафгарден покажет, как распознать NP-трудную задачу, расскажет, как избежать решения с нуля, и поможет найти эффективные пути решения. Тим Рафгарден - профессор Computer Science и Management Science and Engineering в Стэнфордском университете. Он изучает связи между информатикой и экономикой и занимается задачами разработки, анализа, приложений и ограничений алгоритмов. Среди его многочисленных наград - премии Калая (2016), Гёделя (2012) и Грейс Мюррей Хоппер (2009).
An excellent finale to an excellent series. A bit rushed in some places maybe but it cleared up a few major points for me. So that was great. The author did decide to redefine NP in terms of search problems. He made it clear that he was doing so. And maybe it should have been done that way originally. But it wasn’t. You can’t say everyone else calls it a duck but I’m going to call it a dog. That’s just confusing. For this faux pas he gets a four rather than a five.
This whole series is fantastic for those wanting to gain a deep understanding of algorithms. The one drawback is that there are no solutions for most of the problems.
This is the clearest and most intuitive introduction to algorithms for NP-hard problems out there! My favorite parts: the description of the Bellman-Held-Karp Algorithm, the chapter on the FCC Incentive Auction, the list of "acceptable inaccuracies" about NP-hardness, and the reduction diagram in Chapter 19.