Résultats intéressants dans TCS facilement explicables aux programmeurs sans formation technique


13

Supposons que vous rencontriez des programmeurs qui ont suivi des cours de programmation professionnelle (/ auto-réflexion) mais n'ont pas étudié les mathématiques de niveau universitaire.

Afin de leur montrer la beauté de TCS, j'aimerais rassembler de bons résultats / questions ouvertes provenant de TCS qui peuvent facilement être expliquées.

Un bon candidat à cet effet (IMHO) montrera que le problème de l'arrêt n'est pas décidable. Un autre montrera une limite inférieure sur le temps d'exécution du tri basé sur la comparaison (bien que cela le pousse un peu à partir de ce que je m'attends à ce qu'ils comprennent).

Je peux également utiliser les idées de Explain P = NP problem to 10 year old , en supposant que certains d'entre eux ne le connaissent pas.

Donc, les questions doivent être:

(0. Magnifique)

  1. Explicable avec (au plus) les mathématiques du secondaire.
  2. (de préférence) pas assez trivial pour être montré dans des cours de programmation professionnelle (pour C ++ / Java / Web / etc.).

N'est-ce pas entièrement basé sur l'opinion?
David Richerby

6
Je pense que c'est une bonne question. Questions similaires et fructueuses sur mathoverflow: mathoverflow.net/questions/47214/… . mathoverflow.net/questions/56547/applications-of-mathematics .
usul

1
également quelque peu similaire à la "description de la table de dîner de TCS" . à mon humble avis, l'existence de fonctions dures prouvées par Shannon mais presque aucune preuve constructive de fonctions dures particulières après plus d'un demi-siècle ....
vzn

1
L'existence de quines est toujours amusante à mentionner aux programmeurs.
Denis

2
peut-être que ce devrait être un wiki communautaire?
Suresh Venkat

Réponses:


9

En plus du problème d'arrêt, je suggère de discuter:

Théorème de Rice. Une partie de l'explication sur Wikipédia est un peu jargon, mais ce n'est généralement pas un théorème difficile ou une preuve à comprendre autre que cela; il est très pertinent pour les concepts du monde réel comme les logiciels antivirus. La preuve est à peu près aussi impliquée que la preuve du problème d'arrêt (et dépend en fait de l'indécidabilité du problème d'arrêt). Fondamentalement, comprenez simplement qu'une «fonction calculable» est une machine de Turing ou un programme informatique.


4
Je ne pense pas que la dureté de l'affacturage implique une sécurité RSA.
Sasho Nikolov

1
C'était une lacune importante dans ma connaissance de la crypto. Merci d'avoir fait remarquer cela; J'ai édité ma réponse.
Philip White

1
Si vous êtes intéressé, vous pouvez consulter ceci: crypto.stanford.edu/~dabo/papers/no_rsa_red.pdf . Cependant, votre exemple était intéressant, même si les détails étaient incorrects. Pour Diffie-Hellman, l'équivalence avec un journal discret est connue pour de nombreux groupes cycliques, notamment ceux utilisés dans les applications pratiques: citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.78.3339 . En outre, Diffie-Hellman est en fait plus facile à expliquer que RSA, IMO
Sasho Nikolov

5

Je pense que - indépendamment de la question P vs NP - le théorème de Cook-Levin (et la notion connexe de complétude NP) est un autre très bon candidat; si vous avez un solveur (efficace) pour SAT, vous avez un solveur (efficace) pour tout problème dans NP .... et vous pouvez vous retrouver avec quelque chose d'étonnant au moins pour moi:

  • uneX12+bX2+c=0
  • résoudre un Sudoku;
  • trouver un chemin hamiltonien dans un graphique;
  • résoudre une instance de somme de sous-ensemble;
  • et bien d'autres problèmes (réels) ...

sont en quelque sorte des "problèmes équivalents"; donc si votre patron vous demande de créer un programme pour emballer des boîtes dans un conteneur ... vous pouvez lui donner un solveur de démineur ... :-)


4

Un exemple amusant et divertissant est l'indécidabilité du problème de carrelage des carreaux Wang. Le résultat découle directement de l'indécidabilité du problème de l'arrêt par une simple simulation de machines de Turing utilisant des carreaux Wang. Fait intéressant, l'indécidabilité du problème de carrelage pour les carreaux Wang a conduit au beau résultat qu'il existe des ensembles de carreaux qui ne carrelent l'avion que de manière apériodique.

Wang a supposé que chaque jeu de tuiles qui tuile l'avion doit avoir un carrelage périodique. Par conséquent, la conjecture impliquait que le problème de carrelage est décidable. Plus tard, Burger a prouvé l'indécidabilité du problème de carrelage qui impliquait l'existence d'ensembles de carreaux qui ne carrelent l'avion que de façon apériodique.

NPNP


3

favoris collectés d'ici et d'ailleurs


2
également un autre algorithme très important avec des angles TCS profonds: Pagerank
vzn
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.