Em matemática, existem muitas provas de existência que não são construtivas; portanto, sabemos que um determinado objeto existe, embora não saibamos como encontrá-lo.
Estou à procura de resultados semelhantes em ciência da computação. Em particular: existe um problema que podemos provar que é decidível sem mostrar um algoritmo para isso? Ou seja, sabemos que ele pode ser resolvido por um algoritmo, mas não sabemos como é o algoritmo?
algorithms
proof-techniques
Erel Segal-Halevi
fonte
fonte
Respostas:
O caso mais simples que conheço de um algoritmo que existe, embora não seja conhecido qual algoritmo, diz respeito a autômatos de estados finitos.
O quociente de uma língua L 1 por uma língua L 2 é definido como G 1 / G 2 = { x | ∃ y ∈ L 2 de tal modo que x y ∈ L 1 } .eu1/ L2 eu1 eu2 eu1/ L2= { x ∣ ∃ y∈ L2 tal que x y∈ L1}
É fácil provar que um conjunto regular é fechado sob quociente por um conjunto arbitrário. Em outras palavras, se for regular e for arbitrário (não necessariamente regular), então será regular.L 2 L 1 / L 2eu1 L2 L1/L2
A prova é bastante simples. Seja um FSA que aceita o conjunto regular , onde Q e F são, respectivamente, o conjunto de estados e o conjunto de estados que aceitam, e seja L uma linguagem arbitrária. Seja F ′ = { q ∈ Q ∣ ∃ y ∈ LRM=(Q,Σ,δ,q0,F) R Q F L ser o conjunto de estados a partir do qual um estado final pode ser alcançado por aceitar uma cadeia de caracteres a partir de L .F′={q∈Q∣∃y∈Lδ(q,y)∈F} L
O autómato , a qual difere de H apenas na sua conjunto F ' de estados finais reconhece precisamente R / L . (Ou veja Hopcroft-Ullman 1979, página 62 para uma prova desse fato.)M′=(Q,Σ,δ,q0,F′) M F′ R/L
No entanto, quando o conjunto não é decidível, pode não haver algoritmo para decidir quais estados têm a propriedade que define F ' . Portanto, enquanto sabemos que o conjunto F ' é um subconjunto de Q , não temos algoritmo para determinar qual subconjunto. Conseqüentemente, enquanto sabemos que R é aceito por um dos 2 | Q | possível FSA, não sabemos qual é. Embora eu deva confessar, sabemos em grande parte como ela é.L F′ F′ Q R 2|Q|
Este é um exemplo do que às vezes é chamado de prova quase construtiva , ou seja, uma prova de que uma de um número finito de respostas é a correta.
Suponho que uma extensão disso possa ser uma prova de que uma de um conjunto enumerável de respostas é a correta. Mas eu não conheço nenhum. Também não conheço uma prova puramente não-construtiva de que algum problema seja resolvido, por exemplo, usando apenas contradição.
fonte
Para expandir o comentário original de Hendrick, considere este problema
Esse problema é decidível, pois um dos dois casos pode obter:
No caso (1), um algoritmo de decisão para o problema seria um dos
e no caso (2) o algoritmo seria
Claramente, cada um deles é um algoritmo de decisão; nós simplesmente não sabemos qual. Isso basta, porém, uma vez que a decidibilidade requer apenas a existência de um algoritmo, não a especificação de qual algoritmo usar.
fonte
Aqui está uma não resposta. Estou postando porque acredito que é instrutivo, porque originalmente afirmei o contrário e oito pessoas concordaram o suficiente para votar antes do @sdcwc apontar o erro. Eu não queria apenas editar minha primeira resposta, porque não tenho certeza de que muitas pessoas a votariam se soubessem que estava errada.
fonte