Limiti inferiori del calcolo di una funzione di un insieme


9

Avendo un set A di n elementi, diciamo che voglio calcolare una funzione f(A) che è sensibile a tutte le parti dell'input, cioè dipende dal membro stesso di A (cioè è possibile cambiare qualsiasi membro di A in qualcosa altrimenti per ottenere un nuovo input A st il valore di su e sono diversi).fAA

Ad esempio, potrebbe essere la somma o la media.f

Esiste un risultato che dimostra che, in alcune condizioni, il tempo necessario a una macchina di Turing deterministica per calcolaref sarà ?Ω(n)


Notare che se è una sequenza con accesso casuale e l'assunzione di sensibilità è indebolita, ciò non sempre vale. Ad esempio, ( i , x 1 , , x n ) x i può essere calcolato con due query, anche se non è una giunta. A(i,x1,,xn)xi
sdcvvc,

@sdcvvc tuo esempio mi ricorda l'insegnamento della lingua C V[i]. Qual è la definizione di junta ?
Виталий Олегович,

2
Un -junta è una funzione booleana che dipende solo k argomenti, cioè v'è un insieme A { 1 , 2 , ... , n } di dimensione k tale che per ogni x , y , se x ed y differiscono solo su posizioni fuori da A , quindi f ( x ) = f ( y ) . Ho abusato di questo termine per indicare una funzione che non dipende da tutti gli argomenti. kkA{1,2,,n}kxyxyAf(x)=f(y)
sdcvvc,

Se stai cercando di trovare supporto per la tua risposta al problema della distanza media su math.se, sfortunatamente, ciò non funzionerà.
Aryabhata,

@Aryabhata la prima intenzione era quella di trovare supporto per la mia risposta a questa domanda: math.stackexchange.com/questions/129969/… , ma l'unica cosa che questo risultato dirà è che se ci sono vertici nel grafico, l'algoritmo il calcolo della distanza media sarà Ω ( n ) , che è abbastanza ovvio. Ho cancellato la mia risposta lì, perché come hai scritto non ho dimostrato nulla. nΩ(n)
Виталий Олегович l'

Risposte:


7

Devi specificare il modello di calcolo e le proprietà di . Nel seguente argomento indicherò le ipotesi di cui ho bisogno. Può essere generalizzato un po 'più avanti, ma penso che dovrebbe essere sufficiente per darti l'idea.f

Supponiamo che la macchina non legga mai il valore di uno dei membri di A (un set fisso e che A sia dato come un elenco). Supponi inoltre che A sia un input in modo tale che la modifica del valore del suo I membro non cambi la risposta di M. Supponiamo inoltre che f sia sensibile a tutte le parti dell'input, cioè dipende dal membro stesso di A (ovvero è possibile cambiare qualsiasi membro di A in qualcos'altro per ottenere un nuovo input A st valore di f su A e A sono diversi).MAAAiMfAAAfAA

Possiamo usare un argomento avversario per mostrare che la macchina non può calcolare la risposta giusta cambiando il valore di quel membro di per ottenere A altrimenti il ​​valore di f è diverso. Il valore di M su questi due set è lo stesso, quindi uno di essi deve essere falso e quindi M non può calcolare f correttamente.AAfMMf

Pertanto, qualsiasi macchina che calcola f dovrà leggere tutti gli input che eseguono passi Ω ( n ) .MfΩ(n)

(D'altra parte, supponiamo che abbiamo una macchina ad accesso casuale non deterministica e che vogliamo calcolare OR dei bit nell'input. Possiamo indovinare un po 'in modo non deterministico e verificare se questo è 1, se è 1, produciamo 1 . Questa macchina legge solo un singolo bit di ingresso in passi e risponde correttamente il problema. Quindi, senza ipotesi su M e F il risultato non regge.)O(lgn)Mf


Mi dispiace di aver dimenticato di scrivere che il mio modello di calcolo era la macchina di Turing deterministica.
Виталий Олегович,

+1 per l'argomento avversario, che è un ottimo modo per iniziare a comprendere i limiti inferiori.
Joe,
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.