Problemi che richiedono evidentemente un tempo quadratico


19

Sto cercando esempi di problemi che hanno un limite inferiore di ) per l'ingresso x .Ω(|x|2x

Il problema deve avere le seguenti proprietà:

  1. prova di runtime per qualsiasi algoritmo - la prima priorità è di avere l'argomento limite inferiore il più semplice possibile.Ω(n2)
  2. algoritmo, se possibile, anche semplice.O(n2)
  3. Dimensione di output di (o inferiore). Ovviamente qualsiasi problema che richieda un'uscita prolungata Ω ( n 2 ) richiede almeno un tempo di esecuzione simile, ma non è quello che sto cercando. Si noti che qualsiasi problema decisionale si adatta qui.O(n)Ω(n2)
  4. (se possibile) un problema "naturale". Senza una definizione formale, è preferibile un problema che qualsiasi laureato in CS riconoscerebbe.

Recentemente mi è stato chiesto di questo problema ma non ne ho trovato uno semplice. Il primo problema che mi è venuto in mente è stato , che è stato ipotizzato essere un problema di runtime Ω ( n 2 ) . Questo non era abbastanza semplice e, inoltre, la struttura è stata recentemente dimostrata falsa : o.3SUMΩ(n2)

Andando a un problema estremamente innaturale, ritengo che il problema che ottiene ingresso un TM deterministica e ingresso , e restituisce la posizione della testa di nastro dopo ( | M | + | x | ) 2 passi quando è l'esecuzione su x probabilmente risponde alla domanda.M,x(|M|+|x|)2x


Se è assolutamente necessario, concordiamo sul fatto che stiamo utilizzando il modello TM a nastro singolo, anche se preferisco i problemi il cui runtime è indipendente dal modello esatto (purché sia ​​ragionevole).


Quindi, possiamo trovare un problema semplice (da provare), naturale (ben noto) il cui tempo di esecuzione è ?Θ(n2)


Penso che "Dati i numeri naturali , y , calcola x + y " si qualifica. Inoltre, nota questa domanda . xyx+y
Raffaello

2
L'unico modo in cui sappiamo come dimostrare limiti inferiori superlineari su macchine Turing multitape è attraverso la diagonalizzazione. Per le macchine Turing a nastro singolo, puoi migliorare un po 'usando le sequenze incrociate, ma non fino a meno che tu non limiti lo spazio. n2
Yuval Filmus,

2
Vedi qui per un'altra domanda correlata; l'inversione dell'input sembra essere un buon candidato.
Raffaello

Non penso che tu possa farlo con un problema decisionale, perché il limite inferiore trovato migliore per NP è O (n).
Albert Hendriks,

Grazie per il tuo commento @AlbertHendriks. Puoi condividere un riferimento a una fonte / indagine affermando che il limite inferiore più noto per qualsiasi problema in NP è ? Ω(n)
RB

Risposte:


7

Trovare una torta senza invidia richiede query. Tuttavia, questo non risponde direttamente alla tua domanda poiché il modello computazionale è diverso da una macchina di Turing.Ω(n2)

A proposito, attualmente l' algoritmo più veloce conosciuto per questo problema richiede query, quindi c'è un enorme divario dal limite inferiore - probabilmente uno dei più grandi divari nell'informatica.nnnnnn


1

Θ(n2)

L={x0|x|xx{0,1}}
Θ(n2)EQnΘ(n)LL={xxx{0,1}}

A proposito, vale la pena ricordare che il "metodo della sequenza di attraversamento" menzionato da Yuval è (per la mia migliore conoscenza) matematicamente equivalente (o, forse, inforior) a quello della complessità della comunicazione.


SATO(n2cos(π/7)) no(1)2cos(π/7)1.8

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.