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ù?
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ù?
Risposte:
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 1 .
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.
No, puoi sempre utilizzare l'algoritmo più veloce e più breve per tutti i problemi ben definiti . ;)
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:
L'articolo contiene molti esempi di questo tipo di problemi. Quindi consiglio di dare un'occhiata.