por exemplo, ?
As expressões são da álgebra comum do ensino médio, mas restritas à adição e multiplicação aritmética (por exemplo, ), sem inversões, subtrações ou divisões. Letras são variáveis.
Se ajudar, podemos proibir qualquer expressão representável com valores numéricos diferentes de ; ou seja, não nem nem :
- multilinear , nenhum outro poder além de : está OK, mas não e nada que possa ser representado como esse, como em um expansão total para a soma dos produtos, por exemplo, não ;
- todos , nenhum coeficiente diferente de : está OK, mas não , e nada que possa ser representado como tal, como em uma expansão completa para a soma de- produtos, por exemplo, não ; e x + x y ≡ 1. x + 1. x y 2 x + 3 x y a ( x + y ) + x ( a + b ) ≡ 2 a x + a y + b x
- nenhuma constante diferente de : novamente, na soma de produtos totalmente expandida, por exemplo, não
Existe um algoritmo eficiente para determinar se duas expressões são equivalentes?
Para ilustrar, aqui está um algoritmo de força bruta ineficiente com tempo exponencial:
expanda ambas as expressões totalmente para a soma de produtos , que pode ser facilmente verificada quanto à equivalência (apenas ignore o pedido, pois o comutador / associado pode reordenar).
Por exemplo,
a ( x + y ) + b ( x + y ) → a x + a y + b x + b y
Esse parece ser um problema bem conhecido - mesmo os alunos do ensino médio aprendem maneiras manuais de resolvê-lo. Também é resolvido por verificadores / verificadores de teoremas automatizados, mas eles se concentram em aspectos mais sofisticados.
Aqui está um comprovador de teorema automatizado on-line em funcionamento: http://tryacl2.org/ , que mostra equivalência ao encontrar uma sequência de comutação / associação / distribuição etc:
?
(thm (= (+ (* x y) x y) (+ x (* y (+ x 1))) ))
--- 188 passos
?
(thm (= (+ y (* x (+ y 1))) (+ x (* y (+ x 1))) ))
--- 325 passos
Esta é a minha primeira pergunta aqui, por favor, deixe-me saber se eu escolhi o lugar errado, tags erradas, maneira errada de descrever / perguntar etc. Obrigado!
NB: esta pergunta foi reescrita em resposta a comentários
Obrigado a todos os respondentes! Eu aprendi muito.