Was beinhaltet Forschung in der theoretischen Informatik?

11

Ich versuche zu verstehen, worum es in der theoretischen Informatikforschung geht. Was machen theoretische Informatiker?

Ich weiß, dass viel Zeit für das Unterrichten, die Betreuung von Doktoranden, die Beantragung von Finanzmitteln und für Abteilungsaufgaben aufgewendet wird. Wenn Sie sie beiseite legen, wie verbringen Sie Ihre Forschungszeit? Was sind die Hauptaktivitäten, die Sie normalerweise ausführen? Ich vermute, dass Sie Papiere lesen, nachdenken, Besprechungen abhalten und Dokumente schreiben. Gibt es noch andere?

Student cs Student
quelle
4
"Wie verbringst du deine Forschungszeit?" ... vor Problemen, die ich wahrscheinlich nie lösen kann :-) :-)
Marzio De Biasi
7
Das ist so, als würde man Malerei als "Mischen von Farben, Montieren einer Leinwand, Malen und Reinigen der Instrumente" beschreiben. Mit anderen Worten, es beschreibt, wie es für jemanden aussehen könnte, der zuschaut, hat aber keinen Bezug zu dem, worum es auf dem Feld geht :)
Suresh Venkat
1
Andere Aktivitäten: Sport, Wandern, kulturelle Aktivitäten und allgemein ein Leben. Andere Dinge zu tun hilft Ihrem Denken (und Ihrer Gesundheit).
Babou
7
Ich denke, die Frage bezieht sich nicht auf die Philosophie der TCS-Forschung oder darauf, was Sie zu einem besseren Forscher macht, sondern wirklich darauf, welche konkreten Aktivitäten ein TCS-Forscher während der Arbeitszeit ausführt. Neben dem, was bereits in der Frage enthalten ist, würde ich hinzufügen, Vorträge vorzubereiten, Vorträge zu halten, an Konferenzen teilzunehmen, ihre eigenen Papiere Korrektur zu lesen und Papiere anderer zu überprüfen.
Daniel Marx
2
Vielen Dank. Ich habe eine Vorstellung von der Art der Forschungsfragen, die Sie studieren. Ich möchte mehr über Ihre täglichen Aktivitäten erfahren. Forschung in der Softwareentwicklung beinhaltet die Entwicklung von Computerprogrammen, das Ausführen von Experimenten, das Sammeln und Analysieren von Daten, ... Ich möchte wissen, worum es bei der theoretischen Forschung geht. Wie sieht Ihr typischer Arbeitstag aus?
Undergrad CS Student

Antworten:

12

In Bezug auf Themen

Es gibt verschiedene Arten von Themen, die als theoretische Informatik angesehen werden können. Das wichtige Wort hier ist " theoretisch " (da wir alle eine Vorstellung davon haben, womit sich die Informatik befasst). Das Wort theoretisch zu verstehen ist nicht so offensichtlich. Ich habe es lange Zeit als mathematisch verstanden, im Gegensatz zum Beispiel zum "Hacken". Ich habe besser von Leuten in der Linguistik gelernt: theoretischFür sie bedeutet dies eindeutig nicht mathematisch, sondern basiert auf einer Theorie, die etwas informell sein kann (obwohl sie auch mathematisch sein kann), und ist ein organisierter Wissens- und Konzeptsatz, der das Verständnis beobachtbarer Phänomene strukturiert und hoffentlich eine deduktive und prädiktive Verwendung ermöglicht des erworbenen Wissens. Es reduziert auch die Menge an Lernen und Lehren, indem es die Anzahl der primitiven Konzepte reduziert, aus denen der Rest abgeleitet werden kann.

Theoretische kann entgegengewirkt werden praktisch , das ist , wie dieses Wissen tatsächlich laufen Rechenmaschinen verwendet wird, um Build - Systeme usw. kann ich auch entgegengesetzt werden angewendet , welche die Verwendung dieses Wissen Adresse Probleme in anderen Bereichen der Wissenschaft und Mensch Aktivitäten.

Aber ich bezweifle, dass es klare Grenzen gibt.

Die theoretische Informatik deckt jedoch verschiedene Bereiche ab, und ich werde versuchen, einige zu geben, während ich sicher bin, dass ich andere vergesse und dass andere Menschen dieser Organisation möglicherweise nicht zustimmen.

  • Eine Domäne ist die Berechenbarkeit , die untersucht, was berechnet werden kann und wie in einem eher abstrakten Sinne: weitgehend das, was in Suresh Venkats Antwort beschrieben wird.

  • Eine andere ist die Algorithmusik , die effektive Mittel findet, um Antworten auf bestimmte Probleme mit bestimmten Einschränkungen zu berechnen. Berechenbarkeit ist ein theoretischer Kontext für die Algorithmusik.

  • Die Semantik (aus Mangel an einem besseren Namen) analysiert die konzeptionelle Organisation von Rechenproblemen und Algorithmen in übergeordnete Konzepte, um Techniken zu faktorisieren, die sich als nützlich erwiesen haben und häufig wiederverwendet werden, wie das Konzept des Unterprogramms, Daten- Strukturen, Module, Informationen verstecken. Es beinhaltet die Entwicklung mathematischer Werkzeuge, die diese Konzepte angemessen formalisieren, um eine Argumentation auf hoher Ebene zu ermöglichen (z. B. Scott-Semantik). Es berührt auch die Art und Weise, wie dies ausgedrückt wird, also die Trennung und Beziehung zwischen Syntax und Semantik. Programmiersprachenkonzepte sind Teil davon (obwohl Sprachdesign wahrscheinlich die praktische Anwendung dieses Wissens ist). Es kann auch die Beziehung zwischen Beweistheorie und Berechnungstheorie und die moderne Rolle von Typsystemen umfassen.

  • Ein weiteres Thema, das sich weiter entwickeln könnte als bisher, ist das Verhältnis zwischen Berechnung und Grundlagenphysik. Beispielsweise. Gibt es einen Zusammenhang zwischen den Grenzen der Berechnung und den Eigenschaften der physikalischen Welt, wie der physikalischen Informationsdichte oder den Gesetzen der Thermodynamik? Quantum Computing kann unsere Rechenleistung ein wenig verbessern. könnten wir auf mehr hoffen? Einige mögen bestreiten, dass dies immer noch TCS ist, obwohl es TCS-Studien zur Hyperberechnung gibt .

In Bezug auf bestimmte Aktivitäten

Ich überspringe die offensichtlichen Aktivitäten, die das akademische Leben erfordert. oder wissenschaftliches Leben in der Industrie: Lehren, Veröffentlichen, Überprüfen von Papieren, Schreiben von Zuschussanträgen, Übernehmen akademischer Verantwortung, Verwalten von Personen, Beraten von Studenten oder politischen Entscheidungsträgern. Aber selbst dann gibt es keine einfache Antwort auf Ihre Frage. Hier skizziere ich nur einige Aspekte, die mir in den Sinn kommen, aber ich bin sicher, dass noch viel mehr zu sagen ist. Und ich bin nicht sicher, ob ich dir antworte. Einige der besten Wissenschaftler haben Bücher über ihre Arbeit geschrieben, und das kann Ihnen Hinweise auf wissenschaftliche Aktivitäten geben.

Theoretische Forschung kann eine Vielzahl von Dingen beinhalten, abhängig von Ihren Fähigkeiten und Interessen, die von Wissenschaftler zu Wissenschaftler sehr unterschiedlich sind. Es ist etwas schwierig, darüber zu sprechen, da jede Person mehr ihre eigenen Aktivitäten und Interessen wahrnimmt als die anderer. Die meisten Forschungen erfordern ein breites Wissen, da interessante und wirklich originelle Ergebnisse häufig darin bestehen, Dinge in Beziehung zu setzen oder eine Technik von einem (Unter-) Feld auf ein anderes zu übertragen oder unterschiedliche technische Ansichten über dasselbe Problem zu erhalten. Es ist also wichtig, so viel wie möglich in der Breite und Tiefe zu lernen. Denken Sie daran, dass, obwohl Sie als Student oder als Junior-Fakultät / Wissenschaftler die Zeit und die Fähigkeiten dafür haben, beide aufgrund von Verantwortung und Leben im Allgemeinen später reduziert werden. Wenn Sie lehren, worauf Sie sich nicht spezialisiert haben, können Sie möglicherweise weiter lernen.

Die Art der Arbeit, die Menschen leisten, kann sehr unterschiedlich sein, da die Menschen glücklicherweise sehr unterschiedlich sind, mit einer Vielzahl von Interessen und technischen Fähigkeiten, die sich gegenseitig ergänzen. Einige Leute sind Problemlöser. Sie betrachten theoretische oder praktische Fragen, die von anderen oder von sich selbst aufgeworfen wurden, und versuchen, sie zu lösen oder einer vollständigen oder teilweisen Lösung näher zu kommen. Andere Menschen werden besser in der Lage sein, vorhandenes Wissen zu strukturieren, Dinge in Beziehung zu setzen und dann neue Fragen zu finden, die sie stellen können. Beides ist wichtig.

Es ist wichtig, einfachere Beweise für technische Ergebnisse oder einfachere Darstellungen von Theorien zu finden oder Konzepte zusammenzuführen. Es verallgemeinert die Ergebnisse, reduziert die Anzahl der zu lernenden Dinge, betont die wesentlichen Ideen und bringt möglicherweise neues Verständnis. Da unsere Lernzeit begrenzt ist, ist Fortschritt nur möglich, wenn wir Wissen verdichten.

Ein einfaches Beispiel ist das Studium abstrakter Familien formaler Sprachen. Bei der ersten Entwicklung der Sprachtheorie wurden für jede Sprachfamilie (regulär, kontextfrei, RE, ...) immer wieder Schließungseigenschaften unter verschiedenen Operationen nachgewiesen, wobei die Ad-hoc-Techniken von der Familie abhingen. Dann stellte sich heraus, dass diese Verschlusseigenschaften unabhängig von den betroffenen Familien intrinsische Beziehungen hatten, und sie wurden als solche untersucht. Heute müssen wir nur einige der einfacheren Verschlusseigenschaften für eine bestimmte Familie überprüfen , und wir erhalten "kostenlos" eine ganze Reihe anderer Eigenschaften.

Ein weiterer wichtiger Punkt ist, dass es keine so klare Unterscheidung zwischen theoretischer, praktischer oder experimenteller Arbeit gibt. Eine gute Theorie kann zur Implementierung von Systemen führen, die die Lösung von Problemen mechanisieren können. Und es wird einen guten Theoretiker brauchen, um ein solches System mit einer Mischung aus theoretischer und praktischer Arbeit, einschließlich Systemimplementierung oder Sprachdesign, zu implementieren. Viele Beispiele kommen in den Sinn, wie Beweis- und / oder Programmsynthesesysteme, eine Fachsprache für synchrone parallele Systeme, eine eingeschränkte algorithmische Sprache, für die die Komplexität der Berechnungen systematisch abgeleitet werden kann. Es ist nicht nur wichtig, solche praktischen Systeme herstellen zu können, die theoretische Ergebnisse breiter verfügbar und nutzbar machen, sondern es ist für Theoretiker oft sehr wichtig, diese Systeme entweder effizient zu nutzen, wenn auch nur die jetzt weniger kreativen Teile seiner Systeme zu entladen arbeiten oder zur Entwicklung und Erweiterung dieses Systems beitragen.

Ein weiterer Aspekt besteht darin, theoretische Ansätze durch praktisches Experimentieren vergleichen zu können. Hier geht es darum, verschiedene Techniken zu vergleichen, um das gleiche Ziel zu erreichen. Der Vergleich von Implementierungen ist häufig bedeutungslos, da ihre Effizienz häufig von der Programmiersprache oder den Programmierkenntnissen des Implementierers abhängt. Wenn sie jedoch alle in einem gemeinsamen theoretischen Rahmen ausgedrückt werden können, ist es manchmal möglich, sie innerhalb dieses Rahmens experimentell zu vergleichen. Hier unterstützen sich Theorie und Praxis, wie sie es in der Wissenschaft oft tun. Eine reine theoretische Analyse ist nicht immer leicht zu erreichen. Darüber hinaus kann eine experimentelle Analyse, wenn sie gut durchgeführt wird, unerwartetes Verhalten zeigen, das zu einer besseren theoretischen Analyse führen kann.

Die Welt ist nicht einfach oder klar. Deshalb kann es Spaß machen, mit Platz für alle Arten von Fähigkeiten. Hinterfragen Sie Ihr eigenes Wissen und beantworten Sie Fragen anderer, mit welchen Mitteln auch immer.

Zwei Dinge, die oft vergessen werden: die Ethik der Wissenschaft und ihre Erklärung den Menschen. Beides ist wichtig und schwierig.

babou
quelle
wie der Verweis auf Theorie gegen Experiment, aber tatsächlich scheint es eine ziemlich strikte Trennung zwischen theoretischer / experimenteller Arbeit in TCS zu geben, die die erstere zumindest an dieser Stelle bevorzugt / hervorhebt .... empirische Arbeit ist im Vergleich nicht groß und wird langsam mehr akzeptiert ....
vzn
8

In gewisser Hinsicht werden Sie beim Durchsuchen dieser Website die Art von Fragen erfahren, über die theoretische Informatiker nachdenken (auf niedrigem Niveau). Auf sehr hohem Niveau stellen theoretische Informatiker Fragen zu den mathematischen Grundlagen der Berechnung:

  • Was können wir berechnen?
  • Wie können wir das berechnen?
  • Wie schnell ?
  • Was passiert, wenn wir nur begrenzte Rechenressourcen haben?
  • Was sind die Grenzen dessen, was wir berechnen können?

Ausgehend von diesen Fragen tauchen eine ganze Reihe anderer Themen auf, die Anwendungsbereiche, Mathematik, andere Teile der Informatik usw. berühren.

Suresh Venkat
quelle
Dies scheinen mir die Schlüsselfragen in "Theorie A" (Berechenbarkeit, Komplexität, Algorithmen) zu sein, nicht in "Theorie B" (Logik, Semantik, Programmiersprachtheorie). (Siehe cstheory.stackexchange.com/q/1521/989 zur Terminologie).
Blaisorblade
4

Mir kam der Gedanke, dass Berichte aus erster Hand hilfreich sein könnten, aber diese scheinen in CS etwas selten zu sein (im Gegensatz zu z. B. Mathematik, biografischem / memoirenartigem Schreiben usw.). Hier sind zwei Online-Referenzen, die sich mit der Frage befassen und hilfreich sein können. Sie sind eher auf das Leben von Doktoranden und CS ausgerichtet, aber die meisten werden Forschung auf Professorenebene betreiben (außer Lehre, aber auch viele Doktoranden). [& In gewisser Weise können Professoren so gesehen werden, dass sie ständig / wiederholt viele "Mini" -Doc-Thesen (Forschungsarbeiten) oder in einigen Fällen "Super-" Doktorarbeiten (Bücher) über ihre Karriere schreiben.] Es gibt auch mehrere anständige Bücher über Das Thema wird einige hinzufügen, wenn Sie angeben, dass sie eine akzeptable Antwort auf Ihre Frage sind.

  • Wie man im MIT AI Lab forscht "von einer ganzen Reihe aktueller, ehemaliger und ehrenamtlicher Absolventen des MIT AI Lab" / David Chapman, Herausgeber

    Dieses Dokument soll mutmaßlich erklären, wie man forscht. Wir geben Heuristiken an, die nützlich sein können, um die spezifischen Fähigkeiten zu erlernen, die für die Forschung (Lesen, Schreiben, Programmieren) und zum Verstehen und Genießen des Prozesses selbst (Methodik, Auswahl von Themen und Beratern sowie emotionale Faktoren) erforderlich sind.

  • Wie man ein erfolgreicher Doktorand wird (in Informatik) Mark Dredze (Johns Hopkins University), Hanna M. Wallach (University of Massachusetts Amherst)

vzn
quelle
Aus einigen Informatik-Blogs, die mit "Insider-Looks" geschrieben wurden, kann auch einiges über das tägliche Leben der Forscher entnommen werden
vzn