Interessante Ergebnisse in TCS, die für Programmierer ohne technischen Hintergrund leicht zu erklären sind

13

Angenommen, Sie treffen sich mit Programmierern, die einige professionelle Programmierkurse besucht haben (/ self thought), aber kein Mathematikstudium auf Universitätsniveau absolviert haben.

Um ihnen die Schönheit von TCS zu zeigen, möchte ich einige nette Ergebnisse / offene Fragen von TCS sammeln, die leicht erklärt werden können.

Ein guter Kandidat für diesen Zweck (IMHO) wird zeigen, dass das Stopp-Problem nicht entscheidbar ist. Eine andere wird eine niedrigere Grenze für die Laufzeit der vergleichsbasierten Sortierung anzeigen (obwohl dies ein bisschen zu viel ist, als ich von ihnen erwartet habe).

Ich kann auch die Ideen vom Erklären des P = NP-Problems bis zum 10-Jährigen verwenden , vorausgesetzt, einige von ihnen sind damit nicht vertraut.

Fragen müssen also sein:

(0. Schön)

  1. Erklärbar mit (höchstens) High School Mathe.
  2. (vorzugsweise) nicht trivial genug, um in professionellen Programmierkursen (für C ++ / Java / Web / etc.) gezeigt zu werden.
RB
quelle
Ist das nicht ganz meinungsbasiert?
David Richerby
6
Ich denke, das ist eine gute Frage. Ähnliche, fruchtbare Fragen zu mathoverflow: mathoverflow.net/questions/47214/… . mathoverflow.net/questions/56547/applications-of-mathematics .
usul
1
auch etwas ähnlich wie "dinner table description of TCS" . imho mein Favorit ist die Existenz von harten Funktionen von Shannon, aber fast keine konstruktiven Beweise für eine bestimmte harte Funktionen nach mehr als 1/2 Jahrhundert ....
vzn
1
Die Existenz von Quines macht Programmierern immer wieder Spaß.
Denis
2
Vielleicht sollte es Community-Wiki sein?
Suresh Venkat

Antworten:

9

Zusätzlich zum Problem des Anhaltens schlage ich vor, Folgendes zu diskutieren:

Reis-Theorem. Einige der Erklärungen in Wikipedia sind ein bisschen umgangssprachlich, aber es ist im Allgemeinen kein schwieriger Satz oder Beweis, den man anders verstehen kann. Es hat eine große Relevanz für reale Konzepte wie Antiviren-Software. Der Beweis ist ungefähr so ​​umfangreich wie der Beweis des Halteproblems (und hängt tatsächlich von der Unentscheidbarkeit des Halteproblems ab). Verstehe einfach, dass eine "berechenbare Funktion" eine Turing-Maschine oder ein Computerprogramm ist.

Philip White
quelle
4
Ich glaube nicht, dass die Härte des Factorings RSA-Sicherheit impliziert.
Sasho Nikolov
1
Das war eine bedeutende Lücke in meinem Wissen über Krypto. Vielen Dank, dass Sie darauf hingewiesen haben. Ich habe meine Antwort bearbeitet.
Philip White
1
Wenn Sie interessiert sind, können Sie dies ansehen: crypto.stanford.edu/~dabo/papers/no_rsa_red.pdf . Ihr Beispiel war jedoch schön, auch wenn die Details falsch waren. Für Diffie-Hellman ist die Äquivalenz zu diskretem Protokoll für viele zyklische Gruppen bekannt, einschließlich derjenigen, die in praktischen Anwendungen verwendet werden: citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.78.3339 . Außerdem ist Diffie-Hellman tatsächlich leichter zu erklären als RSA, IMO
Sasho Nikolov
5

Ich denke, dass das Cook-Levin-Theorem (und der damit verbundene Begriff der NP-Vollständigkeit) - unabhängig von der P-gegen-NP-Frage - ein weiterer sehr guter Kandidat ist; Wenn Sie einen (effizienten) Löser für SAT haben, dann haben Sie einen (effizienten) Löser für jedes Problem in NP.

  • einx12+bx2+c=0
  • Lösen eines Sudoku;
  • Finden eines Hamilton-Pfades in einem Graphen;
  • Lösen einer Teilmengen-Summeninstanz;
  • und viele andere (reale) Probleme ...

sind in gewissem Sinne "gleichwertige Probleme"; Wenn dein Chef dich also bittet, ein Programm zum Verpacken von Kartons in einen Container zu erstellen, kannst du ihm einen Minesweeper-Solver geben ... :-)

Marzio De Biasi
quelle
4

Ein lustiges und unterhaltsames Beispiel ist die Unentscheidbarkeit des Kachelproblems von Wang-Kacheln. Das Ergebnis ergibt sich direkt aus der Unentscheidbarkeit des Halteproblems durch eine einfache Simulation von Turingmaschinen unter Verwendung von Wang-Kacheln. Interessanterweise führte die Unentscheidbarkeit des Kachelproblems für Wang-Kacheln zu dem schönen Ergebnis, dass es Kachelsets gibt, die das Flugzeug nur zeitweise kacheln.

Wang vermutete, dass jedes Plättchen, das auf das Flugzeug gelegt wurde, regelmäßig gekachelt werden musste. Daher implizierte die Vermutung, dass das Kachelproblem entscheidbar ist. Später bewies Burger die Unentscheidbarkeit des Kachelproblems, das die Existenz von Kachelsätzen implizierte, die das Flugzeug nur zeitweise kacheln.

NPNP-Vollständigkeitsergebnisse.

Mohammad Al-Turkistany
quelle
3

Favoriten von hier und anderswo gesammelt

vzn
quelle
2
auch ein anderer sehr wichtiger Algorithmus mit einigen tiefen TCS-Winkeln: Pagerank
vzn