Vamos supor que eu tenho duas funções e e estou interessado em determinar se
Vamos supor que minhas funções sejam compostas por funções elementares (polinômios, exponenciais, logs e funções trigonométricas), mas não, digamos, séries de Taylor.
Esse problema é decidível? Se não, é semidecidável?
(Estou perguntando porque estou dando uma aula de computação e um aluno me perguntou se uma MT poderia ajudá-lo a integrar uma função cuja integral não era conhecida atualmente. Suspeito que as funções que não sabemos integrar são mais funciona corretamente cuja integral não pode ser expressa como uma combinação das funções elementares acima, em vez de funções para as quais não conhecemos a integral, mas isso me fez pensar se o problema geral de verificar integrais era decidível.)
fonte
Respostas:
A resposta curta para sua pergunta é "não". O teorema de Richardson e suas extensões posteriores basicamente afirmam que, assim que você inclui as funções trigonométricas elementares, o problema de decidir se (e, portanto, se f ( x ) = g ( x ) , já que é o mesmo que f ( x ) - g ( x ) = 0 ) é insolúvel.f(x)=0 f(x)=g(x) f(x)−g(x)=0
O interessante é que a teoria de primeira ordem dos campos fechados reais é decidível. Intuitivamente, a razão pela qual a adição de funções trigonométricas torna o sistema de primeira ordem indecidível é porque você pode construir os números inteiros via , e a teoria dos números inteiros é indecidível.{x∈R:sin(πx)=0}
Se a teoria de campos fechados reais com é decidível é um problema aberto bastante famoso .ex
Ainda mais interessante é que, se você teve um oráculo que "resolveu" o problema constante (ou seja, um oráculo que pode dizer se ou não), a integração de funções elementares em termos finitos é decidível , e um algoritmo prático é conhecido. Tão dadof(x)=0 , poderíamos encontrar F ( x ) ou saber que não há integral elementar de G em termos finitos.G(x) F(x) G
fonte
Seu problema parece reduzir a seguinte pergunta mais simples:
Dadas duas funções na classe de funções, temos F ( x ) = G ( x ) para todo x ? (Em outras palavras, eles têm o mesmo valor em todos os lugares?)F,G F(x)=G(x) x
Não sei se isso é decidível, para essa classe de funções. Se for, seu problema também deve ser decidido.
Para o seu problema, uma abordagem geral é: diferencie simbolicamente para obter F ′ ( x ) e verifique se temos F ′ ( x ) =F(x) F′(x) para todos os x .F′(x)=G(x) x
Portanto, o passo principal é a diferenciação simbólica. Vamos descobrir como fazer isso com mais detalhes. Podemos definir a classe de funções permitidas recursivamente:
onde varia sobre constantes e F , F 1 , F 2 sobre funções.c F,F1,F2
É então possível criar um algoritmo recursivo para diferenciar simbolicamente essa classe de funções, usando as regras padrão de cálculo (por exemplo, a regra da cadeia, etc.). Em particular, podemos lidar com todos os casos acima e mostrar recursivamente que a derivada pode ser expressa simbolicamente como uma função dentro dessa classe. Por exemplo:
Se , F ′ ( x ) = 0 .F(x)=c F′(x)=0
Se , F ′ ( x ) = 1 .F(x)=x F′(x)=1
Se , F ′ ( x ) = e xF(x)=ex F′(x)=ex .
Se , F ′ ( x ) = 1 / x .F(x)=log(x) F′(x)=1/x
Se , F ′ ( x ) = cos ( x ) .F(x)=sin(x) F′(x)=cos(x)
Se , F ′ ( x ) = 1 + ( tan ( x ) ) 2F(x)=tan(x) F′(x)=1+(tan(x))2 .
Se , F ′ ( x ) = F ′ 1 ( x ) + F ′ 2 ( x ) .F(x)=F1(x)+F2(x) F′(x)=F′1(x)+F′2(x)
Se , F ′ ( x ) = F ′ 1 ( x ) F 2 ( x ) + F 1 ( x ) F ′ 2 ( x ) .F(x)=F1(x)×F2(x) F′(x)=F′1(x)F2(x)+F1(x)F′2(x)
Se , F ′ ( x ) = F ′ 1 ( F 2 ( x ) ) F ′ 2 ( x )F(x)=F1(F2(x)) F′(x)=F′1(F2(x))F′2(x) (regra da cadeia).
And so on. In each case, ifF(x) is in the class of allowable functions, then so is F′(x) , and you can recursively work out a symbolic expression for F′(x) -- this is known as symbolic differentiation.
Finally, all that remains is to check whetherF′(x)=G(x) for all x . That's the problem I mention at the top of my answer.
There is no guarantee that this will work, but for many classes of functions, the output of this procedure will be correct with high probability. In particular, suppose we have some distribution onx represented by the random variable X and some ϵ>0 such that Pr[F(X)=0]≥ϵ holds for all F in the class. Suppose moreover that the class of allowable functions is closed under subtraction (as your class is). Then it follows that r rounds of the above procedure gives the wrong answer with probability at most (1−ϵ)r .
Also, if there is a randomized procedure for polynomial equality testing, then the problem is decidable.
It remains to ask whether such a result holds for your particular class of functions. The statement above probably won't hold. However, if we lucky, perhaps we might be able to prove something like the following:
For alls∈N , maybe we can find a distribution on real numbers, i.e., a random variable Xs , and a constant ϵs>0 , such that such that Pr[F(X)=0] holds for all functions F that are in your class and have "size" at most s .
If this is true, then it will follow that there is a randomized algorithm for polynomial equality testing and thus your problem is decidable.
fonte