В настоящее время я начинаю учиться в университете, и у нас есть много возможностей начать исследования. До того, как найти этот сайт, я не собирался идти по этому пути [я хотел работать с ИИ, возможно, разработчиком игр], но теперь я могу [или мне нужно] сделать выбор.
Можете ли вы убедить меня присоединиться к этому «миру»? За какими «сегментами» я могу следить? Есть ли что-нибудь о том, над какими темами работает ученый или исследователь?
soft-question
career
JulioC
источник
источник
Ответы:
Я могу связать свои причины, как студент, подающий заявление на программы магистратуры TCS этой предстоящей зимой (так мало времени осталось!).
источник
Действительно, решите ли вы заняться исследованиями в области теоретической информатики, это вопрос выбора. Но даже просмотр вопросов на этом сайте (как вы, вероятно, и сделали), надеюсь, дает вам ощущение широты, объема красоту поля. Я даже не знаю, с чего начать, чтобы указывать вам источники, которые вы можете прочитать, чтобы оценить ту работу, которую выполняют теоретики, но есть один вопрос на этом самом сайте, который, я думаю, может вас заинтересовать.
Вопрос в том:
В настоящее время существует 64 ответа на этот вопрос, охватывающих алгоритмы для небольших задач, больших задач, головоломок и глубокой математики. Я твердо верю, что если бы все, что вы сделали, это просмотрели этот список и прочитали больше о любом из алгоритмов, которые бросаются в глаза, вы бы много узнали о том, что делают теоретические компьютерные ученые и почему мы это делаем.
Удачи !
источник
Причина, по которой многие из нас занялись исследованиями, заключается в том, что мы находим раздвигание границ того, что известно как интеллектуально полезное и приятное. Проведение исследований также дает нам практически беспрецедентную свободу работать над проблемами, которые мы находим значимыми и интересными, и это постоянно ставит перед нами задачи (которые нам нравятся).
TCS (в отличие от других областей) - математическое исследование информатики. Вы можете работать над теоретическим аспектом множества различных областей, от распределенных систем до машинного обучения. Выбор среди TCS и других областей информатики зависит от того, где лежат ваши вкусы и способности. Если ваши естественные интересы и способности лежат в большей степени в программировании или проектировании системы, чем в математическом анализе, то, возможно, вам не следует углубляться в TCS. С другой стороны, если ваши навыки и интересы лежат больше в математических аспектах, то вы должны рассмотреть TCS.
Кроме того, вам не всегда нужно выбирать одну область над всеми другими. Многие люди работают над проблемами как с теоретической, так и с практической стороны. Это распространено, например, в машинном обучении, где мы сначала проектируем и анализируем алгоритмы (часто теоретические), а затем тестируем их в реальном мире (экспериментальный дизайн, приложения и т. Д.).
Хороший способ выяснить, что вы хотите сделать, - это посещать занятия в самых разных областях и, возможно, попробовать свои силы как в промышленности, так и в исследованиях летом. К концу учебы у вас, вероятно, будет хорошее представление о том, чем вы хотите заниматься.
источник
Теория языка программирования интересна для молодых и старых. Это применение логики к реальному миру. Присоединяйтесь к параду!
Более серьезно, для меня теория языка программирования интересна по следующим причинам:
ощутимое влияние на реальный мир: обширная работа системы типов в Haskell и других функциональных языках, происходящих из чисто логических идей (System F), значительно влияет на развитие таких языков, как Java (его ужасные обобщения, замыкания) и Scala (современный день, где-теория-встречается с практикой площадка).
красота: многие инструменты, используемые в теории языка программирования, основаны на логике. Во многом это связано с соответствием Карри-Ховарда, которое демонстрирует тесную связь между правилами логического доказательства и правилами типизации для языков программирования, а также между исключением среза в логике и вычислением в языке программирования. Два недавних прекрасных примера применения логики в исследованиях языка программирования - это обширная работа по разделительной логике в верификации и применение идей доказательства, фокусирующихся на понимании концепций языка программирования, таких как порядок оценки и сопоставление с образцом .
удовольствие: вы можете заниматься программированием и теорией одновременно, особенно если вы формализуете и проверяете свои теории, используя помощника по проверке, такого как Coq.
и многое другое.
источник
Одна из главных причин, почему я нахожу теорию вычислений («моя» ветвь теоретической информатики) интересной и заслуживающей изучения, заключается в следующем: она дает нам возможность исследовать некоторые глубокие (а иногда и загадочные) философские вопросы.
Один из основателей теории вычислений, Алан Тьюринг, попытался определить значение «вычисления функции» для человека, снабженного листом бумаги, дав математическое описание процесса. Я не единственный, кто думает, что он был чрезвычайно успешным, и машины Тьюринга оказались точной моделью многих других вычислительных процессов.
Теперь, когда мы обладаем классом математических объектов, описывающих вычисления, мы можем фактически доказать теоремы о них, пытаясь таким образом раскрыть, что можно вычислить и как это можно вычислить; сразу же выяснилось, что множество совершенно легитимных функций вообще невозможно вычислить и что их можно классифицировать в соответствии со степенью невычислимости (некоторые функции просто «более невычислимы», чем другие).
Некоторые другие ребята, первые из которых обычно отождествлялись с Юрисом Хартманисом и Ричардом Э. Стернсом, пытались математически описать, что значит для функции (соответственно, проблемы) быть трудной или простой для вычисления (соответственно, для решения). Существует несколько мер сложности, в соответствии с которыми можно описать сложность проблем; наиболее распространенным является то, сколько времени нам нужно для их решения. Алану Кобхэму и Джеку Эдмондсу удалось определить разумное понятие «эффективных вычислений».
В рамках сложности вычислений мы можем теперь доказать некоторые результаты, которые соответствуют нашему интуитивному представлению о вычислениях. Мой любимый пример - теорема о временной иерархии: если нам дается больше времени на вычисления, мы можем решать более сложные задачи.
Центральная открытая проблема теории сложности, P против NP , является просто формализацией другого философски значимого вопроса: действительно ли труднее решить проблему, чем проверить, является ли предполагаемое решение ее действительно правильным? Я считаю, что этот вопрос стоит задавать и отвечать независимо от его практического значения.
источник
Мы не можем «убедить» вас, поскольку информатика не математически лучше, чем ИИ или любая другая область. Таким образом, мы не можем провести доказательство его доминирования! ИМО, это больше дело вкуса, чем что-либо еще.
источник
Трудно ответить на этот вопрос с уверенностью, но здесь есть несколько вещей, которые нужно иметь в виду.
Если вы сделаете карьеру ученого-компьютерщика, ваша работа, вероятно, будет включать не только обработку и структурирование данных таким образом, чтобы их было полезно и эффективно использовать, но также и размышления о том, как и почему то, что вы делаете, работает, а также в какие границы он действует (если только по какой-то другой причине, кроме как понять это достаточно для его реализации). Это ОСОБЕННО относится к AI / NLP / IR, который ОЧЕНЬ трудоемок, даже если вы не в академических кругах. Фактически, вхождение в ИИ в значительной степени гарантирует, что вы будете активно заниматься «теоретическими» проблемами, и на самом деле может быть трудно найти работу без этого опыта. Так что это может быть одной из веских причин, по которой вы бы это рассмотрели.
Не только это, но, вероятно, было бы очень трудно провести большую часть своей жизни в любой области CS, где вам пришлось бы поддерживать такой тесный контакт с такими деликатными и капризными (и не говоря уже о сложных) процессах, одновременно поддерживая не Интересуйтесь даже основами того, почему все работает. Другими словами, я полагаю, что вы могли бы склеивать библиотеки до конца своей жизни, но если это не похоже на вашу вещь, вам придется хотя бы мимолетно познакомиться с основами проблем, с которыми вы сталкиваетесь.
Хотя активное участие в исследованиях TCS - это вопрос, на который, вероятно, только вы можете ответить, хорошей отправной точкой (IMO) является начало с рассмотрения проблем, которые вам интересны, и переход оттуда. Вы также можете даже не иметь достаточно информации, чтобы ответить на этот вопрос, поэтому лучшим способом для продолжения может быть просто посмотреть, куда вас интересуют.
источник
Больше всего меня интересует способность применять теорию информатики в других дисциплинах, особенно в биологии и клеточной биологии. Если это понятие вас также заинтриговало, я бы посоветовал вам взглянуть на следующее: эссе Джинетт Винг о важности компьютерного мышления ; и отчет NSF о применении алгоритмического объектива к другим научным дисциплинам.
источник