Stochastic parallelised search for counter- and extreme examples to inequalities between "nonbities" of 2 polynomials with nonnegative coefficients and of their product, where a nonbity of a polynomial quantifies its "distinctiveness" from a polynomial whose coefficients are 0 and 1 only.
Welcome to fringy ruminations about unfair 0-1-polynomials conjecture, currently the most voted unanswered question on MathOverflow and an open problem since at least 1969 or even 1937.
Attention: hereinafter, "counterexample" means that to an inequality of given kind, not to this conjecture. To avoid ambiguity, we call the latter (whether it exists or not) an "unfair pair".
If you hypothesise an inequality such as the one above, go to Results so far and check if it has been refuted, with corresponding counterexample. If so, be sad but happy that you have not spent time trying to prove a false statement. Since a single counterexample refutes multiple such hypotheses, even if exactly yours is not there, test it against all counterexamples, or try to tinker with them. Then grab the whole thing, customise it to verify your inequality and run.
For the sake of convenience, we've also included this HTML5+JavaScript-based graphical interactive calculator of 2 polynomials' product. With it, you can observe "real-time" behaviour of various coefficients of the product as you change coefficients of the multipliers via sliders, adjust formulae by which scalar and vector nonbities are calculated, see their distributions, double-check results regarding inequalities between nonbities etc. Simply open it with a browser, modify as you need etc.
Let
where
For the sake of simplicity, we assume that
Consider the product
where
Polynomials whose coefficients are only 0 and 1 are called {0,1}-polynomials or Newman polynomials.
Unfair 0-1-polynomials conjecture: Assuming that
An unfair pair would be
Usually, instead of the constraint
One quickly sees the importance of constraints: without monicity, there is an unfair pair
Consider polynomial long division to see that in an unfair pair both
There is also a probabilistic interpretation about factorisation of (discrete) uniform distribution and equivalent one involving dices, which "a child understands". On the other hand, any essential progress seems to rely on things more sophisticated, such as Gauss's lemma.
You can find more detailed exposition, results, and references at [GHI], and, of course, see the original MO question and comments.
The problem being so famous, you easily imagine hundreds, if not thousands, of people working on it this very moment. (Aren't you one of them now.)
Our astray inquiry is different: it feels like there is a way from discrete to continuous here... Something that forbids unfairness may also forbid its "neighborhood", like a "repelling force" acting in its "vicinity".
Surely, this feeling may be wrong, especially if unfair polynomials exist after all. Or, behaviour of something turns out to be much more complex than the original problem.
Anyway, to turn feelings into reasonings, we need quantification. "Neighborhood", "vicinity" become such with respect to certain "distance" (not a metric in general case, though). For the lack of established term (or our laziness to find it), we call such characteristic a (vector) nonbity (since each 0/1 is a bit value), you are welcome to call it anti-Newmanness or non-{0,1}ness or nonbinarity or Newmanlessity or unfairness:
It can be defined in many different ways. Here we consider the "additive" one, that is,
where a (scalar) nonbity
To say nothing of
and thus
This is one part of the motivation to, well, establish them. Another is that they would give more resolution to fairness phenomenon, reveal a "forbidden zone" for
There are trivial inequalities of this sort that do not help to solve the original problem. Consider
But, of course, for an unfair pair
By the way, this is the single positive result here.
Plenty of
And then there is the choice of
In the absence of understanding/vision/intuition of what is appropriate and what is not, we can try these one by one, in various combinations, rejecting those for which counterexamples have been found and concentrating on attempts to prove "suspicious" ones for which they have not been... yet.
IntPolMulNonbity performs that search stochastically, with optional gradient descent.
Hope it saves, not swallows, someone's time.
Any inequality has the form
Straightforward, 500+ lines of a single source main.rs
smaller than this README contain it all. We rely on num_cpus to get number of logical CPUs, rayon for parallelisation and rand along with rand_xoshiro for fast generation of sufficiently random numbers.
Since the mapping i64
instead of f64
.
For example, scalar nonbity
where
where
There are some combinatorial interpretations of such expressions, e.g. selection of squares inside big squares on diagonals of even bigger square, but whether they make understanding easier or harder is vague... And the trick does not work for essentially nonlinear nonbities like
There is not much polynomial arithmetic either, "polynomials" are represented simply as Vec<i64>
, because we do not need their values at any points. Multiplication, of course, is merely a discrete convolution.
A Searcher
instance is constructed with certain parameters (like range of polynomials' degrees). Then the specified number of instances of search runs in parallel in an endless loop. When a pair of polynomials is found such that its
In turn, an instance of search randomly generates a pair of polynomials
I. All-coefficients-at-once: for each numerator
II. One-by-one-coefficient: almost the same, but change the numerator of single coefficient at each step, the first one in the sequence
There is a specified limit to total number of such steps. Note that at each step,
In the end, the "descended"
See Searcher::search()
.
Assuming that Rust toolchain has been installed,
$ cd intpolmulnonbity
$ cargo build --release
$ cargo run --release
Wait... wait... then press Ctrl+C
to break.
By default, we verify
To change nonbity()
function. Some alternatives are already there, commented.
To change surplusity()
.
Almost all parameters controlling search in general and random generation in particular are defined at the beginning of run_search_rand()
. Verbatim:
let deg_min: usize = 3;
let deg_max: usize = 17;
let denom_min: i64 = 4;
let denom_max: i64 = 8;
let grav_min: i8 = -4;
let grav_max: i8 = 1;
let lowest_is_unit = false;
let gradesc_max_steps: usize = 4000;
let batch_size: u128 = 1000;
let threshold: f64 = 1.0;
let n_searchers: usize = num_cpus::get();
Degree of polynomial is Uniformly distributed in [deg_min
; deg_max
].
Denominator of polynomial's coefficients is U-distributed in [denom_min
; denom_max
].
[grav_min
; grav_max
] is the range of U-distribution of the "gravity" parameter, say
where independent
Set lowest_is_unit = true
to require "back monicity", i.e.
gradesc_max_steps
limits the number of gradient descent steps, stages I and II alltogether.
batch_size
specifies the number of pairs
threshold
: as soon as
Finally, n_searchers
is the number of parallel instances of search running simultaneously. By default, it is the number of logical CPUs, but you can set it manually to e.g. avoid overheat.
...Feel free to modify the search algorithm itself, after all.
From time to time, adjust ranges of polynomials' degrees, of denominators, and other parameters. For they restrict search to certain region of "config space", and while in one region counterexamples are scarce, in the next region they may be abundant (if there are any).
Keep track of extreme examples: for another inequality, they can be counterexamples.
The longer it runs, the more "precious" each new extreme example becomes, although the process has no memory.
Absence of evidence is not evidence of absence.
First, counterexamples; in no particular order.
We represent coefficients
-
$Q$ : 2, 1, 0, 0, 2 ( /2 ) —$Q(x) = 1 + \frac{1}{2} x + x^4$
$R$ : 4, 2, 3, 0, 0, 2, 0, 0, 4 ( /4 ) —$R(x) = 1 + \frac{1}{2}x + \frac{3}{4} x^2 + \frac{1}{2}x^5 + x^8$
(Then$P(x) = 1 + x + x^2 + \dfrac{3}{8}x^3 + x^4 + x^5 + x^6 + x^8 + x^9 + x^{12}$ — single$p_i \notin \{ 0, 1 \}$ .)
Refutes at least:
$\mathcal{N}(P) \geqslant \min \{ \mathcal{N}(Q), \mathcal{N}(R) \}$
where
$\mathcal{N} = \sum \eta$
$\eta(t) = \eta(1 - t)$ ($\eta(t)$ is symmetrical w.r.t.$t = \frac{1}{2}$ ) and$\eta(t)$ increases on$[0; \frac{1}{2}]$ (accordingly decreases on$[\frac{1}{2}; 1]$ ).
Although
Its variant, simpler but violates
-
$Q$ : 2, 0, 1, 2 ( /2 )
$R$ : 4, 0, 2, 0, 3, 2, 4 ( /4 )
(Then in$P(x)$ only$p_6 = \frac{11}{8}$ , others are either 0 or 1.) -
$Q$ : 2, 1, 1 ( /2 )
$R$ : 4, 2, 1 ( /4 )
Refutes at least:
$\mathcal{N}(P) \geqslant \min \{ \mathcal{N}(Q), \mathcal{N}(R) \}$
where
$\mathcal{N} = \sum \eta$
$\eta(t) = t|\log t|$ -
$Q$ : 2, 2 ( /2 )
$R$ : 2, 0, 1, 1, ..., 1, 0, 2 ( /2 ) —$d$ ones between 2 zeros
(Then$P(x) = 1 + x + \dfrac{1}{2}x^2 + x^3 + x^4 + \ldots + x^{d+1} + \dfrac{1}{2}x^{d+2} + x^{d+3} + x^{d+4}$ )
Refutes at least:
$\mathcal{N}(P) \geqslant \gamma \max \{ \mathcal{N}(Q), \mathcal{N}(R) \}$
where
$\mathcal{N} = \sum \eta$
$\eta (t)$ is... arbitrary, satisfying general requirements for scalar nonbity.
For any fixed
-
$Q$ : 2, 1 ( /2 )
$R$ : 8, 4, 6, 5 ( /8 )
(Then$P(x) = 1 + x + x^2 + x^3 + \frac{5}{16}x^4$ .)
Refutes at least:
$\mathcal{N}(P) \geqslant \max \{ \dfrac{\mathcal{N}(Q)}{\sum\limits_{j=0}^{d_Q} q_j}, \dfrac{\mathcal{N}(R)}{\sum\limits_{l=0}^{d_R} r_l} \}$
where
$\mathcal{N} = \sum \eta$
$\eta (t) = t|1-t|$ -
$Q$ : 1, 1, 1, 1 ( /2 )
$R$ : 1, 1, 1, 1, 1, 1 ( /2 )
Refutes at least:
$\mathcal{N}(P) \geqslant \dfrac{1 + 2\max \{ d_Q, d_R \}}{(1 + \max \{ d_Q, d_R \})^2} \mathcal{N}(Q) \mathcal{N}(R)$
where
$\mathcal{N} = \sum \eta$
$\eta (t) = \min \{ t, |1-t| \}$
and 2 of its generalisations:
-
$Q$ : 1, 1, 1, 1 ( /2 ) — 4 ones
$R$ : 1, 1, ..., 1 ( /2 ) — all ones
(Then$P(x) = \frac{1}{4} + \frac{1}{2}x + \frac{3}{4}x^2 + x^3 + x^4 + \ldots + x^{d_R + 1} + \frac{3}{4}x^{d_R + 2} + \frac{1}{2}x^{d_R + 3} + \frac{1}{4}x^{d_R + 4}$ .)
Refutes at least:
$\mathcal{N}(P) \geqslant \gamma \dfrac{1 + d_P}{(1 + d_Q)(1 + d_R)} \mathcal{N}(Q) \mathcal{N}(R)$
where
$\mathcal{N} = \sum \eta$
$\eta (t)$ is arbitrary scalar nonbity.
For any fixed
-
$Q$ : 1, 1, 1, 1, 0, 0, ..., 0, 1, 1, 1, 1 ( /2 ) — 4 ones, zeros, 4 ones
$R$ : 1, 1, ..., 1 ( /2 ) — all ones
All these have
-
$Q$ :$q_K = \frac{1}{2}$ ,$q_{K - k_m} = \frac{1}{8}$ for$m = \overline{1, L}$ , all other$q_j = 0$
$R$ :$r_0 = \frac{1}{2}$ ,$r_{k_m} = \frac{1}{8}$ , all other$r_l = 0$
where$K$ is large enough and$\{ k_m \}_{m=1}^L$ is an increasing sequence such that pairwise sums are all distinct. The simplest one is perhaps$k_m = 3^m$ , but there are others, "minimal" of them being, by definition, A025582.
Refutes at least:
$\mathcal{N}(P) \geqslant \mathcal{N}(Q) \mathcal{N}(R)$
where
$\mathcal{N} = \max \eta$
$\eta (t) = t |1-t|$
In fact, certain denser sequence suffices, but even it has
Second, hypothesised inequalities still standing.
-
$\mathcal{N}(P) \stackrel{?}{\geqslant} \dfrac{1 + 2\max \{ d_Q, d_R \}}{(1 + \max \{ d_Q, d_R \})^2} \mathcal{N}(Q) \mathcal{N}(R)$
where
$\mathcal{N} = \sum \eta$
$\eta (t) = t |1-t|$ , also$\eta(t) = t^2 (1 - t)^2$
Clearly,
To give more meaning to this
where
A refutation not only of this hypothesis, but of its entire class may lie somewhere along the lines of 1st counterexample above.
-
$\mathcal{N}(P) \stackrel{?}{\geqslant} \dfrac{\mathcal{N}(Q)}{\sum\limits_{j=0}^{d_Q} q_j} \cdot \dfrac{\mathcal{N}(R)}{\sum\limits_{l=0}^{d_R} r_l}$
where
$\mathcal{N} = \sum \eta$
$\eta (t) = \min \{ t, |1 - t| \}$ , also$\eta (t) = t |1-t|$ ,$\eta(t) = t^2 (1 - t)^2$
with constraint$q_0 = r_0 = 1$ -
$\mathcal{N}(P) \stackrel{?}{\geqslant} \min \{ \mathcal{N}(Q), \mathcal{N}(R) \}$
where
$\mathcal{N} = \sum \eta$
$\eta(t) = t \log t$ ($\eta(0) := 0$ by continuity) — "entropical"
with constraints$q_0 = r_0 = 1$ ,$q_{d_Q} = r_{d_R} = 1$ , and$\forall p_i \leqslant 1$ .
The last counterexample should confirm your suspicion that random search as implemented here entirely misses huge classes of possibilities if they start to appear only after polynomials' degrees reach 1000 or even 100. Please keep in mind the "surprise" of 105th cyclotomic polynomial.
[ASG] Asgarli S., Hartglass M., Ostrov D., Walden B. "A fair shake: how close can the sum of
[BAR] Barbeau E.J. Polynomials. Springer-Verlag, 1989.
[GHI] Ghidelli L. "Progress on the unfair 0-1-polynomials conjecture using linear recurrences and numerical analysis", arXiv, 2021. arXiv:2209.09843
[HAR] Hare K.G. "Computational progress on the unfair 0-1 polynomial conjecture", arXiv, 2023. arXiv:2307.07363
[KRA] Krasner M., Ranulac B. "Sur une propriété des polynômes de la division du cercle", CR Acad. Sci. Paris, 1937, 240:397–399.
[LEW] Lewis T. "The Factorisation of the rectangular distribution", J. App. Prob., 1967, 4(3):529–542. doi:10.2307/3212219
[MOR] Morrison I. "Sacks of dice with fair totals", Amer. Math. Monthly, 2018, 125(7):579–592. doi:10.1080/00029890.2018.1473699, arXiv:1411.2272
[PRA] Prasolov V.V. Polynomials. Transl. by Leites D. Springer, 2004.