Upload
akira-terui
View
1.456
Download
3
Embed Size (px)
DESCRIPTION
The slide of a lecture "Computers and their Mathematics in Daily Life" (in Japanese).Given on April 17, 2009, at College of Mathematics, University of Tsukuba, Tsukuba, Japan.数学特別講義「くらしの中のコンピュータと数学」にて使用したスライド2009年4月17日、筑波大学理工学群数学類
Citation preview
くらしの中のコンピュータと数学
照井 章(筑波大学 数理物質科学研究科 数学専攻)
2009年4月17日
平成21年度 筑波大学 理工学群数学類数学特別講義Ⅰ
誤入学おめでとうございます!
自己紹介•1991年:筑波大学自然学類に入学• 1995年:筑波大学大学院数学研究科に入学
• 1999年:筑波大学助手(2007年から助教に職名が変わる)
•専門:計算機数学(計算代数、数式処理)
•身近なくらしの中で接している情報をもたらすコンピュータの技術、その基盤となる数学
•身近なくらしの中で使っているコンピュータの技術、その基盤となる数学
きょうのお題
気象予報
暗 号
気象予報のはなし
気象予報•私達のくらしに欠かせない情報の一つ「お弁当屋さんからロケットまで」
•昔:予報官の経験と勘•現在:コンピュータが大活躍
数値予報大気の状態変化を数値的に計算して、将来の状態を
予測する天気用法の手法
(気象庁ホームページより)
数値予報の歴史• 1922年: リチャードソン(英)初めての数値予報(手計算!残念ながら失敗)
• 「64,000人の計算員が巨大なホールに集まり、指揮者のもとで整然と計算を行えば、実際の天候の変化と同程度の速さで予報が行えるだろう」(「リチャードソンの夢」)
数値予報の歴史•1930~40年代:• 気象観測技術の発達(ラジオゾンデ、レーダー等の電子機器)
• 電子計算機の開発• 1950年: 最初期の電子計算機ENIACを用いて最初の数値予報に成功(米国)
数値予報の歴史
•1955年: 米国で数値予報業務を開始
•1959年: 日本(気象庁)で数値予報業務を開始
数値予報をどう行うか?
実際の数値予報の手法はかなり複雑なのでより易しい例題を用いて解説します
板に熱を加えた時の温度分布を求めよう
•四角い板の境界と下部から熱を加える
•熱平衡状態に達した時の、板の温度分布u(x, y) を求めよう
•境界の温度分布は一定•下部から加える熱量は一定
熱力学: フーリエの基本則
•厚さdの板•面Bは面Aより温度が∆uだけ高い
•熱はBからAへと伝わる
•AからBへ伝わる熱量qは?
A B∆x
∆y
フーリエの基本則•AからBへ伝わる熱量qは
•k: 熱伝導率•とすると
A B∆x
∆yq = !(!y) dk
!!u
!x
".
q = !(!y) dk
!"u
"x
".
!x !" 0温度勾配
フーリエの基本則
•時間Δtの間に伝わる熱量をΔqとすると
A B∆x
∆y!q = !(!y) dk
!"u
"x
"!t.
今度はこれを板の上で考える(時間: Δt)
xx + !xx
y + !y
y
y!q1 !q2
!q3
!q4
熱の入り:ΔQ
それぞれの熱の出入りは!q1 = !(!y) dk
"u
"x
!!!!x
!t
!q2 = !(!y) dk"u
"x
!!!!x+!x
!t
!q3 = !(!y) dk"u
"y
!!!!y
!t
!q3 = !(!y) dk"u
"y
!!!!y+!y
!t
熱の入りの合計ΔQは!Q = !q1 !!q2 + !q3 !!q4
= (!x)(!y)d
"
!
"#k !u
!x
$$x+"x
! k !u!x
$$x
!x+
k !u!y
$$$y+"y
! k !u!y
$$$y
!y
%
&' .
.
一方、入る熱量と温度の上昇率の関係は
!Q = c " (!x)(!y)d!
#u
#t
"!t
温度の上昇率
比熱 密度
以上の関係をまとめると
c !"u
"t=
"
"xk
!"u
"x
"+
"
"yk
!"u
"y
".
c !"u
"t=
k !u!x
!!x+"x
! k !u!x
!!x
#x+
k !u!y
!!!y+"y
! k !u!y
!!!y
#y
c !"u
"t= k
!"2u
"x2+
"2u
"y2
".
!x !" 0, !y !" 0 として極限をとると
熱伝導率 k: 一定とすると
板の温度分布 u(x, y) は以下の微分方程式をみたす•熱平衡状態の場合
•外部から熱量 f(x, y) が与えられる場合
!2u
!x2+
!2u
!y2= 0
!!
!2u
!x2+
!2u
!y2
"= f
(ラプラス方程式)
(ポアソン方程式)
楕円型偏微分方程式
境界条件
•板の外周(境界)でどのように熱を与えるかで、板の温度分布が決まる
•境界条件: g(x, y) 楕円型偏微分方程式の
境界値問題
• 板の温度分布 u(x, y) を求める• 板の内部で
• 熱伝導率 k = 1• f(x, y): 外部から与える熱量 • 板の境界で u(x, y) = g(x, y) をみたす• g(x, y): 境界条件
偏微分方程式の数値解法: 差分法
!k
!!2u
!x2+
!2u
!y2
"= f
差分法•領域を x 方向、y 方向にそれぞれ m+1分割する(m = 3の例)
•h = 1/(m+1)とおく
温度を求める点
境界条件
x
y
u11 u21 u31
u12 u22 u32
u13 u23 u33
g10 g20 g30
g01
g02
g03
g14 g24 g34
g43
g42
g41
10
1
各点で、微分を差分で近似する(中心差分)
! !2u
!x2
!!!!i,j
" !!u!x
!!i+1/2,j
! !u!x
!!i!1/2,j
h
! !u
!x
!!!!i+1/2,j
" !ui+1,j ! ui,j
h
! !u
!x
!!!!i!1/2,j
" !ui,j ! ui!1,j
h
に、1階微分(差分)を代入する
x
y
u11 u21 u31
u12 u22 u32
u13 u23 u33
g10 g20 g30
g01
g02
g03
g14 g24 g34
g43
g42
g41
10
1
各点で、微分を差分で近似する(中心差分)
! !2u
!x2
!!!!i,j
" ! 1h2
[ui+1,j ! 2ui,j + ui!1,j ]
! !2u
!y2
!!!!i,j
" ! 1h2
[ui,j+1 ! 2ui,j + ui,j!1]
代入すると
y についても同様に差分を計算すると
格子点 (i, j) における微分方程式の差分による近似は
!ui,j!1 ! ui!1,j + 4ui,j ! ui+1,j ! ui,j+1 = h2fi,j
• に関する1次方程式•すべての内部格子点についてまとめると、連立1次方程式が得られる
ui,j
連立1次方程式Au = b
u = t (u11, u21, u31, u12, u22, u32, u13, u23, u33)
A =
!
""""""""""""#
4 !1 !1!1 4 !1 !1
!1 4 !1!1 4 !1 !1
!1 !1 4 !1 !1!1 !1 4 !1
!1 4 !1!1 !1 4 !1
!1 !1 4
$
%%%%%%%%%%%%&
. b =
!
""""""""""""#
h2f11 + g10 + g01
h2f21 + g20
h2f31 + g30 + g41
h2f12 + g02
h2f22
h2f32 + g42
h2f13 + g03 + g14
h2f23 + g24
h2f33 + g43 + g34
$
%%%%%%%%%%%%&
.
連立1次方程式Au = b
u = t (u11, u21, u31, u12, u22, u32, u13, u23, u33)
を解くことにより、温度分布
が得られる!
x
y
u11 u21 u31
u12 u22 u32
u13 u23 u33
g10 g20 g30
g01
g02
g03
g14 g24 g34
g43
g42
g41
10
1
問題を差分化
数理モデルの構成
実際の数値予報
初期値の設定(観測など)
計算x
y
u11 u21 u31
u12 u22 u32
u13 u23 u33
g10 g20 g30
g01
g02
g03
g14 g24 g34
g43
g42
g41
10
1!2u
!x2+
!2u
!y2= 0
計算の難しさ•しばしば、大規模な連立1次方程式の解法が必要
•それを予報時間に合わせて反復計算•超高性能計算(能力・機器)が必要ハイパフォーマンスコンピューティング(High Performance Computing, HPC)
筑波大学におけるハイパフォーマンスコンピューティング
CP-PACS (1996~2005)(計算物理学研究センター(当時))
•理論物理学の計算を主目的に構築
•1996年11月、世界のスーパーコンピュータTop 500リスト第1位!
(出典: 筑波大学計算科学研究センター)
T2K筑波 (2008~)(計算科学研究センター)• T2Kオープンスーパーコンピュータ
• 筑波・東大・京大で仕様の基本部分を共通化
• 2008年11月、Top 500リスト第32位(国内第3位)
!
!
! ! ! ! !
""#$#$%&'()*+,-./,0123 %&'456,784569:;<,=.0
123 '(((0>?@,AB?C&'()D!
!
!EFGH!
! ! 78IJKLMNO5P5)Q5R! )**+,--.../001/*123245/50/6+!
!
!STUV!
"(0AW1X':YZAW1X'[!
! '5\5]N^_5O,`abcdAW1X'*789+1De"fghijk8lmnop
qrst%luv:wrx :YZAW1X'*;789+1Demn :(yk8::(0AW1X
'*"7<9+1Demn :zk8,`alu{d!
!
""#$|5XN'5\5]N^_5O[!
! #$}J~��}J~��}J, = }J3:��?@,'5\5]N^_5O,���
r��3���.s���EFv:����,'5\5]N^_5O����l��v:
�56����&'()�A@������.�� ¡�|5XN¢]£¤¥(¥¦§�
¨s&'()l��{s���v©ª«¬d&'(),®,� ¯°l±²³v:&'
()��,�´~µ´~¶Sµ·��l�r�.sd©¸v:®¹,º»���¼½¾
¿e�}JÀÁ�q��ÂÃ:.ÄÅs±Æ���e¢.d!
!
"ÇCÈ]�XWM1�!
! :È1X,XWM1�É�Êi,XWM1�]�lËÌv::È1X¢3ÍÊiXWM1
��,ÎÏÐÑ�¨s`aÒÓlÔ�©XWM1�d>?@, A5B0C89D5XWM1�e:&
(出典: 筑波大学プレスリリース)
暗号のはなし
暗号の用途•秘匿他人に知られずに情報を送る
•認証情報が真正であることを保証する
(ほぼ)毎日使う暗号: SSL (Secure Socket Layer)
• 秘匿すべての入出力を暗号化して情報を送る
• 認証TWINSのサーバが本物であることを保証する
https://twins.tsukuba.ac.jp/
暗号の歴史
•人類の歴史=暗号の歴史?•情報あるところに暗号あり
シーザー暗号
(出典: Wikipedia)
エニグマ暗号機•第二次世界大戦にかけて、ナチス・ドイツが使用
•イギリスの数学者アラン・チューリング率いるグループ(「ウルトラ」Ultra)が解読英国王立戦争博物館(ロンドン)蔵
(出典: Wikipedia)
暗号化方式と「かぎ」
太郎 (Bob)さん
花子 (Alice)さん
平文 平文暗号文
暗号化 復号
暗号化鍵 復号鍵
盗聴者
解読
共有鍵暗号:暗号化と復号の鍵が同一
太郎 (Bob)さん
花子 (Alice)さん
平文 平文暗号文
暗号化 復号
暗号化鍵 復号鍵
盗聴者
解読
鍵をどうやって安全に渡すか?
公開鍵暗号•1976年、DiffieとHellmanによって発表された概念
•2つの鍵のペアを用意•1つは秘密(秘密鍵)•もう1つは公開(公開鍵)
公開鍵暗号:暗号化の場合
太郎 (Bob)さん
花子 (Alice)さん
平文 平文暗号文
暗号化 復号
秘密鍵公開鍵
安全に暗号化して情報を伝達可能
公開鍵暗号: 認証の場合
花子さんが送った情報であり、かつ改ざんされていないことが保証される
太郎 (Bob)さん
花子 (Alice)さん
平文 平文暗号文
復号 暗号化
秘密鍵公開鍵
RSA公開鍵暗号•1977年、Rivest, Shamir, Adelmanによって公表された、初の実用的な公開鍵暗号
•一方の鍵で暗号化⇒もう一方の鍵で復号
•3人は、この功績により、ACM(米国計算機学会)チューリング賞を受賞
RSA公開鍵暗号を使ってみよう
下準備
通信に使う文字と符号を決める
•文字:通信文(平文)に使う情報•符号:自然数(の集まり)文字と1対1対応
文字
符号
A B C ・・・ Y Z 空白
1 2 3 ・・・ 25 26 27
アルファベット大文字で!
p, q, n を決める•p, q: 素数•n = p × q•n が符号の最大値を上回るようにする•p = 3, q = 11,n = 3 × 11 = 33
Lを決める
•L: p - 1 と q - 1 の最小公倍数 (LCM)
•L = LCM(2, 10) = 10
eを決める
•e: Lと互いに素、かつLよりも小さい正数
•L = 10 より e = 3
dを決める
•d: e × d ≡ 1 (mod 10) を満たす数
•e(=3) × d を10で割って、余りが1になるような数
dを決める
•3と10は互いに素なので、3 × d = 10 × b + 1をみたすd, bが存在する
•d = 7, b = 2 とおけばよい
秘密鍵, 公開鍵を定める
•秘密鍵: (n, d) = (33, 7)•公開鍵: (n, e) = (33, 3)
実際の通信•太郎さんから花子さんに“TSUKUBA”と送ろう
公開鍵を相手に送る
公開鍵は(33, 3) よ!了解★
太郎さん: 暗号化のしかた
•文字を符号に直す(符号化)• 例: T → 20• 花子さんの公開鍵 (n, e) に対し、符号をe乗してnで割った余りを求める
• 例: 20^3 = 8000 ≡ 14 (mod 33)• 計算した数を文字に直す(暗号化)• 例: 14 → N
太郎さん:暗号化のしかた
平文 符号 3乗 33で割った剰余 暗号文
T 20 8000 14 NS 19 6859 28 (28)U 21 9261 21 UK 11 1331 11 KU 21 9261 21 UB 2 8 8 HA 1 1 1 A
花子さん:復号のしかた
•文字を符号に直す(符号化)• 例: N → 14• 自分の秘密鍵 (n, d) に対し、符号をd乗してnで割った余りを求める
• 例: 14^7 = 105413504 ≡ 20 (mod 33)• 計算した数を文字に直す(復号)• 例: 20 → T
花子さん:復号のしかた
暗号文 符号 7乗 33で割った剰余 復号文
N 14 105413504 20 T(28) 28 13492928512 19 SU 21 1801088541 21 UK 11 19487171 11 KU 21 1801088541 21 UH 8 2097152 2 BA 1 1 1 A
実際の通信
平文“TSUKUBA”
復号文“TSUKUBA”
暗号文“N(28)UKUHA”
なぜ正しく動くか?
•M: 平文の符号•E: Mに対応する暗号文の符号•E ≡ M^e (mod n)(EはMをe乗してnで割った剰余)
なぜ正しく動くか?•F: Eを復号した符号•F ≡ E^d (mod n)≡ (M^e)^d (mod n)≡ M^(ed) (mod n)
•Fは、Mをed乗したものをnで割った剰余に等しい
なぜ正しく動くか?•n, e, dの選び方からM ≡ M^(ed) (mod n)が成り立つ
•すなわち、Mをed乗したものをnで割った剰余は、M自身に等しい!
RSA公開鍵暗号はSSLにも使われている
ここまでで・・・
たぶん湧き上がる疑問
•これってホントに計算機の話?
•解析や代数の話じゃない?
計算機数学の諸問題は、他の数学を使ってアタックするものが多い
計算機数学
解析学・シミュレーション・数理計画法
代数学・暗号・計算代数・数値線形代数 幾何学
・グラフ理論数理統計学・機械学習 数学基礎論
・機械(援用)証明・計算機の正当性
いろいろな数学をベースに、計算機を使って新しい問題にチャレンジ
計算機数学
解析学・シミュレーション・数理計画法
代数学・暗号・計算代数・数値線形代数 幾何学
・グラフ理論数理統計学・機械学習 数学基礎論
・機械(援用)証明・計算機の正当性
数学の素養が重要!
計算機数学
解析学・シミュレーション・数理計画法
代数学・暗号・計算代数・数値線形代数 幾何学
・グラフ理論数理統計学・機械学習 数学基礎論
・機械(援用)証明・計算機の正当性
誤 入学にならないために(旅にたとえて)
パルテノン神殿(ギリシャ、2005年)
高校までの数学(学問): ガイドツアー
•授業=先生のガイド付き
•目的地まで連れて行ってくれる
•解説完備 パルテノン神殿の裏側では復元工事が続いている
大学からの数学(学問): 個人旅行
•授業=旅のガイドブックの紹介
•自分で読み、自分で計画を立て、自分で行ってみよう ギリシャの首都アテネにて、
自分の誕生日に乾杯!(2005年9月16日)
御 入学おめでとうございます
皆さんのこれからの大学生活がよい「旅」に
なりますよう・・・
参考文献:数値予報• 岩崎俊樹, 数値予報̶スーパーコンピュータを利用した新しい天気予報, 情報フロンティアシリーズ(情報処理学会 編), 共立出版, 1993.
• 二宮洸三, 数値予報の基礎知識, オーム社, 2004.
• 時岡達志, 山岬正紀, 佐藤信夫, 気象の数値シミュレーション, 気象の教室 5, 東京大学出版会, 1993.
参考文献:微分方程式の数値解法
•名取亮, 数値解析とその応用, コンピュータ数学シリーズ 15, コロナ社, 1990.
参考文献:RSA公開鍵暗号• 伊藤正史, サルにもわかるRSA暗号, まいとう情報通信研究会 (webサイト). http://www.maitou.gr.jp/rsa/
• 山本和彦, はやわかりRSA, IIJ技術研究所 (webサイト).http://pgp.iijlab.net/crypt/rsa.html
• T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein, Introduction to Algorithms, 2nd ed., MIT Press, 2001.
• V. Shoup, A Computational Introduction to Number Theory and Algebra, Cambridge University Press, 2005.
イラストの出典• 可知 豊, people biz - male smile (p. 41, 42, 44, 45, 56, 57, 62), Open Clip Art Library.http://openclipart.org/media/files/yyycatch/11305
• 可知 豊, people biz - female smile (p. 41, 42, 44, 45, 56, 57, 62), Open Clip Art Library.http://openclipart.org/media/files/yyycatch/11308
• Anonymous, Man Silhouette (p. 41, 42), Clker.com - public domain royalty free clip art.http://www.clker.com/clipart-24011.html
• Carsten Schmitz, Closed envelope (p. 41, 42, 44, 45),Open Clip Art Library.http://openclipart.org/media/files/c_schmitz/3117
イラストの出典• Juliane Krug, Key (p. 44, 45),Clker.com - public domain royalty free clip art.http://www.clker.com/clipart-3770.html
• Barret Ruttan, Key (p. 41, 42, 44, 45),Open Clip Art Library.http://openclipart.org/media/files/barretr/2948
• Nicu Buculei, Message in a Bottle (p. 41, 42, 44, 45, 62),Open Clip Art Library.http://openclipart.org/media/files/nicubunu/3342
• Lars Sundström, Steel Floor Texture (p. 12, 13, 14, 15),Stock.XCHNG.http://www.sxc.hu/photo/871271