Esiste un algoritmo che esiste in modo dimostrabile anche se non sappiamo cosa sia?


21

In matematica, ci sono molte prove dell'esistenza che non sono costruttive, quindi sappiamo che esiste un certo oggetto anche se non sappiamo come trovarlo.

Sto cercando risultati simili in informatica. In particolare: c'è un problema che possiamo dimostrare che è decidibile senza mostrare un algoritmo per esso? Cioè sappiamo che può essere risolto da un algoritmo, ma non sappiamo che aspetto abbia l'algoritmo?


5
C'è una risposta banale. Prendi qualsiasi domanda sì / no la cui risposta è sconosciuta, come "è casuale", quindi la domanda è decidibile, solo che non sappiamo ancora quale dei due possibili algoritmi sia corretto. π
Hendrik Jan

6
sostanzialmente duplicato della domanda di tcs.se ci sono prove di esistenza di algoritmi non costruttivi
vzn,

1
@babou In effetti: una domanda con una risposta unica è decidibile. Qui l'ignoranza è il punto che sembra, è un caso di "non so" dalla domanda, anche se solo "non lo so ora ". Una volta scoperto se è casuale o no, dobbiamo cercare un altro esempio. La tua risposta qui sotto è molto meglio ovviamente! È una forma di "non sapere" che è intrinsecamente "non lo saprò mai". π
Hendrik Jan

1
@HendrikJan: E quella procedura è ciò che chiamiamo un algoritmo in CS. Prendendo ad esempio il problema dell'arresto, non possiamo nemmeno dimostrare l'esistenza di un algoritmo!
Salterio,

1
Alcuni esempi più interessanti possono essere trovati qui: cstheory.stackexchange.com/questions/4777/…
Erel Segal-Halevi,

Risposte:


14

Il caso più semplice che conosco di un algoritmo esistente, sebbene non sia noto quale algoritmo, riguarda gli automi a stati finiti.

Il quoziente di una lingua da una lingua è definito come .L 1 L 2 L 1 / L 2 = { x y L 2  tale che  x y L 1 }L1/L2L1L2L1/L2={xyL2 such that xyL1}

È facilmente dimostrato che un set regolare è chiuso sotto il quoziente da un set arbitrario. In altre parole, se è regolare e è arbitrario (non necessariamente regolare), anche è regolare.L 2 L 1 / L 2L1L2L1/L2

La prova è abbastanza semplice. Sia essere un FSA che accetta l'insieme regolare , dove e sono rispettivamente l'insieme di stati e l'insieme di stati accettanti e che sia un linguaggio arbitrario. Sia sia l'insieme di stati da cui è possibile raggiungere uno stato finale accettando un stringa da .R Q F L F = { q Q y LM=(Q,Σ,δ,q0,F)RQFLLF={qQyLδ(q,y)F}L

L'automa , che differisce da solo nel suo insieme degli stati finali riconosce precisamente . (O vedi Hopcroft-Ullman 1979, pagina 62 per una prova di questo fatto.)M F R / LM=(Q,Σ,δ,q0,F)MFR/L

Tuttavia, quando l'insieme non è decidibile, potrebbe non esserci alcun algoritmo per decidere quali stati hanno la proprietà che definisce . Quindi, mentre sappiamo che l'insieme è un sottoinsieme di , non abbiamo alcun algoritmo per determinare quale sottoinsieme. Di conseguenza, mentre sappiamo che è accettato da uno dei possibili FSA, non sappiamo quale sia. Anche se devo confessare, sappiamo in gran parte che aspetto ha.F F Q R 2 | Q |LFFQR2|Q|

Questo è un esempio di ciò che a volte viene chiamato una prova quasi costruttiva , che è una prova che una di un numero finito di risposte è quella giusta.

Suppongo che un'estensione di ciò possa essere la prova che una di una serie enumerabile di risposte è quella giusta. Ma non ne conosco nessuno. Né conosco una prova puramente non costruttiva che un problema sia risolvibile, ad esempio usando solo contraddizioni.


1
@DW Ho detto che è regolare, ma è arbitraria . Non deve essere enumerabile in modo ricorsivo o regolare. Nessuna proprietà di viene utilizzata se non per il fatto che è un insieme di stringhe. Se non ti fidi di me, controlla Hopcroft-Ullman 1979, pagina 62.L LRLL
babou,

Grazie. Questa è la mia risposta preferita perché la lingua decidibile è infinita.
Erel Segal-Halevi,

@babou, errore mio, ho letto male quello che hai scritto. Colpa mia - mi dispiace per quello. Ho modificato il tuo post per rendere la parte che ho capito male si spera chiarisca.
DW

@DW Sono divertito che tu abbia avuto un problema, ma succede anche a me. Ma forse avrei dovuto essere più chiaro. Questo non era intenzionale. Detto questo perché alcuni matematici pensano che sia più elegante essere criptici. Grazie per la modifica.
babou,

12

Per espandere il commento originale di Hendrick, considerare questo problema

Dato un numero intero c'è una serie di o più 7s consecutivi nell'espansione decimale di ?n πn0nπ

Questo problema è decidibile, poiché uno dei due casi può ottenere:

  1. Esiste un numero intero per il quale l'espansione decimale di contiene una sequenza di 7 s consecutivi, ma non più eseguita.π NNπN
  2. Per ogni , l'espansione di ha una sequenza di 7 secondi consecutivi.π nnπn

Nel caso (1) un algoritmo decisionale per il problema sarebbe uno dei

Se risponde "no" altrimenti rispondi "sì".n>N

e nel caso (2) l'algoritmo sarebbe

Rispondi "si".

Chiaramente ognuno di questi è un algoritmo decisionale; semplicemente non sappiamo quale. Ciò è sufficiente, tuttavia, poiché la decidibilità richiede solo l' esistenza di un algoritmo, non la specifica di quale algoritmo utilizzare.


+1 Questo è un semplice esempio che ricordo usando il mio professore di calcolabilità e logica. È il mio esempio di riferimento, poiché non richiede molta conoscenza del dominio, quindi è facile da trasmettere.
Joshua Taylor,

1
Per formulazioni alternative, vedere anche qui .
Raffaello

2

Ecco una non risposta. Sto postando perché credo sia istruttivo, perché inizialmente ho affermato il contrario e otto persone hanno concordato abbastanza per votare prima che @sdcwc abbia sottolineato l'errore. Non volevo solo modificare la mia prima risposta perché non sono sicuro che molte persone l'avrebbero votata se avessero saputo che era sbagliato.

SS

HH

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.