Strategien, um das Verstehen von TCS loszuwerden


19

Ich bin ein Doktorand, der einen Kurs in Rechentheorie belegt, und ich habe ernsthafte Probleme, Inhalte zu produzieren, wenn ich dazu aufgefordert werde. Ich kann dem Lehrbuch (Einführung in die Computertheorie von Michael Sipser) und den Vorlesungen folgen; Wenn ich jedoch gebeten werde, etwas zu beweisen oder eine formale Beschreibung eines bestimmten TM zu finden, muss ich ersticken.

Was kann ich in solchen Situationen tun? Ich denke, es geht mir darum, abstrakte Konzepte so gut zu verstehen, dass ich sie tatsächlich anwenden kann. Gibt es einen strukturierten Weg, um sich einem neuen, abstrakten Konzept zu nähern und schließlich eine Intuition aufzubauen?


5
schlägt mich. Dies scheint eine vernünftige Frage für diese Site zu sein.
Suresh

4
Ich habe dafür gestimmt, zu schließen. Das Hauptproblem, das ich sehe, ist, dass es sich bei der Frage nicht um Informatik handelt. Es geht darum, wie man Informatik lernt. Letzterer hat keine objektive Antwort, weil jeder Mensch sein Bestes geben wird. Die drei zu schließenden Stimmen sind alle dem "zu lokalisierten" Grund zugeordnet, aber ich denke, diese Frage ist auch nicht thematisch, da es nicht um Informatik geht.
Carl Mummert

1
Ich denke, diese Frage hat ihre Berechtigung und ist die Art von Frage, mit der ich intensiv kämpfe. Ich denke, dass viele CS-Studenten Schwierigkeiten haben, von einer vertrauenswürdigen Community Anleitungen zu diesen Themen zu erhalten. Ich verstehe den Einwand gegen die Frage allerdings. Es scheint mir, dass die Frage dem Meta-Abschnitt dieser Seite ziemlich nahe kommt.
BrotherJack

6
@CarlMummert: Jede Frage zur Informatik ist eine Frage zum Erlernen der Informatik.
JeffE

2
Die Frage ist in ihrer jetzigen Form zu weit gefasst. Konzentrieren Sie sich auf Ihre Fragen, z. B. fragen Sie nach Ressourcen (z. B. Problembücher), um die Fähigkeit zu verbessern, Fragen im Kurs zu lösen, oder wenn Sie ein bestimmtes Beispiel haben, konzentrieren Sie sich auf dieses Problem und fragen Sie nach Intuition oder Methoden, um ähnliche Probleme anzugehen.
Kaveh

Antworten:


15

Abstraktion ist in der Informatik so ziemlich Brot und Butter, aber leider ist es schwierig, sie explizit zu lehren.

Meiner Meinung nach ist es wichtiger , Konzepte zu verstehen , als Dinge mechanisch berechnen oder beweisen zu können. Sicher, Sie müssen sich mit elementaren Methoden auskennen, aber das Fleisch liegt woanders.

Zunächst muss man den Inhalt einigermaßen erfassen. Zu diesem Zweck habe ich es nützlich gefunden, die folgende Frage zu stellen, wenn Ihnen etwas unklar ist:

  • Warum machen wir das?
  • Wofür werden wir das verwenden?
  • Auf welche ähnlichen Dinge bezieht sich das?
  • Wie erklären es andere Quellen ?
  • Was genau verstehe ich nicht?

Wenn Sie diese Fragen beantwortet haben (oder Anschlussfragen entdeckt und auf die gleiche Weise behandelt haben) und weiterhin Probleme haben, wenden Sie sich an Ihre Lehrer (oder hier). Inzwischen sollten Sie in der Lage sein, eine fokussierte, präzise formulierte Frage zu formulieren. Die Beantwortung solcher Fragen ist Aufgabe Ihrer Lehrer (und die Philosophie von StackExchange).

Ansonsten ist es Übung und Erfahrung. Versuchen Sie, die Proofs nach dem Lesen zu reproduzieren. Achten Sie darauf, sie nicht auswendig zu lernen, sondern destillieren Sie die wichtigen Ideen aus ihnen. Nach einiger Zeit sollten Sie in der Lage sein, alle grundlegenden Proofs zu reproduzieren, indem Sie die Lücken zwischen den Hauptschritten ausfüllen. Auch später werden Sie Muster in Aussagen und Beweisen sehen. Auf diese Weise betrachten die Leute eine Aussage und sagen: "Oh ja, sicher, verwenden Sie Methode X mit Theorem Y und verwenden Sie dann einfach Z, um das zu erhalten, was Sie wollen." Die Mustererkennung basiert auf jahrelangem Training. Sei geduldig.

Bezüglich der Grundübungen gehen Sie und finden Sie Lehrbücher mit einigen. Ich verweise auf die Konkrete Mathematik von Graham, Knuth und Patashnik. Dieses Buch ist nicht nur eine wertvolle Werkzeugkiste für Informatiker, es enthält auch jede Menge Übungen mit Lösungen (!). Denken Sie daran, sie zu lösen, bevor Sie die Antworten nachschlagen, und die Antworten wiederzugeben, die Sie nachschlagen mussten.

Ein weiteres nützliches Buch ist Introduction to Algorithms von Cormen, Leiserson, Rivest und Stein. Enthalten ist ein umfangreiches Kapitel über mathematische Grundlagen. Es enthält auch viele Übungen; Lösungen sind über die verlinkte Seite (Supplemental Content) verfügbar. Es gibt auch einen Videovortrag von einem der Autoren, der gut zum Buch passt.

Vorlesungen zu Beweisen finden Sie unter Linear Algebra Proofs an der Khan Academy . Ich habe sie nicht gesehen, aber sie sind hoffentlich sowohl einfach als auch hilfreich. Es gibt viele weitere Beweise für die Khan Academy; Ich denke nur, dass lineare Algebra-Beweise am besten in die Informatik passen. Zögern Sie nicht, auch andere zu beobachten.


7
Ich stimme zu, dass das Verständnis von Konzepten wichtiger ist als die Fähigkeit, Dinge zu berechnen oder zu beweisen. Verständnis ist jedoch das Ergebnis von Übung mit Berechnungen und Beweisen und kein Ersatz für diese Übung.
JeffE

Vielen Dank für den Einblick. Ich werde Ihren Rat sehr ernst nehmen und versuchen, mich darauf basierend zu verbessern.
Trigoman

Für grundlegendere Bedürfnisse kann das Buch der Beweise eine wertvolle Referenz sein.
Raphael

8

Manchmal stelle ich fest, dass Leute, die in der Theorie nicht gut sind, nur die Grundlagen falsch verstehen (in den ersten 1-3 Vorlesungen fanden sie das Material sehr einfach, so dass sie nicht allzu viel Aufmerksamkeit schenkten, aber dann In der Vorlesung 5-7 beschleunigen sich die Dinge und es ist zu spät, um sie noch einmal zusammenzufassen.

Wie @fbernardo sagte, ist es möglicherweise eine gute Idee, von vorne zu beginnen. NICHT in Bezug auf FLA (das hat keinen Sinn, wenn Sie TC, IMHO studieren), aber öffnen Sie auf jeden Fall Sipser und lösen Sie die Fragen nacheinander in der angegebenen Reihenfolge. Mit der Erfahrung erhalten Sie die nötige Intuition und die grundlegenden Werkzeuge, die für fortgeschrittenere Konzepte unerlässlich sind.

Wenn Sie die grundlegenden Fragen von Sipser aus dem ersten Kapitel nicht beantworten können (nicht die Kapitel über Automaten, wenn Sie sich mit TMs befassen), fehlen Ihnen möglicherweise noch grundlegendere Konzepte wie grundlegende Beweismethoden (Induktion usw.) oder grundlegende Mengen. Theorie und diskrete Mathematik.

Trotzdem viel Glück!


3

Mein einziger Rat wäre, dass Sie von vorne beginnen. In meinem Kurs benutzen wir auch Sipsers Buch, es ist meiner Meinung nach ein gutes Buch. Aber wir haben vor dem TC einen Kurs namens FLA (Formal Languages ​​an Automaton), der eine bessere Intuition und einen besseren Hintergrund zum Thema TC vermittelt. Also lernt jeder mit unterschiedlichen Geschwindigkeiten, und Sie haben ein sehr gutes Buch. Bei weiteren speziellen Fragen finden Sie hier immer Hilfe. :)


2

Sie stellen eine allgemeine Frage in Ihrem Titel und dann mindestens zwei grundlegende / spezifische Punkte in der Frage, und ich denke, es gibt gute (separate) Antworten auf jede Frage:

  • wie man Sachen beweist
  • formale Beschreibung eines TMs-Verhaltens erstellen

Hier wird nur der erste Punkt angesprochen (der von Natur aus umfassend ist und ihn verdient) - eine Art Elefant im Raum der MINT-Ausbildung (Naturwissenschaften, Technik, Ingenieurwesen, Mathematik), der nur sehr kurz ist und häufig in einem erstaunlichen Ausmaß beschönigt wird . Es scheint, als ob niemand wirklich weiß, wie man Beweise baut. Dieses Thema beginnt in Geometrie-, Trigonometrie- und Kalkülklassen, ist jedoch selten ein strenges Element. Die meisten Lehrer betrachten dies als optional. Es scheint, als wäre eine ganze Klasse, die sich dem Thema "Wie man Zeug beweist" widmet, eine hervorragende oder sogar kritische Ergänzung oder Änderung der MINT-Ausbildung.

Hier sind einige Refs, die ich auf eine schnelle Suche nach Beweisen gebracht habe, und ich denke, es gibt viele andere gute Ressourcen. Heutzutage gibt es wahrscheinlich auch viele Videos zu diesem Thema, die über Suchanfragen aufgedeckt werden könnten, aber ich habe noch keine schöne, umfassende Organisation von Videos vom Typ "Beweisen von Dingen" gesehen.

Ein wesentlicher Teil des Testens besteht darin, die Grundlagen der Mathematik zu beherrschen und sie als Werkzeuge oder Bauteile zu verwenden. ZB wissen, was eine Menge ist, was ein Tupel ist, was der Unterschied / die Ähnlichkeit ist, wenn Sie eine verwenden würden, aber nicht die andere, usw.

Ein anderer Ansatz besteht darin, es wie einen Bohrer zu behandeln. Machen Sie selbst viele Übungsbeweise, angefangen von leicht bis schwierig (ich wünschte, ich wüsste mehr Bücher wie dieses, es scheinen nicht viele zu sein).


1
Füge Pólyas Klassiker "Wie man es löst" hinzu. Es ist auch nützlich (speziell für Absolventen), sich nach mathematischem Schreiben umzusehen, z. B. nach Knuth et al. "Mathematisches Schreiben". Dies ist eine Fertigkeit, die zu oft für selbstverständlich gehalten wird.
Vonbrand
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.