Ci sono problemi decidibili per i quali per nessun algoritmo possiamo dare limiti di tempo?


12

Ci sono problemi decidibili tali che per nessun algoritmo che risolve il problema possiamo dare un limite di tempo in funzione della lunghezza n dell'istanza di input?

Sono arrivato a questa domanda perché stavo pensando a quanto segue:

Supponiamo di avere un problema ricorsivamente enumerabile, ma indecidibile. Supponiamo inoltre che io sia un "sì", il problema. Quindi per nessun algoritmo che identifichi le istanze "sì" del problema, possiamo dare un limite di tempo in termini di dimensione n di I. Perché se potessimo dare un tale limite di tempo, potremmo decidere il problema, come potremmo semplicemente Concludo che sono un'istanza "no" quando viene superato il limite di tempo.

Dal momento che non possiamo dare un limite di tempo per problemi ricorsivamente enumerabili, indecidibili (per il tempo di calcolo per istanze "sì"), mi chiedevo se ci fossero anche problemi decidibili per i quali non possiamo dare un limite di tempo.


9
Esiste un tempo insignificante legato a tali algoritmi: eseguire l'algoritmo e restituire il numero di passaggi eseguiti da tale algoritmo. D'altra parte è facile costruire esempi per i quali è difficile dare limiti che siano facili da capire o esprimere, ad esempio la funzione ackermann.
cody,

2
Dovrai essere più preciso. Se parli di funzioni (matematiche), allora sì, esiste una funzione che corrisponde al tempo di funzionamento di qualsiasi macchina Turing (in effetti, ci sono più funzioni rispetto alle macchine Turing). Se parli di funzioni calcolabili o, equivalentemente, di algoritmi, allora @cody ti dà la risposta: basta avviare la macchina Turing per decidere il problema e contare il tempo di esecuzione.
Alex ten Brink,

8
@AlextenBrink: in realtà, per ottenere il tempo di esecuzione nel caso peggiore in funzione della dimensione di input , è necessario eseguire la macchina di Turing per tutti i possibili input di dimensione n e ottenere il massimo. Ma ovviamente anche questo è fattibile. nn
Jukka Suomela,

8
Posso suggerire una revisione? Per evitare la banale risposta, supponiamo di definire la frase "possiamo dare un limite di tempo" per indicare "possiamo calcolare un limite superiore sul tempo di esecuzione nel caso peggiore più rapidamente che eseguendo l'algoritmo su tutte le istanze di dimensione n". O forse "tutte le istanze" dovrebbe essere "una singola istanza".
Jeffε,

1
Il tuo argomento dipende dal fatto che la tua funzione legata al tempo sia totalmente calcolabile. È noto che ciò non può essere fatto, ma se questa è la tua domanda (cioè ci sono funzioni parziali calcolabili senza estensione totale della funzione calcolabile), allora la domanda non è a livello di ricerca. Consulta le FAQ per suggerimenti su dove potresti essere in grado di porre questo tipo di domande.
Kaveh,

Risposte:


13

AInI n ( n ) n t i m e ( A ( i ) ) A i

f(n)=maxiIn(n)  time(A(i)),
In(n)ntime(A(i))Ai

Se usiamo termini algebrici semplici (senza ricorsione di alcun tipo) come definizione di conciso, allora penso che la risposta sia no: ci sono problemi che possono essere decisi ma la cui complessità è non elementare. Cioè, non esiste uno stack del modulo che limiti il ​​tempo di esecuzione di un algoritmo per un problema di dimensione n.2222n

Spero di aver capito la tua domanda nel modo giusto.


6

Questa è una versione leggermente diversa della tua domanda rispetto a quella di Marcus, ma alla luce della tua spiegazione di come sei arrivato a pensare a questa domanda, potrebbe essere più vicino a quello che stai cercando.

A volte si può dimostrare che un problema è decidibile, senza essere in grado di esibire l'algoritmo per esso. L'esempio più famoso di questo genere di cose è il lavoro di Robertson e Seymour sui minori grafici, che mostra che qualsiasi proprietà ereditaria dei grafi può essere decisa in tempo polinomiale, verificando la presenza di un adeguato elenco finito di minori proibiti. La loro prova mostra solo che esiste un elenco finito di minori proibiti, ma non fornisce una ricetta per trovare l'elenco.

Non sono un esperto della zona, quindi non conosco a casaccio un esempio specifico di proprietà di un grafico ereditario per il quale non possiamo esibire un algoritmo perché non conosciamo l'elenco dei minori proibiti e non conosciamo nessun altro modo per risolvere il problema, ma sospetto che esistano esempi del genere. (E possiamo limitare il tempo di esecuzione per trovare un esempio se esiste, poiché sappiamo che ci sono al massimo 8 miliardi di persone nel mondo e nel peggiore dei casi potremmo chiedere a tutti!)

Una ulteriore osservazione: Poiché sappiamo che il controllo per un minore può essere fatto in tempo, si potrebbe sostenere che in tutti i casi forniti dall'algoritmo Robertson-Seymour, ci facciamo abbiamo un "legato" di sul tempo di esecuzione. Tuttavia, direi che questo è una specie di imbroglio, se non abbiamo vincoli alla costante.O ( n 3 )O(n3)O(n3)


2
Ma se scegli un insieme esplicito di minori esclusi, puoi esibire un algoritmo. Meglio sarebbe scegliere alcune proprietà ereditarie che non sono state studiate. Questo è un po 'più complicato da fare, però.
Timothy Chow,

2
È abbastanza tangenziale per il tuo punto, ma: le proprietà del grafico chiuso in piccolo possono essere in effetti decise nel tempo research.nii.ac.jp/~k_keniti/quaddp1.pdf . O(n2)
Emil Jeřábek 3.0

1
@ EmilJeřábek: ancora più tangenzialmente, decidere se un grafico di una famiglia chiusa minore soddisfa una proprietà del primo ordine può essere fatto in tempo lineare: arxiv.org/abs/1109.5036
András Salamon,

1
A proposito, Kowarabayashi e Wollan rivendicano un limite alla costante nel loro documento STOC 2011 dsi.uniroma1.it/~wollan/PUBS/shorter_struct_web.pdf che riporta anche su ulteriori progressi che "non sono ancora completamente scritti". Tuttavia, non posso facilmente estrarre un limite esplicito da questo documento.
András Salamon,

2
Per un tale esempio, hai grafici con una copertura planare. Stranamente, conosciamo quasi un elenco: ci sono 31 minori proibiti e un 32esimo potenziale, ma per quest'ultimo è aperto se ha una copertura planare o meno. Pertanto non abbiamo un algoritmo per questa classe di grafici. Vedi ad esempio: fi.muni.cz/~hlineny/papers/plcover20-gc.pdf
Denis

3

Solo per aggiungere una prospettiva diversa, vorrei ricordare che non tutti i problemi hanno una complessità "intrinseca", che è probabilmente la conseguenza più interessante e in qualche modo trascurata del teorema della velocità di Blum.

In sostanza il teorema afferma che, risolto un desiderato speedup g, potresti sempre trovare un problema computazionale P tale che per qualsiasi programma che risolve P esiste un altro programma che risolve ancora P e g-time più veloce del precedente.

Quindi, per questo tipo di problemi non puoi dare un limite di tempo. Risultato sorprendente e abbastanza sconcertante. Naturalmente P ha una complessità molto grande.


Perché P ha una complessità molto grande?

Poiché il processo di accelerazione può essere iterato, quindi deve essere compatibile con una catena infinita di algoritmi di complessità decrescente.
Andrea Asperti,

3

L'aspetto teorico della tua domanda è curato da Markus. Più in pratica, un modo interessante per comprendere la tua domanda è: ci sono problemi decidibili per i quali non conosciamo alcun limite di tempo?

La risposta è sì: ad esempio può capitare che tu abbia un semi-algoritmo per le istanze YES del tuo problema e un semi-algoritmo per NO istanze. Questo ti dà la decidibilità del tuo problema, ma senza limiti di tempo.

Ecco un esempio generico: supponi di avere un sistema assiomatico che ti permetta di provare tutte le vere identità in qualche algebra. Inoltre, sai che le false identità sono sempre testimoniate da una struttura finita.

Allora avete il seguente algoritmo per decidere se un'identità è vero: enumerate nelle prove parallele e strutture finite, e di arresto quando si trova una prova di o di una struttura testimone che è falso. Ti dà un algoritmo corretto, ma senza la complessità legata, a meno che non si può legata la dimensione delle prove e delle strutture finite rispetto al .io io ioIIII

Un esempio di ciò è la logica lineare affine (LLW): ora è noto per essere Tower-complete [1], ma da qualche tempo non si conoscevano limiti e si mostrava solo la decidibilità, usando tra le altre tecniche la proprietà del modello finito [2] .

Riferimenti:

[1] Complessità non elementari per la ramificazione di VASS, MELL ed estensioni. Ranko Lazic e Sylvain Schmitz. CSL-LICS 2014

[2] Proprietà del modello finito per vari frammenti di logica lineare. Yves Lafont, J. Symb. Logica. 1997


-4

come altri hanno affermato la domanda non è formulata in modo da evitare una risposta banale, tuttavia ci sono alcuni concetti nella TCS e nella teoria dei numeri che sono correlati / simili.

1) nei teoremi della gerarchia dello spazio e del tempo sono richiesti il concetto di funzioni "costruibili nel tempo" e "costruibili nello spazio" . esistono funzioni non costruibili nel tempo e non costruibili nello spazio che portano a proprietà insolite trovate nei teoremi di Blum come i teoremi "gap, speedup". la maggior parte (tutte?) le classi di complessità standard sono definite in termini di funzioni costruibili nello spazio e nel tempo.

2) la funzione ackerman è ricorsiva totale ma non ricorsiva primitiva e questo ha implicazioni per il suo limite di tempo. le funzioni ricorsive primitive in un certo senso rappresentano le operazioni matematiche "di base".

3) ci sono delle sequenze di teoria dei numeri impensabili nell'aritmetica peano che possono essere interpretate come la creazione di limiti di tempo non calcolabili in un senso come la sequenza di Goodstein o di Parigi- Harrington


5
non una risposta alla domanda.
Kaveh,
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.