In einigen Punkten würde ich nicht zustimmen.
Ich denke nicht, dass es "wahrscheinlich" möglich ist, zu beweisen . Ich denke sicherlich nicht, dass es unmöglich ist, aber Gödels Unvollständigkeitssätze sagen uns, dass es in einem logischen System einige Sätze gibt, die wahr sind, aber nicht bewiesen werden können.P.≠ N.P.
Sie fragen, ob es Beweise für Informatik-Theorien gegeben hat. Es gab mindestens Tausende. Diese variieren von unbedeutend bis riesig. Ich werde hier einige der relevantesten (auch bekannt als meine Favoriten) erwähnen.
- Einige Probleme können mit keinem Algorithmus gelöst werden. Egal was. Je. Ein Beispiel hierfür ist die Bestimmung, ob ein Computerprogramm für immer ausgeführt wird. Es gibt keine Möglichkeit, ein Programm anzusehen und eine Ja / Nein-Antwort zu erhalten, wenn es für immer ausgeführt wird.
- Die Funktionen, die von einer Turingmaschine berechnet werden können, sind die gleichen wie die Funktionen, die von der Lambda-Rechnung berechnet werden können. Sie sind dieselben wie praktisch jede Programmiersprache. Obwohl die Geschwindigkeit unterschiedlich sein kann, können grundsätzlich alle turing-vollständigen Programmiersprachen (die meisten von ihnen) die gleichen Probleme lösen.
- Die Arten eines Computerprogramms stehen in direktem Zusammenhang mit dem Nachweis der Richtigkeit. Dies wird als "Curry-Howard-Korrespondenz" bezeichnet und ist ziemlich komplex, daher werde ich hier nicht auf die Details eingehen. Beachten Sie, dass ich mit Typen Dinge wie Ganzzahl, Zeichenfolge, Liste, Array usw. meine.
- Eine Liste von reellen Zahlen kann nicht schneller als sortiert werdenDies bedeutet, dass unabhängig vom verwendeten Algorithmus im schlimmsten Fall ungefähr Schritte erforderlich sind, um diese Liste zu sortieren.Ω ( n logn ) .n logn
- Eine große Anzahl von Problemen ist im Kern das gleiche Problem. Wenn Sie jemals von NP-vollständigen Problemen gehört haben, bedeutet dies, dass diese Probleme alle auf die Erfüllbarkeit hinauslaufen. Sie stammen aus der Graphentheorie, der Kombinatorik, der Zeitplanung und einer Vielzahl von Bereichen, aber letztendlich prüfen sie alle nur, ob eine logische Formel von ORs und ANDs eine Eingabe enthält, die als Gesamtergebnis wahr ist.
Beachten Sie, dass dies alles notwendigerweise komplexe Themen sind, die ich vereinfacht habe, um Ihnen einen Eindruck von den Dingen zu geben, die in der Informatik nachweisbar sind.
Sie fragen, wie Theorien der Informatik bewiesen werden. Das Problem ist, dass die Informatik ein unglaublich vielfältiges Gebiet ist und es wirklich von Ihrem Teilgebiet abhängt. Die Theorie der Berechnung, die Konstruktion der Programmiersprache und die formale KI ("ordentliche" KI) sind hochmathematisch und basieren stark auf Logik und Beweisen.
Es gibt jedoch viele Teilfelder, die viel experimenteller sind. Die Mensch-Computer-Interaktion oder alles, was mit der menschlichen Seite des Rechnens zu tun hat, hängt stark von Studien und Experimenten ab, an denen Benutzer beteiligt sind. Betriebssysteme, Grafiken und Compiler werden sich stark auf Leistungsbewertungen verlassen, um zu sehen, welche Programme im wahrsten Sinne des Wortes am schnellsten sind, nicht nur auf dem Papier.
Wenn Sie in der Junior High sind, denke ich, dass es viele Informatikprobleme gibt, die in Ihrer Reichweite liegen. Da es sich um ein so junges Gebiet handelt, gibt es viele ungelöste CS-Probleme, die relativ einfach zu verstehen sind. Im Gegensatz zur Physik, wo Sie Tonnen und Tonnen von Kalkülhintergrund benötigen, setzt CS wirklich auf einfache Logik. Wenn Sie Induktion, Logik und die Grundlagen diskreter Strukturen (Grafiken, Zeichenfolgen usw.) lernen können, gibt es wahrscheinlich viele Konzepte, die einem Schüler der Mittelstufe zugänglich sind.