Soluções de equações polinomiais o que há de comum entre... -a regra de Cramer para resolver equações lineares; -o algoritmo de Euclides para achar mdc; -o cálculo do número mínimo de cédulas ou moedas para perfazer uma dada quantia e... -a determinação dos pontos de interseção de curvas e superfícies?
Tudo isso e muito mais se expressa no contexto de manipulações com polinômios. Será álgebra? Será geometria? É MATEMÁTICA! O roteiro apresentado abaixo segue os passos da aula magistral dada no MSRI por Bernd Sturmfels, Professor of Mathematics and Computer Science, UCBerkeley,
regra de Cramer, eliminação gaussiana Aprendemos (e ensinamos) desde cedo a resolver questões que se reduzem a uma equação linear. Uma mãe é 21 anos mais velha que seu filho. Daqui há seis anos ela terá uma idade 5 vezes maior que a do filho. Onde estará agora o pai da criança?
A mãe tem hoje Y anos; o menino, X anos. Ela é 21 anos mais velha: Y = X + 21; Daqui a 6 anos : ( Y + 6 ) = 5( X + 6 ); simplificando: Y + 6 = 5 X + 30, Y = 5X + 24. Substituindo na primeira equação Y = X + 21, resulta 5X + 24 = X + 21. Assim, 4X = 3; X = 3 4. (??!)
O menino tem hoje 3 4 anos (= 3 4 de 12 meses), ou seja, 9 meses (menos nove meses!... / \:-)\.
O problema anterior se equaciona pelo sistema linear { X Y = 21 5X Y = 24. Um sistema desse tipo pode ser resolvido com a seqüência de passos, ( 1) (X Y ) = 21 5X Y = 24. 4X = 3 X = 3/4 Y = 81/4.
Esse processo, chamado de eliminação gaussiana, consiste em fazer operações elementares visando a eliminação sucessiva de variáveis. No exemplo anterior, recebemos as equações {X Y = 21, 5X Y = 24} e a transformamos em outra, muuuuuuuuuito mais simples, {X = 3/4, Y = 81/4}. Generaliza-se para sistemas com um número qualquer de incógnitas e de equações não necessariamente lineares.
algoritmo de Euclides O algoritmo determina o mdc de dois polinômios em uma variável: p 1 = x 4 3x 3 + 3x 2 3x + 2, p 2 = x 5 3x 4 + 2x 3 + 2x 2 6x + 4 mdc(p 1, p 2 ) = x 2 3x + 2.
O mdc pode ser obtido pelas divisões sucessivas, x 5 3x 4 + 2x 3 + 2x 2 6x + 4 x 4 3x 3 + 3x 2 3x + 2 x 3 + 5x 2 8x + 4 x x 4 3x 3 + 3x 2 3x + 2 x 3 + 5x 2 8x + 4 5(x 2 3x + 2) x 2 x 3 + 5x 2 8x + 4 5(x} 2 {{ 3x + 2} ) mdc 0 1 5 x + 2 5 O mdc é o último resto não nulo, a menos de fator constante.
programação inteira Suponha que a venda de ingressos para o tenha que se sujeitar a proporções prefixadas de torcidas, digamos um grupo de 25 brasileiros para cada grupo de 10 argentinos, de 5 colombianos e de 1 paraguaio. Cada bilhete é vendido por grupo ou setor. O bom senso recomenda que o total de bilhetes (=total de grupos) seja o menor possível, mas garantindo a lotação.
Em símbolos, queremos minimizar a função A + B + C + P exigindo A, B, C, P 0 e, digamos, 10A + 25B + 5C + P = 117, total. Se a gente não insistir que A + B + C + P sejam números inteiros, é claro que deveríamos fazer B = 117 25 4.68 e zerar os demais grupos A, C, P.
programação inteira polinômios A solução ótima no contexto da programação inteira no caso presente também é única: (A, B, C, P ) = (1, 4, 1, 2) 10 + 100 + 5 + 2 A ponte para a álgebra é feita representando cada candidato a solução (A, B, C, P ) = (a, b, c, p) por um monômio A a B b C c P p.
relações melhores Agora, a partir da tabela de relações iniciais, A = P 10, C = P 5, B = P 25 uma manipulação adequada leva a novas relações C 2 = A, A 2 C = B, A 3 = BC, P 5 = C. Isto nos dá uma receita para diminuir o número a + b + c + p: troque dois c s por um a,..., 5p por um c.
a caminho do ótimo Concretamente, a partir de alguma dada solução, não necessariamente ótima, digamos 2 25+3 10+4 5+17=117, a qual codificamos como o monômio A 3 B 2 C 4 P 17, vamos fazer substituições sucessivas das nossas melhores relações. Elas nos levarão à solução desejada.
Recapitulando, a partir da solução viável A 3 B 2 C 4 P 17 ; vamso usar as regras de simplificação C 2 = A, A 2 C = B, A 3 = BC, P 5 = C, e assim percorrer o caminho 26 {}}{ A 3 B 2 C 4 P 17 AB 4 CP 2 }{{} o ótimo! 24 {}}{ A 3+2 B 2 P 17 B 4 C 3 P 2 }{{} 9 23 {}}{ A 2 B 2 BCP 17 B} 2+1+1 {{ P 17 } 21
daqui {}}{ ABC 7 P 47 outro passeio (P 5 =C) ABC 7+9 P 2 ; (C 2 =A) A 9 BP 2 ; (A 3 =BC) B 4 C 3 P 2 (C 2 A) AB }{{ 4 CP} 2. para o ótimo Dobrando a capacidade, 234, A fica fora: A 2 B 2 C 14 P 94 }{{} 112 A 9 B 2 P 94 }{{} 105 B 5 C 3 P 94 }{{} 102 } B 5 C{{ 21 P} 4. 30
bases de Gröbner A tecnologia usada para simplificar relações polinomiais atende pelo nome acima. Wolfgang Gröbner (1899 1980) foi um matemático austríaco. Estudou com Emmy Noether, que por sua vez trabalhou com David Hilbert.
O principal responsável pela aplicação das idéias de Gröbner foi seu aluno, Bruno Buchberger, Professor de Matemática Computacional, na Universidade Johannes Kepler, Linz, Austria. I.
O algoritmo de Buchberger Generaliza o método de Gauss para solução de sistemas lineares, aplicando-se a equações de grau arbitrário No caso particular de polinômios de uma variável, fornece o mdc. Na situação da programação inteira, permite passar de uma solução viável para uma solução ótima.
conceitos fundamentais ordem monomial. monômio inicial. divisão em várias variáveis. No caso de polinômios de uma só variável, ordenamos pelo grau. Por exemplo, o monômio inicial de p = 2x 2 + x + 1 é declarado IN(p) = 2x 2.
No caso de várias variáveis, ordenamos primeiramente pelo grau total, fazendo desempate lexicográfico: IN(A + B + C + P ) = A; IN(A + B + C + P 2 ) = P 2 ;. IN(AB + BC + C 2 + P 2 ) = AB. Na divisão de polinômios em várias variáveis, é dada uma lista F = [f 1,..., f m ]. Para cada polinômio p, podemos encontrar uma relação p = q 1 f 1 + + q m f m + r. O termo inicial do resto r não é divisível pelos IN(f i ).
Indicamos por R F (p) o resto na divisão de p por F. A filosofia é que o resto tem uma expressão menos complicada do que o polinômio original p. Em geral, o resto r depende da ordem na lista F. Veja o exemplo da divisão de A 2 B + AB 2 + B 2, primeiro por [AB 1, B 2 1]: A 2 B + AB 2 + B 2 = (A + B) (AB 1) + (1) (B 2 1) + A + B + 1; depois por [B 2 1, AB 1]: (A) (B 2 1) + (A + 1) (AB 1) + 2A + 1.
A 2 B + AB 2 + B 2 AB 1 AB 2 + B 2 + A A B 2 + A + B A + B B 2 + A + B B 2 1 A + B + 1 1 A 2 B + AB 2 + B 2 B 2 1 A 2 B + A + 1 A + 1 A 2 B + A + 1 AB 1 2A + 1 A
o algoritmo entrada: lista finita F = [f 1 (x),..., f m (x)] de polinômios a coeficientes números racionais, nas variáveis x = x 1,..., x n. saída: uma lista finita G = [g 1 (x),..., g N (x)], chamada base de Gröbner de F. Esta é caracterizada pela propriedade seguinte para todo polinômio p, se o resto R G (p) é nulo então p é combinação dos f i, ou seja, p = N m h if i e reciprocamente. O resto independe da ordem da divisão.
Operação básica Para cada g, g G, calcular o s-polinômio onde { s(g, g ) = mg m g, m = IN(g ) µ, m = IN(g) µ, µ = mdc(in(g), IN(g )). Finalidade: cancelar termos iniciais.
Por exemplo, s( 2x 1, x 1) = 2x x (x 1) x x (2x 1) = 1. s( P 10 A, P 5 C) = P 5 (P 5 C) (P 10 A) = CP 5 + A.
Teste básico Dada uma lista finita F de polinômios e dado um polinômio p, verificar se o resto na divisão de p por F é nulo. Critério de Buchberger: uma lista finita F de polinômios é uma base de Gröbner se e só se para cada par p, q F valer R F (s(p, q)) = 0.
1 o passo: utilize o critério de Buchberger para testar se F é uma base de Gröbner. 2 o passo: se sim, então F é uma BG. Vá para o 4 o passo. 3 o passo: se não, é porque achamos algum p = R F (mg m g) não nulo. Faça F = F {p} e retorne ao 1 o passo. 4 o passo: envie G para saída.
Vimos que F = [AB 1, B 2 1] não pode ser uma base de Gröbner pois falhava na má determinação do resto. Aplicamos o algoritmo de Buchberger: s(ab 1, B 2 1) = A + B. Acrescentamos à lista e repetimos o teste para F = [AB 1, B 2 1, A B]. s(ab 1, A B) = B 2 + 1, resto zero; s(b 2 1, A B) = B 3 + A = B(B 2 1) B + A; idem. Na realidade, [B 2 1, A B] já é uma BG...
interseções de curvas planas y = x 2 16y 2 4x 24y + 5 = 0............................................... Às vezes é possível resolver explicitamente. Mas em geral, o melhor possível é determinar o número de soluções. Teorema. O número de soluções é igual ao número de monômios não divisíveis pelos monômios iniciais de G.
Exemplo: { y 3 y 2 + x 2 + xy + x, y 3 xy 2 + x 1. Uma BG é [y 3 + x 2 + xy y 2 + x, xy 2 + x 2 + xy y 2 + 1, x 3 + 2x 2 + xy y 2 x y + 2] Monômios não divisíveis: 1, y, y 2, x, x 2, xy, x 2 y Número de soluções, contadas com multiplicidades = 7..
bibliografia S. C. Coutinho Polinômios e Computação Algébrica, Universidade Federal do Rio de Janeiro, http://www.dcc.ufrj.br/~collier/cursospre/ algcomp/algcomp.pdf D. Cox, J. Little, e D. O Shea, Ideals, varieties and algorithms, Springer, New York (1992). B. Sturmfels, Gröbner Bases,Lecture 1, verb+http://math.berkeley.edu/ bernd/grobner.ppt+