8.任意のデータ構造 (グラフの表現とアルゴリズム)

Slides:



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

あなたは真夜中に 山の頂上を目指す登山者です
確率と統計 - 確率2回目 - 平成 18 年 11 月 1 日. 2 今日の内容 1. 確率の復習(再整理) 2. 加法の定理 3. 乗法の定理へのイントロ.
1 ソフトウェア工学 200 5 年 5セメスタ. 2 履修にあたって 教科書:「アルゴリズムとデータ構造」 平田富夫著 森北出版 講義:5セメスター開講、専門科目、 K318 、金曜4時限 担当: 草苅 良至 GI511, 2095、 参考書:「プログラミング作法」
1 7.時間限定チューリングマシンと クラス P. 2 7 -1.入力サイズ チューリングマシンの入力記号 の長さ を 入力サイズという。 名称:合成数の問題 インスタンス:整数n 問:nは合成数か? 通常は、入力サイズとしてはもっとも短い表現での 長さが利用される。 例えば、次のような合成数の問題における入力サイズは、
7.n次の行列式   一般的な(n次の)行列式の定義には、数学的な概念がいろいろ必要である。まずそれらを順に見ていく。
9.線形写像.
3.多項式計算アルゴリズム べき乗の計算 多項式の計算.
時間的に変化する信号. 普通の正弦波 は豊富な情報を含んでいません これだけではラジオのような複雑な情報 を送れない 振幅 a あるいは角速度 ω を時間的に変化 させて情報を送る.
情報処理A 第10回 Excelの使い方 その3.
九州大学 岡村研究室 久保 貴哉 1. 利用中のAPの数の推移 2 横軸:時刻 縦軸:接続要求数 ・深夜では一分間で平均一台、 昼間では平均14台程度の接続 要求をAPが受けている。 ・急にAPの利用者数が増えてく るのは7~8時あたり.
麻雀ゲーム 和島研究室 ソ 小林巧人
5.連立一次方程式.
相関.
―本日の講義― ・平均と分散 -代表値 -ぱらつき(分散・標準偏差等) ・Excelによる演習
広告付き価格サービ ス 小園一正. はじめに 世の中には様々な表現方法の広告があり ます。その中でも私たち学生にとって身 近にあるものを広告媒体として取り入れ られている。 価格サービス(無料配布のルーズリー フ)を体験したことにより興味を惹かれ るきっかけとなった。主な目的は、これ.
素数判定法 2011/6/20.
フーリエ係数の性質. どこまで足す? 理想的には無限大であるが、実際に はそれは出来ない これをフーリエ解析してみる.
6.データ構造入門 6-1.連結リスト(Linked List) 6-2.スタック(Stack) 6-3.キュー(Queue)
1章 行列と行列式.
本宮市立白岩小学校. 1 はじめに 2 家庭学習プログラム開発の視点 ① 先行学習(予習)を生かした 確かな学力を形成する授業づく り ② 家庭との連携を図った家庭学習の習慣化.
フーリエ級数. 一般的な波はこのように表せる a,b をフーリエ級数とい う 比率:
3.エントロピーの性質と各種情報量.
9.通信路符号化手法1 (誤り検出と誤り訂正の原理)
Excelによる積分.
1 6.低次の行列式とその応用. 2 行列式とは 行列式とは、正方行列の特徴を表す一つのスカ ラーである。すなわち、行列式は正方行列からスカ ラーに写す写像の一種とみなすこともできる。 正方行列 スカラー(実数) の行列に対する行列式を、 次の行列式という。 行列 の行列式を とも表す。 行列式と行列の記号.
計算のスピードアップ コンピュータでも、sin、cosの計算は大変です 足し算、引き算、掛け算、割り算は早いです
線形符号(10章).
1 0章 数学基礎. 2 ( 定義)集合 集合については、 3セメスタ開講の「離散数学」で詳しく扱う。 集合 大学では、高校より厳密に議論を行う。そのために、議論の 対象を明確にする必要がある。 ある “ もの ” (基本的な対象、概念)の集まりを、 集合という。 集合に含まれる “ もの ” を、集合の要素または元という。
10.PとNP完全問題との境界.
複素数.
4.プッシュダウンオートマトンと 文脈自由文法の等価性
1 0章 数学基礎. 2 ( 定義)集合 集合については、 3セメスタ開講の「離散数学」で詳しく扱う。 集合 大学では、高校より厳密に議論を行う。そのために、議論の 対象を明確にする必要がある。 ある “ もの ” (基本的な対象、概念)の集まりを、 集合という。 集合に含まれる “ もの ” を、集合の要素または元という。
人工知能特論II 第7回 二宮 崇.
信号測定. 正弦波 多くの場合正弦波は 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 と数える.
人工知能特論II 第12回 二宮 崇.
人工知能特論 II 第 4 回 二宮 崇 1. CCG (COMBINATORY CATEGORIAL GRAMMAR) 組合せ範疇文法 2 今日の講義の予定.
アルゴリズムとデータ構造 補足資料14-1 「ハッシュ法」
正弦波.
3.正方行列(単位行列、逆行列、対称行列、交代行列)
年度 情報数理学. 2 履修にあたって 2009 年度 大学院奇数セメスター(前期)開講 K336→ 大学院棟 D 416(次回から)教室: 時限: 火曜日3時限( 12:50 - 14:20 ) 担当 草苅良至 4/21( 火) 休講 → 補講 ?/? ? 時限 D416.
様々な情報源(4章).
論理回路 第1回. 今日の内容 論理回路とは? 本講義の位置づけ,達成目標 講義スケジュールと内容 受講時の注意事項 成績の評価方法.
JPN 311: Conversation and Composition 許可 (permission)
方程式を「算木」で 解いてみよう! 愛媛大学 教育学部 平田 浩一.
C言語応用 構造体.
3.多項式計算アルゴリズム べき乗の計算 多項式の計算.
階層分析法. 表3. 1 ルートR1R1 R2R2 R3R3 R4R4 R5R5 F1F1 最寄駅までの所要 時間(分) 10 7 F2F2 実乗車時間(分) F3F3 片道切符(円) ヶ月定期(円) 11,21011,9309,75012,46012,720.
HKS Analysis Log Jul 2006 Part1 D.Kawama. 第壱部 HKS Sieve Slit Analysis.
1 プログラミング言語論 第13回 プログラムの意味論と検証 (2) 表示的意味論 担当:犬塚. 2 表示的意味論 denotational semantics  表示的意味論では、プログラムの要素とそれが 意味するものを対応付ける。 変数 式 文 A B … A+2 2B+C A:=A+2 if.
二次元、三次元空間の座標表現 点のベクトル表現と行列による変換 点、線、面の数理表現 図形の変換 投影、透視変換
第14回 プログラムの意味論と検証(3) 不動点意味論 担当:犬塚
実験5 規則波 C0XXXX 石黒 ○○ C0XXXX 杉浦 ○○ C0XXXX 大杉 ○○ C0XXXX 高柳 ○○ C0XXXX 岡田 ○○ C0XXXX 藤江 ○○ C0XXXX 尾形 ○○ C0XXXX 足立 ○○
オセロの思考アルゴリズムについて 1103072 岩間 隆浩.
1 アルゴリズムの高速化. 2 アルゴリズムにおける 大幅な性能アップ 多項式時間アルゴリズム VS 対数時間アルゴリズム (最大公約数の問題) 指数時間アルゴリズム VS 多項式時間アルゴリズム (フィボナッチ数列を求める問題)
1 アルゴリズム と データ構造 基本情報技術概論 I ( 第 12 回 ) 埼玉大学 理工学研究科 堀山 貴史.
Kitenet の解析 (110118) 九州大学 工学部 電気情報工学科 岡村研究室 久保 貴哉.
音の変化を視覚化する サウンドプレイヤーの作成
プログラミングの基礎知識 プログラミングの手順と重要概念 アルゴリズム. プログラミングの手順 コーディング エディタなどでコードを記述 コンパイル・インタープリタ 実行可能な形に翻訳 デバッグ(虫取り、不具合の調整) 完成!
Self-efficacy(自己効力感)について
11万km上空のかぐやから見た地球. デジタル信号処理 Digital Signal Processing 2010 年度春学期 Spring Semester, 2010 担当者: 栗濱 忠司( Professor ) 第3週第3週.
東北大学 情報科学研究科 システム情報科学専攻 TOKUYAMA Lab. 1 左順序付き柔軟ラベリングの実 装 Implementation of Left-part ordered Flexible Labeling 東北大学大学院 情報科学研究科 ◎小池 敦 徳山 豪.
IIR 輪講復習 #18 Matrix decompositions and latent semantic indexing.
地球儀と様々な地図. 1 球体としての地球 こうした現象はあることをイ メージすると理解できる。
Presentation transcript:

8.任意のデータ構造 (グラフの表現とアルゴリズム) 8-1.グラフの数学的定義 8-2.配列でのグラフ表現 隣接行列 接続行列 8-3.隣接リスト表現 8-4.グラフ上のアルゴリズム

8-1.グラフの数学的表現 n個の頂点の集合を とし、 m個の辺の集合を とする。ただし、辺 は、 頂点の対、すなわち と表せる。   とし、 m個の辺の集合を  とする。ただし、辺     は、  頂点の対、すなわち            と表せる。  よって、          である。 このとき、グラフ  は頂点集合  と辺集合    の対        で表される。

グラフの図式表現 辺 頂点

練習 図式表現で与えられた次のグラフの (集合による)数学的表現を与えよ。 (1) (2) 次の数学的表現で与えられたグラフの図式表現を 求めよ。

8-2.配列でのグラフ表現 配列(行列)でグラフを表現する方法には主に2つの方法がある。 隣接行列 点同士の隣接関係に注目する方法 隣接行列 点同士の隣接関係に注目する方法 接続行列 点と辺の接続関係に注目する方法。

隣接と接続 は に 接続している。 と は 隣接している。 点 と点 に対して、 であるとき、 その2点は隣接している。    は   に 接続している。    と   は 隣接している。 点  と点  に対して、         であるとき、 その2点は隣接している。 点  と辺  に対して、        であるとき、 辺   は点   に接続している。

隣接行列 無向グラフの隣接行列は、対称行列。

隣接行列の性能 n:頂点数  、 m:辺数   とする。 領域 記憶量 2点間の隣接関係チェック 時間 1点からの隣接関係チェック 時間

接続行列

接続行列の性能 n:頂点数  、 m:辺数   とする。 記憶量 領域 接続関係のチェック 時間 1点からの隣接関係チェック 時間 にも注意する。

練習 図式表現で与えられた次のグラフの 隣接行列およびせ接続行列を与えよ。 (1)

8-3.隣接リスト表現 隣接行列では、隣接関係にないものまで保存していた。 この無駄をリスト構造によって、解消する。

隣接リスト

隣接リストの性能 n:頂点数 、 m:辺数 とする。 記憶量 領域 2点間の隣接関係のチェック 時間 1点からの隣接関係チェック 時間 最大次数 にも注意する。

練習 図式表現で与えられた次のグラフの 隣接リストを与えよ。 (1)

8-4.グラフ上のアルゴリズム グラフの表現法により、アルゴリズムの計算量に差が生じる。 グラフ上の基本的探索技法 →問題やその解法(アルゴリズム)にしたがって、表現法を選択する必要がある。 グラフ上の基本的探索技法 深さ優先探索とスタック 幅優先探索とキュー

グラフ探索アルゴリズム 始点sを選び、ラベルL=1にセットする。 sにラベルLをつける。 sの隣接点を集合Sに入れる。 集合Sから一点pを取り出す。 L++とし、pにラベルLをつける。 pの隣接点でラベルがついていないものを、集合Sに入れる。 全ての点にラベルがつくまで、2.を繰り返す。

深さ優先探索(Depth First Search) dfs(vertex v){ stack s; L=1; while(L<n){ Label[v]=L; for(vの隣接リストlist[v]){ が未ラベルなら、              s.push(w);} v=s.pop(); L++: } }

DFSの動作 1 1 1 1 2 2

1 1 2 2 3 3 4 1 1 2 2 3 3 4 4 5

7 1 6 1 6 2 2 3 4 5 3 4 5

幅優先探索(Bepth First Search) bfs(vertex v){ queue q; L=1; while(L<n){ Label[v]=L; for(vの隣接リストlist[v]){ が未ラベルなら、              q.enqueue(w);} v=q.dequeue(); L++: } }

BFSの動作 1 1 1 1 2 2

1 1 3 3 2 2 4 4 1 1 5 3 3 2 2

4 4 1 1 5 5 3 3 6 7 2 2 6

グラフ探索アルゴリズムの性能 時間計算量 領域計算量 深さ優先探索 幅優先探索 すべての辺をしらべながら、全ての頂点を訪れるので、いかの計算量で実現可能である。 時間計算量 領域計算量 深さ優先探索 幅優先探索 n:点数、m:辺数