グラフ理論(数理)

科目ナンバリング U-ENG29 29030 LJ10 開講年度・開講期 2021 ・ 前期
単位数 2 単位 授業形態 講義
配当学年 対象学生
使用言語 日本語 曜時限 木2
教員 永持 仁 (情報学研究科 教授)
授業の概要・目的 グラフとネットワークについて、その基本用語と性質、さらに最短路問題、最小木問題、最大フロー問題など、代表的な問題のアルゴリズムについて講述する。また、これらの応用例や、離散数学への展開についても言及する。
到達目標 グラフ構造に関する概念を知識として習得するだけでなく,離散構造に対する数学的性質の証明,計算法の仕組みなどの論理的メカニズムを理解する.
授業計画と内容 <授業で扱うトピックス>
平面グラフ; 枝(点)連結性; グラフ探索法; ネットワーク最適化

第1回 基本用語の定義:無向・有向グラフ,ループ,多重枝,単純グラフ,次数の性質,連結性,木,部分グラフ,道,閉路,連結性,枝連結,点連結,部分グラフ

第2回 連結成分,完全グラフ,2部グラフ,ハイパーグラフ,木の性質,Prufer Code

第3回 平面的グラフ,Kratowskiの定理, オイラーの公式とその証明,平面的グラフの枝数

第4回 5色定理の証明,Steinitzの定理,Faryの定理,同値類による連結成分

第5回 2連結成分,関節点の定義,同値類による強連結成分,有向グラフの非閉路性(トポロジカルソート)

第6回 半順序,強連結成分間の関係,Grundy number,根付き木,順序木,有向木の定義,接続行列,隣接行列,隣接リスト,有向閉路の存在判定,行列木定理

第7回 グラフの探索,幅優先探索,深さ優先探索

第8回 グラフの関節点を求めるアルゴリズム,ネットワーク最適化,最短路アルゴリズム(有向閉路のない場合)最短路アルゴリズム(Dijkstra法)

第9回 Dijkstra法の正当性・計算量,最短路木のverification,負の閉路とポテンシャル

第10回 負の閉路とポテンシャルの証明,最小木問題,基本閉路と基本カットセット

第11回 Kruskal法の正当性

第12回 Kruskal法の計算量,Prim法の正当性・計算量,最大フロー問題(フローの概念,s,tカットの概念)

第13回 最大フローと最小カットの定理,最大フローアルゴリズム

第14回 二部グラフマッチング

<期末試験>
第15回 フィードバック
成績評価の方法・観点 講義では原則,毎回,3~5分程度で解答するミニ演習を課し,解答はその講義終了時に提出してもらう.このミニ演習の提出全回分の評価(30点満点)と定期試験の点数(70点満点)の合計(100点満点)で評価する.
履修要件 集合に関する基本的な用語,アルゴリズムの記述の仕方,計算量おけるオーダー表記
授業外学習(予習・復習)等 アルゴリズムとデータ構造の基本知識を身につけておくこと.
講義中に5分程度のミニ演習を行う.ミニ演習の解答は講義後に公開する.
教科書 指定なし
参考書等 茨木:Cによるアルゴリズムとデータ構造(昭晃堂) isbn{}{4785631171} isbn{}{9784274216046}
関連URL
PAGE TOP