Esempi del prezzo dell'astrazione?


112

L'informatica teorica ha fornito alcuni esempi del "prezzo dell'astrazione". I due più importanti sono per l'eliminazione e l'ordinamento gaussiani. Vale a dire:

  • È noto che l'eliminazione gaussiana è ottimale, ad esempio, per calcolare il determinante se si limitano le operazioni a righe e colonne nel loro insieme [1]. Ovviamente l'algoritmo di Strassen non obbedisce a tale restrizione ed è asintoticamente migliore dell'eliminazione gaussiana.
  • Nell'ordinamento, se trattate gli elementi dell'elenco come caselle nere che possono solo essere confrontate e spostate, allora abbiamo il limite inferiore teorico delle informazioni standard . Tuttavia, gli alberi da fusione superano questo limite, per quanto ne capisco, un uso intelligente della moltiplicazione.nlogn

Ci sono altri esempi del prezzo dell'astrazione?

Per essere un po 'più formale, sto cercando esempi in cui un limite inferiore è conosciuto incondizionatamente in qualche debole modello di calcolo, ma è noto che è stato violato in un modello più forte. Inoltre, la debolezza del modello debole dovrebbe presentarsi sotto forma di un'astrazione , che è certamente una nozione soggettiva. Ad esempio, non considero la limitazione ai circuiti monotoni come un'astrazione. Spero che i due esempi sopra chiariscano cosa sto cercando.

[1] KLYUYEV, VV e NI KOKOVKIN-SHcHERBAK: sulla minimizzazione del numero di operazioni aritmetiche per la soluzione di sistemi algebrici lineari di equazioni. Traduzione di GI TEE: Rapporto tecnico CS 24, giugno t4, t965, Dipartimento di Informatica, Università di Stanford.


3
Mi piace molto questa domanda; in attesa di vedere più risposte.
randomwalker,

1
C'è anche un costo "implicito" di astrazione. Tu citi l'esempio del prezzo dell'astrazione nello smistamento e come questi risultati astratti non si applicano al numero di smistamento (che in effetti può essere fatto anche in O (n) con bucketsort in alcuni casi). I limiti inferiori sui diagrammi di Voronoi sono spesso derivati ​​dimostrando che esiste una riduzione del tempo lineare da un diagramma di Voronoi all'ordinamento di un elenco di numeri. E molti algoritmi geometrici derivano limiti inferiori da questo limite inferiore nel calcolo del voronoi.
Ross Snider,

perché questa è una wiki della comunità?
nanda,

1
@nanda: Perché non esiste una sola risposta corretta, e in effetti la domanda è stata progettata per generare molte risposte giuste, come penso.
Joshua Grochow,

1
sembra che potresti davvero
riferirti

Risposte:


38

Un altro bellissimo esempio del prezzo dell'astrazione: la codifica di rete . È noto che nelle impostazioni multicast, la relazione max-flow-min-cut non è di uguaglianza (primal e dual non corrispondono). Tuttavia, i modelli tradizionali presuppongono un flusso semplicemente trasmesso e non "elaborato" in alcun modo. Con la codifica di rete, puoi superare questo limite combinando abilmente i flussi. Questo esempio è stato in primo luogo un grande motivatore per lo studio della codifica di rete.


33

La programmazione puramente funzionale è un'astrazione popolare che offre, almeno secondo i suoi sostenitori, un grande aumento del potere espressivo del codice, tra gli altri vantaggi. Tuttavia, poiché è un modello restrittivo della macchina - in particolare, non consente la memoria mutabile - solleva la questione del rallentamento asintotico rispetto al solito modello (RAM).

C'è una grande discussione su questa domanda qui . I principali takeaway sembrano essere:

  1. È possibile simulare la memoria mutabile con un albero binario bilanciato, quindi il rallentamento del caso peggiore è O (log n).
  2. Con una valutazione entusiasta , ci sono problemi per i quali questo è il meglio che puoi fare.
  3. Con la valutazione pigra , non è noto se vi sia o meno un divario. Tuttavia, ci sono molti problemi naturali per i quali nessun algoritmo puramente funzionale noto corrisponde alla complessità RAM ottimale.

Mi sembra che questa sia una domanda sorprendentemente basilare da aprire.


dato che la programmazione funzionale è un modello per grandi calcoli di dati (vedi MapReduce), questo rallentamento è potenzialmente abbastanza significativo.
Suresh Venkat,

5
Inoltre, è importante tenere presente che le avvertenze menzionate nel thread SO. Vale a dire, il limite inferiore su un problema è esso stesso in un modello ancora più limitato: online con elementi atomici. Credo che un limite inferiore di tale forma nel modello standard di programmazione funzionale sia ancora aperto. Ω(nlogn)
Joshua Grochow,

1
Almeno, il documento citato in quel thread ([Bird, Jones e De Moor, 1997], vedi lì per il riferimento completo) stabilisce un divario tra valutazione avida e pigra.
Blaisorblade,

Per calcoli di dati molto grandi, il costo di I / O dovrebbe dominare così fortemente che i rallentamenti logaritmici nei calcoli non dovrebbero avere importanza, giusto?
AdrianN,

Cosa intendi per ordine di valutazione?
libeako,

28

Mentre la tua domanda si concentra sulla teoria della complessità, cose simili possono accadere in altri campi come la teoria dei linguaggi di programmazione. Ecco un paio di esempi in cui l'astrazione rende qualcosa di indecidibile (cioè il limite inferiore nel modello debole è l'impossibilità, mentre il modello forte consente di esprimere l'algoritmo):

  • Nel calcolo lambda, ci sono funzioni che non è possibile esprimere direttamente (vale a dire, come termine lambda che beta riduce al risultato desiderato). Un esempio è parallelo o (una funzione di due argomenti che restituisce quello che termina). Un altro esempio è una funzione che stampa letteralmente il suo argomento (una funzione ovviamente non può distinguere tra due argomenti beta-equivalenti). La mancanza di espressività è dovuta al rafforzamento dell'astrazione secondo cui i termini lambda beta-equivalenti devono essere trattati in modo identico.

  • In un linguaggio tipicamente statico che ha solo un polimorfismo parametrico , come ML senza alcuna estensione elaborata, è impossibile scrivere alcune funzioni: ottieni teoremi gratis . Ad esempio, una funzione il cui tipo è (qualunque sia il tipo di argomento, restituisce un oggetto dello stesso tipo) deve essere la funzione di identità o non terminante. La mancanza di espressività è dovuta all'astrazione che se non si conosce il tipo di un valore, è opaco (è possibile solo passarlo in giro).α,αα


4
Vorrei poter votare più volte.
Jacques Carette,

26

Il "prezzo dell'astrazione" può anche essere trovato quando si risolve il problema del logaritmo discreto nella crittografia. Shoup (1997) ha dimostrato che qualsiasi approccio generico (ovvero algoritmi che utilizzano solo operazioni di gruppo) deve utilizzare almeno operazioni di gruppo , dove è la dimensione del gruppo. Ciò corrisponde alla complessità dell'attacco di compleanno generico . Tuttavia, algoritmi come il calcolo dell'indice o l' algoritmo Pohlig-Hellman si basano sulla struttura teorica numerica di per ottenere algoritmi leggermente più veloci (almeno in gruppi di ordine uniforme).m Z nΩ(m)mZn

Questa osservazione è uno dei motivi della popolarità della crittografia a curva ellittica (al contrario della crittografia in gruppi come ) poiché, essenzialmente, conosciamo solo approcci generici per risolvere il problema del logaritmo discreto in gruppi basati sull'ellittica curve.Zn


25

Ecco un esempio dagli algoritmi grafici. Dato un grafico diretto con pesi non negativi sui bordi, il problema dei percorsi dei colli di bottiglia di tutte le coppie è calcolare, per tutte le coppie di vertici e , il flusso massimo che può essere spinto lungo un percorso da a . (Formalmente, stiamo solo massimizzando il peso minimo di un bordo su qualsiasi percorso da a . Più formalmente, stiamo sostituendo e nella definizione dei percorsi più corti di tutte le coppie con e .)stststmin+maxmin

Sia il numero di vertici nel grafico di input. Questo problema era noto per richiedere il tempo nel modello di confronto dei percorsi di Karger, Koller e Phillips , proprio come fa il problema dei percorsi più brevi per tutte le coppie. (Il modello di confronto dei percorsi supporta algoritmi tradizionali, come Floyd-Warshall.) Tuttavia, a differenza dei percorsi più brevi di tutte le coppie, risulta che i percorsi di collo di bottiglia di tutte le coppie possono essere risolti in meno di tempo usando moltiplicazione matrice veloce.nΩ(n3)O(n2.8)


22

Per una discussione in questa domanda , molti problemi nella geometria computazionale hanno limiti inferiori nell'albero delle decisioni algebrico o nei modelli di calcolo degli alberi algebrici, derivanti da problemi fondamentali come l'ordinamento o la distinzione degli elementi . Non è difficile trovare documenti che sostengano che i limiti superiori di su problemi correlati come la costruzione delle triangolazioni di Delaunay siano ottimali, perché corrispondono a questi limiti inferiori.Ω(nlogn)O(nlogn)

Ma quando l'input è specificato in coordinate cartesiane intere (come spesso accade nella pratica, il virgola mobile non è adatto alla geometria computazionale), questi limiti inferiori non corrispondono al modello computazionale. Forse non sorprende che i problemi del tipo di ricerca dell'intervallo ortogonale possano essere risolti più rapidamente usando tecniche adattate dall'ordinamento intero, ma anche problemi non ortogonali possono spesso avere algoritmi più veloci (che risolvono esattamente il problema, in modelli di calcolo che consentono l'aritmetica intera con O (1) ) volte la precisione degli interi di input). Vedi ad esempio arXiv: 1010.1948 per un set di esempi.


Grazie per aver messo in evidenza il "paradosso" e il recente articolo di Chan e Pǎtraşcu.
András Salamon,

17

Esistono molti esempi di questo tipo nella crittografia, in particolare prove a conoscenza zero. Vedi ad esempio la tesi:

Boaz Barak, Tecniche non crittografiche in crittografia, 2003.

(Per inciso, il titolo della tesi fornisce una prova a conoscenza zero della validità di questo commento :)


Correggi l'anno di citazione dal 2006 al 2003.
MS Dousti,

@Sadeq Dousti: fatto. È wiki della community e hai più reputazione di me, quindi immagino che tu possa averlo corretto da solo ;-)
Blaisorblade,

17

Gli alberi decisionali algebrici sono usati come base nella geometria computazionale per mostrare molti semplici problemi come Element Uniqueness are . Questi limiti inferiori vengono quindi utilizzati per mostrare problemi più complicati come i diagrammi Voronoi hanno anche limiti inferiori . Successivamente sono stato sorpreso di leggere un algoritmo tempo previsto per risolvere la coppia di punti più vicina nel piano, che è una generalizzazione dell'unicità dell'elemento. Sfugge all'albero decisionale algebrico legato usando l'hash. L'ho trovato nel libro Algorithm Design di Klein e Tardos. Esiste un algoritmo simile ma più complicato per risolvere lo stesso problema descritto sul blog di RJ Lipton .Ω ( n registro n ) O ( n )Ω(nlogn)Ω(nlogn)O(n)

Riferimento:


15

Considerare algoritmi distribuiti deterministici sincroni per ridurre il numero di colori in un grafico del ciclo da a . Cioè, ti viene data una corretta colorazione del ciclo e vorresti produrre una corretta colorazione del ciclo; ogni nodo del ciclo è un processore.3 k 3k3k3

Se si assume un modello basato sul confronto (si trattano i colori come caselle nere che possono essere trasmesse solo da un nodo all'altro e confrontate tra loro), si ottiene un limite inferiore banale di per il numero di turni di comunicazione.Ω ( k )kΩ(k)

Tuttavia, questa astrazione è probabilmente palesemente sbagliata: se riesci a trasmettere qualcosa in una rete di comunicazione, avrai un modo per codificare "qualcosa" come una stringa di bit. E ora le cose iniziano a sembrare molto meglio.

Se i tuoi colori non sono caselle nere ma numeri interi , puoi ridurre il colore usando le tecniche di Cole-Vishkin nei round di comunicazione . Anche se i tuoi colori sono stringhe di bit enormi , come numeri interi da , otterrai lo stesso limite .O ( log * k ) 1 , 2 , . . . , 10 10 k O ( log k )1,2,...,kO(logk)1,2,...,1010kO(logk)

In conclusione: il prezzo dell'astrazione "sbagliata": vs. .Ω ( k )O(logk)Ω(k)


13

Un esempio che mi viene in mente è il calcolo del volume. Un risultato di Barany e Furedi è che hai bisogno di un numero esponenziale di query e c'è un algoritmo di tempo polinomiale randomizzato di Dyer-Frieze-Kannan . Il divario rappresenta il premio dell'astrazione e anche il beneficio della casualità, ma penso che la ragione principale del divario sia il prezzo dell'astrazione. (Spero di aver capito la domanda e vada nella giusta direzione.)


10

Questo probabilmente non è esattamente quello che avevi in ​​mente. Ma in un certo senso, l'indipendenza di P vs NP dagli oracoli ne è un esempio. Ciò che dice veramente è che se tutto ciò che ti interessa è la simulazione e l'enumerazione (cioè se questo è il tuo "modello" di calcolo), allora non puoi separare queste classi o comprimerle.

Un esempio algoritmico più concreto viene dalla ricerca approssimativa dell'intervallo nella direzione "inversa". In particolare, la maggior parte dei problemi di ricerca della gamma sono formulati come somme di semigruppo e i limiti inferiore / superiore sono espressi indipendentemente dalla struttura di questo semigruppo (ad eccezione di alcune condizioni tecniche leggere). Un recente lavoro di Arya, Malamatos e Mount mostra che se si osserva da vicino la struttura del semigruppo (le proprietà dell'idempotenza e dell'integralità), è possibile dimostrare limiti diversi (e più stretti) per la ricerca approssimativa dell'intervallo.


4
Anche se P vs NP non è quello che avevo in mente, non è come un cattivo esempio. Per inciso, Arora, Impagliazzo e Vazirani ( cseweb.ucsd.edu/~russell/ias.ps ) suggeriscono che la proprietà chiave che il modello dell'oracolo generale estrae è la verificabilità locale dei calcoli. In particolare, se un oracolo preserva la verificabilità locale e quindi , e se quindi . Il loro lavoro è alquanto controverso (penso che si imbatta in problemi di relativizzazione di classi limitate di spazi ristretti) ma penso che sia molto interessante. P XN P X P N P P X = N P X N P = c o N PXPXNPXPNPPX=NPXNP=coNP
Joshua Grochow,

10

Il teorema del campionamento di Shannon-Nyquist propone una condizione sufficiente per i limiti teorici dell'informazione sulla comunicazione. La teoria del campionamento si basa su esempi in cui il segnale in ingresso ha una rappresentazione compatta / casuale. I recenti progressi nel campionamento mostrano che questa astrazione ha forse un prezzo - che il genere di cose che ci interessa misurare generalmente hanno rappresentazioni sparse in modo che questi limiti non siano stretti. Inoltre, le informazioni possono essere codificate in un modo molto più denso di quanto si pensasse inizialmente.

  • I codici di correzione degli errori suggeriscono che alcune rivalutazioni del limite di Shannon nei paesaggi di rete soggetti a rumore.
  • Il nuovissimo campo del rilevamento compressivo spinge la ricostruzione delle varietà di immagini che troviamo interessante oltre il limite di Shannon.

Puoi darci dei riferimenti per questo :)?
Vivek Bagaria,

8

Molti problemi interessanti che le scienze della natura si presentano si rivelano NP-difficili in senso classico. Sebbene questa nozione sia teoricamente perfettamente valida, non aiuta in alcun modo il biologo o il fisico. Scopriamo che alcuni problemi NP-difficili sono parametri fissi curabili e spesso con un parametro che viene osservato essere limitato da una piccola costante nel mondo reale.

Cioè, TCS ci dice che non ci aspettiamo una soluzione efficiente per il problema astratto, ma siamo in grado di risolvere le istanze che si verificano effettivamente velocemente - un bel divario.


5

In questo documento http://www.mimuw.edu.pl/~szymtor/papers/atom-turing.pdf abbiamo studiato le macchine di Turing che hanno un accesso limitato ai dati. Questo è formalizzato come invariante sotto gli automorfismi di una struttura relazionale; per esempio, nel limite inferiore O (n log n) per l'ordinamento, diresti che la macchina può elaborare e memorizzare numeri razionali, ma le sue transizioni dovrebbero essere invarianti sotto automorfismi di (Q, <), cioè biiezioni monotone. La definizione formale è più complicata, al fine di specificare con precisione quale tipo di strutture di dati può memorizzare la macchina nella sua memoria (dovrebbe essere "limitata"
in un certo senso, ma permettiamo di memorizzare strutture più complicate di semplici tuple di valori di dati, come tuple non ordinate).

Nel documento abbiamo dimostrato alcuni limiti inferiori per altre macchine di Turing con "accesso limitato ai dati". In particolare, abbiamo dimostrato che:

• Una macchina di Turing deterministica in grado di gestire vettori (diciamo sopra il campo a due elementi), ma che può utilizzare solo test di addizione e uguaglianza dei vettori, non può determinare in tempo polinomiale se un determinato elenco di vettori è linearmente dipendente (formalmente, le transizioni delle macchine dovrebbero essere invariante sotto gli automorfismi dello spazio vettoriale). Ciò è contrario alle macchine non deterministiche, che possono semplicemente indovinare una combinazione di vettori che si somma a 0. Osservare che l'eliminazione gaussiana corre nel tempo polinomiale, ma ha accesso alle coordinate dei vettori; in particolare, le sue transizioni non sono invarianti sotto gli automorfismi dello spazio vettoriale.

• In un modello opportunamente definito, le Macchine di Turing che possono confrontare i numeri naturali solo rispetto all'uguaglianza (nemmeno <) non possono essere determinate. Qui, consideriamo la struttura relazionale (N, =) e le macchine che sono invarianti sotto i suoi automorfismi. Esiste una costruzione (simile alla costruzione Cai-Furer-Immerman della teoria dei modelli finiti) che mostra che in effetti in questo modello P ≠ NP. Consentire alle macchine di confrontare i numeri usando <fornisce loro la potenza sufficiente per determinare.


2

Un prezzo generale di astrazione è presente nei framework di black box come la complessità dell'albero decisionale o la complessità delle query quantistiche. Se limitiamo l'analisi a questi modelli, allora possiamo spesso trovare limiti molto buoni alla complessità dei compiti. In effetti, per la query quantistica possiamo sostanzialmente risolvere la complessità dei problemi perché il metodo dell'avversario negativo fornisce limiti inferiori stretti (all'interno di un fattore di log n / loglog n: 1005.1601 ). Questo ci dà un ottimo strumento per analizzare la complessità della query, ma spesso diventa difficile confrontare la complessità della query con la complessità del tempo / spazio della macchina turing più standard (tranne come un limite inferiore grezzo).


Hai alcuni esempi specifici di dove questo ha mostrato un limite inferiore che può essere rotto "aprendo la scatola nera"?
Joshua Grochow,

l'ordinamento corretto è un esempio in cui il modello dell'albero decisionale fornisce n log n, ma è possibile migliorare osservando la struttura dell'input.
Suresh Venkat,

@Suresh: intendevo esempi che non sono già stati menzionati :).
Joshua Grochow,

scusa colpa mia.
Suresh Venkat,

Bene, a volte puoi avere una complessità di query quantistica relativamente bella ma nessun algoritmo a esecuzione rapida. Un esempio è il problema del sottogruppo nascosto in cui abbiamo bisogno di un numero polinomiale di query, ma comunque di un tempo esponenziale (anche se ovviamente il tempo limite inferiore non è dimostrato) per nessun algoritmo noto [1]. Questo è un prezzo nella direzione opposta, immagino. [1] arxiv.org/abs/quant-ph/0401083
Artem Kaznatcheev

1

Ecco due esempi, entrambi relativi a modelli continui e discreti:

  1. Supponiamo che ci sia un tesoro (infinitamente piccolo) nascosto nell'intervallo , nella posizione . Vogliamo trovare il tesoro scavando. Ogni volta che scaviamo nella posizione , riceviamo feedback se , oppure . Ovviamente, se può essere un numero reale, qualsiasi algoritmo di ricerca potrebbe non terminare mai. potrebbe essere molto piccolo, ma potremmo non arrivare mai a . x y x < y x = y x > y[0,1]xyx<yx=yx>y| x - y | y = xx|xy|y=x

    Tuttavia, possiamo estendere il modello di ricerca per consentire lo sweep continuo. In questo modello, abbiamo appena lasciato eseguire continuamente il intervallo, e ottenere risposte quando .[ 0 , 1 ] y = xy[0,1]y=x

  2. La motivazione del problema A deriva dal problema della divisione delle torte senza invidia . Stromquist ha dimostrato che nessun protocollo finito (anche se illimitato) può garantire una divisione senza invidia di una torta tra tre o più giocatori, se ciascun giocatore deve ricevere un singolo pezzo connesso.

    Tuttavia, come spiegato in seguito da Aumann e Dombb , questo risultato si applica solo a un modello di taglio discreto, in cui "In ogni passaggio, il protocollo seleziona un giocatore e un numero reale e invita il giocatore a lasciare un segno nel punto unico per cui "," e non per i casi in cui, ad esempio, un mediatore dispone di informazioni complete sulle funzioni di valutazione dei giocatori e propone una divisione basata su queste informazioni ". α i x v i ( 0 , x ) = αiαixvi(0,x)=α

    Inoltre, il risultato non si riferisce agli algoritmi con operazioni continue, come le procedure a coltello mobile.


0

Quando espresso nella logica del primo ordine, qualsiasi prova del principio del buco del piccione per n fissa ha una lunghezza esponenziale. Tuttavia, con l'aritmetica la dimostrazione può essere espressa in modo molto più conciso.

Il successo dei solutori SMT è derivato dal modello astratto di riduzione dei problemi a SAT, consentendo a teorie più ricche di ridurre notevolmente la quantità di calcoli necessari.

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.