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?
soft-question
research-practice
Student cs Student
quelle
quelle
Antworten:
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.
quelle
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:
Ausgehend von diesen Fragen tauchen eine ganze Reihe anderer Themen auf, die Anwendungsbereiche, Mathematik, andere Teile der Informatik usw. berühren.
quelle
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
Wie man ein erfolgreicher Doktorand wird (in Informatik) Mark Dredze (Johns Hopkins University), Hanna M. Wallach (University of Massachusetts Amherst)
quelle