Risultati interessanti in TCS che sono facilmente spiegabili ai programmatori senza background tecnico


13

Supponiamo che stai incontrando programmatori che hanno seguito alcuni corsi di programmazione professionale (/ auto-pensiero) ma non hanno studiato matematica a livello universitario.

Al fine di mostrare loro la bellezza di TCS, vorrei raccogliere alcuni bei risultati / domande aperte provenienti da TCS che possono essere facilmente spiegate.

Un buon candidato per questo scopo (IMHO) mostrerà che il problema dell'arresto non è decidibile. Un altro mostrerà un limite inferiore al tempo di esecuzione dell'ordinamento basato sul confronto (anche se questo è un po 'spingendolo da ciò che mi aspetto che capiscano).

Posso anche usare le idee dal problema Spiega P = NP a 10 anni , supponendo che alcuni di loro non abbiano familiarità con esso.

Quindi, le domande devono essere:

(0. Bellissimo)

  1. Spiegabile con (al massimo) matematica delle superiori.
  2. (preferibilmente) non abbastanza banale da essere mostrato in corsi di programmazione professionale (per C ++ / Java / Web / ecc.).

Non è interamente basato sull'opinione?
David Richerby,

6
Penso che sia una buona domanda. Domande simili e fruttuose su mathoverflow: mathoverflow.net/questions/47214/… . mathoverflow.net/questions/56547/applications-of-mathematics .
usul

1
anche in qualche modo simile alla "descrizione del tavolo da pranzo di TCS" . imho il mio preferito è l'esistenza di funzioni dure provate da Shannon ma quasi nessuna prova costruttiva di particolari funzioni dure dopo più di 1/2 secolo ....
vzn

1
L'esistenza di quines è sempre divertente da menzionare ai programmatori.
Denis,

2
forse dovrebbe essere wiki della comunità?
Suresh Venkat,

Risposte:


9

Oltre al problema dell'arresto, suggerisco di discutere:

Teorema di Rice. Alcune delle spiegazioni su Wikipedia sono un po 'gergali, ma generalmente non è un teorema o una prova difficile da capire a parte questo; ha molta rilevanza rispetto a concetti del mondo reale come il software antivirus. La dimostrazione riguarda tanto quanto la dimostrazione del problema di arresto (e in realtà dipende dall'indecidibilità del problema di arresto). Fondamentalmente, basta capire che una "funzione calcolabile" è una macchina di Turing o un programma per computer.


4
Non credo che la durezza del factoring implichi la sicurezza di RSA.
Sasho Nikolov,

1
Questo è stato un divario significativo nella mia conoscenza della criptovaluta. Grazie per la segnalazione; Ho modificato la mia risposta.
Philip White,

1
Se sei interessato, puoi guardare questo: crypto.stanford.edu/~dabo/papers/no_rsa_red.pdf . Tuttavia, il tuo esempio è stato carino, anche se i dettagli erano errati. Per Diffie-Hellman, l'equivalenza al registro discreto è nota per molti gruppi ciclici, incluso probabilmente quelli utilizzati nelle applicazioni pratiche: citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.78.3339 . Inoltre, Diffie-Hellman è in realtà più facile da spiegare di RSA, IMO
Sasho Nikolov

5

Penso che - indipendentemente dalla domanda P vs NP - il teorema di Cook-Levin (e la relativa nozione di completezza NP) sia un altro ottimo candidato; se hai un risolutore (efficiente) per SAT, allora hai un risolutore (efficiente) per qualsiasi problema in NP .... e puoi finire con qualcosa di sorprendente almeno per me:

  • un'X12+BX2+c=0
  • risolvere un sudoku;
  • trovare un percorso hamiltoniano in un grafico;
  • risolvere un'istanza di somma di sottoinsieme;
  • e molti altri problemi (nella vita reale) ...

sono in un certo senso "problemi equivalenti"; quindi se il tuo capo ti chiede di creare un programma per l'imballaggio di scatole in un contenitore ... puoi dargli un risolutore di dragamine ... :-)


4

Un esempio divertente e divertente è l'indecidibilità del problema della piastrellatura delle piastrelle Wang. Il risultato deriva direttamente dall'indecidibilità del problema di Halting mediante una semplice simulazione di macchine Turing che utilizzano piastrelle Wang. È interessante notare che l'indecidibilità del problema di piastrellatura per le piastrelle Wang ha portato al bellissimo risultato che ci sono set di piastrelle che piastrellano l'aereo solo aperiodicalmente.

Wang ha ipotizzato che ogni piastrella impostata su quella piastrella deve avere una piastrellatura periodica. Pertanto, la congettura implicava che il problema della piastrellatura fosse decidibile. Successivamente, Burger ha dimostrato l'indecidibilità del problema della piastrellatura che implicava l'esistenza di set di piastrelle che piastrellavano il piano solo aperiodicalmente.

NPNP


3

preferiti raccolti da qui e altrove


2
anche un altro algoritmo molto importante con alcuni angoli TCS profondi: Pagerank
vzn
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.