Навіщо йти на теоретичні інформатики / дослідження?


36

Зараз я починаю з університету [інформатики] і там у нас є багато можливостей почати з дослідження. Перш ніж знайти цей веб-сайт, я не мав наміру йти цим шляхом [я хотів працювати з AI, ймовірно, ігровим розробником], але тепер я можу [або мені потрібно] зробити вибір.

Чи можете ви переконати мене приєднатися до цього "світу"? Які "сегменти" я можу прослідкувати? Чи є щось про те, над якими темами працює комп'ютер чи дослідник?


18
Ми шануємо, що сайт вже надихнув вас думати про теорію! І ви прийшли в потрібне місце, якщо хочете дізнатися, над чим працює теоретик-інформатик ... просто продовжуйте читати, і ви дізнаєтесь!
Райан Вільямс

6
Це має бути вікі спільноти.
Дейв Кларк

Щойно приєднався сьогодні і мав те саме питання ... Я займався інженерією з електроніки, але, будучи в коледжі, почав відчувати схильність до CS ... Ніколи не мав офіційного ознайомлення з Теорією, але тепер я радий, що знайшов цей сайт ... І @ Джуліо Суза спасибі за те, що задали це питання. Я буду відстежувати це з сьогоднішнього дня :)
Алан Тьюрінг

@supercooldave змінив його на вікі спільноти.
JulioC

Епілог: JulioC став розробником програмного забезпечення.
domotorp

Відповіді:


32

Я можу розповісти про свої причини, як бакалавр, який подає заявку на аспірантуру TCS цієї майбутньої зими (так мало часу!).

  • Там краса. Це я не можу пояснити (і був свідком того, що інші математики не могли пояснити). Це як «жовтий». Якщо ви цього не бачили, я не впевнений, що міг би вам повідомити, що це таке. Але оскільки ви зацікавились теорією, я, мабуть, ви її переживаєте.
  • Є універсальність. Універсальність поза тезою Церкви Тьюрінга . TCS у своєму ядрі досліджує явища високого та низького рівня інформації - це "фізика" інформації. А оскільки інформація якісно атомна , теорія інформації має щось сказати про фізику (мій професор QM спеціально сказав мені, що він любить теорію інформації). Все це, як сказано, десь між Pure Math та Engineering. Він має здатність та гнучкість робити безпосередній внесок в обох, а також безпосередньо сприяти обом. І все-таки він бореться на власному кордоні.
  • Там є сфера. Про це натякали в попередній кулі. Інформатика знаходить свій шлях у багатьох різних програмах - цікавить усіх, від DHD до стартапів . Ви не знайдете себе таким голодним для фінансування, як Pure Mathematics. (Ви все одно завжди будете голодувати за фінансування.)
  • Є виклик. Погляньте на перелік відкритих проблем теоретичної інформатики (і до кінця розслідуйте їх). Вони дуже важко - ось деякі причини , чому . Ми насправді не розуміємо TCS - більшість наших доказів зводиться до монтажу свідчень. Залишилося стільки роботи!

19

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

Питання:

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

Якби Бог мав аналогічну книгу щодо алгоритмів, який алгоритм, на вашу думку, був би кандидатом?

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

Удачі !


16

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

TCS (на відміну від інших галузей) - це математичне вивчення інформатики. Ви можете працювати над аспектом теорії безлічі різних полів від розподілених систем до машинного навчання. Вибір серед TCS та інших галузей інформатики залежить від того, де лежать ваші смаки та здібності. Якщо ваші природні інтереси і здібності лежать більше в програмуванні або дизайні системи, ніж в математичному аналізі, то, можливо, вам не варто вникати в TCS. З іншого боку, якщо ваші вміння та інтереси лежать більше в математичних аспектах, тоді вам слід врахувати TCS.

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

Хороший спосіб з’ясувати, що ви хочете зробити, - це проходити заняття в багатьох різних областях і, можливо, спробувати як галузь, так і наукові дослідження влітку. До кінця навчання ви, мабуть, матимете гарне уявлення про те, чим хочете займатися.


Мені дуже подобається математика, але я люблю програмування. Можливо, я міг би знайти якийсь спосіб працювати з обома "сторонами" одночасно, як машинне навчання [що є в зоні ШІ, так?]. Наступного року я подам заявку на деякі заняття в моєму університеті, такі як AI та Algorithm Analysis, які можуть мені допомогти.
JulioC

Машинне навчання (принаймні, з моєї точки зору) не є під-областю ШІ, хоча є певне збіг. Грубо кажучи, AI зосереджується на вирішенні проблем, які люди зазвичай вирішують. Машинне навчання фокусується на розробці алгоритмів та систем, які змінюють поведінку по мірі бачення даних. Тож між двома полями явно перекриваються, але вони далеко не однакові. Машинне навчання чітко дає людям можливість займатися і теорією, і програмуванням, але я впевнений, що це не єдине підполе CS, для якого це правда.
Лев Рейзін

11

Теорія мови програмування - це розвага для молодих і старих. Це застосування логіки у реальному світі. Приходьте приєднуйтесь до параду !!

Більш серйозно, для мене теорія мови програмування цікава з таких причин:

  • сприймається вплив на реальний світ: широкомасштабна система роботи в Хаскеллі та інших функціональних мовах, що походить із суто логічних ідей (System F), суттєво впливає на розвиток таких мов, як Java (її жахливі дженерики, закриття) та Scala (сучасна день, де-теорія-зустрічається ігровий майданчик).

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

  • весело: ви можете займатися програмуванням і теорією одночасно, особливо якщо ви формалізуєте і перевіряєте свої теорії за допомогою коректного помічника, такого як Coq.

  • і багато іншого.


11

Однією з головних причин, чому я вважаю теорію обчислень («мою» галузь теоретичної інформатики) захоплюючою і варто вивчити, наступна: вона дає нам можливість дослідити деякі глибокі (а іноді і спантелитні) філософські питання.

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

Тепер, коли ми маємо клас математичних об'єктів, що описують обчислення, ми можемо фактично довести теореми про них, тим самим намагаючись розкрити, що можна обчислити, і як це можна обчислити; відразу виявилося, що безліч ідеально законних функцій взагалі неможливо обчислити, і їх можна класифікувати за ступенем нездатності (деякі функції просто "більш незайняті", ніж інші).

Деякі інші хлопці, перші, як правило, ототожнюються з Юрісом Хартманісом та Річардом Е. Стіарнс, намагалися математично описати, що означає функція (відповідно, проблема), яку важко чи легко обчислити (відповідно, вирішити). Існує кілька заходів складності, згідно з якими можна описати твердість проблем; найпоширеніший - це скільки часу нам потрібно, щоб їх вирішити. Алан Кобхем та Джек Едмондс виявилися досить успішними у визначенні розумного поняття "ефективного обчислення".

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

Центральна відкрита проблема теорії складності, P vs NP , - це лише формалізація іншого філософсько значущого питання: чи справді важче вирішити проблему, ніж перевірити, чи нібито її рішення справді правильне? Я вважаю, що це питання варто задати і відповісти, незалежно від його практичного значення.


+1: сподобалось :) ps: хтось висловив подібну думку в блозі Скотта .
Каве

6

Ми не можемо вас «переконати», оскільки інформатика не є математично кращою, ніж AI або будь-яка інша сфера. Отже, ми не можемо довести її домінування! ІМО, Це швидше питання смаку, ніж все інше.


1
Я згоден з вами, але, напевно, він хоче знати, чому "ви" (або всі інші тут) обрали це поле.
MS Dousti

@ Жуліо Суза: У назві має бути "теоретично", а не "теоретично".
MS Dousti

Я не хочу знати, чи краще, але я хочу знати, чому ви вибрали це поле, як сказав Садек.
JulioC

6

На це питання важко відповісти з певністю, але тут слід пам’ятати кілька речей.

Якщо ви зробите кар'єру вченого-комп’ютера, ваша робота, ймовірно, буде включати не просто обробку та структурування даних таким чином, щоб зробити їх корисним та ефективним у використанні, а й подумати про те, як і чому працює те, що ви робите, а також в які межі він функціонує (якщо з іншої причини, крім того, щоб зрозуміти його достатньо для його реалізації). Це ОСОБЛИВО у випадку AI / NLP / IR, який ДУЖЕ інтенсивно досліджує, навіть якщо ви не вчителі. Насправді, входження в AI в значній мірі гарантує, що ви будете сильно боротися з "теоретичними" проблемами, і насправді вам важко знайти роботу без цього фону. Тож це може бути однією з вагомих причин, яку ви вважаєте.

Мало того, але, мабуть, було б дуже важко провести більшу частину свого життя в будь-якій сфері CS, де вам доведеться підтримувати такий інтимний контакт з такими делікатними і примхливими (і не кажучи вже про складні) процесами, одночасно не підтримуючи ніяких цікавити навіть основи того, чому все працює. Іншими словами, я припускаю, що ви могли склеїти бібліотеки протягом усього свого життя, але якщо це не здається вашою справою, вам доведеться хоча б ознайомитися з основами проблем, з якими ви стикаєтесь.

Хоча активна участь у дослідженні TCS - це питання, на яке, мабуть, тільки ви можете відповісти, хороша відправна точка (IMO) - це почати з огляду на проблеми, які вас цікавлять, і піти звідти. Можливо, вам навіть не вистачить інформації, щоб відповісти на це запитання, тому кращим способом продовжитись можна буде просто побачити, куди вас беруть ваші інтереси.


Дякую за відповідь. Я повністю згоден з вашим POV, працювати над чимось просто роблячи це, не знаючи, чому це працює, як це працює, і якщо я міг би зробити це кращим - це не те, чого я хочу. Я думаю, що я можу спробувати дотримати свої плани з AI [або чимось іншим, що більше нагадує "практичне дослідження"], але я буду намагатися дізнаватися про інші теми в TCS.
JulioC

6

Що мене найбільше заінтригує - це здатність застосовувати теорію інформатики до інших дисциплін, особливо біології та біології клітин. Якщо це поняття також вас заінтригує, я б запропонував вам поглянути на наступне: есе Жаннет Вінг про важливість обчислювального мислення ; та звіт NSF про застосування алгоритмічних об'єктивів до інших наукових дисциплін.

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