情報数学 I

第三回: 組み合わせと命題

Martin J. Dürst

duerst@it.aoyama.ac.jp

O 棟 529号室

http://www.sw.it.aoyama.ac.jp/2006/Math1/lecture3.html

AGU

© 2005 Martin J. Dürst 青山学院大学

今週の目次

Moodle について

一部メールアドレスなどを所定のものにしていない学生がまだまだいる

解決方法: ログインした後に右上の自分の名前のリンクをクリックし、次に「プロフィールの編集」を選ぶ。

警告: 修正されていないアカウントは消される。

一部メールでの提出があったが、無効。

先週の宿題 (1, 2)

現在,諸事情により閲覧不可

先週の宿題 (3, 4)

現在,諸事情により閲覧不可

先週の宿題 (5)

現在,諸事情により閲覧不可

パスカルの三角形

(Pascal's triangle)

一行目の (0 ... 0) 1 (0 ... 0) からスタートし、左上と右上の数を足し合わせると出来る。

                  1
                1   1
              1   2   1
            1   3   3   1
          1   4   6   4   1
        1   5  10  10   5   1
      1   6  15  20  15   6   1
    1   7  21  35  35  21   7   1
  1   8  28  56  70  56  28   8   1
1   9  36  84 126 126  84  36   9   1
 ...

パスカルの三角形の性質

インドで紀元前から知られ、多くの性質が知られている。

ここで次の関係や性質を証明する:

部分集合の数とパスカルの三角形

パチンコ玉の道の数とパスカルの三角形

部分集合と組み合わせ

パスカルの三角形の一ヶ所の直接の計算

階乗

(factorial)

書き方: n!

定義: n! = 1 · 2 · ... (n-1) · n = ∏ni=1 i

問題:

1! = ?

0! = ?

演算の単位元

(unit element, identity element, neutral element)

複数の演算を行うプログラムの構造

具体例:

int sum = 0;
for (i=0; i<end; i++)
    sum += A[i];

一般の構造:

type result = 単位元;
for (i=0; i<end; i++)
    result = result 演算子 A[i];

命題

(proposition 又は statement)

正しいか正しくないかが客観的に決められる文

命題の例:

反例 (命題ではない):

命題の真偽

命題は正しいか正しくないかである。

「正しい」は「真」(しん、true) とも言って、1、T や ⊤ と書く

「正しくない」は「偽」(ぎ、false) とも言って、0、F や ⊥ と書く

プログラム言語での取り扱い:

命題の演算: 「かつ」

二つの命題 AB があるとすると次の命題が作れる:

A かつ B。(A AND B)

これは「AB」と書く。

これは関数とも考えられる: AND(A, B)

真偽表

命題の真偽を定義したり、証明したり、調べたりするには真偽表がよく使われる:

「かつ」の真偽表
A B AB
T T T
T F
F T
F F

論理演算などの情報テクノロジーでの役割

モデル化

命題

(proposition 又は statement)

正しいか正しくないかが客観的に決められる文。

命題は正しいものでも正しくないものでも良い。

命題ではないのは主観的な記述、質問、一部が決定されてない、代名詞や変数を含む場合など。

真理演算

論理演算子は一つ以上の命題から複合命題を作る。

一番よく使われる基本的な論理演算子は次:

論理積 (conjunction)

二つの命題 AB があるとすると次の命題が作れる: A かつ B (A and B)

これは「AB」と書く。A·BA B と書くこともある。

ABA とも B とも真の場合だけ真、そのほかの場合は偽。

真理表で表すと次になる。(先週の宿題の回答)

A B AB
T T T
T F F
F T F
F F F

論理和 (disjunction)

A 又は B」 (A or B) は AB と書く。A+B と書くこともある。

ABA とも B とも偽の場合だけ偽、そのほかの場合は真。

真理表で表すと次になる。(先週の宿題の回答)

A B AB
T T T
T F T
F T T
F F F

論理否定 (negation)

[A ではない」(not A) は ¬A と書く。A', A, ~A と書くこともある。

¬AA が真の場合に偽、偽の場合に真。

真理表で表すと次になる。

A ¬A
T F
F T

論理式の構成

論理演算子と命題 (変数) で論理式が作られる。

例: (A ∨ (¬B)) ∧ C

優先度と括弧の省略:

演算子に優先度が付いている。優先度の高い順から適用される。括弧は優先度が合わない時だけ必要。

論理演算子の優先度は「¬」が「∧」より高く、「∧」が「∨」より高い。

論理式の評価の例

例: (A ∨ (¬B)) ∧ B

B) の括弧が必要ない: (A ∨ ¬B) ∧ B

真理表を使った評価

A B ¬B A ∨ ¬B (A ∨ ¬B) ∧ B
T T F T T
T F T T F
F T F F F
F F T T F

今週の宿題

(提出なし)

論理演算の性質についてしらべる。

ヒント: