# Using AI to guess a mathematical pattern of certain polynomials in four variables: practical challenge

I'd like to use machine learning to guess a mathematical pattern: the input are certain polynomials in four variables $$q_1,q_2,q_3,q_4$$, the output can be zero or one.

Allowed polynomials are such that (i) all their non-zero coefficients are equal to one, (ii) they do not contain monomials of the form $$q_1^j$$ for $$j \geq 0$$, and (iii) if an allowed polynomial contains a monomial $$m=q_1^a q_2^b q_3^c q_4^d$$ for some non-negative integers $$a,b,c,d$$, then it also contains $$m'=q_1^{a-1} q_2^b q_3^c q_4^d$$, provided this does not violate (ii) and $$a \geq 1$$; similarly for $$b \to b-1$$, $$c \to c-1$$, and $$d \to d-1$$.

Here's an example batch, given by pairs {input, output}: $$\{q_2,1\},\{q_3,1\},\{q_4,1\}$$

Here's a second batch: $$\{q_2+q_1 q_2,0\},\{q_2+q_2^2,0\},\{q_2+q_3,1\},\{q_3+q_1 q_3,0\},\{q_3+q_3^2,0\},\{q_2+q_4,1\},\{q_3+q_4,1\},\{q_4+q_1 q_4,0\},\{q_4+q_4^2,1\}$$

I can construct larger and larger batches using Mathematica, and I'd like to know how to practically go from here, to instructing an AI to guess a simple function of $$q$$'s that reproduces the behavior, namely that can guess the correct output for previously unknown admissible polynomials.

What are the typical batch size and computational power required for such a program to succeed?

My idea is to use a function $$\phi$$ from the space of allowed polynomials $$\mathcal P$$ to the set $$\mathbb Z_2=\{0,1\}$$, of the form $$\phi:\mathcal P \to \mathbb Z_2$$, $$p=\sum_{i \in I} m_i \mapsto \phi(p):= \sum_{i \in I' \subset I} m_i|_1 \mod 2$$, where $$m_i|_1$$ means the $$i$$-th monomial inside $$p$$ evaluated at $$q_1=q_2=q_3=q_4=1$$, and come up with the form of $$I'$$ as function of $$I$$.

Notice there's no linear structure on $$\mathcal P$$.

Remark: of course instead of polynomials one could use punctured solid partitions.

• Polynomial regression can be used in a model-free scenario for predicting future states. The idea is to use only the given raw data but no additional description of the problem. The python sklearn library supports it out-of-the box. – Manuel Rodriguez Feb 15 '19 at 22:59
• @ManuelRodriguez Thanks, I will look into it. Just to get an estimate, is it something one can try on a laptop with a few batches, or does it need more powerful stuff? I'm not very familiar with these things. – jj_p Feb 16 '19 at 4:31
• No, a laptop is not required. It will work on a normal Differential analyzer, which is an analog computer, Lin, Phyo Wai. "Analog computer simulation." (2001). – Manuel Rodriguez Feb 16 '19 at 7:47
• @ManuelRodriguez I'm a bit confused trying to apply polynomial regression to my case, as all the ways I can come up with involve an infinite dimensional space. For example, I can choose an ordering for the monomials, and then use coordinates associated to each monomial in this ordering, then let $\varphi$ be a linear function of these coordinates to which I apply polynomial regression, and $\phi=\varphi(1,...,1)$, but in this case the coordinates are infinite. Can you explain more what you had in mind? should I truncate to the first $j$ monomials, and train it with $k<j$ known monomials? – jj_p Feb 16 '19 at 23:23
• Is there a limit on a,b,c,d? if there is such a limit, we have an upper bound(Number of dimensions = abcd) on types of monomials and hence we can applyit to finite dimensional NN – Zaid Syed M Md Feb 17 '19 at 10:54