技能一覧 › 大学院数学 数理論理学・集合論

素因数分解による列のゲーデル数

有限列 を ()で符号化し、逆に符号の素因数分解の指数から長さと各成分 を読み取れる(例: の符号は )。符号の指数を順にたどって、符号を使って定義された漸化式の値を求められる

前提

この技能までの道筋(4 技能)
算数中学高校大学大学院

読み込み中…

右端(太枠)がこの技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。

一覧で見る(前提が先)
  1. 樹形図で数え上げる (算数 場合の数)
  2. 積の法則と和の法則 (算数 場合の数)
  3. 和の法則・積の法則と樹形図 (数学A 場合の数と確率)
  4. 約数の個数と総和 (数学A 整数の性質)

説明

0 以上の整数の有限列 を、1 つの正の整数 に置き換える(符号化する)方法です。この数を列のゲーデル数(符号)といい、素因数分解の指数を見れば元の列を読み戻せます。数理論理学や計算理論で「列・式・計算の記録」を 1 つの自然数として扱うときや、過去の値すべてを使う漸化式を 1 つの数の漸化式に直すときに使います。

なぜそうしてよいのか

素数を小さい順に と番号づけます。列 に を対応させると、素因数分解の一意性により、 を見れば各 の指数 が一通りに決まります。だから異なる列は異なる符号をもち、符号から列を復元できます。

指数を ではなく にするのは、成分が 0 のときも素数 を必ず 1 個以上残すためです。もし指数を にすると、 と はどちらも になり、末尾の 0 の個数(列の長さ)が読めません。 にしておけば、符号に現れる素数はちょうど の 個で途中が抜けることもなく、相異なる素因数の個数がそのまま列の長さになります。空列の符号は空の積 です。

読み取りの記法として、符号 の長さ(相異なる素因数の個数)を 、 の指数から 1 を引いた値を と書きます。すると が列 の符号なら 、 です。たとえば の符号は で、 を素因数分解すれば逆に が読めます。

手順

  1. 符号化するときは、成分 に 1 を足した数を 番目の素数 ( から数える)の指数にして掛け合わせる:

  2. 読み取るときは、符号 を素因数分解し、素数を小さい順 に並べて指数を書き出す(現れない素数は指数 0)

  3. 現れる素数が の連続した 個であることを確かめ、長さ を読む(空列なら 、長さ 0)

  4. 各指数から 1 を引いて成分 を読む

  5. 符号を使って定義された漸化式では、手順 4 で読んだ成分を使って次の値を計算し、手順 1 で新しい符号を作る、を順にくり返す

例題

0 以上の整数の有限列 の符号を ( は小さい順の素数)と定める。符号が である列の長さ と、成分の和 を、組 の形で求めよ。

例題の解答

手順 2: を素因数分解する。

より 。

手順 3:現れる素数は の連続した 4 個なので、。

手順 4:指数 からそれぞれ 1 を引いて、列は 。(確認:。)

よって で、。

答え:

よくある誤り

この説明は AI が書き、別の AI が例題を独立に解いて答えを確かめ、説明を一歩ずつ査読しました。

入口の問題

この技能を使う問題

この技能の次に学べること