1 アルゴリズム と データ構造 基本情報技術概論 I ( 第 12 回 ) 埼玉大学 理工学研究科 堀山 貴史.

Slides:



Advertisements
Similar presentations
SPSSによるHosmer-Lemeshow検定について
Advertisements

あなたは真夜中に 山の頂上を目指す登山者です
レポート書き方. おしいレポート よく調べてある それぞれの、1文の言っていることは正 しい しかし、全体として、何が言いた いのかわからない 内容の重要だが、全体の構成も重 要である.
7.n次の行列式   一般的な(n次の)行列式の定義には、数学的な概念がいろいろ必要である。まずそれらを順に見ていく。
9.線形写像.
3.多項式計算アルゴリズム べき乗の計算 多項式の計算.
情報処理A 第10回 Excelの使い方 その3.
九州大学 岡村研究室 久保 貴哉 1. 利用中のAPの数の推移 2 横軸:時刻 縦軸:接続要求数 ・深夜では一分間で平均一台、 昼間では平均14台程度の接続 要求をAPが受けている。 ・急にAPの利用者数が増えてく るのは7~8時あたり.
麻雀ゲーム 和島研究室 ソ 小林巧人
5.連立一次方程式.
音当て Game 時田 大樹 飛山 雄太郎. 作品の目的 入力として、スイッチを押すと音がスピー カーから流れ、スイッチを離すと、音が止 まる仕組みとなっている。
―本日の講義― ・平均と分散 -代表値 -ぱらつき(分散・標準偏差等) ・Excelによる演習
論理回路 第2回 今日の内容 前回の課題の説明 数の体系 – 数の表現 – 代表的な数 – 基数の変換 – 補数.
青森大学 5 号館の 模型の設計と製作 ソ 小山 内 拓真
広告付き価格サービ ス 小園一正. はじめに 世の中には様々な表現方法の広告があり ます。その中でも私たち学生にとって身 近にあるものを広告媒体として取り入れ られている。 価格サービス(無料配布のルーズリー フ)を体験したことにより興味を惹かれ るきっかけとなった。主な目的は、これ.
素数判定法 2011/6/20.
1章 行列と行列式.
本宮市立白岩小学校. 1 はじめに 2 家庭学習プログラム開発の視点 ① 先行学習(予習)を生かした 確かな学力を形成する授業づく り ② 家庭との連携を図った家庭学習の習慣化.
プログラミングⅠ( 1 組) 第 9 回
フーリエ級数. 一般的な波はこのように表せる a,b をフーリエ級数とい う 比率:
プログラミング入門2 第4回 式文 代入式 論理演算子 ループの脱出、スキップ 情報工学科 篠埜 功.
3.エントロピーの性質と各種情報量.
9.通信路符号化手法1 (誤り検出と誤り訂正の原理)
Excelによる積分.
1 6.低次の行列式とその応用. 2 行列式とは 行列式とは、正方行列の特徴を表す一つのスカ ラーである。すなわち、行列式は正方行列からスカ ラーに写す写像の一種とみなすこともできる。 正方行列 スカラー(実数) の行列に対する行列式を、 次の行列式という。 行列 の行列式を とも表す。 行列式と行列の記号.
計算のスピードアップ コンピュータでも、sin、cosの計算は大変です 足し算、引き算、掛け算、割り算は早いです
線形符号(10章).
1 0章 数学基礎. 2 ( 定義)集合 集合については、 3セメスタ開講の「離散数学」で詳しく扱う。 集合 大学では、高校より厳密に議論を行う。そのために、議論の 対象を明確にする必要がある。 ある “ もの ” (基本的な対象、概念)の集まりを、 集合という。 集合に含まれる “ もの ” を、集合の要素または元という。
10.PとNP完全問題との境界.
4.プッシュダウンオートマトンと 文脈自由文法の等価性
1 0章 数学基礎. 2 ( 定義)集合 集合については、 3セメスタ開講の「離散数学」で詳しく扱う。 集合 大学では、高校より厳密に議論を行う。そのために、議論の 対象を明確にする必要がある。 ある “ もの ” (基本的な対象、概念)の集まりを、 集合という。 集合に含まれる “ もの ” を、集合の要素または元という。
信号測定. 正弦波 多くの場合正弦波は 0V の上下で振動する しかし、これでは AD 変換器に入れら れないので、オフ セットを調整して データを取った.
1 9.線形写像. 2 ここでは、行列の積によって、写像を 定義できることをみていく。 また、行列の積によって定義される写 像の性質を調べていく。
通信路(7章).
アルゴリズムとデータ構造 補足資料 7-4 「単純交換ソート exsort.c 」 横浜国立大学 理工学部 数物・電子情報系学科 富井尚志.
3.プッシュダウンオートマトンと 文脈自由文法
6.符号化法(6章).
ビット. 十進数と二進数 十進数  0から9までの数字を使って 0、1、2、3、4、5、6、7、8、9、 10、11、12 と数える 二進数  0と1を使って 0、1、10、11、100、101、11 0、111 と数える.
1 コンピュータの構成 基本情報技術概論 ( 第1回 ) 埼玉大学 理工学研究科 堀山 貴史. 主記憶 (main memory, メモリ ) に、 プログラム と データを置く 2 出力装置入力装置 制御装置 補助記憶装置 CPU 演算装置 コンピュータの構成 主記憶装置.
基本情報技術概論(第14回) 埼玉大学 理工学研究科 堀山 貴史
3.正方行列(単位行列、逆行列、対称行列、交代行列)
名古屋工業大学 電気電子工学科 岩波・岡本研究室 野々村嘉人
伝わるスライド 中野研究室 M2 石川 雅 信. どのようなスライドを作れば良 いか 伝えたいこと.
SUPJ2010 Japanese Ⅱ( A ) Elementary Japanes e ‐ in twenty hours- Chapter 7.
7班 加地 健太郎 (MadaiPage 担当) 熊谷 勇人( MapPage 担当) 田原春 勝太 (TopPage 担当) 森 健樹(パワーポイント、 photo 担当)
JPN 311: Conversation and Composition 許可 (permission)
方程式を「算木」で 解いてみよう! 愛媛大学 教育学部 平田 浩一.
C言語応用 構造体.
Servlet 入門 大岩研究室 川村昌弘. そもそも WEB アプリってなんやね ん n この研究会のテーマは『 WEB アプリケー ションの開発』でした. n じゃぁ WEB アプリケーションって何です か? o WEB アプリってどんなものがありますか? 検索エンジン 乗換え案内サイト 翻訳.
実装の流れと 今後のスケジュール 03k0014 岸原 大祐. システム概要 天気データをもとに、前向き推論をし ていき、親の代わりに子供に服装、持 ち物、気をつけることなどを教える。
3.多項式計算アルゴリズム べき乗の計算 多項式の計算.
JPN 312 (Fall 2007): Conversation and Composition 文句 ( もんく ) を言う.
HSPによる学習機能付き シューティングゲームの製作
1 中野研究室 4 年ゼミのイロハ 斉藤(修士 2 年) ( 2009 年 ”4 年ゼミのイロハ ” を参考に作りました)
言語とジェンダー. 目的 言語には、性的な存在である人間の自己認識や 世界認識を決定する力が潜んでいる。 – 言語構造の面(言語的カテゴリー ) – 言語運用の面 日常に潜む無意識の言語の力を、記述し、意識 化することが本講義の目的である。 同時に、さまざまな言語、さまざまな文化には、 それぞれに特徴的な問題があり、ジェンダーの.
「ネット社会の歩き方」レッスンキット プレゼンテーション資料集 15. チャットで個人情報は 言わない プレゼンテーション資料 著作権は独立行政法人情報処理推進機構( IPA )及び経済産業省に帰属します。
8.任意のデータ構造 (グラフの表現とアルゴリズム)
プログラミング入門2 第3回 複合文、繰り返し 情報工学科 篠埜 功.
第14回 プログラムの意味論と検証(3) 不動点意味論 担当:犬塚
実験5 規則波 C0XXXX 石黒 ○○ C0XXXX 杉浦 ○○ C0XXXX 大杉 ○○ C0XXXX 高柳 ○○ C0XXXX 岡田 ○○ C0XXXX 藤江 ○○ C0XXXX 尾形 ○○ C0XXXX 足立 ○○
ことばとコンピュータ 2007 年度 1 学期 第 1 回. 2 ことばとコンピュータ 授業科目名:言語情報処理論 授業題目名:ことばとコンピュータ 履修コード: 5067 教室: 323 一学期開講 授業の進め方 – 基本的に講義中心ですすめ,時々コンピュー タを使う.
オセロの思考アルゴリズムについて 1103072 岩間 隆浩.
小島 肇  Windows ではアンチウイルスソフトウェアは 必須だが、「入れれば安心」というものでは ない  Mac, Linux における費用対効果はかなり低い  現時点ではマルウェアは流行っていないから  Windows を併用している場合は別.
音の変化を視覚化する サウンドプレイヤーの作成
プログラミングの基礎知識 プログラミングの手順と重要概念 アルゴリズム. プログラミングの手順 コーディング エディタなどでコードを記述 コンパイル・インタープリタ 実行可能な形に翻訳 デバッグ(虫取り、不具合の調整) 完成!
本文. 考えながら読みましょ う 「いろいろなこと」( 3 行目)は何で すか 「①電話料金はコンビニで支払いをしていま す。いつでも払えますから、便利です。」 「②夕食はコンビニで買います。お弁当やお かずがいろいろありますから。」今、若者に 人気のあるコンビニは、いろいろなことをす るのに非常に便利な場所になった。
11万km上空のかぐやから見た地球. デジタル信号処理 Digital Signal Processing 2010 年度春学期 Spring Semester, 2010 担当者: 栗濱 忠司( Professor ) 第3週第3週.
2015/11/19. To foster Historical Thinking Skill by Creating Story Necessary Relationships and Elements of Characters In historical learning, historical.
英語勉強会 名手⇒詫間 2015/10/22. 原文 This study says acquiring motor skills support system. There is how to acquire moor skills that coach advises learner. Motor.
地球儀と様々な地図. 1 球体としての地球 こうした現象はあることをイ メージすると理解できる。
Presentation transcript:

1 アルゴリズム と データ構造 基本情報技術概論 I ( 第 12 回 ) 埼玉大学 理工学研究科 堀山 貴史

2 午後の問題への対応 長文にメゲない 読み飛ばしは、思いこみ違いの原因 色々なアルゴリズムを知っておく 暗記ではなく、アイデアを把握 アイデアを実現する手順を考える

文字列処理 3 暗記ではなく、考え方の練 習

文字列探索 ABCDXYEFXYZGHIJ R [ ] S [ ] …M 配列の サイズ M N XYZXYZ i = 1 比較開始位置 i = M – N + 1 XYZ 検索文字列 S を、 文字列 R から検 索 i > ( M – N + 1) 処理 ※ テキストでは、 終了条件を記載 for ( i = 1 ; i ≦ M – N + 1 ; ++ i ) { } 処理 4

5 文字列探索 ABC DXYEFXYZGHIJ R [ ] S [ ] 配列の サイズ M N XYZ j = 1 … N 比較位置 検索文字列 S を、 文字列 R から検 索 for ( i = 1 ; i ≦ M – N + 1 ; ++ i ) { } 処理 for ( j = 1 ; j ≦ N ; ++ j ) { if ( R[ i + j – 1 ] ≠ S[ j ] ) { break ; } } if ( j > N ) { P ← i ; break ; } // 見つけた i

6 参考: 文字列検索アルゴリズ ム 力まかせ法 (p. 4, 5 の方法 ) O( n m ) KMP 法 (Knuth-Morris-Pratt) O( n + m ) BM 法 (Boyer-Moore) O( n + m ) n : テキストの長さ m : 検索文字列の長 さ ( p. 4, 5 では M ) ( 〃 N )

空白除去 7 ABCDEFXYZ R [ ] …N 配列の サイズ N N ABCDEFXYZ S [ ] i j j = 1 for ( i = 1 ; i ≦ N ; ++ i ) { } if ( R[ i ] ≠ “ 空白 ” ) { S[ j ] = R[ i ] ; // S[ ] にコピー ++ j ; } ※ テキストより簡 単

文字列挿入 8 ABCDEFGH R [ ] 1234P…M ABCDEFGH 挿入後 1…N 文字列 R の P の位置に、 文字列 S を挿入 (1)R [ ] の P 以降を ずら す (2)S [ ] を 挿入 S [ ] for ( i = M ; i ≧ P ; -- i ) { } R [ i + N ] = R [ i ] ; // 後ろからずら す for ( j = 1 ; j ≦ N ; ++ j ) { } R [ P + j - 1 ] = S [ j ] ; XYZ

9 文字列処理 ( その他 ) 文字列連結 R [ ] , S [ ] の順に、文字列を T [ ] にコ ピー 文字列置換 R [ P ] , R [ P + 1 ] , … に、 文字列 S [ ] をコピー R [ ] S [ ] T [ ] R [ ] S [ ]

最短経路問題 10 応用: 列車の乗り換え検索 カーナビのルート検索

11 最短経路問題 ( 入力 ) 有向グラフ G = ( V, E ) , 辺の距離 c : E → N 始点 s , 終点 t 始点 1 , 終点 5

12 s に近い順に、節点への距離を確定させていく 始点 1 , 終点 5 Dijkstra のアルゴリズム ( アイデ ア ) ダイクストラ

13 Dijkstra のアルゴリズ ム 1.( 初期化 ) s から節点 v への距離 D [ s ] ← 0 D [ v ] ← ∞ (s 以外の節点 ) 始点 1 , 終点 5 ∞ ∞ ∞ ∞ 0

14 2.u ← 未確定の節点で、 s からの距離が最小の も の (s からの距離 D [ u ] が確定 ) 始点 1 , 終点 5 ∞ ∞ ∞ Dijkstra のアルゴリズ ム ∞ 0 ※ 最初は、全節点が未確 定

15 3.u に隣接するすべての節点 v に対し、 D [ v ] を更 新 D [ v ] ← min { D [ v ] , D [ u ] + c ( ( u, v ) ) } 始点 1 , 終点 5 ∞ ∞ ∞ s … → u → v Dijkstra のアルゴリズ ム 0 ∞

16 1.( 初期化 ) s から節点 v への距離 D [ s ] ← 0 D [ v ] ← ∞ (s 以外の節点 ) 2.u ← 未確定の節点で、 s からの距離が最小の も の (s からの距離 D [ u ] が確定 ) 3.u に隣接するすべての節点 v に対し、 D [ v ] を更 新 D [ v ] ← min { D [ v ] , D [ u ] + c ( ( u, v ) ) } 4. すべての節点が確定するまで、 2 , 3 を繰り返 す Dijkstra のアルゴリズム ( まと め ) 他の初期化 方法もある 更新時に、 u を覚えると、最短経路を求めら れる

17 続きを、自分でやってみてください Dijkstra のアルゴリズ ム 始点 1 , 終点 5 ∞ ∞ ∞ 0 ∞

18 2.u ← 未確定の節点で、 s からの距離が最小の も の (s からの距離 D [ u ] が確定 ) Dijkstra のアルゴリズ ム 始点 1 , 終点 5 ∞ ∞ ∞ 0 ∞

19 3.u に隣接するすべての節点 v に対し、 D [ v ] を更 新 D [ v ] ← min { D [ v ] , D [ u ] + c ( ( u, v ) ) } Dijkstra のアルゴリズ ム 始点 1 , 終点 5 ∞ ∞ ∞ 0 ∞

20 2.u ← 未確定の節点で、 s からの距離が最小の も の (s からの距離 D [ u ] が確定 ) Dijkstra のアルゴリズ ム 始点 1 , 終点 5 ∞ ∞ ∞ 0 ∞

21 3.u に隣接するすべての節点 v に対し、 D [ v ] を更 新 D [ v ] ← min { D [ v ] , D [ u ] + c ( ( u, v ) ) } Dijkstra のアルゴリズ ム 始点 1 , 終点 5 ∞ ∞ ∞ 0 ∞

22 2.u ← 未確定の節点で、 s からの距離が最小の も の (s からの距離 D [ u ] が確定 ) Dijkstra のアルゴリズ ム 始点 1 , 終点 5 ∞ ∞ ∞ 0 ∞

23 3.u に隣接するすべての節点 v に対し、 D [ v ] を更 新 D [ v ] ← min { D [ v ] , D [ u ] + c ( ( u, v ) ) } Dijkstra のアルゴリズ ム 始点 1 , 終点 5 ∞ ∞ ∞ 0 ∞

24 2.u ← 未確定の節点で、 s からの距離が最小の も の (s からの距離 D [ u ] が確定 ) Dijkstra のアルゴリズ ム 始点 1 , 終点 5 ∞ ∞ ∞ 0 ∞

25 3.u に隣接するすべての節点 v に対し、 D [ v ] を更 新 D [ v ] ← min { D [ v ] , D [ u ] + c ( ( u, v ) ) } Dijkstra のアルゴリズ ム 始点 1 , 終点 5 ∞ ∞ ∞ 0 ∞

26

27

この教材のご利用について この教材は、以下に示す利用条件の下で、著作権者にわざわざ許 諾を求めることなく、無償で自由にご利用いただけます。講義、 自主学習はもちろん、翻訳、改変、再配布等を含めて自由にご利 用ください。 非商業利用に限定 この教材は、翻訳や改変等を加えたものも含めて、著作権者 の許諾を受けずに商業目的で利用することは、許可されてい ません。 著作権の帰属 この教材および教材中の図の著作権は、次ページ以降に示す 著作者に帰属します。この教材、または翻訳や改変等を加え たものを公開される場合には、「本教材 (or 本資料 ) は saitama-u.ac.jp/horiyama/OCW/ の教材です (or 教材を改変したものです」 との旨の著作権表示を明確に 実施してください。なお、この教材に改変等を加えたものの 著作権は、次ページ以降に示す著作者および改変等を加えた 方に帰属します。 同一条件での頒布・再頒布 この教材、または翻訳や改変等を加えたものを頒布・再頒布 する場合には、頒布・再頒布の形態を問わず、このページの 利用条件に準拠して無償で自由に利用できるようにしてくだ さい。 28 この文面は、 TOKYO TECH OCW の利用 条件を参考にしまし た

配布場所 この powerpoint ファイルの著作者 堀山 貴史 改変等を加えられた場合は、お名前等を追加してください 図の著作者 p. 4 ~ 25 堀山 貴史 29 この教材のご利用について