Buoni esempi di "due è facile, tre è difficile" nelle scienze computazionali


29

Di recente ho incontrato una formulazione del meta-fenomeno : " due è facile, tre è difficile " (così definito da Federico Poloni), che può essere descritto come segue:

Quando viene formulato un determinato problema per due entità, è relativamente facile da risolvere; tuttavia, un algoritmo per una formulazione di tre entità aumenta enormemente la difficoltà, forse persino rendendo la soluzione non fattibile o non realizzabile.

(Accolgo con favore suggerimenti per rendere il fraseggio più bello, conciso e preciso.)

Quali buoni esempi in varie aree delle scienze computazionali (a partire dalla pura algebra lineare e terminando con una fisica computazionale a termine generale) conosci?


2
Mi viene in mente la maledizione della dimensionalità.
Paolo

4
grafico 2-colorazione ( facile ) contro 3-colorazione ( NP-difficile ), vedi qui
GoHokies

5
@GoHokies Non pubblicare le risposte come commenti.
David Richerby,

4
Dalla fondazione dello sfondo di matematica o ricorsione, potresti imbatterti nella funzione TREE , dove TREE (2) = 3 e TREE (3) è ... abbastanza grande. (non avendo familiarità con le scienze computazionali, non sono sicuro che questa sia davvero una risposta che stai cercando, ma sembra abbastanza simile da lasciare un commento su)
BurnsBA

2
Un controesempio: "Non andare mai in mare con due cronometri; prendine uno o tre". Detto questo, ci sono così tanti buoni esempi che non esiste una risposta giusta. Questa domanda dovrebbe essere wiki della comunità.
David Hammen,

Risposte:


35

Un esempio che appare in molte aree della fisica, e in particolare della meccanica classica e della fisica quantistica, è il problema dei due corpi. Il problema dei due corpi qui significa il compito di calcolare la dinamica di due particelle interagenti che, per esempio, interagiscono con le forze gravitazionali o di Coulomb. La soluzione a questo problema può essere spesso trovata in forma chiusa mediante una trasformazione variabile in centro di massa e coordinate relative.

Tuttavia, non appena si considerano tre particelle, in generale non esistono soluzioni in forma chiusa .


3
Nitpick che sono sicuro che tu sappia, ma la tua risposta non afferma: ci sono soluzioni in forma chiusa al problema dei 3 corpi, ma solo per alcuni casi speciali
lama

buon nitpick, grazie, "in generale" manca qui.
davidhigh,

Si noti che il problema dei 3 corpi ha una soluzione ( molto lentamente convergente) trovata da Sundman all'inizio del XX secolo e una versione più debole (che ignora una singolarità in cui i corpi si scontrano) è stata trovata per il problema dei n-corpi nel 1990.
WorldSEnder

27

Un esempio famoso è il problema booleano di soddisfacibilità (SAT). 2-SAT non è complicato da risolvere in tempo polinomiale, ma 3-SAT è NP-completo.


3
3-SAT può essere ridotto al grafico 3-colorazione, o viceversa
GoHokies

8
@GoHokies Ho pensato che fosse vero per ogni problema di np-complete? O c'è qualcosa di particolarmente degno di nota in questi due? Sry se questa è una domanda stupida, la mia conoscenza di quest'area è di base. Ma è così che capisco il teorema dei cuochi
findusl

2
@findusl Hai perfettamente ragione. Ciò che rende 3-SAT e 3-colorazioni "speciali" è la dicotomia 2 vs 3 dell'OP.
GoHokies

26

In una e due dimensioni, tutte le strade portano a Roma, ma non in tre dimensioni.

In particolare, data una camminata casuale (ugualmente probabile che si muova in qualsiasi direzione) sugli interi in una o due dimensioni, quindi indipendentemente dal punto di partenza, con probabilità una (aka quasi sicuramente), la camminata casuale alla fine raggiungerà uno specifico designato punto ("Roma").

Tuttavia, per tre o più dimensioni, la probabilità di arrivare a "Roma" è inferiore a una; con la probabilità che diminuisce all'aumentare del numero di dimensioni.

Quindi, ad esempio, se si esegue una simulazione stocastica (Monte Carlo) di una camminata casuale a partire da "Roma", che si interromperà quando si ritorna a Roma, quindi in una e due dimensioni, si può essere certi di tornare infine a Roma e interrompere la simulazione - così facile. In tre dimensioni, potresti non tornare mai indietro, così difficile.

https://en.wikipedia.org/wiki/Random_walk#Higher_dimensions

Per visualizzare il caso bidimensionale, si può immaginare una persona che cammina a caso in una città. La città è effettivamente infinita e disposta in una griglia quadrata di marciapiedi. Ad ogni incrocio, la persona sceglie casualmente una delle quattro possibili rotte (compresa quella originariamente percorsa). Formalmente, questa è una passeggiata casuale sul set di tutti i punti nel piano con coordinate intere.

La persona tornerà mai al punto di partenza originale della passeggiata? Questo è l'equivalente bidimensionale del problema del passaggio a livello sopra discusso. Nel 1921 George Pólya dimostrò che la persona sarebbe quasi sicuramente in una passeggiata casuale bidimensionale, ma per 3 dimensioni o più, la probabilità di tornare all'origine diminuisce all'aumentare del numero di dimensioni. In 3 dimensioni, la probabilità diminuisce a circa il 34%

Vedi http://mathworld.wolfram.com/PolyasRandomWalkConstants.html per i valori numerici.


21

Eccone uno vicino al cuore dei collaboratori di SciComp.SE:

Il problema dell'esistenza e della scorrevolezza di Navier – Stokes

La versione tridimensionale è ovviamente un famoso problema aperto e oggetto di un premio Clay Millenium da un milione di dollari. Ma la versione bidimensionale è già stata risolta molto tempo fa, con una risposta affermativa. Terry Tao osserva che la soluzione risale essenzialmente alla tesi di Leray del 1933!

Perché il problema tridimensionale è molto più difficile da risolvere? La risposta standard ondulata dalla mano è che la turbolenza diventa significativamente più instabile in tre dimensioni rispetto a due. Per una risposta matematicamente più rigorosa, dai un'occhiata alla dichiarazione ufficiale sui problemi di Charles Fefferman al Clay Institute o alla bella esposizione di Terry Tao sulle possibili strategie di prova .


20

Nella teoria della scelta sociale, progettare uno schema elettorale con due candidati è facile (regole della maggioranza), ma progettare uno schema elettorale con tre o più candidati comporta necessariamente un compromesso tra varie condizioni ragionevoli. ( Teorema dell'impossibilità di Arrow ).


11

A1A2

U1TA1V=Σ1,U2TA2V=Σ2

Tuttavia, quando è richiesta la riduzione simultanea di tre matrici in una forma canonica (condizione più debole rispetto a quanto sopra):

QTA1Z=A1~,QTA2Z=A2~,QTA3Z=A3~

(A1+λA2+λ2A3)x=0

Fonte: CF van Loan, "Lezione 6: Decomposizione del valore singolare generalizzato di ordine superiore", CIME-EMS Summer School, Cetraro, Italia, giugno 2015.


U1TU2TV1

1
Σ

9

Ci sono molti esempi nell'informatica quantistica, sebbene ne sia rimasto fuori per un po 'e quindi non ricordo molti. Uno dei principali è che l'entanglement bipartito (entanglement tra due sistemi) è relativamente facile, mentre l'entanglement tra tre o più sistemi è un pasticcio irrisolto con probabilmente un centinaio di articoli scritti sull'argomento.

max(uavbwcTabc/uvw)

Questo documento sembra rilevante, anche se non l'ho letto: la maggior parte dei problemi tensoriali sono NP-difficili


2
Sento che il vero problema che stai riscontrando è che la decomposizione del grado tensore è facile per i tensori ordine-1 (vettori) e ordine-2 (matrici), ma NP-difficile per il resto
Richard Zhang,

Fa parte di questo, ma anche se hai avuto un modo di scomporli c'è ancora il problema di classificare / classificare. Per l'entanglement, gli unitari locali non contano, quindi tutto ciò che rimane nel caso order-2 è un elenco di valori singolari (SVD si chiama decomposizione di Schmidt in questo contesto). Per ordini superiori c'è un intero zoo di possibilità. Domande come quali stati possono essere trasformati in altri stati attraverso operazioni locali finiscono per essere molto difficili (da un punto di vista teorico, non necessariamente computazionale).
Dan Stahlke,

5

La bisettrice angolare con la retta e la bussola è semplice, la trisection angolare è generalmente impossibile.


4

Inferenza del tipo per i tipi di rango-n . L'inferenza del tipo per il livello 2 non è particolarmente difficile, ma l'inferenza del tipo per il livello 3 o superiore è indecidibile.


4

Eccone uno pulito dall'ottimizzazione: l'algoritmo ADMM (Alternating Direction Method of Multipliers).

Data una funzione oggettiva disaccoppiata e convessa di due variabili (le variabili stesse potrebbero essere vettori) e un vincolo lineare che accoppia le due variabili:

minf1(x1)+f2(x2)
s.t.A1x1+A2x2=b

La funzione Lagrangiana aumentata per questo problema di ottimizzazione sarebbe quindi

Lρ(x1,x2,λ)=f1(x1)+f2(x2)+λT(A1x1+A2x2b)+ρ2||A1x1+A2x2b||22

L'algoritmo ADMM funziona approssimativamente eseguendo una divisione "Gauss-Seidel" sulla funzione Lagrangiana aumentata per questo problema di ottimizzazione minimizzando prima rispetto a (mentre rimangono riparato), quindi minimizzando rispetto a (mentre rimangono fissi), quindi aggiornando . Questo ciclo prosegue fino al raggiungimento di un criterio di arresto.Lρ(x1,x2,λ)x1x2,λLρ(x1,x2,λ)x2x1,λλ

(Nota: alcuni ricercatori come Eckstein scartano la vista di divisione di Gauss-Siedel a favore degli operatori prossimali, ad esempio vedi http://rutcor.rutgers.edu/pub/rrr/reports2012/32_2012.pdf )

Per problemi convessi, questo algoritmo ha dimostrato di convergere, per due serie di variabili. Questo non è il caso di tre variabili. Ad esempio, il problema di ottimizzazione

minf1(x1)+f2(x2)+f3(x3)
s.t.A1x1+A2x2+A3x3=b

Anche se tutte le sono convesse, l'approccio simil-ADMM (minimizzando il Lagrangian aumentato rispetto a ciascuna variabile , quindi aggiornando la doppia variabile ) NON è garantito per convergere, come è stato mostrato in questo documento.fxiλ

https://web.stanford.edu/~yyye/ADMM-final.pdf


3

Piegare un pezzo di carta a metà senza strumenti è facile. Piegarlo in terzi è difficile.

La fattorizzazione di un polinomio con due radici è facile. Il factoring di un polinomio con tre radici è significativamente più complicato.


3
Il tuo primo esempio non corrisponde allo spirito della citazione. L'idea è che man mano che le due passano più in alto diventa più difficile, tuttavia con la piegatura di un foglio, il 4 ° è facile quasi quanto la metà. La citazione qui sarebbe "Pari è più facile che strano" Penso che il secondo sia buono però - e 'grato nel cercare di iper-semplificarlo con la carta!
Bill K,

3

Una curva regolare di grado 2 (cioè data come soluzione di dove è un polinomio di grado 2) con un dato punto è razionale , nel senso che può essere parametrizzata da quozienti di polinomi, di grado 3 non lo è. I primi sono considerati ben compresi, i secondi, chiamati curve ellittiche quando viene individuato un punto base, ovvero una soluzione specifica, sono oggetto di intense ricerche.f(x,y)=0f

Questa differenza ha diverse implicazioni:

  • Nel grado 2 ci sono algoritmi per trovare tutti i punti razionali (soluzioni in numeri razionali), nel grado 3 non è noto tale algoritmo.
  • Gli integrali che coinvolgono con di grado 1 o 2 hanno soluzioni in funzioni elementari, ma non per di grado 3 o superiore.f(x)ff
  • Il problema del logaritmo discreto è trattabile su curve di grado 2, quindi non adatto per applicazioni crittografiche, mentre la presunta durezza dello stesso problema su curve ellittiche è alla base di alcuni dei più popolari sistemi di crittografia a chiave pubblica.

1

La TREEfunzione.

Possiamo calcolare TREE(2) = 3, ma TREE(3)non è calcolabile nella vita dell'universo, sappiamo solo che è finito.


TREE(3)è "calcolabile" dato abbastanza tempo. Ad esempio, per ogni è possibile generare tutti gli alberi colorati di dimensione e verificare se ciascuno soddisfa i criteri necessari fino a quando tali alberi non esistono. Ma ci vorrebbe una quantità inimmaginabile di spazio e tempo. nnn
Ripristina Monica

Giusto, scusa per l'errore. Risolto il problema. Grazie Solomonoff!
solo

1
Video relativo a file numerico su Tree (3): youtube.com/watch?v=3P6DWAwwViU
Novice C

1

In uno spazio bidimensionale, è possibile introdurre una struttura complessa, che può essere utilizzata per risolvere elegantemente molti problemi (ad esempio potenziali problemi di flusso ), ma non esiste un analogo in 3 dimensioni.


0

Nella fisica quantistica di molti corpi, studiamo reticoli diversi di n spin nel quadro di diversi modelli (ad esempio modello di Heisenberg, modello di Bose-Hubbard, modello di Ising, ...). Naturalmente hai diversi metodi numerici per studiarli (DMRG, diagonalizzazione esatta, reti neurali, ...) e uno dei motivi per cui proviamo a sviluppare metodi diversi è perché non puoi risolvere questi modelli quando n diventa troppo "alto" , ed è ovviamente peggio se studi in dimensioni superiori. Ad esempio, per il modello Ising, la diagonalizzazione esatta funziona bene in 1 g per n non superiore a 20. Quindi, per n più alto, si prova un altro metodo: DMRG. Ma questi ultimi funzionano davvero bene per n più alto (come n = 70 ma non bene per n più alto). Ancora una volta, vuoi un altro metodo per reti n: neurali superiori (cioè intelligenza artificiale). E oltre alle reti neurali, puoi studiare "più facilmente" (cioè con n relativamente più alti) questi modelli in dimensioni più elevate (ma per dimensione = 3 e piccola n, ad esempio, ci vogliono ancora molte ore (diversi giorni) per ottenere lo stato fondamentale o il osservabile che volevi ...). Bref, quando n diventa "troppo alto" per i tuoi metodi numerici (ma anche la capacità del tuo computer) devi eseguire nuovi metodi (e se puoi, usa un supercomputer) ed è lo stesso problema con la dimensione del tuo sistema, ma ovviamente peggio perché sei rapidamente bloccato (dimensione = 4 è difficile da ottenere, tranne se aspetti molto tempo ...). ci vogliono ancora molte ore (diversi giorni) per ottenere lo stato fondamentale o l'osservabile che volevi ...). Bref, quando n diventa "troppo alto" per i tuoi metodi numerici (ma anche la capacità del tuo computer) devi eseguire nuovi metodi (e se puoi, usa un supercomputer) ed è lo stesso problema con la dimensione del tuo sistema, ma ovviamente peggio perché sei rapidamente bloccato (dimensione = 4 è difficile da ottenere, tranne se aspetti molto tempo ...). ci vogliono ancora molte ore (diversi giorni) per ottenere lo stato fondamentale o l'osservabile che volevi ...). Bref, quando n diventa "troppo alto" per i tuoi metodi numerici (ma anche la capacità del tuo computer) devi eseguire nuovi metodi (e se puoi, usa un supercomputer) ed è lo stesso problema con la dimensione del tuo sistema, ma ovviamente peggio perché sei rapidamente bloccato (dimensione = 4 è difficile da ottenere, tranne se aspetti molto tempo ...).
Naturalmente, qui, ci sono ulteriori informazioni aggiuntive alla tua domanda perché in realtà, nella fisica quantistica di molti corpi, n = 3 non è elevato (ma se prendi un reticolo che è un ipercubo, non puoi prendere n = 3 di corso (a causa delle condizioni)).


-3

Mondo reale:

Automazione% - ad es. È facile automatizzare qualcosa nel 30% o nel 50% o nell'80% nel frattempo è difficile andare ad esempio al di sopra del 95% e incredibilmente difficile o quasi impossibile raggiungere il 100%.


2
Potete fornire riferimenti per i vostri reclami?
Nicoguaro

Non posso, ma dai un'occhiata ad esempio alle auto a guida autonoma. Imparare a guidare dritto e controllare la velocità è probabilmente molto più facile che imparare a guidare come una persona normale. Il processo più complesso è, quindi vengono visualizzati più casi limite quando si desidera renderlo completamente automatizzato
Joelty

Quindi, penso che la tua domanda non sia appropriata per questo sito.
Nicoguaro
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.