Список вступних книг TCS для тих, хто мало що знає про TCS [закрито]


10

Якщо вам доведеться рекомендувати книги тим, хто хоче дізнатися більше про TCS на вступному рівні, таких як теорія автоматів, алгоритміка, теорія складності тощо, яку книгу (-и) ви б рекомендували (а) для тих, хто цікавиться та хоче дізнатися більше про TCS, але не було до нього ніякого впливу?


2
Я думаю, це має бути питанням CW.
Джигілі

1
Дивіться цю мета-дискусію про те, як керувати цим питанням.
Рафаель

3
cstheory.SE має розширений список теж
вул


2
@ Gigili No. Списки книжок раніше були CW, але це вже не робиться. Будь ласка, прочитайте повідомлення в блозі, яке я пов’язав.
Жил "ТАК - перестань бути злим"

Відповіді:


9

Якщо ви хочете мати загальне вступ, не заглиблюючись у технічні деталі, я пропоную « Алгоритміку Девіда Харела : Дух обчислень» . Після цього, це мій список улюблених:

  • Вступ Майкла Сіпсера в теорію обчислень : найкраще введення в теорію автоматів, обчислюваність і складність.
  • Алгоритми С. Дасгупта, Ч. П. Пападімітріу та У. В. Вазірані: найбільш інтуїтивне введення в алгоритми з більш сильним фокусом на інтуїції, ніж технічні докази.
  • Програмування перлів Джона Бентлі : це не підручник з алгоритмів, але він прекрасно демонструє, як використовувати методи проектування алгоритмів для вирішення реальних проблем, які дратували реальних програмістів. :-) Це може бути вдалим початком, якщо ви маєте деякі знання з програмування.

DPV ще не надрукований; це загальновідомо?
Рафаель

Завдяки оцінці цієї відповіді я включив відповіді у сукупну відповідь . Будь ласка, подумайте про видалення своєї відповіді задля наочності.
Рафаель

@Raphael DPV друкується вже кілька років, але він все ще приємно доступний в Інтернеті. Я намагався не посилатися на комерційний веб-сайт, наприклад, Amazon.
Дай

@Dai: Я бачу. Сторінка, на яку ви посилаєтесь, говорить "Це передостанній проект нашого підручника, який незабаром з'явиться". Тому моя плутанина.
Рафаель

7

Я вважаю, що книга Кларка є занадто важкою для когось без тла TCS. Я знаю (особисто) аспірантів, яким важко зрозуміти книгу.
Дай

@Dai, ти, мабуть, маєш рацію, я змінив це на Принципи перевірки моделі Баєра
Даніїл

Чи можна зрозуміти перевірку моделі без основ логіки та / або автомати?
Рафаель

1
Книга Драконів, безумовно, хороша довідка; чи достатньо теоретично? (Я чесно не знаю)
Рафаель

@Raphael "Принципи" дещо дає вступ до логіки (хоча б деяких необхідних знань) та автоматів. Це теж досить велика книга, ~ 980 сторінок. Щодо Книги Драконів, я вважав, що компілятори - це досить теоретична область, чи не так?
Даніїл

6

Для математики, необхідної в аналізі алгоритму, я рекомендую один і єдиний GKP:

Конкретна математика Грем, Кнут, Паташник
Комплексне, якісне лікування практично всієї математики, яка вам знадобиться в (базовій) алгоритмі. Це розважальне читання і включає безліч вправ (та рішень).


Я спробував прочитати цю книгу, але мені це не сподобалось, бо все було дуже ... незграбно та скупчено. Я просто не відчував там краси математики. Порівняйте це з накресленням теорії автоматів Сіпсера або книгами Смульяна про логіку або навіть абстрактною алгеброю Dummit & Foote. Можливо, це тільки я, тхо.
Даніїл

Я другий Даниїл. Це колекція чудових інструментів для теоретиків. Але це занадто сухо і технічно, щоб бути приємним для початківців. Мені дуже подобаються книги, про які я згадував вище, оскільки вони, здається, мають власну душу. Вони читають так, ніби хтось розповідає тобі історії, цікаві.
Дай

На жаль, він не охоплює структурну індукцію, коіндукцію, теорію доменів та всі речі, необхідні для ТКС у стилі теорії B.
Дейв Кларк

@DaveClarke: Правильно. Я не впевнений, що сподіваюся, що будь-яка книга з математики містить щось із цього. Але тоді GKP має бути книжкою cs-math. Він також не містить логіки, тому я повинен трохи перефразувати.
Рафаель

2
@DaveClarke Ви можете, будь ласка, порекомендувати нам кілька книг з математики Теорія Б?
Даніїл

5

Алгоритми 4. Видання Р. Седжевік

Вступ до аналізу алгоритмів П. Флайолета, Р. Седжевік

Вступ до теорії автоматів, мов та обчислень Джей Хопкрофт, Дж. Д. Улман, (Р. Мотвані)
Перше видання 1979 року має більше теоретичних результатів, яких не вистачає у другій редакції 2001 року. Ще не дивився третього Еда.

Вступ до теорії формальної мови М. А. Харрісон
Це з 1978 року, але я все одно хотів би бачити це у списку.

Логікомікс: епічний пошук істини А. Доксіадіс, CH Пападімітріу,
тому що це абсолютно приголомшливо!

Знову комп’ютери та нездатність
до комп'ютерів Гарі та Джонсона 1979 : Посібник до теорії повноти NP

Я хотів би, щоб TAoCP був у цьому списку, але я боюся, що прискіпливий підхід дона Кнута - це не те, що можна вважати "вступним". Сумно ...


Logicomix, безумовно, дорогоцінний камінь, не кажучи, що інші - ні.
Дейв Кларк

Мені не дуже подобається те, як Logicomix зображував Логіків як "божевільних" людей. Ідеї ​​логіки, коли вони пояснюються правильним чином, дуже прихильні до землі і прості, і не зовсім такі "божевільні".
Дай

1
@Dai Погляньте на життя надзвичайних людей, таких як, наприклад, Гедель, Вітгенштейн, Наш і т. Д., Вони були ... ну надзвичайними.
uli

Які з них справді не підходять для початківців?
Рафаель

@Raphael ІМХО всі вони, інакше я б не розміщував їх тут. У деяких може бути крута крива навчання, але я думаю, що це нормально.
uli

4

Якщо ви абсолютно новачок у галузі TCS, то введення Сіпсера в теорію обчислень , безумовно, найкраща книга для початку роботи. Я читав інші вступні книги, і жодна з них, на мою думку, не наближається до способу доведення справи Сіпсера.

Інші, більш конкретні, хороші теоретичні книги:


Вже згадувалося вище.
Дейв Кларк

@DaveClarke Я планував додати до списку більше ресурсів, як це робив зараз, але я також хотів підкреслити, наскільки велика книга Сіпсера, згадуючи її ще раз! :-)
codd

1
Книга Пірса - це дорогоцінний камінь. Я б хотів, щоб це було, коли я робив докторську ступінь (за видами).
Дейв Кларк

@DaveClarke Я зараз використовую його для моєї дипломної роботи за рекомендацією мого радника, і мене це дуже вразило!
codd

1
Дякую за довідку, я розгляну це пізніше сьогодні. Я бачу, що ви професор KUL, я приїжджаю туди наступного року, щоб вивчити безпечне програмне забезпечення (програмне забезпечення Veilige). Який маленький світ.
тріска

3

Деякі хороші книги, що висвітлюють частину теорії B від TCS:

  • Логіка в CS : Логіка в інформатиці: моделювання та обґрунтування систем Майкла Хата та Марка Райана.
    Широке охоплення різних застосувань логіки в інформатиці. Близько 3 курсу курсу.

  • Обчислення лямбди : обчислення лямбда і комбінатори. Вступ Дж. Роджера Хіндлі та Джонатана П. Селдіна.
    Представлено викладення лямбда, що є важливим компонентом основ мов програмування. Близько 3 курсу курсу.

  • Провід в теорії доменів : Вступ до ґрат і порядку (2-е видання) Дейві, Б.А. та Прістлі, HA Cambridge University Press. (2002).
    Розкриває дуже корисну тему, особливо якщо ви плануєте працювати з семантикою. Це трохи математичніше, ніж інші теми, але ранні розділи, безумовно, знаходяться на високому рівні студентів.

  • Семантика : Семантика з додатками: Закуска Ганни Ріїс Нільсон та Флеммінг Нільсон.
    По-справжньому приємне вступ до семантики мови програмування. Замість того, щоб заглиблюватися в якийсь конкретний формалізм, він дає широку презентацію та включає додатки, як правило, не розглянуті в інших книгах з семантики. Може бути корисним для студентів другого курсу.


Я не знаю жодного з них, навіть за репутацією, тому не можу сказати, що вони корисніші (хоча я схильний прийняти ваше слово за це). : /
Рафаель

1
Я додав опис кожної книги. Усі хороші.
Дейв Кларк

3

Це узагальнена відповідь, що містить книги з відповідями з оцінкою не менше п’яти. Будь ласка, обговоріть його вміст у чаті .

Алгоритми та структури даних

  • Вступ до алгоритмів Кормена, Лейзерсона, Рівеста, Штейна (3-е видання 2009 р.)
    Комплексна обробка основних алгоритмів та структур даних та їх аналіз без надто глибокого копання.
  • Алгоритми Дасгупта, Пападімітріу, Вазірані (2006) Найінтуїтивніший
    вступ до алгоритмів з більш сильним фокусом на інтуїції, ніж технічні докази.

Обчислюваність та складність

Формальні мови та автомати

Прикладна теорія

  • Принципи перевірки моделі Баєром, Катоен (2008)
    Масивна книга, яка використовується як всебічне вступ до перевірки моделей.
  • Програмування перлів Джона Бентлі (друге видання 1999 р.)
    Не є підручником з алгоритмів, але прекрасно демонструє, як використовувати методи проектування алгоритмів для вирішення реальних проблем. Можливо, це буде гарним початком, якщо ви маєте певні знання з програмування.

Це не дає відповіді на питання, або якщо це призначено, це не є гарною відповіддю. Ви маєте на увазі, що хтось із початківців TCS повинен прочитати всі ці книги? Якщо ні, як би вони обрали? Майте на увазі, що за вашим правилом ця відповідь, швидше за все, перетвориться на сотні книг
Жил "Так - перестаньте бути злим"

@Raphael Ти ввічливо попросити когось іншого видалити власну відповідь? Зазвичай запитуючий сам може виконати роботу зі зведення своїх улюблених відповідей, змінивши власний текст запитання, але я ніколи не бачив, щоб хтось змусив іншу людину видалити власну посаду, щоб створити свою власну відповідь. Ця зміна ставок стає дивною з цією нарцистичною поведінкою.
Дай

@Raphael: Якщо це зробити CW, це не має права просити когось видалити його власну відповідь. Це як би сказати, що я буду писати книгу / опитувальний документ (який я публікую безкоштовно в Інтернеті), тому я обійдусь і прошу всіх авторів, чиї роботи я цитую, щоб зняти власні документи, щоб уникнути плутанини.
Дай

@Raphael Я не бачу жодного місця, де в ліцензіях CC йдеться про те, що в кінцевому підсумку мою роботу буде запитано хтось інший. Я не знаю, яку фантазію ви маєте з SE, але це точно не Вікіпедія. Я знаю, що ви наполегливо працюєте над тим, щоб "поміркувати" цей веб-сайт, але, будь ласка, також поважайте чужу свободу слова та конфіденційність, і просто дозвольте голосам "вгору / вниз" піклуватися про решту. Я думаю, що ціль cs SE - надати для початківців більш дружній форум, ніж cstheory SE, але мікрорівень управління, яку ви запропонували тут, зробив це набагато гірше.
Дай

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.