Complessità inferiore: il divario tra alberi decisionali e RAM


15

Recentemente ho scoperto un limite inferiore quadratico alla complessità di un problema nel modello dell'albero decisionale e mi chiedo se questo risultato possa essere parzialmente generalizzato al modello di macchina ad accesso casuale. In parte , intendo una generalizzazione ai programmi RAM con un certo compromesso tempo / spazio. Ad esempio, vorrei mostrare che il mio problema non può essere risolto da un programma RAM a tempo lineare e spazio.

AM Ben-Amram e Z. Galil dimostrato in questo documento che un programma RAM esecuzione in tempo e spaziali s possono essere simulati O ( ttS tempo su una macchina puntatore. Conosciamo risultati simili che potrebbero essere applicati agli alberi delle decisioni?O(tlogS)

In alternativa, è possibile simulare un programma RAM in esecuzione nello spazio con un albero decisionale di grado s ? (intuitivamente, l'indirizzamento indiretto potrebbe essere simulato usando nodi di grado s )SSS


Non so molto della complessità della query classica (complessità dell'albero decisionale) ma quando si lavora nel modello analogo in un'impostazione quantistica (complessità della query quantistica) a volte si ottengono limiti inferiori piuttosto scarsi per il modello di circuito. Ad esempio, per HSP puoi mostrare che la complessità della query è polinomiale, ma gli unitari tra le query prendono un numero esponenziale di gate ... e per quanto sospettiamo che l'HSP generale non sia realizzabile in tempo polinomiale, quindi la complessità della query fornisce solo limiti inferiori molto allentati. O stai bene con un limite inferiore molto lento?
Artem Kaznatcheev

In realtà, mi piacerebbe davvero avere un limite inferiore superlineare per (alcuni) programmi in esecuzione su RAM. Ecco perché speravo che limitare la complessità dello spazio potesse aiutare.
Totoro,

1
Non capisco la tua domanda. Come si può avere un limite inferiore quadratico sulla complessità della query? Inoltre, i compromessi spazio-tempo usano spesso teoremi di prodotto diretti, quindi potresti dover lavorare di più per ottenere tali risultati.
Hartmut Klauck,

1
La complessità del limite inferiore nel modello dell'albero decisionale deriva da un limite inferiore del numero di possibili output del problema (il cui logaritmo fornisce un limite inferiore dell'altezza sull'albero).
Totoro,

Risposte:


10

Il modello naturale correlato agli alberi decisionali in grado di simulare le RAM è il programma di ramificazione. Fondamentalmente, è un albero decisionale con sottostrutture comuni coalizzate che producono un DAG. Il tempo T e lo spazio S su una RAM possono essere simulati in altezza T e dimensione 2 ^ S in un programma di diramazione. (Potrebbe essere necessario utilizzare la ramificazione multidirezionale).

Per problemi di decisione, è chiaro che qualsiasi albero decisionale necessita solo di altezza = # input e spazio = numero totale di bit nell'input. Si noti che con la ramificazione a più vie si potrebbero avere i # bit nell'ingresso più grandi della solita misura del # degli ingressi (ad es. N puntatori ciascuno prendendo log n bit.) Per tali problemi con nlog n bit di input totali si può dimostrare che alcuni problemi non possono essere risolti nel tempo O (n) e spazio = O (n) bit. È questa la tua forma di problema?

Sembra che tu stia utilizzando il numero di uscite per cercare di ottenere un limite inferiore più grande. È normale che i problemi di multi-output consentano più output lungo un singolo bordo anziché ai nodi foglia (vedere, ad esempio, il documento di Borodin-Cook del 1982 sull'ordinamento dei limiti inferiori). Tuttavia, anche senza questo presupposto, si può anche calcolare qualsiasi funzione con bit di input height = # e space = #. (Leggere e ricordare l'input e generare tutti i valori in ciascun nodo foglia.)


La ringrazio per la risposta. L'input del problema è una raccolta di set di numeri interi, in modo che si possa supporre che siano indicati come elenchi. Comunque, grazie per aver sottolineato la tecnica di Borodin e Cook (non lo sapevo affatto). Spero che questo tipo di metodo possa essere applicato al mio problema.
Totoro,

1

Il modello naturale relativo agli alberi decisionali che simula le RAM senza perdita è il programma di ramificazione. Fondamentalmente, è un albero decisionale con sottostrutture comuni coalizzate che producono un DAG. Il tempo T e lo spazio S su una RAM possono essere simulati in altezza T e dimensione 2 ^ S in un programma di diramazione. (Potrebbe essere necessario utilizzare la ramificazione multidirezionale).

Per problemi di decisione, è chiaro che qualsiasi albero decisionale necessita solo di altezza = # input e spazio = numero totale di bit nell'input. Si noti che con la ramificazione multidirezionale si potrebbero avere i # bit nell'ingresso più grandi della normale misura del # degli ingressi (ad es. N puntatori ciascuno prendendo log n bit.) Per tali problemi con nlog n bit di input totali si può dimostrare che alcuni problemi non possono essere risolti nel tempo O (n) e spazio = O (n) bit su una RAM.) È questa la forma del tuo problema?

Sembra che tu stia utilizzando il numero di uscite per cercare di ottenere un limite inferiore più grande. Tuttavia, anche con questo è anche possibile calcolare qualsiasi funzione con bit di input height = # e space = #. (Leggere e ricordare l'input e generare tutti i valori richiesti in ciascun nodo foglia. È normale consentire più output in un singolo nodo.)


Forse è meglio per l'autore unire questa risposta con la precedente poiché sono quasi identici.
Oleksandr Bondarenko,
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.