Obecnie rozpoczynam naukę na uniwersytecie [informatyka] i tam mamy wiele możliwości, aby zacząć od badań. Przed znalezieniem tej witryny nie miałem zamiaru iść tą drogą [chciałem pracować z AI, prawdopodobnie twórcą gry], ale teraz mogę [lub muszę] dokonać wyboru.
Czy możesz mnie przekonać do przyłączenia się do tego „świata”? Jakie „segmenty” mogę śledzić? Czy jest coś na temat rodzajów tematów, nad którymi pracuje informatyk lub badacz?
soft-question
career
JulioC
źródło
źródło
Odpowiedzi:
Mogę przedstawić swoje powody, dla których jestem studentem ubiegającym się o przyjęcie na studia dla absolwentów TCS w nadchodzącą zimę (tak mało czasu!).
źródło
Rzeczywiście, czy zdecydujesz się na badania w dziedzinie informatyki teoretycznej, jest kwestią wyboru. Ale nawet przejrzenie pytań na tej stronie (jak zapewne zrobiłeś) daje nadzieję, że poczujesz szerokość, rozkoszujesz się pięknem pola. Nie wiem nawet, od czego zacząć od wskazywania źródeł, które możesz przeczytać, aby docenić pracę, jaką wykonują teoretycy, ale na tej stronie jest jedno pytanie, które moim zdaniem może cię zainteresować.
Pytanie brzmi:
Obecnie istnieje 64 odpowiedzi na to pytanie, obejmujące algorytmy dla małych problemów, dużych problemów, zagadek i głębokiej matematyki. Mocno wierzę, że gdyby wszystko, co zrobiłeś, to przejrzałeś tę listę i przeczytałeś więcej o każdym z algorytmów, które przyciągają twoją uwagę, dowiesz się wiele o tym, co robią informatycy teoretyczni i dlaczego to robimy.
Powodzenia !
źródło
Powodem, dla którego wielu z nas poszło na badania, jest przesuwanie granic tego, co znane jest zarówno pod względem intelektualnym, jak i satysfakcjonującym. Prowadzenie badań daje nam prawie niespotykaną swobodę w pracy nad problemami, które uważamy za znaczące i interesujące, i wciąż stanowi dla nas wyzwanie (co sprawia nam przyjemność).
TCS (w przeciwieństwie do innych dziedzin) to matematyczne studium informatyki. Możesz pracować nad aspektem teorii wielu różnych dziedzin, od systemów rozproszonych po uczenie maszynowe. Wybór między TCS i innymi dziedzinami informatyki zależy od tego, gdzie leżą twoje gusta i umiejętności. Jeśli twoje naturalne zainteresowania i umiejętności leżą bardziej w programowaniu lub projektowaniu systemu niż w analizie matematycznej, być może nie powinieneś iść do TCS. Z drugiej strony, jeśli twoje umiejętności i zainteresowania są bardziej związane z matematyką, powinieneś rozważyć TCS.
Ponadto nie zawsze musisz wybierać jeden obszar spośród wszystkich innych. Wiele osób pracuje nad problemami zarówno od strony teoretycznej, jak i praktycznej. Jest to powszechne na przykład w uczeniu maszynowym, gdzie najpierw projektujemy i analizujemy algorytmy (często teorię), a następnie testujemy je w świecie rzeczywistym (projektowanie eksperymentalne, aplikacje itp.).
Dobrym sposobem, aby dowiedzieć się, co chcesz zrobić, jest wzięcie udziału w zajęciach w wielu różnych obszarach, a być może wypróbowanie zarówno przemysłu, jak i badań w okresie letnim. Pod koniec studiów prawdopodobnie będziesz miał dobre pojęcie o tym, co chcesz zrobić.
źródło
Programowanie teorii języków to zabawa dla młodych i starszych. Stosuje logikę w prawdziwym świecie. Dołącz do parady !!
Mówiąc poważniej, teoria języka programowania jest interesująca z następujących powodów:
postrzegany wpływ na rzeczywisty świat: rozbudowana praca nad systemem typów w Haskell i innych językach funkcjonalnych, wywodząca się z czysto logicznych pomysłów (System F), znacząco wpływa na rozwój języków takich jak Java (jego okropne nazwy ogólne, zamknięcia) i Scala (nowoczesny dzień, w którym teoria spotyka się z placem ćwiczeń).
piękno: wiele narzędzi wykorzystywanych w teorii języków programowania opiera się na logice. Wiele z nich wynika z korespondencji Curry-Howarda, która pokazuje ścisły związek między logicznymi regułami dowodzenia i regułami pisania dla języków programowania oraz między eliminacją cięć w logice a oceną w języku programowania. Dwa ostatnie piękne przykłady zastosowania logiki w badaniach języka programowania to szeroko zakrojone prace nad logiką separacji w weryfikacji oraz zastosowanie pomysłów dowodowych koncentrujących się na zrozumieniu pojęć języka programowania, takich jak kolejność oceny i dopasowanie wzorców .
zabawa: możesz robić programowanie i teorię w tym samym czasie, zwłaszcza jeśli formalizujesz i weryfikujesz swoje teorie za pomocą asystenta dowodu, takiego jak Coq.
i wiele więcej.
źródło
Jednym z głównych powodów, dla których uważam teorię obliczeń („moją” gałąź teoretycznej informatyki) za fascynującą i wartą przestudiowania, jest następująca: zapewnia nam ona możliwość zbadania niektórych głębokich (i czasem zagadkowych) pytań filozoficznych.
Jeden z założycieli teorii obliczeń, Alan Turing, próbował określić znaczenie „obliczania funkcji” dla człowieka wyposażonego w kartkę papieru, podając matematyczny opis tego procesu. Nie tylko ja sądzę, że odniósł ogromny sukces, a maszyny Turinga okazały się dokładnym modelem wielu innych procesów obliczeniowych.
Teraz, gdy posiadamy klasę obiektów matematycznych opisujących obliczenia, możemy faktycznie udowodnić twierdzenia na ich temat, próbując w ten sposób odkryć, co można obliczyć i jak można je obliczyć; od razu okazało się, że wielu całkowicie uzasadnionych funkcji nie można w ogóle obliczyć i że można je sklasyfikować według stopnia niemożliwości obliczenia (niektóre funkcje są po prostu „bardziej nieobliczalne” niż inne).
Niektórzy inni faceci, pierwsi zwykle utożsamiani z Jurisem Hartmanisem i Richardem E. Stearns, próbowali matematycznie opisać, co to znaczy, że funkcja (odpowiednio, problem) jest trudna lub łatwa do obliczenia (odpowiednio. Do rozwiązania). Istnieje kilka miar złożoności, według których można opisać stopień trudności problemów; najczęstszym jest to, ile czasu potrzebujemy na ich rozwiązanie. Alan Cobham i Jack Edmonds z powodzeniem zidentyfikowali rozsądne pojęcie „wydajnego obliczenia”.
W ramach złożoności obliczeniowej możemy teraz udowodnić pewne wyniki, które są spójne z naszym intuicyjnym pojęciem obliczeń. Moim ulubionym przykładem jest twierdzenie o hierarchii czasu: jeśli mamy więcej czasu na obliczenia, możemy rozwiązać trudniejsze problemy.
Centralny otwarty problem teorii złożoności, P vs NP , jest po prostu sformalizowaniem innego istotnego filozoficznie pytania: czy naprawdę trudniej jest rozwiązać problem, niż sprawdzić, czy rzekome rozwiązanie jest rzeczywiście poprawne? Uważam, że warto zadać to pytanie i odpowiedzieć niezależnie od jego praktycznego znaczenia.
źródło
Nie możemy cię „przekonać”, ponieważ informatyka nie jest matematycznie lepsza niż sztuczna inteligencja czy jakakolwiek inna dziedzina. Nie możemy więc przeprowadzić dowodu jego dominacji! IMO, To bardziej kwestia gustu niż czegokolwiek innego.
źródło
Trudno jednoznacznie odpowiedzieć na to pytanie, ale należy pamiętać o kilku kwestiach.
Jeśli zrobisz karierę jako informatyk, Twoja praca prawdopodobnie będzie polegać nie tylko na przetwarzaniu i konstruowaniu danych w sposób, który czyni je użytecznym i wydajnym w użyciu, ale także na zastanawianiu się, jak i dlaczego to, co robisz, działa, a także w który ogranicza jego działanie (jeśli nie z innego powodu niż zrozumienie go wystarczająco, aby go wdrożyć). Jest to szczególnie ważne w przypadku AI / NLP / IR, które jest BARDZO intensywne w badaniach, nawet jeśli nie jesteś w środowisku akademickim. W rzeczywistości wejście w sztuczną inteligencję gwarantuje, że poradzisz sobie z problemami „teoretycznymi”, a znalezienie pracy bez tego tła może być trudne. Może to być jeden z ważnych powodów, dla których warto to rozważyć.
Nie tylko to, ale prawdopodobnie byłoby bardzo trudne do spędzają większość swojego życia w każdej dziedzinie CS, gdzie trzeba by utrzymać tak bliski kontakt z tak delikatnych i kapryśnych (nie wspominając trudne) procesów, przy jednoczesnym zachowaniu nie zainteresować się nawet podstawami, dlaczego rzeczy działają. Innymi słowy, przypuszczam, że mógłbyś skleić biblioteki do końca życia, ale jeśli to nie brzmi jak twoja sprawa, będziesz musiał przynajmniej przelotnie zapoznać się z podstawowymi problemami, z którymi masz do czynienia.
Chociaż czynny udział w badaniach TCS jest pytaniem, na które prawdopodobnie tylko Ty możesz odpowiedzieć, dobrym punktem wyjścia (IMO) jest rozpoczęcie od spojrzenia na problemy, na które chcesz spojrzeć, i przejście od tego. Możesz również nie mieć wystarczających informacji, aby odpowiedzieć na to pytanie, więc lepszym sposobem na kontynuację może być po prostu sprawdzenie, dokąd zaprowadzą Cię twoje zainteresowania.
źródło
Najbardziej intryguje mnie umiejętność zastosowania teorii informatyki do innych dyscyplin, zwłaszcza biologii i biologii komórki. Jeśli ta koncepcja Cię również intryguje, proponuję spojrzeć na: esej Jeannette Wing na temat znaczenia myślenia obliczeniowego ; oraz raport NSF o zastosowaniu soczewki algorytmicznej do innych dyscyplin naukowych.
źródło