香川大学工学部 富永浩之 tominaga@eng.kagawa-u.ac.jp 情報数学1 第2-1章 合同式の性質と計算 香川大学工学部 富永浩之 tominaga@eng.kagawa-u.ac.jp.

Slides:



Advertisements
Similar presentations
プログラミング論 第八回数字の計算,整数の入出力. 本日の内容 前回の課題(続き) 前回の課題(続き) 数字の計算をする 数字の計算をする – 加減乗除を行う – インクリメント演算子とデクリメン ト演算子.
Advertisements

平成 27 年 10 月 21 日. 【応用課題 2-1 】 次のビット列は、ある 10 進数を 8 ビット固定小数点表示で表した時の ものです。ただし、小数点の位置は 3 ビット目と 4 ビット目の間としてお り、負数は2の補数で表しています。このとき、元の 10 進数を求めてく ださい。
0章 数学基礎.
2行+αチョンプに関する考察 京都大学 ○後藤順一 伊藤大雄.
第1章 場合の数と確率 第1節 場合の数  3  順列 (第3回).
コンピュータープログラミング(C言語)(2) 1.文字列出力と四則演算 (復習) 2.関数と分割コンパイル
香川大学工学部 富永浩之 情報数学1 第1-1章 除法定理と整除演算 香川大学工学部 富永浩之
香川大学工学部 富永浩之 情報数学1 第1-1章 除法定理と整除演算 香川大学工学部 富永浩之
数当てゲーム (「誤り訂正符号」に関連した話題)
黒澤 馨 (茨城大学) 情報セキュリティ特論(4) 黒澤 馨 (茨城大学) 2017/3/4 confidential.
離散数学入門 (集合論、ベン図) 情報システム学科 中田豊久.
第1章 数と式 第4節 集合と命題  8  集合 (第3回).
Problem J Tile Puzzle 原案:野田 担当:平野,吉田,泉,松本.
ソフトウェア基礎科学 授業資料: 論理関係(logical relations)のお話
ファジィ論理と ファジィ構造モデリング 北海道工業大学 情報デザイン学科 三田村 保.
香川大学工学部 富永浩之 情報数学1 第1-2章 最大公約数とユークリッドの互除法 香川大学工学部 富永浩之
Q q 情報セキュリティ 第6回:2005年5月20日(金) q q.
本時の目標 負の数をふくむ3つ以上の数の乗法や除法の効率のいい計算のしかたに気づき、効率よく計算することができる。
論理式の表現を数学的に取り扱いやすくするために代数学の助けを借りる.
香川大学工学部 富永浩之 情報数学1 第5-2章 命題論理式の 同値変形とカルノー表 香川大学工学部 富永浩之
データ構造と アルゴリズム 第二回 知能情報学部 新田直也.
香川大学工学部 富永浩之 情報数学1 第3-1章 多進法の原理と変換算法 香川大学工学部 富永浩之
香川大学工学部 富永浩之 情報数学1 第2-2章 合同式の逆元と応用 香川大学工学部 富永浩之
共通鍵と公開鍵 暗号のしくみ 情報、数学ハイブリッド版.
データ構造とアルゴリズム論 第2章 配列(構造)を使った処理
10.通信路符号化手法2 (誤り検出と誤り訂正符号)
香川大学工学部 富永浩之 情報数学1 第3-2章 情報量と二進法での四則演算 香川大学工学部 富永浩之
プログラミング基礎a 第8回 プログラムの設計 アルゴリズムとデータ構造
中学数学1年 1章 正の数・負の数 §3 乗法と除法 (9時間).
PROGRAMMING IN HASKELL
情報セキュリティ  第4回 メッセージ認証コード.
佐藤のゲーム とその仲間たち (完全可解ゲームの話) 関西学院大学  川中 宣明 数理科学研究センター談話会    2011年6月29日.
岩村雅一 知能情報工学演習I 第8回(C言語第2回) 岩村雅一
コンピュータに計算させる命令を確かめよう!
情報セキュリティ  第8回 RSA暗号.
東北大学 大学院情報科学研究科 応用情報科学専攻 田中 和之(Kazuyuki Tanaka)
レポート提出者のリスト 次のURLに掲載 ~goto/infomath.html 学内のIPアドレスからのみ閲覧 ( )
5.RSA暗号 素因数分解の困難性を利用した暗号.
レポート提出者のリスト 次のURLに掲載 ~goto/infomath.html 学内のIPアドレスからのみ閲覧 ( )
Q q 情報セキュリティ 第6回:2007年5月25日(金) q q.
プログラミング基礎a 第8回 プログラムの設計 アルゴリズムとデータ構造
計算の理論 II 前期の復習 -有限オートマトン-
9.通信路符号化手法1 (誤り検出と誤り訂正の原理)
5 Recursions 朴大地.
第5章 計算とプログラム 本章で説明すること ・計算の概観と記述法 ・代表的な計算モデル ・プログラムとプログラム言語.
生物情報ソフトウェア特論 (2)たたみ込みとハッシュに 基づくマッチング
問題作成、解説担当:中島 副担当:坪坂、松本
香川大学創造工学部 富永浩之 情報数学1 第1-3章 素数と素因数分解 香川大学創造工学部 富永浩之
香川大学創造工学部 富永浩之 情報数学1 第1-2章 最大公約数とユークリッドの互除法 香川大学創造工学部 富永浩之
地域情報学 C言語プログラミング 第2回 変数・配列、型変換、入力 2017年10月20日
補講:アルゴリズムと漸近的評価.
行列式 方程式の解 Cramerの公式 余因数展開.
第14回 前半:ラムダ計算(演習付) 後半:小テスト
Q q 情報セキュリティ 第5回:2006年5月19日(金) q q.
香川大学工学部 富永浩之 情報数学1 第1-2章 最大公約数とユークリッドの互除法 香川大学工学部 富永浩之
香川大学工学部 富永浩之 知識工学1 第1-1章 人工知能と知識工学 香川大学工学部 富永浩之
PROGRAMMING IN HASKELL
計算の理論 I -数学的概念と記法- 月曜3校時 大月 美佳.
香川大学創造工学部 富永浩之 情報数学1 第2-1章 合同式の性質と計算 香川大学創造工学部 富永浩之
PROGRAMMING IN HASKELL
Q q 情報セキュリティ 第6回:2005年5月26日(金) q q.
香川大学工学部 富永浩之 情報数学1 第5-2章 命題論理式の 同値変形とカルノー表 香川大学工学部 富永浩之
岩村雅一 知能情報工学演習I 第8回(後半第2回) 岩村雅一
岩村雅一 知能情報工学演習I 第8回(C言語第2回) 岩村雅一
Q q 情報セキュリティ 第8回:2004年5月28日(金) の補足 q q.
香川大学創造工学部 富永浩之 情報数学1 第2-2章 合同式の逆元と応用 香川大学創造工学部 富永浩之
情報生命科学特別講義III (3)たたみ込みとハッシュに 基づくマッチング
線形符号(10章).
Q q 情報セキュリティ 第7回:2005年5月27日(金) q q.
香川大学創造工学部 富永浩之 情報数学1 第3-3章 多進法での四則演算 香川大学創造工学部 富永浩之
Presentation transcript:

香川大学工学部 富永浩之 tominaga@eng.kagawa-u.ac.jp 情報数学1 第2-1章 合同式の性質と計算 香川大学工学部 富永浩之 tominaga@eng.kagawa-u.ac.jp

概 要 ■ 合同式の定義 ■ 合同式の加減乗算 ■ 剰余系と代表元 ■ 合同式の応用 ■ 二分累乗法 概 要 ■ 合同式の定義 法と合同 剰余の一致 差の整除 除法等式 ■ 合同式の加減乗算 加減算 乗算 累乗 除算 ■ 剰余系と代表元 除法等式 剰余条件 整商と剰余 ■ 合同式の応用 正剰余 負剰余 切捨整商 切上整商 最小剰余 ■ 二分累乗法

第01節 [1] 合同式の定義 整数 n, a, b ; n≧2 において、 法nでaとbは合同 a ≡ b ; mod n 合同式 ‥ 整数の性質を剰余で捉えた、 離散で有限な数の世界 整数 n, a, b ; n≧2 において、 法nでaとbは合同 a ≡ b ; mod n ○ 剰余の一致 a と b は n で割った余りが等しい ○ 差の整除 a-b が n の倍数 ○ 除法等式 整数パラメタ t で a=n×t+b と表せる 上記の3つの定義は同値

第01節 [2] 整除演算との関係 ■ 整除演算との関係 a ÷ b = q ‥ r ; b>0 のとき a≡r ; mod b 整数に関する計算や証明が簡単になる 暗号生成、符号訂正、乱数発生、データ圧縮など 情報科学への応用 法12 で 19≡7≡-5 19時は7時で、0時まで後5時間 法360 で 120≡480≡-240 一般角

第02節 [1] 合同式の四則演算 a≡a', b≡b'; mod n のとき ○ 加減算 a±b ≡ a'±b' ○ 累乗 a↑c ≡ a'↑c ・ 合同な数(主に最小剰余)に置き換えながら計算する ・ 除算は一般にはできない!

第02節 [2] 代表元と剰余系 法3で考えることは、 整数を3で割った余りで、3つのグループに分けて捉えること。 各グループから1つずつ数を選んで代表元とする 一般形 正剰余 最小剰余 3k 0 0 { ‥ -6, -3, 0, +3, +6, ‥ } 3k+1 1 +1 { ‥ -5, -2, +1, +4, +7, ‥ } 3k+2 2 -1 { ‥ -4, -1, +2, +5, +8, ‥ } 代表元の性質が、同じグループの他の元の性質も表している 代表元の集合を剰余系という 正剰余 {0,1,2} や、最小剰余 {-1, 0, +1} などが使われる

第03節 [1] 合同式の加減算 + 1 + 1 2 + 1 2 3 + 1 2 3 4 5 6 7 + 1 2 3 4 5 - 1 2 3 4

第04節 [1] 合同式の乗算 × 1 × 1 2 3 4 5 × 1 2 × 1 2 3 4 5 6 7 × 1 2 3 × 1 2 3 4

第05節 [1] 二分累乗法 ● 累乗の素朴な計算 a↑n = a×‥×a 乗算n-1回 ● 冪が2の累乗のときの効率的な計算 第05節 [1] 二分累乗法 ● 累乗の素朴な計算 a↑n = a×‥×a 乗算n-1回 ● 冪が2の累乗のときの効率的な計算 a↑8 = ((a↑2)↑2)↑2 n=2↑k のとき、二乗k回で済む ● 一般のときの効率的な計算 a↑13 = a×(a↑6)↑2 = a×((a↑3)↑2)↑2 = a×((a×(a↑2))↑2)↑2 ● 二分累乗法 a↑0 = 1, a↑1 = a a↑(2m) = (a↑m)↑2 a↑(2m+1) = a×(a↑m)↑2 素朴な方法に比べて超高速 計算回数は 2log2(n) 程度 n≒10億でも 30~60回 (1億倍弱)

第05節 [2] 二分累乗法の再帰的定義 ● 再帰的定義(トップダウン) ● 反復計算(ボトムアップ) a↑n = { 1 ; n=0 第05節 [2] 二分累乗法の再帰的定義 ● 再帰的定義(トップダウン) a↑n = { 1 ; n=0 { a ; n=1 { (a↑(n/2))↑2 ; nが偶数 { a×a↑(n-1) ; nが奇数 ● 反復計算(ボトムアップ) 2↑13 = 8192 2 4 16 256 aの二乗、その二乗、‥ 2 × 16×256 = 8192 剰余が1のときだけ乗算 1 0 1 1 下列での剰余(nの二進表記) 13 6 3 1 2による整商列

累乗の剰余の計算は、乱数発生や暗号生成に必要 第06節 [1] 累乗の剰余の周期性 実用上は、大きな累乗の値は必要ないし、そもそも計算できない 合同式における累乗すなわち剰余が重要である 法7で 2↑1000 ≡ 2×(2↑3)↑333 ≡ 2×1↑333 ≡ 2 ● 累乗の剰余の周期性 累乗の剰余の計算は、乱数発生や暗号生成に必要 法7で、5の累乗は周期6 5↑1 ≡ 5 5↑2 ≡ 4 5↑3 ≡ 6 ≡ -1 5↑4 ≡ 2 5↑5 ≡ 3 5↑6 ≡ 1 法21で、6の累乗は周期2 6↑1 ≡ 6 6↑2 ≡ 36 ≡ -6 6↑3 ≡ -36 ≡ 6

第06節 [2] 累乗の剰余の効率的な計算 ○ 指数法則(和・積) ○ 二分累乗法 ○ 累乗の剰余の周期性 【例題】 5の1000乗を7で割った余り 5↑6 ≡ 1 と 1000=6×166+4 より 5↑1000 = 5↑4×(5↑6)↑166 ≡ 5↑4×1 ≡ 2 【例題】 72の100乗の下2桁 72↑2 ≡ 5184 ≡ -16, 72↑4 ≡ (-16)↑2 ≡ 56 56↑2 ≡ 1936 ≡ 36, 56↑4 ≡ 36↑2 ≡ 1296 ≡ -4 72↑100 = (72↑4)↑25 ≡ 56↑25 ≡ 56×(56↑4)↑6 ≡ 56×(-4)↑6 ≡ 56×16↑3 ≡ 56×(-4) ≡ -24 ≡ 76