情報数学 I
第十三回: 証明の方法(2011年
1月14日)
Martin J. Dürst
http://www.sw.it.aoyama.ac.jp/2010/Math1/lecture13.html
© 2006-11 Martin
J. Dürst 青山学院大学
今日の予定
- これからの予定
- ミニテストについて
- 合同算術 (続き)
- 証明の方法
- 数学的帰納法
これからの予定
- 1月19日 (水曜日) 14回目の授業
(補講)
- 1月21日: 期末試験 11:10-12:35 (85分間)
- 期末試験の過去問 (追加): 2009年度
ミニテストについて
- 採点はほぼ終了
- 返却時間は Moodle でアナウンスする予定
- 返却場所は O棟529号室の前
- [結果について]
- 必ず自分のものだけ受け取る
- 友達、知合いのものは頼まれても受け取らない
- 後の人も見つけやすいように整理整頓は当然
合同式の性質
- a ≡ b ∧ c ≡ d ⇒
a + c ≡ b + d (mod
n)
- a ≡ b ∧ c ≡ d ⇒
a - c ≡ b - d (mod
n)
- a ≡ b ∧ c ≡ d ⇒
ac ≡ bd (mod
n)
- a ≡ b ⇒ am ≡
bm (mod n)
- a ≡ b ∧ c ≡ d
⇏ a / c ≡ b /
d (mod n)
剰余演算
(modulo operation)
- 演算子:
%
(C や Ruby
をはじめ多くのプログラム言語)、mod (数学)
- a ≡ b (mod n) <=> a
mod n = b mod n
剰余演算の性質
- (a + c) mod n = (a mod
n + c mod n) mod n
- (a - c) mod n = (a mod
n - c mod n) mod n
- (a · c) mod n = (a mod
n · c mod n) mod n
理由: a ≡ a mod n (mod n)
など
合同式の応用: 剰余演算の単純化
例: 216 mod 29 = ?
216 = 25 · 25 · 25 ·
2
216 = 25 · 25 · 25 · 2 = 32
· 32 · 32 · 2 ≡(mod 29) 3 · 3 · 3 · 2 = 54 ≡(mod
29) 25
数字和と数字根
数字和 (digit sum): それぞれのけたの数字の合計
数字根 (digit root): 数字和を一桁になるまでに繰り返す
十進法での応用例: 1839275 の数字和は 1+8+3+9+2+7+5 = 35; 35
の数字和は 3+5 = 8; 1839275 の数字根は 8
十六進法の例: A36FB の数字和は
A+86+F+B (10+86+15+11) = (42) 2A;
2A の数字和は 2+A (2+10) = (12) C; A3FB の数字根は C
合同式の応用: 九去法
(casting out nines)
- n 進法の数字根は n-1
で割ったときの剰余と同じ
- 元の演算が合ったら、数字根での演算は当然合う
- 数字根での演算では演算の間違えの一部が確認可能
(演算の正確さの確認は不可能)
- 応用例:
次の二つの計算のうち、一つだけ正しかったら、どちらでしょうか:
2485938 · 4962483 = 12336425064054
2354987 · 2498472 = 5883469079864
配布テキストについて
- (有名な) 言語理論の教科書から
言語理論やオートマトン理論についての語句は無視してよい
- 一般的で分かりやすいので配布
- たまに違う「方言」を使用
- 試験の範囲に含む
証明の方法
(一部前回資料参照)
演繹と帰納
演繹 (deduction): 一般の原理から特定な場合を推論する
帰納 (induction): 少数の事実から一般の原理を推測する
数学的帰納法 (mathematical induction)
目的: ある構造の部分の (殆ど)
全てについて何かを証明する
「ある構造」は整数が多いが、木などもありうる
数学的帰納法は一般の分類では帰納では無く演繹である
情報テクノロジーでの数学的帰納法の応用
- アルゴリズムやデータ構造の設計や性質の証明
- プログラムについての証明
数学的帰納法の二つのステップ
- 基底 (base)
- 帰納 (induction)
整数の場合:
- P(0) が成り立つことを証明する
- P(k) が成り立てば P(k+1)
も成り立つことを証明する
数学的帰納法の種類・変更
- 基底を P(0) ではなくて P(1) や P(2) などにする
- P(n+1) の証明に k≤n
の一部又は全てのP(k) を使う
- 一部の整数に限る
(例えば偶数だけ、2n など)
- 整数そのものではなく、整数で整理できるものに応用する
- 枝分かれや他の構造を許す (条件: (半)順序)
演習問題
次の証明のどこがおかしいのかを見つけてください。
- 全てのお互いに平行ではない平面上の直線 n
本は全て一つの点を共有する。
証明:
- 基底: n=2 の場合に明らかである。
- 帰納: n+1 本の場合、最初の n
本にも、最後の n
本にも共通点があるので全ての n+1
本に共通点がある。
復習
次回の授業の後半にみなさんの希望に応じて復習
質問、疑問などなんでも結構