Carmichael 数 の確率的判定法

正の整数 $ n$ にたいして、つぎのような判定法が考えられます。

Carmichael 数 の判定
次のようなことを繰り返し行う。
  1. $ (\mathbb{Z}/n\mathbb{Z})^\times$ の元 $ x$ をランダムにとる。
  2. $ x^n =x $ か否かをチェックする。( % latex2html id marker 3553
$ x^n \neq x$ ならばもちろん $ n$ はCarmichael 数 ではない。)
これを例えば100回行って、いつもチェックが成功すれば、 $ n$ がCarmichael 数でも素数でもないのに そんなことが起こる確率は $ 1/2^{100}$ 以下である。

証明. 群論を用いる。 $ n$ がもし Carmichael 数 ではないならば、 $ (\mathbb{Z}/n\mathbb{Z})^\times$ の部分集合

$\displaystyle H=
\{x \in(\mathbb{Z}/n\mathbb{Z})^\times ; x^n =x\}
$

$ (\mathbb{Z}/n\mathbb{Z})^\times$ の部分群であり、したがって $ n$ がもし Carmichael 数 ではないならば、 $ (\mathbb{Z}/n\mathbb{Z})^\times$ の部分集合

$\displaystyle H=
\{x \in(\mathbb{Z}/n\mathbb{Z})^\times ; x^n =x\}
$

$ (\mathbb{Z}/n\mathbb{Z})^\times$ の部分群であり、したがって

$\displaystyle \char93  (\mathbb{Z}/n\mathbb{Z}^\times)/\char93  H
=
\char93  ((\mathbb{Z}/n\mathbb{Z}^\times)/ H)
$

$ 1$ より大きい整数である。 もし、ランダムに $ (\mathbb{Z}/n\mathbb{Z})^\times$ の元をとれば、それが $ H$ に入る確率は 多く見積もっても $ 1/2$ 以下である。 % latex2html id marker 3562
$ \qedsymbol$

上のことから、与えられた数が Carmichael 数であるか否かは すばやく判定できる確率アルゴリズムがありますが、 Carmichael 数は数が少ないため、次のことは問題として残ります。

問題 2.1   与えられた数 $ n$ に対して、$ n$ より大きなCarmichael 数のうち最小のものを ($ \log n$ の多項式程度の時間で)求める確率的アルゴリズムは存在するか?

<a href="https://oeis.org/A002997">オンライン整数列大辞典</a> には、Carmichael 数の最初の数十個が書いてあります。 それによれば、最初のCarmichael 数は561 のようです。