Организовано Heart of the Machine, участвовали: Сыюань, Сяокунь.
В слове алгоритм есть магия, кажется, что любую рабочую задачу можно автоматизировать, добавив его, и любое волшебное новое открытие невозможно отделить от помощи алгоритмов. Так что же такое алгоритм и как его изучить? В этой книге с открытым исходным кодом «Алгоритмы» автор неоднократно использовал и пересматривал на основе 20-летнего опыта преподавания алгоритмов и завершил окончательную версию перед публикацией несколько дней назад.
"Алгоритмы" основаны на сборнике конспектов лекций, написанных Джеффом Эриксоном, профессором компьютерных наук Иллинойского университета в Урбане-Шампейне, для различных курсов по алгоритмам.Этот учебник издается в Иллинойском университете в Урбане-Шампейне с января. 1999. Джефф Эриксон Эриксон использует эту книгу для преподавания алгоритмического курса раз в год. Джефф Эриксон значительно пересмотрел конспект лекций в 2016 году в результате изменений в курсе теории бакалавриата; эта книга является частью пересмотра профессором Эриксоном самого основного материала курса, чтобы в первую очередь отразить алгоритмическое содержание нового вводного курса теории.
Домашняя страница книги с открытым исходным кодом:Джефф Э. В это время Иллинойс Квота/обучение/Али…
Курс алгоритмов, преподаваемый профессором Эриксоном в Иллинойсе, имеет две важные предпосылки: курс дискретной математики и курс основных структур данных. Поэтому этот учебник может не подойти большинству студентов в качестве первого курса по структурам данных и алгоритмам. В частности, профессор Эриксон предполагает знакомство как минимум со следующими конкретными темами: дискретная математика, методы доказательства, концепции итеративного программирования, основные абстрактные типы данных, основные структуры данных, основные алгоритмы, анализ основных алгоритмов, зрелость математической компетентности.
Дополнительная информация об этой книге:
Профессор Эриксон намерен в ближайшем будущем самостоятельно напечатать книгу, но не беспокойтесь, после публикации ресурс останется бесплатным.
Профессор Эриксон уже много лет ведет проект на GitHub, посвященный отслеживанию ошибок для этой книги.
Профессор Эриксон ясно дает понять, что любой желающий может загрузить электронную или бумажную копию и что разрешено использование, воспроизведение и/или распространение любого контента на этой странице.
Книга основана на двух курсах: CS 374 (весна 2018 г.) и CS 473 (весна 2017 г.), и Эриксон также предоставляет курсовые работы и тесты на другой странице.
Адрес гитхаба:GitHub.com/Jeff Брат Рик…
Адрес работы:Джефф Э. В это время Иллинойс Квота/обучение/Али…
Скачать книгу
Профессор Эриксон предоставил нам два метода загрузки: одностраничную и двухстраничную версию. Одностраничная версия удобна для просмотра на компьютере, а двухстраничная версия удобна для печати бумажных книг, совести~
Одностраничная версия:Джефф Э. В это время Иллинойс Квота/обучение/Али…
Двухстраничная версия:Джефф Э. В это время Иллинойс Квота/обучение/Али…
Помимо загрузки книг, Джефф также предоставляет множество учебных материалов, в том числе PPT для CS374, темы CS 473, не затронутые в этой книге, и некоторые учебные материалы для формальных языков. Некоторые из этих ресурсов содержат уникальную информацию, но примечания по-прежнему не так совершенны, как учебники, и читатели могут найти эти дополнительные ресурсы курса на домашней странице учебника.
алгоритм
Теперь, когда мы все готовы войти в эту яму, каково конкретное определение алгоритма? Чем он отличается от алгоритмов машинного обучения, с которыми мы знакомы? В первой главе книги Джефф Эриксон дал конкретное определение и происхождение алгоритма, теперь давайте перейдем к слову «алгоритм».
Алгоритм представляет собой набор недвусмысленных, точных, однозначных и механически выполняемых последовательностей основных элементов инструкций, обычно предназначенных для выполнения конкретной целевой задачи. Инструкция описывает вычисление, которое при запуске может начинаться с начального состояния и начального ввода (возможно, пустого), проходить через конечный и четко определенный ряд состояний, в конечном итоге производить вывод и останавливаться в конечном состоянии.
Например, следующий псевдокод определяет «алгоритм» пения «99 бутылок пива на стене», мы просто установили n равным 99, и он точно такой же, как и в оригинале. Это набор точных и недвусмысленных элементов инструкции: присвоить каждый раз целое число i от n до 1, ввести i в текст песни и спеть его, а в конце спеть еще две строчки.
Слово «алгоритм» в конечном итоге превратилось из «алгоритм» в современный «алгоритм», который в основном произошел от народной этимологии греческой арифметики (арифмос). Поэтому до недавнего времени термин «алгоритм» использовался исключительно для обозначения методов механических вычислений, в которых для вычисления битовых значений используются арабские цифры. Человека, обученного выполнять эти процедуры быстро и надежно, можно назвать арифметиком или оператором ЭВМ. Конечно, вы также можете назвать это компьютером и проще.
Поэтому для машинного обучения термин «алгоритм» очень широк, поскольку это детерминированный вычислительный процесс для конкретной задачи, мы можем назвать его алгоритмом. Давайте подробно рассмотрим темы и содержание «алгоритмов» в этой книге:
Джефф Эриксон — профессор компьютерных наук в Университете Иллинойса в Урбана-Шампейн, занимающийся исследованиями в области алгоритмов, структур данных итопологияОн получил премию Национального научного фонда за карьеру и Высшую награду за преподавание в бакалавриате.
Переиздание книги стало хитом на ycombinator: за 14 часов было получено более 180 комментариев.
Пользователь сети примитивный suave сказал:
Джефф Эриксон был моим профессором алгоритмов в 2012 году. Он является воплощением красноречивого, страстного педагога, которого я когда-либо встречал. Я много раз читал эти заметки, чтобы подготовиться к довольно сложному экзамену. По секрету расскажу вам анекдот, распространенный среди одноклассников в его классе: На 25% тестовых вопросов, если вы напишете «Я не знаю», вы будете вознаграждены за признание своих недостатков, и это убережет профессора от исправления вас. время для плохого ответа.
Нетизен каап сказал:
Он был моим профессором алгоритмов в 1999 году, и мои однокурсники хорошо его приняли. Его объяснение рекурсии идеально (раздел 1.2): «Рекурсивные алгоритмы надеются решить за вас все более простые подзадачи. Вам все равно, какой метод вы используете, просто ешьте дыни».