Ci sono problemi senza algoritmi efficienti, in cui i teoremi di esistenza hanno dimostrato che tali algoritmi devono esistere?


22

Ci sono problemi in CS in cui non sono noti algoritmi efficienti, nonostante esistano teoremi che dimostrano l'esistenza di algoritmi così efficienti?

Come si chiamano questi problemi? Dove posso saperne di più?



3
Qual è la tua domanda? Nel titolo dice "soluzioni", ma nei contenuti scrivi "algoritmi".
Marcos Villagra

6
Penso che sarebbe meglio se si chiedessero problemi interessanti / naturali , altrimenti è facile definire tali problemi: prendere qualsiasi affermazione matematica che non è nota per essere vera o falsa, rendere l'uscita del problema 1 (indipendente dall'input) se lo è vero e 0 se è falso. Esistono due algoritmi molto semplici che uno di questi risolve questo problema, ma decide quale sta sostanzialmente provando / confutando l'affermazione matematica, quindi non sappiamo quale risolverlo.
Kaveh,

Risposte:


9

Ad esempio, Shelby Kimmel utilizza il metodo avversario in questo documento per dimostrare che deve esistere un algoritmo di query per un determinato problema per il quale non conosciamo una soluzione di query costante. Lo fa in un modo particolarmente fluido trovando la complessità della query del problema composta con se stessa d volte e quindi trovando la complessità della query Q della funzione compostata e osservando che la complessità della query della funzione originale è dell'ordine Q 1O(1)dQ .Q1d


12

Certo, ci sono molti esempi, almeno nello spirito della tua domanda.

Spesso si ottiene tale risultato dal metodo probabilistico . Ad esempio, un articolo che mi piace che si imbatte nel problema riguarda la ricostruzione di grafici nel modello additivo . Qui, gli autori mostrano che esiste una serie di query che impareranno (in modo ottimale) il grafico di destinazione. Dato questo set, l'algoritmo è efficiente. Tuttavia, usano il metodo probabilistico per mostrare l'esistenza di questo piccolo set (per ogni dimensione del problema) che funzionerà su tutti gli input, ma non lo costruisce esplicitamente. Quindi il meglio che possono fare è solo una ricerca di forza bruta attraverso una famiglia esponenziale di query perché non hanno una costruzione esplicita.O(dn)


2

Non ero del tutto serio, ma osservo che la costruzione di Hutter in realtà dimostra la correttezza dell'algoritmo. Perché pensi che non risponda alla domanda?
Marcus Ritt,

4
@Ross Snider: ovviamente linguaggi indecidibili sfuggono al risultato di Hutter: dopo tutto sta dando un algoritmo! Tuttavia, a differenza della ricerca Levin, che richiede che le istanze problematiche abbiano certificati verificabili (come i problemi di ricerca NP), la ricerca di Hutter no. Richiede semplicemente che il problema sia dichiarato in un linguaggio formale, che può servire come base per la ricerca esaustiva di prove [che alcuni TM stanno effettivamente risolvendo il problema specificato]. Inoltre, Hutter / Levin non ci fornisce prove dell'esistenza di algoritmi efficienti per un problema a meno che non sappiamo già che il problema ha un tale algoritmo.
Joshua Grochow,

1
@Joshua Ho fatto emergere linguaggi indecidibili come esempio di qualcosa che la ricerca di Hutter / Levin non poteva discutibilmente decidere (ho cercato di scegliere qualcosa di ovvio) ma che rimane "ben definito"; è un argomento contro l'affermazione sostenuta nel titolo dell'articolo. Certo, sono stato attento ad ammettere di non aver letto il contenuto, cosa che dovrò fare ora.
Ross Snider,

1
Questo algoritmo è il contenuto computazionale dell'equivalenza della matematica costruttiva e classica su affermazioni che esistono per sempre?
Neel Krishnaswami,

1
@Neel Kirshnaswami: è difficile da dire, dal momento che non sapevo che ci fosse una simile equivalenza! Puoi dare un puntatore?
Joshua Grochow,

1

Modifica: la risposta di seguito è la registrazione dell'esistenza di soluzioni a un determinato problema computazionale, non sull'esistenza di algoritmi. Inizialmente, ho interpretato male la domanda.

Risposta

Esiste una classe di complessità che cattura questo tipo di problemi computazionali. È noto come TFNP . È stato definito in questo documento:

Nimrod Megiddo e Christos Papadimitriou. Sulle funzioni totali, teoremi di esistenza e complessità computazionale . Teoretical Computer Science 81 (2): 317-324.

Qui troverai problemi come il Triangolo Tricromatico, per il quale l'esistenza di una soluzione è garantita dal Lemma di Sperner (vedi l'articolo per la definizione di questo problema).

Hai anche il seguente documento:

Christos Papadimitriou. Sulla complessità dell'argomento di parità e altre prove di esistenza inefficienti . Journal of Computer and Systems Science 48 (3), 1990.

In questo documento troverai:

  • n
  • Equilibrio dei giochi a 2 giocatori.
  • Trova un secondo percorso hamiltoniano su un grafico.

L'articolo contiene molti esempi di questo tipo di problemi. Quindi consiglio di dare un'occhiata.


2
La domanda non riguarda i problemi con soluzioni provabili già esistenti per le loro versioni decisionali, ma i problemi con la provata esistenza di algoritmi efficienti. Queste sono cose diverse. Sono d'accordo che a prima vista il titolo può fuorviare. Tuttavia, solo a prima vista.
Oleksandr Bondarenko l'

si, sono d'accordo anch'io. Ma ero totalmente fuorviato dalla domanda. Ora in questo caso, la risposta è fuorviante. Cosa faccio? Elimina la domanda? Oppure modifica e metti un avviso su cosa sta rispondendo esattamente?
Marcos Villagra

Non ci sono politiche sull'eliminazione delle risposte, puoi sempre fare ciò che ritieni appropriato. Personalmente penso che vada bene lasciare la tua risposta qui. Puoi fare una dichiarazione su quale domanda stai rispondendo esattamente.
Hsien-Chih Chang 張顯 之
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.