Skip to Content.
Sympa Menu

cado-nfs - Re: [cado-nfs] Higher ropteffort can produce worse polynomial

Subject: Discussion related to cado-nfs

List archive

Re: [cado-nfs] Higher ropteffort can produce worse polynomial


Chronological Thread 
  • From: Shi Bai <shih.bai@gmail.com>
  • To: Robert Balfour <rhb11931@gmail.com>
  • Cc: cado-nfs@inria.fr
  • Subject: Re: [cado-nfs] Higher ropteffort can produce worse polynomial
  • Date: Tue, 21 Dec 2021 00:35:23 +0800
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=shih.bai@gmail.com; spf=Pass smtp.mailfrom=shih.bai@gmail.com; spf=None smtp.helo=postmaster@mail-yb1-f179.google.com
  • Ironport-data: A9a23:l0aqk6wGR3uGhWq1oLB6t+daxyrEfRIJ4+MujC/XYbTApD0n0GQHzWVNXTjXPPmLMGSmfdgnPt/l8BgGuZLRyd5mOVdlrnsFo1Bi+ZOUX4zBRqvTF3rPdZObFBoPA/3z27AsFehsJpPnjkrrYuiJQUVUj/nSH+OmUracY0ideCc9IMsfoUI78wIGqtUw6TSJK1vlVeLa+6UzCnf9s9JHGj58B5a4lf9alK+aVAX0EbAJTasjUFf2zxH5BX+ETE27ByOQroJ8RoZWSwtfpYxV8F81/z91Yj+kurPyc0lPU7SLeAbX1SsQVK+ljRxP4Cc1187XNtJGMRYR22jPxYkgjowS5PRcSi9xVkHIsP8dUhkeGSh/FaJD8b7DZ3O4tKR/ymWfKiqymawwVSnaOqVBorotaY1UztQTITwKKxaNnMqt0bejQ69tgN4iJY/lJusiVttI2WmMV7B5VcmWG+OS8YUNhHFq15EXCa2LP4xEfWU6RQrkSBhrFlczKZsYoP2MuHjaZ2QA/QvN4fEji4TI5Al40byoIdCMP9LTGpQTkUGfqWbLuW/+B3kn2BWk4WLt2hqRaiXnxEsXmb7+FYFUMtZviVyXg30ZUVgYDATq5/a+jUG6VpRULEl8Fu8GxUQt3BTDczU/d0TQTL24Uto0VN9ZEul84waIokYRyxjMHXAKF1atd/R/3PLbhlUWOpuhkNbgBDgpu7qQIZ5Y3t94shvqURUowaQ+iePogOfLDxQPYG3+s/4XcuteLQ==
  • Ironport-hdrordr: A9a23:z7d4PK5JLM6D3fMLKgPXwL3XdLJyesId70hD6qkfc3Bom6Cj+vxG4s506facsl94M03I8uruBEDvexnhyaI=
  • Ironport-phdr: A9a23:/U54WBfGxdmFaQ8LwF+LzAOjlGM+jd7LVj580XLHo4xHfqnrxZn+JkuXvawr0AWQG9yDsbkU26L/iOPJYSQ4+5GPsXQPItRndiQuroEopTEmG9OPEkbhLfTnPGQQFcVGU0J5rTngaRAGUMnxaEfPrXKs8DUcBgvwNRZvJuTyB4Xek9m72/q99pHNfglEniexba9sIBm5rgjctdQdjJd/JKo21hbHuGZDdf5MxWNvK1KTnhL86dm18ZV+7SleuO8v+tBZX6nicKs2UbJXDDI9M2Ao/8LrrgXMTRGO5nQHTGoblAdDDhXf4xH7WpfxtTb6tvZ41SKHM8D6Uaw4VDK/5KptVRTmijoINyQh/W7YhMx/jqJVrhyiqRJi3YDbfJqYNOZicq7HYd8WWXZNU8RXWidcAo28dYwPD+8ZMOhFr4n9pkYFoAakCgmtGejizSRIhn/33a06yeguChvJ3A07EtIBtXTbttT1NKMIXe+py6nIyCzOYvVL0jjy9IbGaAouoe2QXb1ua8rRz1EiGQzFgFiNqYHoIy+Z2+QTvmWf8eZtW+Khh3IkpgxsojaiyMchh5XJi44I113I6Th0zJs2KNC6SUN2f9CqHZheuiycKoB4QdsiTnl2tComzrAKo522cSgQxJg52hLSb+aLf5WK7x/nUuuaPC12i2h/eL2lgha/6UigxfP4VsmzyFtKqzBKktjItnwU1x3c8dWLRuJz/ku82zuC0xrf6u5DIUAzmqrbL4AuzqQsmZoUtETPBi72mEPog6+Kbkgo5PSk5uD9brjlppKQLZF4hhz6P6g0h8CyA+A1PhALX2eB+OS80LPj/Vf+QLVPlvA2ianZsJHaJcgBvaG2GQ5V350s6xa6FTim0dAYkWMbI1JCfRKLl5LpNE3WIPDkEfe/hEyhnytxyP/bOb3tG5PNLnbYkLr6ZrZ860tcyBIpwtxF5pJUDKsBIPPpVUPrutzYFExxDwvh+eHtBc9hnqkXXWyIH7XRZLnSuwbRt7l2C+aJbY4R/j36Lq52yeTpiCoCmV5VV6Colc8MaHG4WP5vIm2WZHPthpEKFmJc7Vl2d/DjlFDXCW0bXH21Ra9pvlnT7aqpCI7CQsamh7nThE9T/7VTb2FCT0GGSDLmLtrVHfgLby2WL4lqlTlWDdBJpKcu0BivsEnxzL81d4Lp

Dear Robert,

Thanks for reporting it.

First, for the output,

"I note that when polyselect_ropt is run with -v, the following is printed:
# Info: s1param->nbest_sl: 368 (= size_total_sublattices*ropteffort)
"
You are right. The output information is flawed: the nbest_sl should
be independent of ropteffort. It does affect other parameters however.


"For example, if polyselect_ropt is run on the attached polynomial,
with -area 429496729600000000 -Bf 34359738368 -Bg 17179869184, the
Murphy-E score of the resulting polynomial is as follows:
-ropteffort 1: 2.026e-09
-ropteffort 10: 1.972e-09
"

I think this is not totally unexpected. The quick answer is the
candidate polynomial got discarded during the test root sieve
procedure. For convenience, I will denote the polynomial generated
from "-ropteffort 1: 2.026e-09" as the "BestPoly".

The ropt code starts with generating many sublattices of linear
rotation of the form (a, b) (mod M) where M is a product of small
prime powers. They denote f + (a*x + b)*g. The best sublattices are
recorded in a global queue using the rough E-score (this is lognorm +
alpha). Then it starts some short test root sieve on these (a, b) (mod
M) to filter out some good (a, b) (mod M) in terms of MurphyE-score.
Note there will be some discrepancies between the E-score and
MurphyE-score, e.g. good polynomials with E-score may have worse
MurphyE-score during the test root sieve.

The BestPoly was generated by a rotation of (-159023*x -
1150894624933)*g(x) + f(x) from the original polynomial f(x), g(x),
together with some minor size-optimization in the end. For such
rotation, it sits on the sublattice:

# Info: tune [ 363], E: 55.36, lat (0, 506257, 523547) (mod 665280)

This sublattice is found in both cases (ropt = 1 and/or 10). However,
when ropt = 10, there are many sublattice candidates whose MurphyE
score is better than this BestPoly (during the test root sieve). Thus
the sublattice for this BestPoly was discarded (before entering the
actual root sieve) when ropt = 10.

Cheers,
Shi

On Tue, Dec 14, 2021 at 4:48 AM Robert Balfour <rhb11931@gmail.com> wrote:
>
> Dear all,
>
> Mersenneforum user Gimarel has reported that using a higher ropteffort
> value can sometimes produce a lower scoring polynomial.
>
> For example, if polyselect_ropt is run on the attached polynomial, with
> -area 429496729600000000 -Bf 34359738368 -Bg 17179869184, the Murphy-E
> score of the resulting polynomial is as follows:
>
> -ropteffort 1: 2.026e-09
> -ropteffort 10: 1.972e-09
> -ropteffort 100: 1.965e-09
>
> Maybe this is just an unlucky consequence of the way the priority queues
> are managed, but I'm concerned that perhaps at some stage a queue is either
> being cut too short or not being sorted properly.
>
> I note that when polyselect_ropt is run with -v, the following is printed:
>
> # Info: s1param->nbest_sl: 368 (= size_total_sublattices*ropteffort)
>
> ...and despite what this would suggest, the value 368 does not change when
> ropteffort is increased!
>
> Best regards,
> Robert



Archive powered by MHonArc 2.6.19+.

Top of Page