Usando Inteligência Artificial para determinação dos graus de polinômios de Darboux de equações racionais

André Claudino

Método de Darboux

Dado uma 1DO racional

\dfrac{dy}{dx} = \dfrac{M(x,y)}{N(x,y)}

Existe um fator integrante...

R = \prod_i p_i(x,y)^{n_i}
n_i \in \mathbb{Q}

Que satisfaz...

\dfrac{\mathbb{D}[R]}{R} = -(N_x + M_y)
\dfrac{\partial (RM)}{\partial y} = - \dfrac{\partial (RN)}{\partial x}

onde...

\mathbb{D} \equiv N(x,y) \partial_x + M(x,y) \partial_y
\dfrac{\mathbb{D}[R]}{R} = -(N_x + M_y)
R = \prod_i p_i(x,y)^{n_i}
\Rightarrow
\sum_i n_i \dfrac{\mathbb{D}[p_i]}{p_i} = -(N_x + M_y)
\mathbb{D}[p_i(x,y)] = p_i(x,y) q(x,y)
\sum_i n_i \dfrac{\mathbb{D}[p_i]}{p_i} = -(N_x + M_y)
\Rightarrow
\mathbb{D}[p_i(x,y)] = p_i(x,y) q(x,y)

O problema se torna resolver essa equação

Solução

Avellar, J. & Claudino, A.L.G.C. & Duarte, L. & Da Mota, Luis. (2015). Finding higher order Darboux polynomials for a family of rational first order ordinary differential equations. Computer Physics Communications. 195. 10.1016/j.cpc.2015.04.026.  

Graus Máximos

Introdução

  • Não existe limite superior teórico para os graus dos polinômios de Darboux
  • Todos os métodos são semi-algorítmicos

Objetivo

Estimar os graus em que existam polinômios de Darboux

Semântica

  • Representação vetorial de objetos com métrica que faça sentido para comparações no problema, baseada nas relaçõe

Frases e Palavras

  • m1: Rock and Roll Music in the 1960’s
  • m2: Recipe for a Drum Roll, a Demonstration of Techniques
  • m3: Drum and Bass Composition
  • m4: A Perspective of Rock Music in the 90’s
  • m5: Music and Composition of Popular Bands
  • b1: How to make Bread and Rolls, a Demonstration
  • b2: Ingredients for Crescent Roll Dough
  • b3: A Recipe for Sourdough Bread
  • b4: A Quick Recipe for Pizza Dough with Natural Ingredients

Frases e Palavras

  • m1: Rock and Roll Music in the 1960’s
  • m2: Recipe for a Drum Roll, a Demonstration of Techniques
  • m3: Drum and Bass Composition
  • m4: A Perspective of Rock Music in the 90’s
  • m5: Music and Composition of Popular Bands
  • b1: How to make Bread and Rolls, a Demonstration
  • b2: Ingredients for Crescent Roll Dough
  • b3: A Recipe for Sourdough Bread
  • b4: A Quick Recipe for Pizza Dough with Natural Ingredients
L = \left[\begin{matrix}0.0 & 1.0 & 0.0 & 0.0 & 1.0 & 0.0 & 0.0 & 0.0 & 0.0\\1.0 & 0.0 & 1.0 & 0.0 & 0.0 & 0.0 & 1.0 & 0.0 & 0.0\\0.0 & 0.0 & 1.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 1.0\\0.0 & 1.0 & 0.0 & 0.0 & 1.0 & 0.0 & 0.0 & 0.0 & 0.0\\0.0 & 0.0 & 0.0 & 0.0 & 1.0 & 0.0 & 0.0 & 0.0 & 1.0\\0.0 & 0.0 & 0.0 & 1.0 & 0.0 & 0.0 & 1.0 & 0.0 & 0.0\\0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 1.0 & 0.0 & 1.0 & 0.0\\1.0 & 0.0 & 0.0 & 1.0 & 0.0 & 1.0 & 0.0 & 0.0 & 0.0\\1.0 & 0.0 & 0.0 & 0.0 & 0.0 & 1.0 & 0.0 & 1.0 & 0.0\end{matrix}\right]
L = UWV^T

Análise de componentes principais...

V =
U =
W = \displaystyle \left[\begin{matrix}2.6 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0\\0.0 & 2.19 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0\\0.0 & 0.0 & 1.91 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0\\0.0 & 0.0 & 0.0 & 1.59 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0\\0.0 & 0.0 & 0.0 & 0.0 & 1.26 & 0.0 & 0.0 & 0.0 & 0.0\\0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.99 & 0.0 & 0.0 & 0.0\\0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.72 & 0.0 & 0.0\\0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.24 & 0.0\\0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0\end{matrix}\right]

Vetores semânticos

V_3 = \displaystyle \left[\begin{matrix}-0.59 & 0.0 & -0.15\\0.0 & -0.54 & 0.16\\-0.17 & -0.12 & -0.54\\-0.29 & 0.0 & -0.17\\-0.01 & -0.76 & 0.14\\-0.58 & 0.05 & 0.38\\-0.22 & -0.03 & -0.51\\-0.36 & 0.04 & 0.36\\-0.04 & -0.31 & -0.24\end{matrix}\right]

Vetores semânticos

U_4 = \displaystyle \left[\begin{matrix}0.0 & -0.59 & 0.16 & -0.21\\-0.38 & -0.07 & -0.63 & 0.0\\-0.08 & -0.19 & -0.4 & 0.59\\0.0 & -0.59 & 0.16 & -0.21\\-0.02 & -0.49 & -0.05 & 0.31\\-0.19 & -0.01 & -0.35 & -0.52\\-0.36 & 0.04 & 0.39 & 0.23\\-0.56 & 0.03 & 0.03 & -0.28\\-0.59 & 0.04 & 0.31 & 0.2\end{matrix}\right]

Semântica de polinômios

p_1 = a_1 x^2 y^1 + a_2 x^2 y^2
p_2 = b_1 x y^1 + b_2 x^2 y^2
\Rightarrow
0 x y^1 + a_1 x^2 y^1 + a_2 x^2 y^2
b_1 x y^1 + 0 x^2 y^1 + b_2 x^2 y^2
\begin{pmatrix} 0 & a_1 & a_2 \\ b_1 & 0 & a_2 \end{pmatrix}
x y^1
x^2 y^1
x^2 y^2
p_1
p_2

Preparação dos dados

  • Separar numeradores e denominadores das equações
  • Cria semânticas separadas para numeradores e denominadores
  • Normaliza os vetores

Modelo neural

  • Entradas numerador e denominador
  • Reúne ambos no bloco racional
  • Codificação com redução
  • Prediz grau

Accurácia em torno de 80%

Projetos futuros

  • Gerar métrica por triplet loss
  • Modelo de contraste
  • Aprendizado one-shot para graus novos

Perguntas? 

deck

By André Claudino