情報システム評価学’02 レポート問題

以下の問題から3問以上を選んで提出してください. (単位だけでよければ1問でも可)。 (If you need English translation, please visit my office.) 答えが間違っている事はあまり気にしなくて良いが、他の人の レポートを写す事は厳禁。
期限:2月14日. 
問題1 〔やさしい問題)
整数 a と 奇数r を入力とし、 a の (r-1)/2 乗をr で割った剰余を計算するプログラムを書きなさい。
但し、できるだけ高速なもの。 計算時間についても簡単に述べよ。 使用言語は何でも構わない
問題2
上記のプログラムを用い、 r = 21701 とr = 748747 に対して a=2,3,...,10 までの結果を出力しなさい。 
また、 この結果から何が言えるかを述べなさい。 
問題3
 有限体Fの乗法群には必ず生成元があること、 即ちFがn個の元を持つとき、Fの元gで、n-1乗すると初めて1になる ものが存在する事を示しなさい。
   参考文献: 藤崎源二郎:体とGalois理論I (岩波基礎数学講座) 定理2.27.
問題4
 ある整数a と自然数kを与えられた時、 aが他の整数のk乗になるかどうか (即ち、aのk乗根が整数であるかどうか)を判定する アルゴリズムを考えよ。
但し、計算時間はaの桁数(つまりlog a) の多項式で押さえられないといけない。
ヒント: 二分探索もしくはニュートン法を用いればできる。 他の手法でもよい。
問題5
 授業で示した2通りの素数判定アルゴリズム (ランダムアルゴリズムと、乱数を用いないアルゴリズム) それぞれの計算時間を比較せよ。
問題6 (Research Problem)
 上記の計算時間を改良するためのアイデアを考えよ。 (アイデアのみで、解析が無くても、あるいは正しくなくてもよい)
問題7 〔難しい問題)
 有限体$F_p$ を係数に持つ n 次多項式  f(x) が与えられた時、それが 既約多項式であるかどうかを高速に判定する方法を考えなさい。
因数分解をするBerlekamp's algorithmを用いるのなら、 その概略を述べること。
参考文献: D. Knuth, The art of programming II (Seminumerical Algorithms) pp.439--450.
 問題8
 1月27日の数理談話会 2003年1月27日(月)13:30--15:00  に出席し、ノートを提出せよ。(談話会は出席者をチェックするので そのつもりで)。
 問題9 
 自分が興味を持っているコンピュータ科学の問題に付いて 徳山にわかるように説明してください。