32

「離散数学(第2版)」 サンプルページ · 2017-10-05 · ii ii 序 文 序 文 本書の初版である離散数学(第1版)は情報系の大学,高専の学生を対象に,情報科学において必

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

「離散数学(第 2 版)」

サンプルページ

この本の定価・判型などは,以下の URL からご覧いただけます.

http://www.morikita.co.jp/books/mid/081082

※このサンプルページの内容は,第 2版 1刷発行時のものです.

  情報工学レクチャーシリーズ  ■ 編集委員

    

高橋 直久 名古屋工業大学名誉教授工学博士

松尾 啓志 名古屋工業大学大学院教授工学博士

和田 幸一 法政大学教授工学博士

五十音順

ii

「情報工学レクチャーシリーズ」の序

 本シリーズは,大学・短期大学・高専の学生や若い技術者を対象として,情報工学の基礎知識の理解と応用力を養うことを目的に企画したものである.情報工学における数理,ソフトウェア,ネットワーク,システムをカバーし,その科目は基本的な項目を中心に,つぎの内容を含んでいる.「離散数学,アルゴリズムとデータ構造,形式言語・オートマトン,信号処理,符号理論,コンピュータグラフィックス,プログラミング言語論,オペレーティングシステム,ソフトウェア工学,コンパイラ,論理回路,コンピュータアーキテクチャ入門,コンピュータアーキテクチャの設計と評価,ネットワーク技術の基礎,データベース,AI・知的システム,並列処理,分散処理システム」各巻の執筆にあたっては,情報工学の専門分野で活躍し,優れた教育経験をもつ先生方にお願いすることができた.本シリーズの特長は,情報工学における専門分野の体系をすべて網羅するのではなく,本当の知識として,後々まで役立つような本質的な内容に絞られていることである.加えて丁寧に解説することで内容を十分理解でき,かつ概念をつかめるように編集されている.情報工学の分野は進歩が目覚しく,単なる知識はすぐに陳腐化していく.しかし,本シリーズではしっかりとした概念を学ぶことに主眼をおいているので,長く教科書として役立つことであろう.内容はいずれも基礎的なものにとどめており,直感的な理解が可能となるように図やイラストを多用している.数学的記述の必要な箇所は必要最小限にとどめ,必要となる部分は式や記号の意味をわかりやすく説明するように工夫がなされている.また,新しい学習指導要領に準拠したレベルに合わせられるように配慮されており,できる限り他書を参考にする必要がない,自己完結型の教科書として構成されている.一方,よりレベルの高い方や勉学意欲のある学生のための事項も容易に参照できる構成となっていることも本シリーズの特長である.いずれの巻においても,半期の講義に対応するように章立ても工夫してある.以上,本シリーズは,最近の学生の学力低下を考慮し,できる限りやさしい記述を目指しているにもかかわらず,さまざまな工夫を取り込むことによって,情報工学の基礎を取りこぼすことなく,本質的な内容を理解できるように編集できたことを自負している.

高橋直久・松尾啓志・和田幸一

ii 序  文ii

序  文

 本書の初版である離散数学(第 1版)は情報系の大学,高専の学生を対象に,情報科学において必要となる離散数学の基礎とその本質を理解してもらうことを目的として執筆された.また.第 1版はこの情報工学レクチャーシリーズにおける理論計算機科学に関連する内容(アルゴリズムとデータ構造,論理回路,形式言語とオートマトン,符号理論など)で必要となる数学の基礎を扱っている.本書第 2版は,構成は変更していないが,理解しにくい部分をできる限りわかりやすい表現に改めることに重点をおき,演習問題を適宜追加し,演習問題の解答の精度を上げることによって,第 1

版を加筆修正したものである.本書は全体として 12章で構成されているが,内容的に大きく五つの部分に分けられる.一つ目は,第 1,2章の論理と証明で,論理の考え方,文章の形式的な表現法,推論の仕方と証明方法を述べる.第 3章以降の基礎となる部分である.二つ目は,集合論の初歩になる部分であり,(可算)集合とその演算(第 3章),集合上に定義された関数(第 4章)とその一般化である関係(第 9章),集合と関係とから定義される代数(第 12章)に関して,具体例を通して直観的に理解できるように説明する.三つ目は数え上げと確率論の基礎(第 5,6章)となるもので,順列と組合せ,応用範囲の広い鳩の巣原理,離散確率について述べる.四つ目はアルゴリズム(第 7,8章)で,整数論の話題を用いて,アルゴリズムの書き方とその解析方法について説明する.計算機科学においては重要な概念である再帰アルゴリズムについても簡単な例とともに示す.五つ目はグラフ理論の基礎(の基礎)となる部分で,グラフ理論を理解するうえで.必要な用語と概念をわかりやすく説明する(第 10章).また,グラフの中でも計算機科学で重要な役割を果たす木に関して,木特有の用語とその性質を計算機科学における応用例を用いて説明する(第 11章).本書は著者らが,それぞれテネシー州立大学と名古屋工業大学において行った情報数学の講義ノートを加筆修正したものである.初学者がつまずかないように,平易な説明と適切な例を用いて基礎的な概念と基本的な定理を理解してもらい,可能な限り予備知識が必要とならないようにした.さらに,演習問題をできるだけ数多くこなすことが(離散)数学を勉強する近道であると考え,各章に数多くの解答つきの演習問題を用意した.第 2版においては,理解の難しいと思われる部分では表現を平易に理解できるよう改め,演習問題も追加することによって,さらにわかりやすくなるよう工夫している.前述のように,本書は,情報系の大学生,高専生に必要な離散数学の基礎に関する講義の教科書となることを想定しているので,より高度な離散数学に関する内容に関しては「さらなる勉強のために」

序  文 iii

であげた参考文献を参照してほしい.また,第 2版の内容に関するご意見やご質問,あるいは間違いの指摘なども,初版と同様に,著者らのメールアドレス([email protected], [email protected])宛にお送りいただけると幸いである.最後に,初版の草稿に多くの適切な助言や指摘をしていただいた名古屋工業大学の高橋直久先生に心から感謝いたします.また,鹿児島大学の新森修一先生には,初版を精読していただき,誤りの修正をご指摘いただいたことに深謝いたします.さらに,出版作業にご尽力頂いた森北出版の水垣偉三夫氏,加藤義之氏および宮地亮介氏に深く感謝する.そして,日ごろから支え励ましてくれる娘の小千(陳),妻の玲子と娘の 以子(和田)に感謝いたします.

2014年 9月(初版)2017年 9月(第 2版)

陳慰,和田幸一 

iv 目 次iv

目 次

第 1章 論 理 1

1.1 命題と論理演算子 ....................................................................... 1

1.2 論理同値 ................................................................................... 4

1.3 述語と限定子 ............................................................................. 7

演習問題 ......................................................................................... 10

第 2章 証 明 13

2.1 文から論理式へ ........................................................................ 13

2.2 推論法則と証明の戦略 ............................................................... 14

2.3 数学的帰納法 ........................................................................... 18

演習問題 ......................................................................................... 22

第 3章 集 合 25

3.1 集合,部分集合,ベキ集合,直積集合 .......................................... 25

3.2 集合代数 ................................................................................. 28

3.3 順列,数列の和と積 .................................................................. 31

演習問題 ......................................................................................... 35

第 4章 関 数 37

4.1 関数の定義と性質 ..................................................................... 37

4.2 関数のグラフ表現 ..................................................................... 41

4.3 整数と実数の常用関数 ............................................................... 42

4.4 可算集合 ................................................................................. 43

4.5 関数と集合の再帰的定義 ............................................................ 45

演習問題 ......................................................................................... 49

第 5章 数え上げ 52

5.1 数え上げの基本原理 .................................................................. 52

5.2 順列と組合せ ........................................................................... 55

目 次 v

5.3 2項定理 .................................................................................. 58

演習問題 ......................................................................................... 61

第 6章 離散確率 64

6.1 古典的な確率(ラプラスの確率) ................................................... 64

6.2 離散確率の基礎 ........................................................................ 67

演習問題 ......................................................................................... 72

第 7章 アルゴリズムの基礎 75

7.1 アルゴリズムの定義と記述 ......................................................... 75

7.2 アルゴリズムの計算時間 ............................................................ 76

7.3 実行時間増加のオーダー ............................................................ 79

演習問題 ......................................................................................... 84

第 8章 アルゴリズムの実際 87

8.1 整数とアルゴリズム .................................................................. 87

8.2 再帰的なアルゴリズム ............................................................... 93

演習問題 ......................................................................................... 97

第 9章 関 係 99

9.1 2項関係 .................................................................................. 99

9.2 同じ集合上の 2項関係とその性質 ............................................... 101

9.3 同値関係と順序関係 ................................................................. 107

演習問題 ........................................................................................ 113

第 10章 グラフ 116

10.1 グラフの定義 ......................................................................... 116

10.2 オイラーグラフ ...................................................................... 124

10.3 有向グラフと 2項関係 ............................................................. 126

演習問題 ........................................................................................ 128

第 11章 木 129

11.1 木の定義 ............................................................................... 129

11.2 根付き木と順序木 ................................................................... 132

演習問題 ........................................................................................ 136

第 12章 代 数 138

12.1 代数の例 ............................................................................... 138

12.2 群,半群,モノイド ................................................................ 139

12.3 準同型写像 ............................................................................ 140

12.4 半順序関係と束 ...................................................................... 141

演習問題 ........................................................................................ 147

vi 目 次

さらなる勉強のために 149

演習問題解答 150

索  引 174

1.1 命題と論理演算子 1

第1章

論 理keywords

1

命題,論理演算,論理式,論理同値,命題関数,述語,全称限定,存在限定

論理学は推論の方法を扱う分野である.数学的な議論や証明が論理的に正しいかどうかは,本章で学ぶ推論法則に基づいて判断される.たとえば,つぎのような推論

『すべての数学者はものを考えることが好きである. ものを考えることが好きな人は哲学者である. したがって,すべての数学者は哲学者である.』

が正しいかどうかを判断する.この推論では,推論法則より,最初の二つの文が正しければ,最後の文は正しいことになる.論理は計算機の論理設計,プログラムの正しさの検証,定理の自動証明,人工知能などさまざまな分野で応用されている.離散数学を学ぶには,数学的な定義や証明を論理的に正しく理解しなければならない.本章では,まず第 2章以降で学ぶために必要な論理体系の基礎を説明する.

1.1 命題と論理演算子

論理体系の基本要素は命題である.

◆ 定義 1.1 ◆ 命題(proposition)とは,正しいか誤っているかを曖昧さがなく決定できる文である.命題が正しいときは真(true)といい,T と表し,誤っているときは偽(false)といい,F と表す.命題の真偽を真理値という.

定義 1.1より,

(1)東京は日本の首都である.(2)ニューヨークはアメリカの首都である.(3)2+ 2= 4

(4)1+ 2= 5

はいずれも命題である.(1)と(3)は真であり,(2)と(4)は偽である.一方,

(5)ここはどこですか.(6)この本を読みなさい.(7)x+ 1 = 4

2 第 1章 論 理

(8)x+ y = z

はいずれも命題ではない.(5)と(6)は真と偽を決める文ではなく,(7)と(8)には変数が含まれており,変数に値を割り当てない限り真と偽のいずれにも決まらないからである.これ以降では,簡単のため,命題を p, q, r, . . .のような英小文字で表す.つぎに,¬, ∧, ∨, ⊕, →, ↔ の六つの論理演算子を定義する.基本となる命題に対して論理演算子を繰り返し用いることで,より複雑な複合した命題を組み立てることができる.

◆ 定義 1.2 ◆ pを命題とする.文「pではない」は命題であり,pの否定といい,¬pと表す.

例 1.1 命題「東京は日本の首都である」の否定は,「東京は日本の首都ではない」である.

論理演算子を含まない命題を基本命題といい,その基本命題を論理演算子でつないだものを複合命題,または,論理式という.複合命題の真理値を,基本命題の真理値のすべての組み合わせに対して表したのが,真理値表である.表 1.1に否定の真理値表を示す.

表 1.1 否定の真理値表p ¬pT F

F T

表 1.2 論理積の真理値表

p q p ∧ q

T T T

T F F

F T F

F F F

表 1.3 論理和の真理値表

p q p ∨ q

T T T

T F T

F T T

F F F

◆ 定義 1.3 ◆ pと qを命題とする.文「pかつ q」は命題であり,pと qの論理積といい,p ∧ qと表す.この論理積の真理値は,pと qがともに真のときは真,それ以外のときは偽である.

◆ 定義 1.4 ◆ pと qを命題とする.文「pまたは q」は命題であり,pと qの論理和といい,p ∨ qと表す.この論理和の真理値は,pと qがともに偽のときは偽,それ以外のときは真である.

例 1.2 命題 pを「今日は水曜日である」,命題 qを「今日は雪が降る」とする.論理積 p∧ qは「今日は水曜日であり,かつ今日は雪が降る」となる.この論理積の真理値は,今日が雪が降る水曜日であれば真,それ以外は偽である. 一方,論理和 p ∨ q の真理値は,今日が水曜日または今日雪が降るときは真,それ以外は偽である.

1.1 命題と論理演算子 3

表 1.2と表 1.3にそれぞれ論理積と論理和の真理値表を示す.

◆ 定義 1.5 ◆ pと qを命題とする.文「pまたは qのどちらか一方のみである」は命題であり,pと qの排他的論理和といい,p⊕ qと表す.この排他的論理和の真理値は,pまたは qのどちらか一方のみが真であるときは真,それ以外のときは偽である.

例 1.3 例 1.2の命題 pと命題 qの排他的論理和 p ⊕ q は,「今日は水曜日である,または今日は雪が降るのどちらか一方のみである」であることを表す.この排他的論理和の真理値は,今日が水曜日,または今日雪が降るのどちらか一方のみが真であるときは真,それ以外は偽である.

表 1.4は排他的論理和の真理値表である.

表 1.4 排他的論理和の真理値表p q p ⊕ q

T T F

T F T

F T T

F F F

表 1.5 含意の真理値表p q p→ q

T T T

T F F

F T T

F F T

◆ 定義 1.6 ◆ pと q を命題とする.文「pならば q」は命題であり,含意といい,p→ qと表す.この含意において,pはその仮定,qはその結論という.また,pは q

の十分条件,qは pの必要条件という.この含意の真理値は,pが真であり,かつ qが偽であるときは偽,それ以外は真である.

仮定が偽である場合,結論がなんであっても,含意は真になる.すなわち,これは,間違った仮定からはどのような結論も導くことができることを意味する.

例 1.4 命題 pを「A君は情報工学科の学生である」,命題 q を「A君は離散数学を勉強する」とする.含意 p→ qは「A君が情報工学科の学生ならば,離散数学を勉強する」である.この含意の真理値は,A君が情報工学科の学生であり,かつ,彼が離散数学を勉強しないときは偽,それ以外は真である.とくに,A君が情報工学科の学生でない場合は,A君が何を勉強しようがこの命題は真になる.

例 1.5 命題「今日が月曜日ならば 1+ 2= 1である」は,今日が月曜日のときは偽,月曜日以外の曜日においては仮定が成立しないので真である.

表 1.5は含意の真理値表である.

◆ 定義 1.7 ◆ pと qを命題とする.文「pならば q,かつ,qならば p」は命題であり,等価といい,p ↔ qと表す.このとき,pは q の必要十分条件という.この等価の真理値は,pと qの真理値が同じであるときは真,それ以外のときは偽である.

4 第 1章 論 理

例 1.6 例 1.4の pと qの等価 p↔ qは,「A君が情報工学科の学生であるなら,A君は離散数学を勉強する.かつ,A君が離散数学を勉強するなら,A君は情報工学科の学生である」である.また,この等価の真理値は,A君が情報工学科の学生である,かつA君は離散数学を勉強するとき,もしくは A君は情報工学科の学生ではない,かつA君は離散数学を勉強しないときは真,それ以外は偽である.

表 1.6は等価の真理値表である.

表 1.6 等価の真理値表p q p↔ q

T T T

T F F

F T F

F F T

表 1.7 論理演算子の優先順位優先順位 演算子

1 ¬2 ∧3 ∨3 ⊕4 →5 ↔

複数個の論理演算子を含む複合命題では,括弧を使って演算の優先順位を指定する.たとえば,命題 (p ∨ q) ∧ (¬r)は,p ∨ qと ¬rの論理積である.この括弧は,論理演算子の優先順位を規定することによって減らすことができる.¬が ∨より優先順位が高いと規定すると,(¬p)∨ qは ¬p∨ qと書ける.一般的に,論理演算子の優先順位は表 1.7のように規定され,不要な括弧は省略する.

1.2 論理同値

命題は,文が違っても論理的に同じであることがある.本節では,この「論理的に同じである」ことを数学的に説明する.まず,つねに真や偽になる命題を考える.

◆ 定義 1.8 ◆ 複合命題は,その命題に現れる基本命題のすべての真理値の組み合わせに対して真であるときに恒真とよび,偽であるときに矛盾とよぶ.

例 1.7 複合命題 p∨¬pと p∧¬pの 表 1.8 恒真と矛盾の例p ¬p p ∨ ¬p p ∧ ¬pT F T F

F T T F

真理値表は表 1.8のようになり,それぞれ恒真と矛盾である.

二つの複合命題が基本命題のすべての真理値の組み合わせに対して同じ真理値をとるならば,その二つの命題は論理的に同じである.

◆ 定義 1.9 ◆ 命題 pと命題 qは,p↔ qが恒真であるときに論理同値とよび,p ≡ q

と表す.

1.2 論理同値 5

≡は論理演算子ではないので,p ≡ qは命題ではないことに注意しよう.p ≡ q は論理同値式といい,p↔ qが恒真であることを意味する.命題 pと qが論理同値かどうかは真理値表から判断できる.命題 pと qが論理同値である必要十分条件は,真理値表における pの真理値の列が,qの真理値の列と一致することである.

例 1.8 表 1.9 より,命 表 1.9 ¬(p ∨ q)と ¬p ∧ ¬q の真理値表p q p ∨ q ¬(p ∨ q) ¬p ¬q ¬p ∧ ¬qT T T F F F F

T F T F F T F

F T T F T F F

F F F T T T T

題 ¬(p∨ q)と命題 ¬p∧¬qは論理同値である.この論理積,論理和,否定の間に成り立つ関係を,ド・モルガンの法則(De Morgan’s

laws)という.

例 1.9 表 1.10 より,命題 p → q と命題 表 1.10 p → q と ¬p ∨ q の真理値表

p q ¬p p→ q ¬p ∨ q

T T F T T

T F F F F

F T T T T

F F T T T

¬p ∨ q は論理同値である.すなわち,論理演算子→は ¬と ∨で表現できる.このように,演算子を書き換えることによって,論理式の意味がわかりやすくなることがある.

例 1.10 表 1.11より,命題 p∨ (q ∧ r)と命題 (p∨ q)∧ (p∨ r)は論理同値である.これは,論理演算子 ∨の ∧に対する分配律とよばれる.真理値表は三つの命題 p, q, rの真理値のすべての組み合わせを表すために 8行が必要になる.

表 1.11 p ∨ (q ∧ r)と (p ∨ q) ∧ (p ∨ r)の真理値表

p q r q ∧ r p ∨ (q ∧ r) (p ∨ q) (p ∨ r) (p ∨ q) ∧ (p ∨ r)

T T T T T T T T

T T F F T T T T

T F T F T T T T

T F F F T T T T

F T T T T T T T

F T F F F T F F

F F T F F F T F

F F F F F F F F

一般的に,複合命題に n個の基本命題がある場合,それらの真理値のすべての組み合わせを表すためには,真理値表は 2n 行が必要である.表 1.12に重要な論理同値式をまとめる.表において,T は恒真,F は矛盾を意味する.また,含意または等価演算子を含む有用な論理同値式を表 1.13にまとめる.表1.12と表 1.13の式の証明は,演習問題 1.7とする.論理同値式の証明は真理値表を書けば可能であるが,基本命題数が多くなれば面倒である.多くの場合,既知の論理式を利用すれば論理同値式の証明は簡単になる.以

6 第 1章 論 理

表 1.12 論理同値式論理同値式 法 則

p ∧ T ≡ p

p ∨ F ≡ p同一律

p ∨ T ≡ T

p ∧ F ≡ F支配律

p ∨ p ≡ p

p ∧ p ≡ pベキ等律

¬(¬p) ≡ p 重否定律p ∨ q ≡ q ∨ p

p ∧ q ≡ q ∧ p交換律

(p ∨ q) ∨ r ≡ p ∨ (q ∨ r)

(p ∧ q) ∧ r ≡ p ∧ (q ∧ r)結合律

p ∨ (q ∧ r) ≡ (p ∨ q) ∧ (p ∨ r)

p ∧ (q ∨ r) ≡ (p ∧ q) ∨ (p ∧ r)分配律

¬(p ∨ q) ≡ ¬p ∧ ¬q¬(p ∧ q) ≡ ¬p ∨ ¬q ド・モルガンの法則

p ∨ (p ∧ q) ≡ p

p ∧ (p ∨ q) ≡ p吸収律

p ∨ ¬p ≡ T

p ∧ ¬p ≡ F補元律

表 1.13 含意または等価演算子を含む論理同値式

(1) p→ q ≡ ¬p ∨ q

(2) p→ q ≡ ¬q → ¬p(3) p ∨ q ≡ ¬p→ q

(4) p ∧ q ≡ ¬(p→ ¬q)(5) p↔ q ≡ (p→ q) ∧ (q → p)

(6) p↔ q ≡ ¬p↔ ¬q

下の二つの例で確認するのに加えて,読者は演習問題 1.9を実際に解いてみてほしい.

例 1.11 命題 ¬(p∨ (¬p∧ q)) と命題 ¬p∧¬qが同値であることは,表 1.12の論理同値式からつぎのように証明できる.

¬(p ∨ (¬p ∧ q))

≡ ¬p ∧ ¬(¬p ∧ q) (ド・モルガンの法則)≡ ¬p ∧ (¬(¬p) ∨ ¬q) (ド・モルガンの法則)≡ ¬p ∧ (p ∨ ¬q) (重否定律)≡ (¬p ∧ p) ∨ (¬p ∧ ¬q) (分配律)≡ F ∨ (¬p ∧ ¬q) (補元律)≡ (¬p ∧ ¬q) ∨ F (交換律)≡ ¬p ∧ ¬q (同一律)

例 1.12 論理同値式 (p→ q) ∧ (p→ r) ≡ p→ (q ∧ r)は,表 1.12,1.13の論理同値式からつぎのように証明できる.

(p→ q) ∧ (p→ r)

≡ (¬p ∨ q) ∧ (¬p ∨ r) (表 1.13の(1)の論理同値式)≡ ¬p ∨ (q ∧ r) (分配律)≡ p→ (q ∧ r) (表 1.13の(1)の論理同値式)

1.3 述語と限定子 7

1.3 述語と限定子

数学の文章や計算機のプログラムには,変数を含む文がたくさんある.たとえば,文「xは 10より大きい」である.変数 xの値が与えられていないときにはこの文の真理値は決まらないが,xの値が与えられるとその真理値が決まる.この文を二つに分けると,変数 xと,述語「10より大きい」となる.本節では,変数を含む文を考える.

◆ 定義 1.10 ◆ 変数 xに値を与えることによって命題となる文を命題関数1)とよび,P (x)と表す.P は述語とよばれる.同様に,二つの変数 xと yを含む命題関数をP (x, y)と表し,一般的に,変数 x1, x2, . . . , xn を含む命題関数を P (x1, x2, . . . , xn)

と表す.

例 1.13 文「xは 10より大きい」を P (x)とする.P (1)は「1は 10より大きい」という命題であり,その真理値は偽である.P (15)は「15は 10より大きい」という命題であり,その真理値は真である.

例 1.14 文「x+ y = 10」をQ(x, y)とする.Q(2, 5)は「2 + 5 = 10」という命題であり,その真理値は偽である.Q(5, 5)は「5+ 5 = 10」という命題であり,その真理値は真である.

上記の例のように,変数にある値を代入すること以外に,変数を含む文が命題になるもう一つの重要な場合として,限定化がある.たとえば,xが実数のときに,文「すべての xの値について xが 3より大きい」の真理値は偽であり,文「3より大きい x

は少なくとも一つ存在する」の真理値は真である.文に現れる言葉「すべて」と「存在」が限定化するものであり,それぞれ全称限定と存在限定とよび,そして xの値がとる範囲を論述領域とよぶ.

◆ 定義 1.11 ◆ 命題関数 P (x)の全称限定化は,∀xP (x) と記述し,命題「(論述領域における)すべての xの値について P (x)が真である」と定義する.その真理値は,すべての xの値において P (x)が真であるときは真であり,それ以外は偽である.記号 ∀は全称限定子とよばれ,「すべて」(あるいは「任意」,または「各」)を表す.

例 1.15 P (x)を文「x > x− 1」とする.任意の実数 xについて P (x)は真であるので,論述領域が実数であるときに ∀xP (x)は真である.

∀xP (x)の真理値が真であることを示すには,論述領域のすべての xの値について P (x)が真であることを証明しなければならない.一方,∀xP (x)が偽であることを示すには,P (x)を偽とする xの値を一つみつければよい.この偽となる xの値を∀xP (x)の反例とよぶ.

1) ここでは,命題関数をただの名前として扱い,関数についての詳しいことは第 4 章で説明する.

3.1 集合,部分集合,ベキ集合,直積集合 25

第3章

集 合keywords

25

集合,ベキ集合,直積集合,集合演算,集合等式,順列,数列

集合はものの集まりと定義され,もっとも基礎となる離散的な(連続でない)構造である.そのほかの離散構造である関数,関係,組合せ,グラフなどは集合の上に構築される.したがって,集合の性質と演算は集合論の基礎だけではなく,そのほかの離散構造の基礎にもなる.たとえば,英語が好きな学生を集合 A,そして,数学が好きな学生を集合 B とすると,英語と数学が好きな学生,英語または数学が好きな学生は,あとに定義される Aと B の共通と和演算によって求められる.集合ではものの順序を考えない.一方,順列ではものの順序を考慮する.たとえば,名前の集まりを五十音順で並び替えると順列になる.また,数の順列は数列とよばれる.数列の和と積は数学の計算によく現れる.順列は,順序つき要素の列を表す離散構造として第 5章の数え上げと第 6章の離散確率で使われる.本章では集合と順列を学ぶ.

3.1 集合,部分集合,ベキ集合,直積集合

本節では,まず集合と部分集合を定義する.そして,二つの特殊な集合,ベキ集合と直積集合を説明する.ベキ集合は,ある集合のすべての部分集合を扱うときに有用である.直積集合は,集合間の関係を表す数学的なモデルである.

集合一般的にいう集合は,似ているものの集まりを考えることが多い.しかし,数学の集合は必ずしもそうである必要はない.厳密な定義はつぎのようになる.

◆ 定義 3.1 ◆ 集合はものの集まりである.集合に含まれるものを集合の要素,または集合の元とよぶ.ただし,要素がその集まりに属するかどうかが一意に決定できなければならない.要素 xが集合 S に含まれるとき,xは S に属するといい,x ∈ S

と表す.xが集合 S に含まれないとき,x ∈ S と表す.

集合を記述する一つの方法は,すべての要素を列挙することである.たとえば,{a, b, c, d}は要素 a, b, c, dからなる集合を表す.

26 第 3章 集 合

例 3.1 英語のアルファベットにある母音の集合は,V = {a, e, i, o, u}である.

例 3.2 同じ性質をもたないようにみえるものの集まりも集合である.たとえば,{may, warm, 5, flower}も集合である.

要素の並び順が明らかなとき,記号「. . .」を使えば要素をすべて列挙することが避けられる.たとえば,100未満の正の整数の集合は {1, 2, 3, . . . , 99}と記述できる.つぎの集合は,離散数学において重要な役割を果たしているものである.

自然数:N = {0, 1, 2, 3, . . .}整数:Z = {. . . ,−2,−1, 0, 1, 2, . . .}

正の整数:Z+ = {1, 2, 3, . . .}実数の集合のように要素が列挙できない集合もある.そのような場合,まず集合の要素を文字で表し,その後に |を書いてからその集合に含まれる要素の性質を定義する1).有理数と実数の集合はつぎのように記述できる.

有理数:Q =

{q

p| p ∈ Z, q ∈ Z, p = 0

}実数:R = {x | x は実数 }

◆ 定義 3.2 ◆ 集合 Aと集合 B が同じであるとは,Aと B の要素がすべて同じであることである.集合 Aと集合 B が同じであるとき,A = Bと表す.

例 3.3 要素の並び順は集合に影響しない.したがって,集合 {a, b, c}と集合{b, c, a}は同じである.また,同じ要素が 2回以上現れても一つの要素と考える2).したがって,集合 {a, b, c}と集合 {a, a, a, b, b, c}は同じである.

全集合と空集合は二つの特殊な集合である.対象となる要素の全体を全集合または論述領域とよぶ.たとえば,人口研究において,全集合はこの地球にいるすべての人間からなる.また,英語のアルファベットの全集合は {a,b, c, . . . , z}である.とくに断らない限り,全集合を U と表す.もう一つの特殊な集合は空集合である.空集合は一つの要素ももたない集合であり,∅と表す.

部分集合

◆ 定義 3.3 ◆ 集合 Aが集合 B の部分集合であるとは,Aのすべての要素が B に属することである.集合 Aが集合 B の部分集合であるとき,A ⊆ Bと表す.

部分集合の定義を論理式で書くと,

∀x(x ∈ A→ x ∈ B)

1) 要素を列挙する定義を外延的定義とよび,集合に含まれる要素の性質を規定する定義を内包的定義とよぶことがある.

2) 複数回現れた要素を区別する集合は多重集合とよばれ,集合と区別する.

3.1 集合,部分集合,ベキ集合,直積集合 27

となる.正の整数の集合は,整数の集合の部分集合である.英語の母音の集合は,英語のアルファベットの部分集合である.つぎの定理のとおり,任意の集合 P において,空集合 ∅と集合 P 自身は部分集合になる.

定理 3.1 任意の集合 P において,(1)∅ ⊆ P,(2)P ⊆ P が成り立つ.➡《証明》ここでは(1)を証明する.(2)の証明は演習問題 3.5とする.部分集合の定義により,(1)を証明するためには ∀x(x ∈ ∅ → x ∈ P )が真であることを証明すればよい.空集合 ∅には要素がないので,x ∈ ∅は偽である.したがって,x ∈ ∅ → x ∈ P はつねに真である.ゆえに,∀x(x ∈ ∅ → x ∈ P )が真である. �

◆ 定義 3.4 ◆ 要素の個数が有限である集合を有限集合,有限でない集合を無限集合とよぶ.有限集合 S の要素数を |S|と記述する.

◆ 定義 3.5 ◆ 集合 Aが集合 B の真部分集合であるとは,Aが B の部分集合で,かつ A = B となることである.集合 Aが集合 B の真部分集合であるとき,A ⊂ B

と表す.

例 3.4 空集合や英語のアルファベットは有限集合である.整数の集合は無限集合である.空集合の要素数は 0,英語のアルファベットの要素数は 26である.英語の母音集合は英語のアルファベットの真部分集合である.

ベン図集合間の関係を表すときに使われる図がベン

図 3.1 ベン図:A ⊂ B

図(Venn diagram)である.一般に,ベン図は,全集合 U を長方形,他の集合を長方形の内部にある楕円で表す.たとえば,図 3.1のベン図は A ⊂ B

を表している.

ベキ集合与えられた集合の要素の組み合わせを考察したい場合がある.このように,集合の要素の組み合わせを要素とする集合は,ベキ集合とよぶ.

◆ 定義 3.6 ◆ 集合 S のベキ集合は,S のすべての部分集合を要素とする集合であり,P (S)と表す.すなわち,P (S) = {x | x ⊆ S}である.

例3.5 集合S = {a, b, c}のベキ集合は,P (S) = {∅, {a}, {b}, {c}, {a, b}, {b, c},{a, c}, {a, b, c}} である.空集合 ∅と集合 S 自身も S の部分集合なので,ベキ集合 P (S)の要素であることに注意しよう.

28 第 3章 集 合

一般的に,与えられた有限集合 Sに対して,ベキ集合 P (S)の要素数は Sの要素数の 2のベキ乗である.つまり,|P (S)| = 2|S| である(演習問題 3.12).このことから,集合 S のベキ集合を 2S と表すことがある.

直積集合集合 Aと集合 Bの関係を考えるときに,Aの要素と B の要素を組として考察したい場合がある.これらの組を要素とする集合を直積集合とよぶ.

◆ 定義 3.7 ◆ 集合 A と集合 B の直積集合は,A の要素 a と B の要素 b の対(a, b)(順序対とよぶ)すべてからなる集合であり,A × B と記述する.つまり,A× B = {(a, b) | a ∈ A ∧ b ∈ B}となる.

例 3.6 集合 A = {a, b, c}と集合 B = {0, 1}の直積集合は,集合 A × B =

{(a, 0), (a, 1), (b, 0), (b, 1), (c, 0), (c, 1)}である.

一般的に,与えられた有限集合 Aと Bに対して,Aと Bの直積集合の要素数はA

の要素数と Bの要素数の積である.すなわち,|A×B| = |A| × |B|である.

3.2 集合代数

本節では,まず集合上の演算を定義する.そして,集合等式の証明方法を紹介する.

集合演算二つの集合からいろいろな新しい集合が構成できる.たとえば,りんごが好きな学生の集合と桃が好きな学生の集合から,りんごも桃も好きな学生の集合,りんごは好きだが桃は好きでない学生の集合などが構成できる.そこで,集合上の演算を定義する.

◆ 定義 3.8 ◆ 集合 Aと集合 B の和集合は,Aまたは B のすべての要素からなる集合であり,A ∪Bと表す.つまり,A ∪B = {x | x ∈ A ∨ x ∈ B}である.

◆ 定義 3.9 ◆ 集合 Aと集合 B の共通集合は,Aと B 両方に属するすべての要素からなる集合であり,A∩Bと表す.つまり,A∩B = {x | x ∈ A∧ x ∈ B}である.

例 3.7 集合 A = {a, b, c, d, e}と集合 B = {c, d, e, f, g}の和集合と共通集合は,それぞれ A ∪B = {a, b, c, d, e, f, g}と A ∩B = {c, d, e}である.

◆ 定義 3.10 ◆ 集合 Aと集合 Bの共通集合が空集合であるとき,AとBは互いに素という.

A ∪ Bと A ∩ Bをベン図で表すと,図 3.2のようになる.

3.2 集合代数 29

図 3.2 和集合と共通集合のベン図

例 3.8 偶数集合と奇数集合の共通集合は,空集合である.したがって,この二つの集合は互いに素である.

有限集合A,Bが与えられたときに,和集合A∪Bと共通集合A∩Bの要素数を考える.共通集合の要素はAとBの両方に属するので,|A∪B|と |A∩B|の関係は次式で表せる.

|A ∪ B| = |A|+ |B| − |A ∩B|

集合 Aと集合 Bが互いに素であるとき,|A∩B| = 0なので,|A∪B| = |A|+ |B|である.

◆ 定義 3.11 ◆ 集合Aと集合 Bの差集合は,Aに属するが Bには属さないすべての要素からなる集合であり,A− B と表す.つまり,A −B = {x | x ∈ A ∧ x ∈ B}である.

例 3.9 集合A = {a, b, c, d, e}と集合B = {c, d, e, f, g}の差集合は,A−B =

{a, b}である.

◆ 定義 3.12 ◆ 全集合を U とする.集合 Aの補集合は,U に属するが Aには属さないすべての要素からなる集合であり,Aと表す.つまり,A = {x | x ∈ U ∧ x ∈ A}である.

例 3.10 全集合を英語のアルファベットとするとき,母音の集合 A = {a, e, i,o, u}の補集合は A = {b, c,d, f, g, h, j, k, l,m,n, p, q, r, s, t, v,w, x, y, z}である.

A− Bと Aをベン図で表すと,図 3.3のようになる.

図 3.3 差集合と補集合のベン図

116 第 10章 グラフ

第10章

グラフkeywords

116

無向グラフと有向グラフ,次数,連結性,道,オイラーグラフ

グラフ(graph)とは,「頂点」と「辺」で描画された図であり,論理回路,計算機ネットワークを含む計算機科学におけるさまざまな概念や事例を表現することができる強力な道具である.本章では,グラフの定義とその基本的な性質を述べ,グラフによる特徴づけの例として一筆書きをとりあげる.また,2項関係とグラフの関連性について説明する.

10.1 グラフの定義

グラフの例を図 10.1に示す.図(a)はバスの路線図をグラフで表現したものであり,図(b)は回路をグラフで表現したものである.図(a)の例では,バス停が頂点に対応し,バスの経路が辺に対応しており,隣接しているバス停どうしが辺でつながっている.バスの路線図をグラフで表現すると,二つのバス停間を最短で行く経路は,対応するグラフにおける 2頂点間の最短経路問題といわれる問題を解くことにより効率的に決定できる.図(c),(d)は人の集合を頂点集合としたグラフである.図(c)は 2人が友達であるという関係を表したグラフであり,図(d)は好意をいだいている関係を表したグラフである.友達関係は両方向の関係であるので,グラフの辺に向きはないが,好意関係は一方的な場合もあるため,グラフの辺には向きがある.辺に向きがないグラフを「無向グラフ」,辺に向きがあるグラフを「有向グラフ」とよぶ.図(d)においては,友達関係にある 2人は互いに好きであるので1),それぞれ両方向の有向辺をもっている.一方,好意関係は一方的な場合もあるため,必ずしも両方向に有向辺は存在しないことに注意しよう.まず,グラフを形式的に定義し,グラフを取り扱ううえで必要になる概念や用語を定義する.

◆ 定義 10.1 ◆ グラフGは頂点の集合 V と頂点の接続関係を表す辺の集合 Eからなり,G = (V,E)と表される.辺は向きを考える場合(有向辺)とそうでない場合(無向辺)がある.すべての辺が有向辺であるグラフを有向グラフとよび,すべての辺が無

1) 現実にはそうでない友達もいるが,ここではそのような場合は考えない.

10.1 グラフの定義 117

図 10.1 グラフの例

向辺であるグラフを無向グラフとよぶ.有向辺は頂点の順序対 (u, v)(u, v ∈ V )で表現され,無向辺は二つの頂点の集合 {u, v}(v, u ∈ V )で表現される.したがって,有向辺の集合 E は頂点集合の直積(V × V)の部分集合であり,無向辺の集合は V の二つの要素からなる集合(2 集合とよぶ)の集合の部分集合である.

慣例によって,有向辺も無向辺も (u, v)で表現されるので,本書でもそれに従うことにする.一般に有向辺に対しては,(v, u) = (u, v)であるが,無向辺に対しては,

118 第 10章 グラフ

(u, v) = (v, u)が成り立つ.グラフを取り扱うときに,二つの頂点間に複数の辺(多重辺とよぶ)をもつグラフ(多重グラフとよぶ)を考えたり,一つの頂点を結ぶ辺(自己ループとよぶ)を考える場合がある(図 10.2).定義 10.1によれば,辺集合は集合であるので,多重辺をもつグラフは存在しないし,無向グラフの辺は 2 集合なので,無向グラフには自己ループは存在しない1).本書では,断りがない限り,グラフは定義 10.1に従うものとするが,一部辺集合として多重集合を許して,多重グラフを定義する場合がある.自己ループをもつ無向グラフは本書では考えない.

図 10.2 多重グラフと自己ループ

有向グラフにおける有向辺は辺に向きがあるので,道路における一方通行や計算網における半二重通信などを表現していると考えることができる.無向グラフの(無向)辺は,単に 2頂点の接続関係を表していると考える.また,無向グラフにおける(無向)辺({a, b})は,有向グラフにおいては,両方向の有向辺((a, b), (b, a))と考えることができる.すなわち,a, b間のすべての辺が両方向であるような有向グラフを無向グラフと考えることができ,無向グラフは有向グラフの特別な場合とみなすことができる.

例 10.1 図 10.1(c),(d)のような友達グラフ,好意グラフについて考える.友達グラフは無向グラフであり,好意グラフは有向グラフである.また,友達グラフは好意グラフの特別な場合であることがわかる.すなわち,好意グラフにおいては,aが bを好きであっても,bが aを好きであるとは限らないので,有向辺 (a, b)で表現されているが,友達グラフにおいては,「両想い」の関係を無向辺で表現しているのである.また,好意グラフにおいて,自己ループは「ナルシスト」であることを表している.

◆ 定義 10.2 ◆ (有向,または無向)グラフ G = (V,E)において,e = (v, u) ∈ E

とするとき,頂点 vと頂点 uはGにおいて隣接しているという.また,辺 eは頂点 v

と uを接続しているという.

1) 有向グラフの辺は,頂点の順序対なので自己ループは存在する.

10.1 グラフの定義 119

無向グラフにおける頂点 v (∈ V ) において,v に接続している辺の数を v の次数(degree)とよび,deg (v)と表す.次数が 0の頂点を孤立点とよぶ.有向グラフにおいて,e = (v, u) ∈ E とする.このとき,頂点 v, uをそれぞれ辺 e

の始点,終点という.頂点 uを終点としてもつ辺の数を uの いり

入  じ

次  すう

数 (indegree)といい,degin(u)と表す.また,頂点 vを始点としてもつ辺の数を vの 

出  じ

次  すう

数 (outdegree)といい,degout(v)と表す.vの入次数と出次数の和を vの次数とよび,deg (v)と表す.すなわち,deg (v) = deg in(v) + deg out(v)である.

例 10.2 図 10.3(a)において,uと v,uと wはそれぞれ隣接しており,e1はuと vを,e2 は uと wを接続している.uの次数は deg(u) = 2であり,v, wの次数は deg(v) = deg(w) = 1である.図(b)において,uと v,vと w,wと uはそれぞれ隣接している.また,eは uと vを接続しており,uが始点,vが終点である.また,uの入次数は 1,出次数は 2であり,uの次数は 3である.

図 10.3 頂点の隣接と次数

例 10.3 友達グラフにおいて,頂点の次数はその頂点が表す人の友達の人数を表している.また,孤立点は友達のいない人を表している.好意グラフにおいて,入次数,出次数にも同様の解釈を与えることができる.その解釈は演習問題 10.3

で考える.

グラフにおいては,ある頂点から別の頂点へ辺をたどって到達することや,どのように到達するかを考えることが多い.

◆ 定義 10.3 ◆ グラフ G = (V,E)において,頂点列 P = (v0, v1, . . . , vk)が各i (0 ≤ i ≤ k − 1)に対して,(vi, vi+1) ∈ E を満たすとき,P を v0 から vk への道(path)といい,v0を道の始点,vkを道の終点という.道の中に出現する辺の数をその道の長さとよぶ.無向グラフの場合には辺に向きがないので,v0 と vk を結ぶ道ということがある.すべての頂点が異なる道を単純路(simple path)という.始点と終点が等しい道を閉路(cycle)とよび,始点と終点のみが等しい道を単純閉路(simple cycle)とよぶ.

例 10.4 図 10.4(a)の有向グラフにおいて,(a, b, d, c) は長さ 3 の単純路,(c, a, b, c, d)は長さ 4の単純でない道,(a, b, c, a)は長さ 3の単純閉路,(a, b, b, c, a)は長さ 4の単純でない閉路である.また,図(b)の無向グラフにおいては,(c, d, b, a)は長さ 3の単純路,(c, a, b, a, b, d)は長さ 5の単純でない道,(a, b, c, a)は長さ 3

120 第 10章 グラフ

図 10.4 グラフの道

の単純閉路,(a, b, a, b, c, a)は長さ 4の単純でない閉路である.

◆ 定義 10.4 ◆ 無向グラフG上で,Gの任意の異なる頂点対を結ぶ道が存在するとき,Gは連結(connected)であるという.有向グラフG上で,Gの任意の異なる頂点対 (u, v)に対して,uから vへの道が存在するとき,Gは強連結(strongly connected)であるという.

例 10.5 図 10.5(a)は連結な無向グラフであり,図(b)の無向グラフは連結ではない.また,図(c)は強連結な有向グラフであるが,図(d)の有向グラフは aへの道が存在しないので強連結ではない.図(d)のように有向辺を無向辺で置き換えたときに,(無向グラフとして)連結になる有向グラフを弱連結ということがある.

図 10.5 グラフの連結性

◆ 定義 10.5 ◆ 二つのグラフ G = (V,E)と G′ = (V ′, E′)において,V ′ ⊆ V ,

E′ ⊆ Eであるとき,G′をGの部分グラフ(subgraph)という.また,グラフG = (V,E)

に対して,頂点集合 U (⊆ V )が与えられたとき,グラフ G[U ] = (U,E′′)(ここで,E′′ = {(u, v) ∈ E|u, v ∈ U})を U から誘導される Gの部分グラフ(U による Gの誘導部分グラフ(induced subgraph))という.

例 10.6 図 10.6(a)の有向グラフ Gに対して,図(b)は Gの部分グラフであり,図(c)は U = {a, b, c, f}から誘導される Gの部分グラフである.

10.1 グラフの定義 121

図 10.6 部分グラフと誘導部分グラフ

例 10.7 友達グラフにおける aと bを結ぶ道は,aと bが友達関係であることを表している.友達グラフの無向辺を両方向の有向辺で置き換えたグラフを有向友達グラフとよぶことにする.友達関係にある二人は互いに好きであるので,有向友達グラフは好意グラフの部分グラフになっている.

◆ 定義 10.6 ◆ 無向グラフ G = (V,E)において,頂点集合 V 上の関係 Rをつぎのように定義する.

「uRv ≡ Gにおいて uと vを結ぶ道が存在する.」ただし,uから uへは長さ 0の道があるものとする.Rは同値関係であり(演習問題10.6),各同値類から誘導される部分グラフを Gの連結成分という.

例 10.8 図 10.7の無向グラフは,三つの連結成分をもつグラフである.

図 10.7 三つの連結成分をもつグラフ G

つぎにグラフの基本的な性質について考えてみよう.グラフの次数と辺数にはつぎの関係がある.

定理 10.1 無向グラフ G = (V,E)に対して,2|E| = ∑v∈V

deg (v)が成り立つ.

➡《証明》各頂点 vに接続する辺の個数が deg (v)であるが,各辺 (u, v)に注目すると,次数を数えるとき,u側からと v側からの 2回数えられる.よって,各頂点の次数の和は辺数の 2倍である.すなわち,2|E| = ∑

v∈V

deg (v)が成り立つ. �

この定理は証明方法から握手の補題とよばれており,有向グラフについても同様の結果が成り立つ.また,この定理によって,次数の和は偶数になること,次数が奇数の頂点は偶数個であることがわかる.

174 索  引174

索  引

英数先頭

2項関係 99

2項係数 58

2項定理 59

2部グラフ 123

2分木 134

2分探索 78

n頂点完全グラフ 122

n頂点完全有向グラフ122

あ 行

アルゴリズム 75

位置 k木 133

入次数 119

因子 87

上に有界である 142

オイラーグラフ 124

オイラー閉路 124

オイラー路 124

親 132

か 行

下界 142

確率分布 68

下限 142

可算集合 43

含意 3

関係積 100

関係の合成 100

関係和 100

関数 37

関数 f のグラフ 41

完全 2分木 135

偽 1

木 123, 130

疑似コード 76

疑似乱数 90

逆関係 100

逆元 138

兄弟 132

共通集合 28

強連結 120

強連結成分 128

極小元 141

極大元 141

切り上げ関数 42

切り捨て関数 42

空集合 26

組合せ 56

グラフ 116

群 139

子 132

恒真 4

合成関数 40

合成数 87

合同 89

孤立点 119

さ 行

最悪時の実行時間 77

再帰関数 45

再帰的アルゴリズム 93

再帰的定義 45

最小元 141

最小公倍数 89

最小上界 142

最大下界 142

最大元 141

最大公約数 88

差集合 29

試行 64

事象 64

辞書式順序 111

次数 119

子孫 132

下に有界である 142

実行時間 77

始点 119

弱連結 120

写像 37

集合 25

終点 119

順序 55

順序木 133

準同型写像 140

順列 32, 55

商 88

上界 142

上限 142

条件付き確率 69

剰余 88

真 1

索  引 175

真の子孫 132

真の先祖 132

真部分集合 27

推移的 102

数学的帰納法 18

数列 32

整除する 87

積規則 53

接続している 118

全 2分木 135

漸近的な下界 83

漸近的な上界 80

線形探索 77

全射関数 39

全集合 26

全称拡張 16

全称限定化 7

全称実例 16

先祖 132

全単射関数 39

像 37, 38

相補的 145

束 143

素数 87

存在拡張 17

存在限定化 8

存在実例 16

た 行

対偶法 17

対称的 102

代数 139

対数多項式関数 42

タイトな漸近的な上界83

互いに素 28, 89

高さ 133

多項式関数 42

多重グラフ 118

多重集合 57

多重辺 118

単位元 139

単位半群 139

探索問題 77

単射関数 39

単純閉路 119

単純路 119

値域 38

頂点 116

重複順列 57

直積集合 28

直積順序関係 111

直接法 17

底 bの指数関数 42

底 bの対数関数 42

定義域 38

出次数 119

等価 3

同型写像 140

等差数列 32

同値関係 107

等比数列 32

独立 70

閉じている 138

ド・モルガンの法則 5

な 行

内部節点 132

入力サイズ 77

根 132

根付き木 132

は 行

葉 132

倍数 87

排他的論理和 3

背理法 17

パスカルの三角形 60

パスカルの等式 60

ハッセ図 143

鳩の巣原理 54

半オイラーグラフ 124

半群 139

反射的 102

半順序関係 109

半順序集合 109

反対称的 102

否定 2

非閉路性 130

標本空間 64

フィボナッチ数列 45

深さ 133

部分木 133

部分グラフ 120

部分集合 26

ブール束 146

ブール代数 146

分配束 145

平均的実行時間 77

閉路 119

ベキ集合 27

ベキ集合束 143

ベルヌーイ試行 71

ベルヌーイ分布 71

辺 116

ベン図 27

補元 145

補集合 29

ま 行

交わり 143

道の長さ 119

無限集合 27

無向グラフ 117

無向辺 116

矛盾 4

結び 143

命題 1

命題関数 7

モノイド 139

森 123

や 行

有限群 140

有限集合 27

有向グラフ 116

有向辺 116

優先順位 4

誘導部分グラフ 120

ユークリッドのアルゴリズム 91

要素帰属表 31

176 索  引

ら 行

ラプラスの確率 65

隣接している 118

連結 120

連結性 130

連結成分 121

論述領域 7

論理演算子 2, 4

論理積 2

論理同値 4

論理同値式 5

論理和 2

わ 行

和規則 52

和集合 28

情報工学レクチャーシリーズ離散数学 第 2 版 © 陳慰・和田幸一 2017

2014 年 11 月 7 日 第 1 版第 1 刷発行 【本書の無断転載を禁ず】2017 年 10 月 17 日 第 2 版第 1 刷発行

著  者 陳慰・和田幸一発 行 者 森北博巳発 行 所 森北出版株式会社

東京都千代田区富士見 1-4-11(〒 102-0071)電話 03-3265-8341 / FAX 03-3264-8709http://www.morikita.co.jp/日本書籍出版協会・自然科学書協会 会員 <(社)出版者著作権管理機構 委託出版物>

落丁・乱丁本はお取替えいたします.

Printed in Japan / ISBN978-4-627-81082-2

   著 者 略 歴陳 慰(ちん・い)

1982 年 中国上海海事大学基礎部数学専攻卒業1982 年 中国上海海事大学計算機科学系助教1986 年 中国上海海事大学計算機科学系講師1994 年 大阪大学基礎工学研究科博士後期課程修了1994 年 名古屋工業大学電気情報工学科助手1998 年 名古屋工業大学電気情報工学科助教授2001 年 南山大学情報理工学部助教授2002 年 米国テネシー州立大学(Tennessee State University) 工学部コンピュータ科学科教授 現在に至る 博士(工学) 研究分野 並列・分散アルゴリズム,無線センサ網,認知ラジオ網, 計算生物学

和田 幸一(わだ・こういち)1978 年 大阪大学基礎工学部情報工学科卒業1983 年 大阪大学大学院基礎工学研究科博士後期課程修了1983 年 大阪大学基礎工学部助手1984 年 名古屋工業大学工学部講師1987 年 名古屋工業大学工学部助教授1999 年 名古屋工業大学工学部教授2012 年 法政大学理工学部教授 現在に至る 工学博士 研究分野 並列・分散アルゴリズム,グラフ理論

編集担当 宮地亮介(森北出版)編集責任 上村紗帆(森北出版)組  版 アベリー印  刷 丸井工文社製  本   同