コンピュータサイエンス概論 2015第6日目 東京工科大学 コンピュータサイエンス学部 担当:亀田弘之 平成27年 東京工科大学コンピュータサイエンス学部 1 授業計画 第1回:プログラミングの楽しさ (21世紀の魔法使いの道具プログラミング言語を知る) 第2回:コンピュータサイエンスと知能研究・ゲーム研究 (人工知能・機械学習・脳科学・認知科学などの魅力を知る) 第3回:コンピュータと情報ネットワークの仕組み (コンピュータの基本構成、ネットワークの基本構成などの 基本的仕組み・原理を知る) 第4回:クラウドコンピューティング (ビッグデータ(オープンデータ)が世界を変える。データベースの基礎な ど) 第5回:ソフトウェア工学 (ソフトウェアはどのようにして作られるのか,開発の現場を覗いてみる。 開発プロセス,プロジェクトマネジメントなど) 第6回:コンピュータサイエンスにおける計算の理論 (チューリングマシン,コンピュータサイエンス小史など) 第7回:コンピュータサイエンスと法・倫理 (知的財産権,さまざまな事例紹介) 第8回:コンピュータサイエンスの全容と将来を議論する (e-healthCare, e-learning, e-government等, 君は何を学ぶのか? なぜ学ぶのか? どうやって学ぶのか?) 平成27年 東京工科大学コンピュータサイエンス学部 2 授業計画 第1回:プログラミングの楽しさ (21世紀の魔法使いの道具プログラミング言語を知る) 第2回:コンピュータサイエンスと知能研究・ゲーム研究 (人工知能・機械学習・脳科学・認知科学などの魅力を知る) 第3回:コンピュータと情報ネットワークの仕組み (コンピュータの基本構成、ネットワークの基本構成などの 基本的仕組み・原理を知る) 第4回:クラウドコンピューティング (ビッグデータ(オープンデータ)が世界を変える。データベースの基礎な ど) 第5回:ソフトウェア工学+システムエンジニアリング (ソフトウェアはどのようにして作られるのか,開発の現場を覗いてみる。 開発プロセス,プロジェクトマネジメントなど) 第6回:コンピュータサイエンスにおける計算の理論 (チューリングマシン,コンピュータサイエンス小史など) 第7回:コンピュータサイエンスと法・倫理 (知的財産権,さまざまな事例紹介) 第8回:コンピュータサイエンスの全容と将来を議論する (e-healthCare, e-learning, e-government等, 君は何を学ぶのか? なぜ学ぶのか? どうやって学ぶのか?) 平成27年 東京工科大学コンピュータサイエンス学部 3 到達目標 コンピュータサイエンスに関して以下のことが到達目標である。 1.コンピュータサイエンスの 社会的役割・意義を理解し説明できる。 2.コンピュータサイエンスを学ぶ上での 重要な能力・資質を理解する。 3.コンピュータサイエンスの概要を説明できる。 4.将来のコース選択(案)を自力で作成し、 人にわかりやすく説明できる。 平成27年 東京工科大学コンピュータサイエンス学部 4 質問 “計算”とは何ですか? 平成27年 東京工科大学コンピュータサイエンス学部 5 質問 次の内、計算ではないものはどれか a. b. c. d. e. f. 123 + 456 A×B + C 家計簿処理 自動車の運転 画像の保存 MACアドレスのコマンドによる確認 平成27年 東京工科大学コンピュータサイエンス学部 6 次の計算における基本的な操作(ソフトウェア)は 何か? また、必要なハードウェアは何か? 123 +) 456 579 平成27年 東京工科大学コンピュータサイエンス学部 7 計算の歴史 • アバカス(商業計算) • 数字の表現方法 • 計算の方法 • アバカスでの計算法 • 算盤(中国)での計算法 • そろばん(日本)での計算法 • 計算尺(科学技術計算) • 天文学,航海術 • 三角法の発達(計算の工夫) (注)本ページの写真はWikipedia(アバカスの項目)より借用 平成27年 東京工科大学コンピュータサイエンス学部 8 参考動画 1. Adam Ries und das Rechnen (https://www.youtube.com/watch?v=IVfVQYbO6H8) 2. Charles Babbage, Konrad Zuse und der Computer (https://www.youtube.com/watch?v=fpwqqu24_bQ) 3. History of computers - “Past to Present & Beyond” ( https://www.youtube.com/watch?v=iEgLwKTsgEo ) 平成27年 東京工科大学コンピュータサイエンス学部 9 ネピアのアイデア(対数計算法)の着想 • ある方法を思いついた(等差数列と等比数列を組み合わせる方法 • ネピアの方法: 等差数列(初項0、等差1)、等比数列(初項1、等比2)を利用 --------------------------------------------------------------------------------等差数列 | 0 1 2 3 4 5 6 7 8 9 10 --------------------------------------------------------------------------------等比数列 | 1 2 4 8 16 32 64 128 256 512 1024 --------------------------------------------------------------------------------平成27年 東京工科大学コンピュータサイエンス学部 10 例:4×16を計算する。 手順1) まず、数“4”を等比数列の列の中に見つけ、 それに対応する等差数列の数を求める。4に対応している数は2。 (注)等比数列中の数を“真数(しんすう)”、それに対応する 等差数列の数を“対数(対数)”と呼ぶことにする。 手順2) 次に、真数16に対する対数を求めると、4。 手順3) 求めた2つの対数の和を計算する。2+4=6。 手順4) 得られた対数の和6を等差数列の中に見つけ、 それに対応している真数を表から読み取る。対数6に対する真数は64。 手順5) 得られた数64が、掛け算4×16の答え。 平成27年 東京工科大学コンピュータサイエンス学部 11 この計算方法の欠点 *表にない数をどうやって計算するか? (例:3×5はどうする?) *表のサイズはどの程度まで必要なのか?など 平成27年 東京工科大学コンピュータサイエンス学部 12 次のアイデア(常用対数) • ネピアはブリッグスとともに、対数計算方法の改善をめざした。 • ネピアの死後、ブリック数は14桁の対数計算用の数表を一生かけ完成させた。 • ネピアのアイデアは、常用対数により一般の人たちにも広く使われるようになった。 • 常用対数とは、真数1に対して対数0を、真数10に対して対数1を、真数100に対 して対数2を対応させる、というもの。 • この方法であれば、表のサイズが確定する。 例えば、まず、5の対数を数表から読み取ると0.69910の対数は定義より1だから、50の対数 は1.699 と求まる。この真数50に対する対数を計算したければ、50=5×10に注意して、 ことを利用して、251の対数は、2.51×10^2だから、2.51の対数に2を足せば求まる。つまり、1 ~10 までの対数表を作成しておけば様々な掛け算が計算できる。 • このため、一般の人たちに対数計算が広まった。それ故に“常用”対数と呼ばれる。 • 対数計算の発明により、「天文学者の人生が2倍になった」とも言われている。 平成27年 東京工科大学コンピュータサイエンス学部 13 ありがたさを知る例 1.41421356×1.41421356=? (自習問題: 普通のやり方と 常用対数計算とで、手間を比 較してみよう!) =>来週説明します。 平成27年 東京工科大学コンピュータサイエンス学部 14 その他の工夫 1 sin α ・cos β = sin(𝛼 + β) + sin(α − 𝛽) 2 平成27年 東京工科大学コンピュータサイエンス学部 15 さて、「計算とはそもそも何?」に戻りましょう 平成27年 東京工科大学コンピュータサイエンス学部 16 次の計算における基本的な操作(ソフトウェア)は 何か? また、必要なハードウェアは何か? 123 +) 456 579 平成27年 東京工科大学コンピュータサイエンス学部 17 以下、「オートマトン理論」より抜粋 • 計算を行うことができる装置を実際に構成することができる。 • それを見て行こう! • そのためには、まず、「有限オートマトン」から紹介します。 平成27年 東京工科大学コンピュータサイエンス学部 18 ①有限オートマトンの表現(1) • 有限オートマトンの概観 a1 a2 ・・・ セル 入力記号 ai-1 ai ・・・ ・・・ an qk 入力テープ 内部状態 ヘッド 19 ②有限オートマトンの表現(2) 有限オートマトン = ( K, Σ, δ, q0, F ) ただし、 K : 状態の集合( Kは有限集合) Σ : 入力アルファベット(Σは有限集合) δ : 状態遷移関数 δ: K×Σ∋( a, qi ) → qj ∈ K q0 : 初期状態 F : 最終状態の集合 ( F ⊆ K ) 20 ②有限オートマトンの表現(2’) K = { r, s, t} , q0 = r, δ : 状態 r r s s t t Σ= { a, b }, F ={ t }, 入力 次の状態 a s b r a t b r a t b r 21 ③有限オートマトンの表現(3) a r b a s b b t a 22 ③有限オートマトンの表現(3) a r b a s 入力の例: 1. a 2. aaa 3. babaa b b t a 23 今日の真打登場! • チューリングマシン (Turing Machine) 24 通常この形式のものを扱います 25 チューリングマシンの定義 • TM M = < Q, Γ, Σ, δ, q0, B, F > (7つ組) • • • • Q:内部状態の集合 Γ:テープ記号の集合 Σ:入力記号の集合 ( Σ⊂ Γ ) δ:状態遷移関数 Q×Γ → Q×Γ×{ L, R } • q0 :初期状態 ( q0 ∈ Q) • B:ブランク記号 ( B ∈ Γ – Σ) • F:最終状態の集合 ( F ⊂ Q ) 26 TMのイメージ図 27 チューリングマシンの例 入力文字列 1. aa 2. aabb 3. bbaa 4. aaaabbbb 28 言語 { anbnan | n>=1 } を受理するTM 29 { ww | w ∈ { a, b }+ } を受理するTM 30 2進数の和を計算するTM 31 最後に、アルゴリズムについて ©Tokyo University of Technology, School of Computer Science, H.Kameda 32 アルゴリズムとは何か? • “アルゴリズム(algorithm)”という用語はもともと数学 の分野で“手続き(procedure or recipe)”とも呼ばれて いたもの。素数を発見するためのアルゴリズム(例:エ ラストテネスの篩法)や最大公約数を計算するアルゴ リズム(ユークリッド互除法)などが有名である。 しかしながら、“何らかの仕事を処理するための指 示群”といった程度の概念でとらえられていた。(それ でも十分だった…) ©Tokyo University of Technology, School of Computer Science, H.Kameda 33 Hilbertの23の問題 • 1900年に数学者David Hilbertがパリで開催された国 際数学者会議の講演で、23の問題を提案した。 その第10問題がアルゴリズムに関するものであった。 ©Tokyo University of Technology, School of Computer Science, H.Kameda 34 Hilbertの第10問題 • 多項式(polynomial)pが与えられたとき、その多項式p は整数解のみを持つ多項式であるのか否かを判定 する手順(アルゴリズム)を考えよ。 ©Tokyo University of Technology, School of Computer Science, H.Kameda 35 例: • 次の多項式pはx=5,y=3,z=0のときゼロになる。つまり、 pは整数解を持つ。与えられた任意の多項式がこの ように整数解のみを持つかどうかを判定する処理手 続きを考案したい。 6 x yz 3xy x 10 3 2 2 ©Tokyo University of Technology, School of Computer Science, H.Kameda 3 36 考えてみてください! • ある種の数学者たちはこのような問題に取り組んで います! 皆さんも数学者に挑戦してみては? ©Tokyo University of Technology, School of Computer Science, H.Kameda 37 事実 • そんなアルゴリズムは存在しない! • でも、存在しないことを証明することは困難であった。 • 「存在する」という証明は、例を1つみつければOK . • 「存在しない」というのはどうやって証明すればいいの か? • そのような背景からアルゴリズムの理解は深まって 行った。 ©Tokyo University of Technology, School of Computer Science, H.Kameda 38 歴史的な話 • 1936年、Alonzo ChurchとAlan Turingの二人の“アル ゴリズムの定義”が得られた。 • ラムダ計算(λ-clculus)による定義 (Church) • Turing machineによる定義 (Turing) この2つの定義は同等であることが示された! (これをChurch-Turing Thesisという) ©Tokyo University of Technology, School of Computer Science, H.Kameda 39 Hilbertの第10問題 • 次のDは決定可能(decidable)か? D = { p | p は整数解のみを持つ多項式} この問題に対する答えは否定的であった。 しかしながら、この問題はチューリング認識可能であることを示すこ とができる。 このことをもっと単純な問題で見てみよう! ©Tokyo University of Technology, School of Computer Science, H.Kameda 40 簡単化された問題 • D1={ p | pはxに関する多項式で、整数のみを解とし て持つ} • チューリングマシン M1はD1を認識する。 • M1: xに関する多項式pを入力とする。 1. 多項式pの値を、以下のxについて順次計算し、 どこかでp=0となったらそのpを受理する。 x=0, 1, -1, 2, -2, 3, -3, 4, -4, … ©Tokyo University of Technology, School of Computer Science, H.Kameda 41 • これは認識可能であるが決定可能ではない。また、多変数への拡張 は可能である。 • しかしながら、これらは決定可能ではないという問題点がある。 • だが、… ©Tokyo University of Technology, School of Computer Science, H.Kameda 42 定理 • 多項式 p c1 x c2 x n n1 cn x cn1 がx=aでp=0とする。このとき、 cmax {c1 , c2 ,, cn1} とするとき以下の不等式が成り立つ。 cmax | a | (n 1) | c1 | ©Tokyo University of Technology, School of Computer Science, H.Kameda 43 • この定理により、先の「簡単化された問題」は決定的であることが分 かる。 • しかしながら、一般的な問題つまりHilbertの第10問題は決定可能な のだろうか? ©Tokyo University of Technology, School of Computer Science, H.Kameda 44 • 1970年、Yuri MatijasevicによりHilbertの第10問題に対するアルゴリ ズムは存在しないことが証明された。 ( Matijasevic の定理) ©Tokyo University of Technology, School of Computer Science, H.Kameda 45 講演会のお知らせ(確認) • 6月15日(月)3限 Adroidとオープンデータに関する講演会を開催 します。これに参加してかつレポートを提出し他人には、成績に加点 します。科学技術館等の見学レポートに替えることも可能とします。 • この講演会は、東京工科大学CS学部1年生の皆さんにぜひ聞いて 欲しいものの1つです。CS学部での学びが、皆さん一人一人にとっ てどのような広がりを持っているか知ってもらうことが目的です。 平成27年 東京工科大学コンピュータサイエンス学部 46 見学の勧め(再) • 科学技術に関する博物館や科学館の見学をし、その見学した内容 を紹介するとともに、それらとCSとのかかわりに関する私見をレ ポートにまとめる。 • 成績に最大で+10点の加点を行う。(原則、+10点とするが、内容 が不十分であったり、レポートとしての体裁に問題がある場合は、若 干の減点を行う。) • 書き方及び内容構成は、「レポートの構成」のページ(2ページ先)を 参照のこと。 見学の勧め(2) • 科学技術館 • 郵政博物館 • 東芝未来科学館 など (技術全般に関する博物館見学であれば可) レポートの構成 • 表紙 • レポートタイトル「〇〇の見学報告」 • レポート提出日・学生番号・氏名 (用紙のサイズはA4版とする。) • 本文 1. 2. • 見学場所(施設名と所在地)、見学日時 見学内容 ① ② ③ ④ ⑤ 施設の何を見学したのか? 何を学んだのか? CSとの関わり(自分の意見) CSを学ぶ者として、将来どのような社会貢献ができそうか?(自分の考え) その他(何かあれば) 締切 • 平成27年7月末日(提出先:研A6階レポートボックス) 参考情報 1. わずか1000円の激安コンピュータ「CHIP」 http://gigazine.net/news/20150508-chip/ 2. 人口130万人 エストニアから税理士や会計士が消滅した理由 http://www.excite.co.jp/News/world_g/20141029/Postseven_28 3759.html 3. これからの20年で現在のアメリカの雇用の50%以上がコン ピューターに代替される http://social-design-net.com/archives/9672 4. others 著作権に関して • 本資料中のオートマトンの状態遷移図の一部は、下記の文献から 引用したものである。 [1] オートマトン・言語理論の基礎, 米田(監修), 米田・広瀬・大里・大川, 近代科学社(2003). 平成27年 東京工科大学コンピュータサイエンス学部 51
© Copyright 2024 ExpyDoc