Qual è il problema aperto più vecchio in TCS?


36

Questo problema è ispirato a questa domanda MO , che pensavo fosse molto interessante.

Qual è il problema aperto più vecchio in TCS?

Chiaramente questa domanda necessita di alcuni chiarimenti.

Innanzitutto, cos'è TCS? Penso che l'esistenza di numeri dispari perfetti non sia TCS. Direi che il decimo problema di Hilbert è TCS. Penso che problemi come "Possiamo costruire X con un righello e una bussola" siano anche TCS, dal momento che stanno chiedendo un algoritmo in un modello limitato di calcolo. Potrebbe non esserci un modo rigoroso per definire quale sia un problema TCS, ma usa il tuo giudizio. Forse un test è "Se questo viene risolto, molto probabilmente apparirebbe in STOC / FOCS? Il ricercatore che lo ha risolto molto probabilmente sarebbe un informatico teorico?"

Secondo, cos'è "più vecchio"? Intendo più vecchio per data. Anche la data indicata dovrebbe essere verificabile, ma non credo che dovrebbe essere troppo difficile.

Terzo, che cos'è un "problema aperto"? Per "problema aperto" intendo un problema che è stato specificamente considerato aperto in qualche momento. Forse è apparso alla fine di un articolo nella sezione problemi aperti, o forse ci sono prove che alcune persone ci hanno lavorato e fallito, o forse ci sono prove errate in letteratura, che suggeriscono che è stato studiato. Un esempio di qualcosa che non soddisfa questi criteri: "I greci hanno studiato gli oggetti X e Y. Z è chiaramente un oggetto intermedio, sicuramente si chiedevano se potesse essere costruito". Se non ci sono pubblicazioni su Z di quel periodo di tempo, allora non è un problema aperto da quel periodo di tempo.

In quarto luogo, cosa intendo per "problema"? Intendo una specifica domanda "sì / no", e non qualcosa del tipo "Caratterizza tutti gli oggetti X con la proprietà Y", perché spesso tali domande non hanno una risposta soddisfacente. Molto spesso ci sarà disaccordo sul fatto che la domanda sia stata risolta. Non entriamo in queste domande qui. Se non è una domanda sì / no, ma è chiaro che è davvero aperta, va bene lo stesso. (Nel caso ciò non sia chiaro, per "problema" intendo un problema formalmente dichiarato. Per favore, non convertire alcune leggende popolari sul gioco d'azzardo nel XVI secolo in una domanda su BPP e PSPACE.)

Infine, poiché questa non è una domanda di grande elenco, pubblica una risposta solo se ritieni che sia più vecchia delle risposte già pubblicate (o se ritieni che le risposte inviate non soddisfino altre condizioni, come se non fossero TCS, o non sono aperti). Questa non è una raccolta indiscriminata di vecchi problemi aperti.


13
"Qual è il modo migliore per cucinare la carne?" Sotto un modello di calcolo a falò, qual è l'algoritmo migliore per preparare il cibo? - rilevante molte migliaia di anni fa, ancora rilevante adesso! Inoltre c'è molta letteratura sul problema! (Mi dispiace, non ho resistito ;-))
Daniel Apon,

3
C'è un dio? Potrebbe essere un problema TCS se può essere risolto dai computer.
Sariel Har-Peled,

9
@Daniel, 'qual è il modo migliore per tagliare una torta' è una vera domanda TCS !!!
Suresh Venkat,

3
#offtopic: bello vedere che il supercooldave ora ha un nome :)
Suresh Venkat,

5
Ho trovato un libro intitolato "A History of Algorithms: From the Pebble to the Microchip" ( amazon.com/dp/3540633693 ). Potrebbe essere utile per trovare una storia decente su algoritmi (nuovi e vecchi).
MS Dousti,

Risposte:


38

Qual è la complessità computazionale della moltiplicazione dei numeri interi? Probabilmente, questa domanda risale almeno all'algoritmo di "duplazione e mediazione" per la moltiplicazione dei numeri interi descritto nel Rhind Mathematical Papyrus, che fu scritto intorno al 1650 a.C. , ma afferma di essere una copia di un documento significativamente più vecchio.

Certo, il papiro Rhind non ha esplicitamente considerato la complessità del suo algoritmo. Quindi forse una risposta migliore è Qual è la complessità della risoluzione di sistemi di equazioni lineari? La ricerca di algoritmi efficienti per la risoluzione di sistemi lineari risale almeno al commento di Liu Hui, pubblicato nel 263 d.C. , su The Nine Chapters on the Mathematical Art . Nello specifico, Liu Hui confronta due varianti di quella che ora è riconosciuta come eliminazione gaussiana e conta il numero di operazioni aritmetiche utilizzate da ciascuna, con l'obiettivo esplicito di trovare il metodo più efficiente.

Entrambe queste domande sono ancora obiettivi della ricerca attiva.


9
A differenza di Robin, non credo sia ragionevole insistere sul fatto che la domanda sia stata posta nella sua forma moderna. È come tenere prove storiche agli standard contemporanei di rigore. Secondo quello standard, la geometria assiomatica iniziò con Klein, e Euclide era solo un tipo greco che agitava la mano.
Jeffε

6
"Secondo i moderni standard di rigore, Euclide era solo un tizio greco handwaving": questo è il mio prossimo .sig :)
Suresh Venkat,

2
Penso che tali esempi vadano bene. Quello che volevo evitare è quello che è successo sul trabocco della matematica: c'era una discussione sul fatto che i Greci considerassero qualche problema solo perché avevano studiato qualche problema correlato. L'altra cosa che voglio evitare sono domande filosofiche come "L'universo è deterministico" che viene convertito nel problema P contro BPP. Hai dato un problema specifico che è stato considerato come un problema computazionale dalle persone che lo hanno posto, ed è perfettamente accettabile.
Robin Kothari

Questa domanda è stata parzialmente risolta per la moltiplicazione di numeri interi online. arxiv.org/abs/1101.0768
felix

23

La ricerca di un algoritmo efficiente per il factoring sembra risalire almeno a Gauss. L'articolo 329 di Gauss ' Disquitiones Arithmeticae (1801) riportava la seguente citazione ( fonte ):

The problem of distinguishing prime numbers from composite numbers and of resolving the latter into their prime factors is known to be one of the most important and useful in arithmetic. It has engaged the industry and wisdom of ancient and modern geometers to such an extent that it would be superfluous to discuss the problem at length. ... Further, the dignity of the science itself seems to require that every possible means be explored for the solution of a problem so elegant and so celebrated.

Naturalmente, è vero che Gauss non ha definito formalmente esattamente ciò che desiderava dall'algoritmo di factoring. Parlò nello stesso articolo sul fatto che tutti gli algoritmi di test della primalità conosciuti a quel tempo erano molto "laboriosi e prolissi".


2
Preventivo molto bello. È fantastico come Gauss abbia chiarito che gli attuali algoritmi di factoring erano "laboriosi e prolissi"!
Robin Kothari,

10

Quanto segue, citato da

  • Goldwasser, S. e Micali, S. 1982. Crittografia probabilistica e come giocare a poker mentale mantenendo segrete tutte le informazioni parziali. In Atti del quattordicesimo simposio annuale ACM sulla teoria dell'informatica (San Francisco, California, Stati Uniti, 05 - 07 maggio 1982). STOC '82. ACM, New York, NY, 365-377. DOI = http://doi.acm.org/10.1145/800070.802212

Fa riferimento a un altro problema risalente a Disquitiones Arithmeticae di Gauss (1801):

Se la fattorizzazione di N non è nota e , dove(q(qN)=1indica il simbolo Jacobi, quindi non esiste una procedura nota per decidere se q è un residuo quadratico mod N. Questo problema decisionale è ben noto per essere duro nella teoria dei numeri. È uno deiquattroprincipaliproblemi algoritmicidiscussi da Gauss nella sua "Disquisitiones Arithmeticae" (1801). Una soluzione polinomiale per questo implicherebbe una soluzione polinomiale ad altri problemi aperti nella teoria dei numeri, come decidere se una N composita, la cui fattorizzazione non è nota, è il prodotto di 2 o 3 numeri primi; vedi problemi aperti 9 e 15 inAdleman.(qN)

PS: Ormai, conosciamo due dei quattro problemi algoritmici :

  1. Factoring (come menzionato da arnab);
  2. Decisione della residenza quadratica.

quali sono i restanti due problemi descritti da Gauss?


9

Nella letteratura del nostro paese, c'è un detto che traduco letteralmente come "L'enigma diventa facile quando viene risolto". Sebbene non sia una buona traduzione, si riferisce al fatto che quando si ha la soluzione, è possibile verificarla facilmente; ancora prima, l'indovinello sembra molto difficile.

Questo si riferisce al famoso problema "FP vs. FNP": se FNP = FP, la verifica della risposta all'enigma è facile come trovarla. Tuttavia, se FNP ≠ FP, allora esistono "indovinelli" per i quali trovare una soluzione è molto più difficile che verificarne la soluzione.

Credo che questo problema sia il più antico problema aperto di TCS, ma la sua formulazione rigorosa risale a circa 30 anni fa!

There seems to be a similar (yet somehow different!) proverb in the English language: "It's easy to be wise after the event" or "It's easy to be smart after the fact."

MODIFICARE: "Possiamo fattorizzare i numeri in poly-time" è un altro problema aperto di TCS, ma penso che sia più giovane del problema sopra menzionato.

Ecco due elenchi di problemi aperti di TCS sul Web:

Abbiamo anche un tale elenco qui su CSTheory.


1
Dato che lo sto limitando a rigorose formulazioni di problemi, immagino che la questione del factoring e FP = FNP possa essere formalizzata solo quando avremo macchine di Turing, tempi polinomiali, ecc.
Robin Kothari,

@Robin: Potresti non chiedere vecchi, formalizzati problemi di apertura TCS, se non c'erano nemmeno i computer nei vecchi tempi! :)
MS Dousti,

1
@Sadeq: non mi dispiace se la domanda più antica si rivela essere una domanda posta nel 1922. Insisto su domande rigorosamente dichiarate perché altrimenti la gente citerà testi di 4000 anni che affermano che una frase sull'universo era una domanda computazionale sotto mentite spoglie.
Robin Kothari,

In che anno è stato formulato questo problema?
Dave Clarke,

3
@Sadeq: Vero, ma non è la domanda P contro NP a meno che qualcuno non formalizzi il modello, ecc. Voglio dire che potrebbe ugualmente rappresentare un'altra domanda (diciamo L contro NL, o P / poli contro NP / poli, o qualche domanda in un campo diverso). In secondo luogo, questa è una credenza comunemente ritenuta, non qualcosa considerata un problema aperto. Non è qualcosa che richiede prove, nella sua formulazione originale: è solo un'osservazione sulla vita.
Robin Kothari,

3

Metto in dubbio la tua teoria dei numeri esclusi che implica la questione se alcuni insiemi di numeri teorici siano finiti o infiniti come parte del TCS e sosterrei sicuramente diversamente. i greci si chiedevano se:

  • ci sono numeri dispari perfetti? [forse considerato da euclid]

  • c'è un numero infinito di numeri primi gemelli?

TMxTMy

quindi probabilmente questi sono due antichi problemi algoritmici e i greci sono stati i pionieri dei primi TCS principalmente sotto forma di teoria dei numeri e i primi problemi di teoria dei numeri sono solo casi speciali di Turing che risolvono il problema e prime prove circostanziali della sua difficoltà. e c'è una stretta relazione tra chiedere / trovare / cercare prove e teoria dell'indecidibilità.

probabilmente una nuova ricerca sta dimostrando che la congettura di collatz, una volta considerata una curiosità della teoria dei numeri, ha profonde somiglianze con la teoria della calcolabilità e può trovarsi proprio al limite tra problemi indecidibili e decidibili. anche l'esempio che citi del decimo problema di Hilber mostra un legame fondamentale tra teoria dei numeri e TCS.

altre due antiche domande algoritmiche:

  • che cos'è un algoritmo efficiente o più efficiente per il calcolo di gcd, il massimo comune divisore?

  • che cos'è un algoritmo efficiente o più efficiente per il calcolo dei numeri primi?

concordato sul fatto che la seconda domanda è abbastanza strettamente correlata al factoring, ma non è esattamente la stessa, ovviamente. è stato considerato dal setaccio ed euclide di eratostene. naturalmente, recentemente è stato dimostrato di essere in P da AKS, ma anche in questo caso l'algoritmo non si è dimostrato del tutto ottimale.

c'è una ricerca TCS molto moderna sull'algoritmo euclids gcd (cioè 20 ° secolo) che ha dimostrato che i numeri di fibonacci danno le prestazioni peggiori. [non sono sicuro di chi sia stato il primo a mostrarlo]

fino a quando l'algoritmo degli euclidi non sarà dimostrato ottimale, il calcolo discutibilmente efficiente di gcd è ancora aperto.


7
non sono d'accordo con la maggior parte di ciò che dici (il fatto che tu possa costruire tutti i tipi di macchine di Turing che si fermano se esistono oggetti congetturati non pone problemi di calcolabilità di questi problemi di esistenza). ma alla fine hai un buon punto: generare in modo deterministico un numero primo in un certo intervallo è una versione moderna ragionevole della vecchia ricerca per trovare una "formula per numeri primi". voterei se scrivessi una risposta mirata in questo senso
Sasho Nikolov,

1
Concordo con il commento di cui sopra: la congettura di Poincaré può essere formulata come un problema di arresto anche per le macchine di Turing, ma non sono stati fatti progressi usando tecniche specifiche della comunità CS. Lo stesso si può dire per tali problemi teorici numerici, per quanto computazionalmente rilevanti.
cody

2

Non sono sicuro di quanto sia seria questa risposta, ma ...

Dipende davvero da quanto sei disposto a definire la tua domanda.

Sicuramente "si può costruire una macchina intelligente?" è la più antica domanda aperta in CS che ha iniziato l'informatica, ma è probabilmente vecchia di un millennio o due rispetto a CS. No? (È una domanda teorica, poiché richiede una risposta - non per la macchina stessa ...)

Un riferimento naturale alla ricerca di una macchina intelligente sarebbe il Golem ... http://it.wikipedia.org/wiki/Golem#History


0

Posso rispondere alla tua domanda con certezza al 100% per un periodo di tempo. Se consideriamo il periodo che va dal saggio seminale di Hartmanis e Stearns a qualsiasi punto del futuro, il problema più antico nella TCS che è ancora aperto è:

Qual è il sovraccarico minimo necessario per la simulazione di TM deterministiche?

La prima risposta è stata T2(n) , dove T(n)è il tempo di esecuzione del TM in simulazione, con un miglioramento rapido fornito da Hennie Stearns e dilogT(n), che è la migliore risposta attuale al meglio delle mie conoscenze.

Questo problema è ancora aperto e un suo miglioramento migliorerebbe molti risultati, con il più importante forse il divario nella gerarchia temporale deterministica. Tuttavia, la ricerca sull'argomento suggerisce che illogT(n) il divario è necessario.


1
queste due affermazioni mi sembrano contraddittorie: "Questo problema è ancora aperto" e "la ricerca sull'argomento mostra che il logT(n)divario necessario "
Sasho Nikolov,

1
Ah thank you @SashoNikolov . A really bad choice of words. Corrected it to "suggests" , which is true, since the problem is really open. It's like P vs NP problem which is of course open, but most believe the two classes are not equal.
chazisop

1
This could use some clarification, for the benefit of those who do not know those papers in detail: What type of TM is being simulated? What type of machine is doing the simulation?
funkstar

I don't believe a clarification is necessary. That the model being used in the first paper is the multitape TM is a well known fact, since it contains some of the core definitions of TCS, plus it is explicitly mentioned in the title of the Hennie and Stearns paper.
chazisop

1
La tua formulazione della domanda aperta è ancora troppo vaga, secondo me. Anche se è ben noto nella comunità ToC che Hartmanis, Hennie e Stearns lavorano con multitape TM, ciò rende semplicemente inutile la tua risposta a quelli in molti altri campi di TCS. Dovresti considerare almeno l'aggiunta del qualificatore "multitape" alla domanda. (E anche allora, hai il problema che la simulazione di Hartmanis e Stearns utilizza una TM a 1 nastro, mentre la simulazione di Hennie e Stearns utilizza una TM a 2 nastri.)
funkstar
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.