Giustificare l'analisi asintotica nel caso peggiore per gli scienziati


22

Ho lavorato per introdurre alcuni risultati della complessità computazionale nella biologia teorica, in particolare evoluzione ed ecologia , con l'obiettivo di essere interessante / utile per i biologi. Una delle maggiori difficoltà che ho incontrato è quella di giustificare l'utilità dell'analisi asintotica del caso peggiore per i limiti inferiori. Esistono riferimenti sulla lunghezza degli articoli che giustificano limiti inferiori e analisi asintotiche nel caso peggiore per un pubblico scientifico?

Sto davvero cercando un buon riferimento a cui posso rimandare nei miei scritti invece di dover passare attraverso le giustificazioni nello spazio limitato che ho a disposizione (dal momento che questo non è il punto centrale dell'articolo). Sono anche a conoscenza di altri tipi e paradigmi di analisi, in modo da sto , non cercavo un riferimento che dice caso peggiore è l'analisi "migliore" (dato che ci sono impostazioni quando moltissimo non lo è), ma che non è completeletely inutile: può ancora ci dà intuizioni teoricamente utili sul comportamento di effettivi algoritmi su reali ingressi. È anche importante che la scrittura sia rivolta a scienziati generali e non solo ingegneri, matematici o scienziati informatici.

Ad esempio, il saggio di Tim Roughgarden che introduce la teoria della complessità agli economisti è sulla strada giusta per quello che voglio. Tuttavia, solo le sezioni 1 e 2 sono rilevanti (il resto è troppo specifico per l'economia) e il pubblico previsto è un po 'più a suo agio con il pensiero a prova di teorema e lemma rispetto alla maggior parte degli scienziati [1] .


Dettagli

Nel contesto della dinamica adattativa in evoluzione , ho incontrato due tipi specifici di resistenza da parte di biologi teorici:

[A] "Perché dovrei preoccuparmi del comportamento di arbitrari ? So già che il genoma ha n = 3 10 9 coppie di basi (o forse n = 2 10 4 geni) e non di più."nn=3109n=2104

Questo è relativamente facile da eliminare con l'argomento "possiamo immaginare di aspettare secondi, ma non 2 10 9 ". Ma un argomento più intricato potrebbe dire che "certo, dici che ti interessa solo una n specifica , ma le tue teorie non usano mai questo fatto, usano solo che è grande ma finito, ed è la tua teoria con cui stiamo studiando analisi asintotica ".1092109n

[B] "Ma hai solo dimostrato che è difficile costruendo questo paesaggio specifico con questi gadget. Perché dovrei preoccuparmi di questo invece della media?"

Questa è una critica più difficile da affrontare, perché molti degli strumenti che le persone comunemente usano in questo campo provengono dalla fisica statistica dove spesso è sicuro assumere una distribuzione uniforme (o altra specifica semplice). Ma la biologia è "fisica con storia" e quasi tutto non è in equilibrio o "tipico" e la conoscenza empirica è insufficienteper giustificare le ipotesi sulle distribuzioni rispetto all'input. In altre parole, voglio un argomento simile a quello usato contro un'analisi uniforme del caso medio di distribuzione nell'ingegneria del software: "modelliamo l'algoritmo, non possiamo costruire un modello ragionevole di come l'utente interagirà con l'algoritmo o quale sia la sua distribuzione di input saranno; questo è per psicologi o utenti finali, non per noi ". Tranne che in questo caso, la scienza non è in una posizione in cui esiste l'equivalente di "psicologi o utenti finali" per capire le distribuzioni sottostanti (o se ciò è anche significativo).

Note e domande correlate

  1. Il collegamento discute le scienze cognitive, ma la mentalità è simile in biologia. Se navighi attraverso Evolution o Journal of Theoretical Biology , raramente vedrai teorema-lemma-proof, e quando lo fai sarà in genere solo un calcolo invece di qualcosa come una prova dell'esistenza o una costruzione complessa.
  2. Paradigmi per l'analisi della complessità degli algoritmi
  3. Altri tipi di analisi del tempo di esecuzione oltre al caso peggiore, al caso medio, ecc.?
  4. Ecologia ed evoluzione attraverso l'obiettivo algoritmico
  5. Perché gli economisti dovrebbero preoccuparsi della complessità computazionale

23
Il comportamento nel caso peggiore è impossibile da giustificare ... l'algoritmo simplex ha un comportamento esponenziale nel caso peggiore, e le uniche persone che si sono mai preoccupate sono i teorici. Ciò di cui hai bisogno di discutere è (a) il comportamento asintotico nel caso medio è importante; (b) il comportamento asintotico nel caso medio e il comportamento asintotico nel caso peggiore sono abbastanza simili; (c) il comportamento asintotico nel caso peggiore è spesso molto più facile da calcolare rispetto al comportamento asintotico nel caso medio (specialmente perché nessuno sa quale sia la distribuzione di probabilità rilevante).
Peter Shor,

5
Gli asintotici sono già un aspetto problematico. Conosciamo tutti la storia degli algoritmi di moltiplicazione di matrici (i limiti superiori asintotici sono insignificanti nella pratica), e forse anche la storia sulla scelta dei parametri nella crittografia (i limiti inferiori asintotici sono insignificanti nella pratica; gli algoritmi esponenziali sono talvolta fattibili [DES]). Se la tua analisi ha costanti effettive, allora è più convincente.
Yuval Filmus,

6
Se pensi al calcolo come a un gioco (cioè alla guerra) tra il provider di input e l'algoritmo, l'analisi del caso peggiore è un approccio militare standard: vuoi sapere quanto può essere male. In secondo luogo, e soprattutto, l'analisi del caso peggiore non ti consente di essere intellettualmente pigro e di accettare soluzioni che potrebbero essere buone per ciò che ritieni sia il mondo (e non ciò che il mondo è realmente). Infine, e forse soprattutto, fornisce un modo uniforme per confrontare gli algoritmi in modo speranzosamente significativo. In breve, è l'approccio peggiore, ad eccezione di tutti gli altri.
Sariel Har-Peled,

6
Penso che un limite inferiore nel caso peggiore debba essere visto come rimettere la palla in campo. Hai dimostrato che non esiste un algoritmo in grado di risolvere il loro problema in tutte le istanze in un lasso di tempo ragionevole. Potrebbero ragionevolmente credere che i loro casi siano facili, ma hai appena dimostrato che se è così, è un fatto non banale. Il loro modello è quindi incompleto a meno che non forniscano una spiegazione del perché sia ​​così.
Aaron Roth,

3
(Questo è l'approccio che sembra funzionare quando si parla con i teorici dei giochi. Solleva la questione - se i mercati si equilibrano davvero rapidamente - quali proprietà speciali hanno i mercati reali che aggirano la durezza del caso peggiore? È probabile che sia possibile definire un plausibile tale proprietà, e i limiti inferiori suggeriscono che farlo è un'importante direzione di ricerca)
Aaron Roth,

Risposte:


8

La mia opinione personale (e parziale) è che l'analisi asintotica nel caso peggiore è un trampolino di lancio storico verso tipi di analisi più utili. Sembra quindi difficile giustificare i praticanti.

Dimostrare limiti per il caso peggiore è spesso più facile che provare limiti anche per definizioni "carine" del caso medio. L'analisi asintotica è spesso anche molto più semplice rispetto a dimostrare limiti ragionevolmente stretti. L'analisi asintotica nel caso peggiore è quindi un ottimo punto di partenza.

Il lavoro di Daniel Spielman e Shanghua Teng sull'analisi smussata di Simplex mi sembra un presagio di ciò che può accadere quando iniziamo a comprendere meglio la forma di un problema: affrontare il caso peggiore consente innanzitutto di comprendere meglio sviluppato. Inoltre, come suggerito da Aaron Roth nei commenti, se il comportamento "normale" di un sistema è significativamente diverso dal suo caso peggiore, allora il sistema non è ancora completamente specificato e sono necessari ulteriori lavori per migliorare il modello. Quindi andare oltre il caso peggiore in generale sembra importante come obiettivo a lungo termine.

Per quanto riguarda l'analisi asintotica, di solito serve a mantenere una prova lunga e disordinata libera da dettagli che distraggono. Sfortunatamente al momento non sembra esserci un modo per premiare il noioso lavoro di compilare i dettagli per ottenere le costanti effettive, in modo che raramente sembri aver finito. (Anche i limiti di pagina funzionano contro questo.) Un'attenta analisi dei dettagli di un limite asintotico ha portato a algoritmi reali, con buoni limiti alle costanti, quindi personalmente vorrei vedere più di questo tipo di lavoro. Forse se più prove fossero formalizzate usando i sistemi di supporto prove, le costanti potrebbero essere stimate con meno sforzo aggiuntivo. (O i limiti delle costanti, lungo le linee del limite di Gowers per il Lemma di regolarità di Szemerédi, potrebbero diventare più di routine.) Ci sono anche modi per dimostrare limiti inferiori che sono privi di costanti, usando modelli di macchine più espliciti (come automi a stati finiti deterministici). Tuttavia, tali limiti inferiori (quasi) esatti per modelli di calcolo più generali possono richiedere molto lavoro o essere del tutto fuori portata. Questo sembra essere stato perseguito nel 1958-1973 durante il primo periodo di massimo splendore della teoria degli automi, ma per quanto ne so da allora è stato in gran parte lasciato solo.

O(nk)


Non condivido il tuo entusiasmo per aver abbandonato gli asintotici a favore di limiti precisi con costanti definite. Gli asintotici possono essere imprecisi, ma sono utilmente imprecisi. Si astraggono sulle differenze di implementazione per lo stesso modello di macchina. Ad esempio, un algoritmo di ordinamento che era quadratico sull'hardware degli anni '50 sarà ancora quadratico sull'hardware di oggi. Inoltre, le formule asintotiche si compongono bene. I lineari e i polinomi sono chiusi sotto composizione, ad esempio. (Si noti che discutere per limiti migliori sul caso medio rispetto al caso peggiore è ortogonale dal discutere contro gli asintotici.)
brandjon

Hai ragione in generale, ma c'è una grande differenza tra una piccola costante e una che è una funzione non elementare di un parametro rilevante.
András Salamon,

Mi piace questa risposta in generale, ma sono d'accordo con @brandjon che nascondere le costanti è cruciale. Per me, la ragione per cui la TCS è utile in biologia è perché deve fare molte meno ipotesi sulla micro dinamica rispetto alla fisica. Tuttavia, se non si fanno ipotesi sulla micro-dinamica (ovvero l'esatta specifica del modello di calcolo), non è possibile ottenere i fattori costanti. L'altra caratteristica utile di TCS sono le rigorose dicotomie qualitative (qualcosa che è più facile da confrontare con le osservazioni più qualitative in bio), di solito per ottenere queste devi anche abbandonare le costanti.
Artem Kaznatcheev

O~(nO~(1/ϵ))

1
Come nota a margine, ci sono esempi in cui l'analisi del caso peggiore ha senso. Ad esempio, quando si sviluppa una libreria di subroutine per scopi generici e non si conosce in quali domini applicativi saranno utili: non è possibile prevedere tutti i casi di quando e perché qualcuno vorrà calcolare una corrispondenza bipartita a costo minimo, ad esempio. Le impostazioni degli avversari, come la crittografia, sono ancora più chiare (tuttavia, nella crittografia ti piacerebbe davvero conoscere le costanti quando si tratta di parametri di sicurezza).
Sasho Nikolov,

4

I limiti inferiori e l'analisi del caso peggiore di solito non vanno insieme. Non dici che un algoritmo impiegherà almeno il tempo esponenziale nel peggiore dei casi, quindi è un male. Dici che può richiedere al massimo tempo lineare nel peggiore dei casi, e quindi va bene. Il primo è utile solo se eseguirai il tuo algoritmo su tutti i possibili input e non semplicemente su un input medio.

Se si desidera utilizzare limiti inferiori per dimostrare la cattiveria, si desidera un'analisi del caso migliore o un'analisi del caso medio. Puoi semplificare le cose basandoti sul punto di @ PeterShor secondo cui il peggio e la media sono spesso molto simili e forniscono un elenco completo di algoritmi per i quali ciò è vero. (Es: tutti i tipi classici oltre a quicksort.)

Per quanto riguarda la dimostrazione che gli asintotici contano se confrontati con input e fattori costanti, il mio articolo preferito sull'argomento è "Perle di programmazione: tecniche di progettazione di algoritmi" di Jon Bentley. Presenta quattro diverse soluzioni a un semplice problema di matrice e dimostra come l'approccio lineare annienta quello cubico. Chiama il suo tavolo "The Tyranny of Asymptotics", dopo il termine usato dai fisici per l'intrattabilità dell'equazione del razzo. Uso questo esempio per motivare la ricerca di algoritmi migliori per gli studenti pre-universitari.

Uno scienziato non informatico leggerà un articolo che contiene codice e saprà saltare i dettagli di basso livello per avere una visione d'insieme? Non lo so. Forse c'è una presentazione migliore altrove. Ma penso che questa sia una risorsa decente da citare.

E se sostengono che a loro non importa nulla di arbitrariamente grande n, falli eseguire Fibonacci ricorsivo non memorizzato su coppie di basi 3 * 10 9 e dì loro che è O (1) poiché la dimensione della sequenza del DNA è fissa. ;)


1
Mi piace l'esempio dei fibonacci :)
Suresh Venkat,

3
Ri: il tuo primo paragrafo: in realtà, è quasi esattamente ciò che fa molta teoria della complessità. Se un problema è completo di EXP, significa che richiede tempo esponenziale sugli input del caso peggiore. Questo è generalmente considerato come un'indicazione della sua difficoltà generale (che, per essere onesti, nella pratica spesso non è così male come un indicatore generale). Questo è lo standard di fatto, chiamato limite "infinitamente spesso" o io inferiore; ottenere limiti inferiori nel caso medio o quasi ovunque (vale a dire per tutti ma finitamente molti input) è un obiettivo talvolta perseguito, ma spesso fuori portata rispetto ai limiti inferiori.
Joshua Grochow,

2
Vorrei sottolineare che non solo è possibile fornire un elenco di algoritmi per cui le analisi del caso peggiore e del caso medio sono uguali, ma è anche possibile fornire numerosi esempi in cui sono molto diversi (l'algoritmo simplex è solo il più famoso di questi). Hai davvero bisogno di sostenere in qualche modo che sono gli stessi per la tua particolare applicazione; i test sperimentali sono un buon modo per farlo.
Peter Shor,

1
@JoshuaGrochow Abbastanza giusto. Che ne dite di rivedere l'affermazione nel modo seguente: Limiti inferiori nei casi peggiori sono importanti quando si desidera dimostrare l'assenza di una garanzia matematica di non orribilità. ;)
brandjon

-3

molto concordato sul fatto che questo è un argomento importante da sondare / coprire, ma sembra che non sia stato ancora molto. alcuni riferimenti di diverso stile / copertura / pubblico / formalità non esattamente come richiesto ma un po 'vicini (meglio visti online finora su ricerca media, spero di saperne di più su quelli migliori; più note di seguito):

  • La complessità degli algoritmi Atkinson (purtroppo solo un riferimento alla biologia nel documento, ma può bastare in termini più generali di scienza / ingegneria)

    La moderna teoria degli algoritmi risale alla fine degli anni '60, quando iniziò ad essere utilizzato il metodo di misurazione del tempo di esecuzione asintotica. Si sostiene che la materia abbia un'ala sia ingegneristica che scientifica. L'ala di ingegneria consiste in metodologie di progettazione ben note, mentre l'ala scientifica si occupa di basi teoriche. Vengono esaminati i problemi chiave di entrambe le ali. Infine, vengono presentate alcune opinioni personali su dove andrà il soggetto.

  • Complessità e algoritmi J. Diaz. 100 diapositive. ampia; si potrebbero estrarre quelli rilevanti in particolare.

  • Una dolce introduzione all'analisi della complessità dell'algoritmo Dionysis "dionyziz" Zindros

in altre parole c'è una sorta di introduzione / indagine / panoramica della lente teorica della complessità in stretta combinazione / congiunzione / compagna con la lente algoritmica avanzata nella scienza, qualcosa come "Teoria della complessità per scienziati, ingegneri e ricercatori" ?

ci sono buoni riferimenti sull'ex "lente algoritmica" che hai citato ad esempio Papadimitriou ma non sembra un ref molto soddisfacente da un esperto nel campo è stato scritto su quest'ultimo "obiettivo di complessità" ... eppure (forse qualche "elite" "i membri di questo sito lo considereranno come il loro prossimo libro o progetto cartaceo).

si noti inoltre che ci sono molti riferimenti alla rilevanza P vs NP al di fuori della teoria della complessità e in altri campi scientifici che potrebbero essere usati in qualche modo per questi scopi. li aggiungerà nei commenti se c'è qualche interesse.


3
Non penso che questo risponda davvero alla domanda.
Huck Bennett,

1
uh, hai visto qualcuno degli arbitri? parte la mia risposta è che non esiste (ancora) una risposta ideale / perfetta: |
vzn

1
Sembrano definire un'analisi asintotica e del caso peggiore piuttosto che concentrarsi sulla giustificazione, ma forse mi sono perso qualcosa?
Huck Bennett,

7
In realtà, penso che i ricercatori al di fuori del TCS potrebbero facilmente liquidare il caso peggiore come "esempi costruiti artificialmente che non si verificherebbero mai in pratica" e sarebbero (senza una forte convinzione contraria) molto più interessati al caso medio (nonostante il fatto che non sia chiaro che il caso medio è molto più vicino alle istanze del mondo reale).
Joshua Grochow,

1
@vzn: Asintotico (es. big-Oh) e il caso peggiore sono in qualche modo ortogonali. Si può fare un'analisi asintotica del caso peggiore, un'analisi asintotica del caso medio o persino un'analisi asincotica del caso più semplice (anche se ammetto che quest'ultimo sembra un po 'perverso). Si potrebbe invece fare un'analisi esatta del caso peggiore, o un'analisi esatta del caso medio e così via, sebbene questi sarebbero molto più dipendenti dal modello e meno robusti. Giustificare l'uso di asintotici (e nascondere cose come fattori costanti) è del tutto distinto dal giustificare il caso peggiore contro il caso medio o il caso "reale" (qualunque cosa possa significare quest'ultimo ...).
Joshua Grochow,
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.