狠狠撸

狠狠撸Share a Scribd company logo
東北大学 工学部 機械知能?航空工学科
2015年度 5セメスター?クラスD
計算機工学
大学院情報科学研究科
鏡 慎吾
http://www.ic.is.tohoku.ac.jp/~swk/lecture/
9. 論理式の簡単化
(教科書3.1~3.3節)
2鏡 慎吾 (東北大学): 計算機工学 2015 (9)
論理式(論理回路)の簡単化
x1
x2
x1
x2
このような組をどうやって見つけるか?
3鏡 慎吾 (東北大学): 計算機工学 2015 (9)
カルノー図 (2入力の場合)
x2
0 1
x1 0 1 0
1 1 1
? 1つ1つのマス目(セル)が最小項を表す
? 論理関数に含まれる最小項のセルには1を,含まれな
いセルには0を書き込む(あるいは空白のままとする)
1になる3つのセルの和を書き下すと
主加法標準形になる
→ 真理値表を 2 次元に並べ替える
4鏡 慎吾 (東北大学): 計算機工学 2015 (9)
カルノー図の特徴
x2
0 1
x1 0 0 1
1 0 0
x2
0 1
x1 0 0 1
1 0 1
x2
0 1
x1 0 1 1
1 1 1
隣接する 2n 個のセルをまとめることが変数の削除に対応する
5鏡 慎吾 (東北大学): 計算機工学 2015 (9)
カルノー図による簡単化
? 2m 個のセルからなる長方形をルー
プと呼ぶ
→ 基本積に対応
? できるだけ少なく大きなループによ
り,すべての1を覆う
? 少ないループ → 少ない項
? 大きなループ → 少ないリテラル
? ダブって覆ってもよい
セルを1個ずつ取り上げて和を取る
代わりに,隣接する1をまとめた積
項を取り上げてその和を取っても同
じ関数を表現できる
x2
0 1
x1 0 1 0
1 1 1
6鏡 慎吾 (東北大学): 計算機工学 2015 (9)
例: 3入力の場合
3入力多数決関数
x1 x2
00 01 11 10
x3 0 0 0 1 0
1 0 1 1 1
この並び方がミソ
いずれの基本積もうまく長方形
で表せるようになっている
7鏡 慎吾 (東北大学): 計算機工学 2015 (9)
例
x1 x2
00 01 11 10
x3 0 1 0 0 1
1 1 0 1 1
上下左右も隣接している!
x1 x2
00 01 11 10
x3 0 1 0 0 1
1 1 0 1 1
8鏡 慎吾 (東北大学): 計算機工学 2015 (9)
簡単化の手順の(一応の)まとめ
1. 1を覆うループのうち,他のループに包含されないもの(主
項ループ)のみを列挙する
? 隣接するループを結合できないか? と考えるとよい
2. ひとつの主項ループでしか覆われていない1がある場合,
そのループ(必須主項ループ)は必ず残す
3. 必須主項ループで覆われていない1がある場合,できるだ
け少ない主項ループで覆う
? このとき複数の選び方がある場合は,できるだけ大き
なループの組合せを選ぶ
(結局,完全に自動化できる手順ではない)
9鏡 慎吾 (東北大学): 計算機工学 2015 (9)
例
x1 x2
00 01 11 10
x3x4 00 1 1
01 1 1
11 1 1 1
10 1 1 1
?入力変数が増えるとだんだん難しくなってくる
?上下左右の隣接に注意 (特に四隅が気づきにくい)
?一般に,答えは一通りとは限らない(see 教科書例題3.2)
10鏡 慎吾 (東北大学): 計算機工学 2015 (9)
ドントケア項のある場合
x1 x2
00 01 11 10
x3 0 * 0 1 0
1 * * 1 1
最小項のうち一部に「1になっても0になってもよい」ものがある
場合(その項に対応する入力を考える必要がない場合)
冗長項 (don’t care term) ,
組合せ禁止項などと呼び,
しばしば * で表す
ループはできるだけ少なく,大きくしたいので,
? 既存のループを大きくできるなら積極的に使う
? 新たにループを作らないといけないなら無視する
11鏡 慎吾 (東北大学): 計算機工学 2015 (9)
例: 7セグメントLED
http://ja.wikipedia.org/wiki/%E7%94%
BB%E5%83%8F:7segdisplay.jpg
d3 d2 d1 d0
a
b
c
d
e
f
g
a b c g
LED点灯回路
(例: 74HC4511)
?
出力 e を d3, d2, d1, d0 の論理式で表し,簡単化せよ
2進数入力
(binary coded decimal, BCD)
12鏡 慎吾 (東北大学): 計算機工学 2015 (9)
出力 e を簡単化する例
d1d0
00 01 11 10
d3d2 00 1 1
01 1
11 * * * *
10 1 * *
d3 d2 d1 d0 e
0 0 0 0 1
0 0 0 1 0
0 0 1 0 1
0 0 1 1 0
0 1 0 0 0
0 1 0 1 0
0 1 1 0 1
0 1 1 1 0
1 0 0 0 1
1 0 0 1 0
1 0 1 0 *
1 0 1 1 *
1 1 0 0 *
1 1 0 1 *
1 1 1 0 *
1 1 1 1 *
0
1
2
3
4
5
6
7
8
9
don’t
care
13鏡 慎吾 (東北大学): 計算機工学 2015 (9)
参考: 実際の論理式簡単化
? カルノー図による方法は,5入力以上になるとあまりうれしくな
い(頑張っても6入力程度).自動化に向いていない
→ より自動化に適した方法:
e.g.: クワイン?マクラスキー法
ではそれで十分か?
? 複雑になると難しい (記憶容量,計算時間が大きすぎる)
? 多数の出力がある場合,さらに簡単な組み合わせがあり得る
? 積和形よりより回路があるかも知れない
→ 組合せ最適化問題の典型であり,厳密に解くのは難しい.
ヒューリスティック(発見的)な解法が用いられる
14鏡 慎吾 (東北大学): 計算機工学 2015 (9)
参考: 用語の意味をカルノー図で考える
x1 x2
00 01 11 10
x3x4 00
01
11 1
10
x1 x2
00 01 11 10
x3x4 00 0
01
11
10
最小項: x1 x2 x3 x4 最大項: x1+x2+x3+x4
15鏡 慎吾 (東北大学): 計算機工学 2015 (9)
参考: 用語の意味をカルノー図で考える
主加法標準形
x1 x2
00 01 11 10
x3
x4
00
01
11 1
10
x1 x2
00 01 11 10
x3
x4
00
01 1
11
10
x1 x2
00 01 11 10
x3
x4
00
01
11
10 1
+ + + …
主乗法標準形
x1 x2
00 01 11 10
x3
x4
00
01
11 0
10
x1 x2
00 01 11 10
x3
x4
00
01 0
11
10
x1 x2
00 01 11 10
x3
x4
00
01
11
10 0
? ? ? …
16鏡 慎吾 (東北大学): 計算機工学 2015 (9)
練習問題
(1) カルノー図で表せ
(2) できるだけ簡単な積和型の論理式で表せ
(3) (2) で求めた論理式を表す論理回路図を示せ.AND, OR,
NOT の各ゲートを使用してよい
(4) 関数 f に冗長項 (x,y,w) = (0,1,1) を加えた不完全記述
論理関数を f ’ とする.f ’ をできるだけ簡単な積和型の論
理式で表し,論理回路図を示せ.
17鏡 慎吾 (東北大学): 計算機工学 2015 (9)
解答例
x y
00 01 11 10
z w 00 1 1
01
11 1
10 1 1 1 1
x
y
z
w
f
18鏡 慎吾 (東北大学): 計算機工学 2015 (9)
解答例 (つづき)
x y
00 01 11 10
z w 00 1 1
01 *
11 * 1
10 1 1 1 1
y
z
w
f ’
19鏡 慎吾 (東北大学): 計算機工学 2015 (9)
例題(おまけ)
? 朝まで飲んでいたわけではなくて,晴れていて,落とせない講義がある日
は登校する
? 落とせない講義がなくても,朝まで飲んでいたわけではなくて,晴れてい
る日は登校する
? 朝まで飲んでいた日でも,落とせない講義がある日は天気に関わらず登
校する
? 天気が悪くても,落とせない講義がある日で,朝まで飲んでたわけじゃな
い場合は登校する
? 上記で挙がった場合以外は休む
(1) x1: 朝まで飲んでいた, x2 落とせない講義がある, x3: 晴天である
として「A君登校関数」を論理式で表せ.
(2) 「A君登校関数」のカルノー図をかき,簡単化せよ.
A君はあまり真面目に大学に来ない学生であるが,全く来ないわけ
でもない.よく観察してみると以下の法則性があることがわかった:
20鏡 慎吾 (東北大学): 計算機工学 2015 (9)
例題(おまけ) 解答例
x1 x2 x3
+ x1 x2 x3
+ x1 x2
+ x1 x2 x3
(飲) (講) (晴)
x2 x3
00 01 11 10
x1 0 1 1 1
1 1 1
カルノー図から,簡単化すると
x2 + x1 x3
(つまりA君は,落とせない講義が
ある日,または,朝まで飲んで無く
てかつ晴れている日は登校する)
? 朝まで飲んでいたわけではなくて,晴れていて,落と
せない講義がある日は登校する
? 落とせない講義がなくても,朝まで飲んでいたわけで
はなくて,晴れている日は登校する
? 朝まで飲んでいた日でも,落とせない講義がある日は
天気に関わらず登校する
? 天気が悪くても,落とせない講義がある日で,朝まで
飲んでたわけじゃない場合は登校する

More Related Content

What's hot (20)

kagami_comput2015_8
kagami_comput2015_8kagami_comput2015_8
kagami_comput2015_8
swkagami
?
kagami_comput2016_06
kagami_comput2016_06kagami_comput2016_06
kagami_comput2016_06
swkagami
?
kagami_comput2016_02
kagami_comput2016_02kagami_comput2016_02
kagami_comput2016_02
swkagami
?
kagamicomput201701
kagamicomput201701kagamicomput201701
kagamicomput201701
swkagami
?
kagami_comput2016_13
kagami_comput2016_13kagami_comput2016_13
kagami_comput2016_13
swkagami
?
SSII2019企画: 点群深層学習の研究動向
SSII2019企画: 点群深層学習の研究動向SSII2019企画: 点群深層学習の研究動向
SSII2019企画: 点群深層学習の研究動向
SSII
?
kagamicomput201702
kagamicomput201702kagamicomput201702
kagamicomput201702
swkagami
?
日曜数学会 Ofdm
日曜数学会 Ofdm日曜数学会 Ofdm
日曜数学会 Ofdm
和人 桐ケ谷
?
how-calculate-cluster-coefficience
how-calculate-cluster-coefficiencehow-calculate-cluster-coefficience
how-calculate-cluster-coefficience
Norihiro Shimoda
?
点群深層学習 Meta-study
点群深層学習 Meta-study点群深層学習 Meta-study
点群深層学習 Meta-study
Naoya Chiba
?
コンピューターの整列処理におけるデータ操作の时间的共起分析
コンピューターの整列処理におけるデータ操作の时间的共起分析コンピューターの整列処理におけるデータ操作の时间的共起分析
コンピューターの整列処理におけるデータ操作の时间的共起分析
yamahige
?
第126回 ロボット工学セミナー 三次元点群と深層学習
第126回 ロボット工学セミナー 三次元点群と深層学習第126回 ロボット工学セミナー 三次元点群と深層学習
第126回 ロボット工学セミナー 三次元点群と深層学習
Naoya Chiba
?
kagamicomput201808
kagamicomput201808kagamicomput201808
kagamicomput201808
swkagami
?
kagami_comput2015_10
kagami_comput2015_10kagami_comput2015_10
kagami_comput2015_10
swkagami
?
Vanishing Component Analysis
Vanishing Component AnalysisVanishing Component Analysis
Vanishing Component Analysis
Koji Matsuda
?
kagamicomput201706
kagamicomput201706kagamicomput201706
kagamicomput201706
swkagami
?
kagamicomput201704
kagamicomput201704kagamicomput201704
kagamicomput201704
swkagami
?
第4回 配信講義 計算科学技術特論A (2021)
第4回 配信講義 計算科学技術特論A (2021)第4回 配信講義 計算科学技術特論A (2021)
第4回 配信講義 計算科学技術特論A (2021)
RCCSRENKEI
?
kagamicomput201703
kagamicomput201703kagamicomput201703
kagamicomput201703
swkagami
?
kagamicomput201714
kagamicomput201714kagamicomput201714
kagamicomput201714
swkagami
?
kagami_comput2015_8
kagami_comput2015_8kagami_comput2015_8
kagami_comput2015_8
swkagami
?
kagami_comput2016_06
kagami_comput2016_06kagami_comput2016_06
kagami_comput2016_06
swkagami
?
kagami_comput2016_02
kagami_comput2016_02kagami_comput2016_02
kagami_comput2016_02
swkagami
?
kagamicomput201701
kagamicomput201701kagamicomput201701
kagamicomput201701
swkagami
?
kagami_comput2016_13
kagami_comput2016_13kagami_comput2016_13
kagami_comput2016_13
swkagami
?
SSII2019企画: 点群深層学習の研究動向
SSII2019企画: 点群深層学習の研究動向SSII2019企画: 点群深層学習の研究動向
SSII2019企画: 点群深層学習の研究動向
SSII
?
kagamicomput201702
kagamicomput201702kagamicomput201702
kagamicomput201702
swkagami
?
how-calculate-cluster-coefficience
how-calculate-cluster-coefficiencehow-calculate-cluster-coefficience
how-calculate-cluster-coefficience
Norihiro Shimoda
?
点群深層学習 Meta-study
点群深層学習 Meta-study点群深層学習 Meta-study
点群深層学習 Meta-study
Naoya Chiba
?
コンピューターの整列処理におけるデータ操作の时间的共起分析
コンピューターの整列処理におけるデータ操作の时间的共起分析コンピューターの整列処理におけるデータ操作の时间的共起分析
コンピューターの整列処理におけるデータ操作の时间的共起分析
yamahige
?
第126回 ロボット工学セミナー 三次元点群と深層学習
第126回 ロボット工学セミナー 三次元点群と深層学習第126回 ロボット工学セミナー 三次元点群と深層学習
第126回 ロボット工学セミナー 三次元点群と深層学習
Naoya Chiba
?
kagamicomput201808
kagamicomput201808kagamicomput201808
kagamicomput201808
swkagami
?
kagami_comput2015_10
kagami_comput2015_10kagami_comput2015_10
kagami_comput2015_10
swkagami
?
Vanishing Component Analysis
Vanishing Component AnalysisVanishing Component Analysis
Vanishing Component Analysis
Koji Matsuda
?
kagamicomput201706
kagamicomput201706kagamicomput201706
kagamicomput201706
swkagami
?
kagamicomput201704
kagamicomput201704kagamicomput201704
kagamicomput201704
swkagami
?
第4回 配信講義 計算科学技術特論A (2021)
第4回 配信講義 計算科学技術特論A (2021)第4回 配信講義 計算科学技術特論A (2021)
第4回 配信講義 計算科学技術特論A (2021)
RCCSRENKEI
?
kagamicomput201703
kagamicomput201703kagamicomput201703
kagamicomput201703
swkagami
?
kagamicomput201714
kagamicomput201714kagamicomput201714
kagamicomput201714
swkagami
?

Viewers also liked (19)

kagami_comput2015_12
kagami_comput2015_12kagami_comput2015_12
kagami_comput2015_12
swkagami
?
kagami_comput2016_03
kagami_comput2016_03kagami_comput2016_03
kagami_comput2016_03
swkagami
?
kagami_comput2015_14
kagami_comput2015_14kagami_comput2015_14
kagami_comput2015_14
swkagami
?
kagami_comput2015_13
kagami_comput2015_13kagami_comput2015_13
kagami_comput2015_13
swkagami
?
kagami_comput2015_11
kagami_comput2015_11kagami_comput2015_11
kagami_comput2015_11
swkagami
?
kagami_comput2015_4
kagami_comput2015_4kagami_comput2015_4
kagami_comput2015_4
swkagami
?
kagami_comput2016_12
kagami_comput2016_12kagami_comput2016_12
kagami_comput2016_12
swkagami
?
kagami_comput2016_08
kagami_comput2016_08kagami_comput2016_08
kagami_comput2016_08
swkagami
?
kagami_comput2016_09
kagami_comput2016_09kagami_comput2016_09
kagami_comput2016_09
swkagami
?
kagami_comput2016_07
kagami_comput2016_07kagami_comput2016_07
kagami_comput2016_07
swkagami
?
kagami_comput2015_3
kagami_comput2015_3kagami_comput2015_3
kagami_comput2015_3
swkagami
?
kagami_comput2015_2
kagami_comput2015_2kagami_comput2015_2
kagami_comput2015_2
swkagami
?
そして箩蝉の基础へ戻る#4
そして箩蝉の基础へ戻る#4そして箩蝉の基础へ戻る#4
そして箩蝉の基础へ戻る#4
Shingo Inoue
?
贬罢惭尝5クイズ!
贬罢惭尝5クイズ!贬罢惭尝5クイズ!
贬罢惭尝5クイズ!
yoshikawa_t
?
JavaScript 基礎文法のまとめ
JavaScript 基礎文法のまとめJavaScript 基礎文法のまとめ
JavaScript 基礎文法のまとめ
Yossy Taka
?
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
Ryo Sakamoto
?
A Visys é especialista em solu??es para sua Empresa! Você quer fazer a difere...A Visys é especialista em solu??es para sua Empresa! Você quer fazer a difere...
A Visys é especialista em solu??es para sua Empresa! Você quer fazer a difere...
Sonia Fernandes Bogo
?
Spanish_AdSenseOnlineOverview_121103_psSpanish_AdSenseOnlineOverview_121103_ps
Spanish_AdSenseOnlineOverview_121103_ps
Natura
?
kagami_comput2015_7
kagami_comput2015_7kagami_comput2015_7
kagami_comput2015_7
swkagami
?
kagami_comput2015_12
kagami_comput2015_12kagami_comput2015_12
kagami_comput2015_12
swkagami
?
kagami_comput2016_03
kagami_comput2016_03kagami_comput2016_03
kagami_comput2016_03
swkagami
?
kagami_comput2015_14
kagami_comput2015_14kagami_comput2015_14
kagami_comput2015_14
swkagami
?
kagami_comput2015_13
kagami_comput2015_13kagami_comput2015_13
kagami_comput2015_13
swkagami
?
kagami_comput2015_11
kagami_comput2015_11kagami_comput2015_11
kagami_comput2015_11
swkagami
?
kagami_comput2015_4
kagami_comput2015_4kagami_comput2015_4
kagami_comput2015_4
swkagami
?
kagami_comput2016_12
kagami_comput2016_12kagami_comput2016_12
kagami_comput2016_12
swkagami
?
kagami_comput2016_08
kagami_comput2016_08kagami_comput2016_08
kagami_comput2016_08
swkagami
?
kagami_comput2016_09
kagami_comput2016_09kagami_comput2016_09
kagami_comput2016_09
swkagami
?
kagami_comput2016_07
kagami_comput2016_07kagami_comput2016_07
kagami_comput2016_07
swkagami
?
kagami_comput2015_3
kagami_comput2015_3kagami_comput2015_3
kagami_comput2015_3
swkagami
?
kagami_comput2015_2
kagami_comput2015_2kagami_comput2015_2
kagami_comput2015_2
swkagami
?
そして箩蝉の基础へ戻る#4
そして箩蝉の基础へ戻る#4そして箩蝉の基础へ戻る#4
そして箩蝉の基础へ戻る#4
Shingo Inoue
?
贬罢惭尝5クイズ!
贬罢惭尝5クイズ!贬罢惭尝5クイズ!
贬罢惭尝5クイズ!
yoshikawa_t
?
JavaScript 基礎文法のまとめ
JavaScript 基礎文法のまとめJavaScript 基礎文法のまとめ
JavaScript 基礎文法のまとめ
Yossy Taka
?
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
Ryo Sakamoto
?
A Visys é especialista em solu??es para sua Empresa! Você quer fazer a difere...A Visys é especialista em solu??es para sua Empresa! Você quer fazer a difere...
A Visys é especialista em solu??es para sua Empresa! Você quer fazer a difere...
Sonia Fernandes Bogo
?
Spanish_AdSenseOnlineOverview_121103_psSpanish_AdSenseOnlineOverview_121103_ps
Spanish_AdSenseOnlineOverview_121103_ps
Natura
?
kagami_comput2015_7
kagami_comput2015_7kagami_comput2015_7
kagami_comput2015_7
swkagami
?

Similar to kagami_comput2015_9 (10)

kagamicomput201709
kagamicomput201709kagamicomput201709
kagamicomput201709
swkagami
?
第3回システム系輪講会:IPDPS'17 の機械学習系論文
第3回システム系輪講会:IPDPS'17 の機械学習系論文第3回システム系輪講会:IPDPS'17 の機械学習系論文
第3回システム系輪講会:IPDPS'17 の機械学習系論文
Junya Arai
?
Pythonとdeep learningで手書き文字認識
Pythonとdeep learningで手書き文字認識Pythonとdeep learningで手書き文字認識
Pythonとdeep learningで手書き文字認識
Ken Morishita
?
Paper reading - Dropout as a Bayesian Approximation: Representing Model Uncer...
Paper reading - Dropout as a Bayesian Approximation: Representing Model Uncer...Paper reading - Dropout as a Bayesian Approximation: Representing Model Uncer...
Paper reading - Dropout as a Bayesian Approximation: Representing Model Uncer...
Akisato Kimura
?
El text.tokuron a(2019).watanabe190613
El text.tokuron a(2019).watanabe190613El text.tokuron a(2019).watanabe190613
El text.tokuron a(2019).watanabe190613
RCCSRENKEI
?
NLP若手の回 ACL2012参加報告
NLP若手の回 ACL2012参加報告NLP若手の回 ACL2012参加報告
NLP若手の回 ACL2012参加報告
Hiroyuki TOKUNAGA
?
コンピュータの整列処理で正解との距离は単调に减少するか?
コンピュータの整列処理で正解との距离は単调に减少するか?コンピュータの整列処理で正解との距离は単调に减少するか?
コンピュータの整列処理で正解との距离は単调に减少するか?
yamahige
?
狈厂贰骋第11回勉强会
狈厂贰骋第11回勉强会狈厂贰骋第11回勉强会
狈厂贰骋第11回勉强会
ko ty
?
充足可能性问题のいろいろ
充足可能性问题のいろいろ充足可能性问题のいろいろ
充足可能性问题のいろいろ
Hiroshi Yamashita
?
Graph Clustering on Missing Data
Graph Clustering on Missing DataGraph Clustering on Missing Data
Graph Clustering on Missing Data
Yuma Inoue
?
kagamicomput201709
kagamicomput201709kagamicomput201709
kagamicomput201709
swkagami
?
第3回システム系輪講会:IPDPS'17 の機械学習系論文
第3回システム系輪講会:IPDPS'17 の機械学習系論文第3回システム系輪講会:IPDPS'17 の機械学習系論文
第3回システム系輪講会:IPDPS'17 の機械学習系論文
Junya Arai
?
Pythonとdeep learningで手書き文字認識
Pythonとdeep learningで手書き文字認識Pythonとdeep learningで手書き文字認識
Pythonとdeep learningで手書き文字認識
Ken Morishita
?
Paper reading - Dropout as a Bayesian Approximation: Representing Model Uncer...
Paper reading - Dropout as a Bayesian Approximation: Representing Model Uncer...Paper reading - Dropout as a Bayesian Approximation: Representing Model Uncer...
Paper reading - Dropout as a Bayesian Approximation: Representing Model Uncer...
Akisato Kimura
?
El text.tokuron a(2019).watanabe190613
El text.tokuron a(2019).watanabe190613El text.tokuron a(2019).watanabe190613
El text.tokuron a(2019).watanabe190613
RCCSRENKEI
?
NLP若手の回 ACL2012参加報告
NLP若手の回 ACL2012参加報告NLP若手の回 ACL2012参加報告
NLP若手の回 ACL2012参加報告
Hiroyuki TOKUNAGA
?
コンピュータの整列処理で正解との距离は単调に减少するか?
コンピュータの整列処理で正解との距离は単调に减少するか?コンピュータの整列処理で正解との距离は単调に减少するか?
コンピュータの整列処理で正解との距离は単调に减少するか?
yamahige
?
狈厂贰骋第11回勉强会
狈厂贰骋第11回勉强会狈厂贰骋第11回勉强会
狈厂贰骋第11回勉强会
ko ty
?
充足可能性问题のいろいろ
充足可能性问题のいろいろ充足可能性问题のいろいろ
充足可能性问题のいろいろ
Hiroshi Yamashita
?
Graph Clustering on Missing Data
Graph Clustering on Missing DataGraph Clustering on Missing Data
Graph Clustering on Missing Data
Yuma Inoue
?

More from swkagami (17)

kagamicomput201814
kagamicomput201814kagamicomput201814
kagamicomput201814
swkagami
?
kagamicomput201813
kagamicomput201813kagamicomput201813
kagamicomput201813
swkagami
?
kagamicomput201812
kagamicomput201812kagamicomput201812
kagamicomput201812
swkagami
?
kagamicomput201811
kagamicomput201811kagamicomput201811
kagamicomput201811
swkagami
?
kagamicomput201810
kagamicomput201810kagamicomput201810
kagamicomput201810
swkagami
?
kagamicomput201807
kagamicomput201807kagamicomput201807
kagamicomput201807
swkagami
?
kagamicomput201806
kagamicomput201806kagamicomput201806
kagamicomput201806
swkagami
?
kagamicomput201805
kagamicomput201805kagamicomput201805
kagamicomput201805
swkagami
?
kagamicomput201804
kagamicomput201804kagamicomput201804
kagamicomput201804
swkagami
?
kagamicomput201803
kagamicomput201803kagamicomput201803
kagamicomput201803
swkagami
?
kagamicomput201802
kagamicomput201802kagamicomput201802
kagamicomput201802
swkagami
?
kagamicomput201713
kagamicomput201713kagamicomput201713
kagamicomput201713
swkagami
?
kagamicomput201712
kagamicomput201712kagamicomput201712
kagamicomput201712
swkagami
?
kagamicomput201711
kagamicomput201711kagamicomput201711
kagamicomput201711
swkagami
?
kagamicomput201710
kagamicomput201710kagamicomput201710
kagamicomput201710
swkagami
?
kagamicomput201707
kagamicomput201707kagamicomput201707
kagamicomput201707
swkagami
?
kagamicomput201705
kagamicomput201705kagamicomput201705
kagamicomput201705
swkagami
?
kagamicomput201814
kagamicomput201814kagamicomput201814
kagamicomput201814
swkagami
?
kagamicomput201813
kagamicomput201813kagamicomput201813
kagamicomput201813
swkagami
?
kagamicomput201812
kagamicomput201812kagamicomput201812
kagamicomput201812
swkagami
?
kagamicomput201811
kagamicomput201811kagamicomput201811
kagamicomput201811
swkagami
?
kagamicomput201810
kagamicomput201810kagamicomput201810
kagamicomput201810
swkagami
?
kagamicomput201807
kagamicomput201807kagamicomput201807
kagamicomput201807
swkagami
?
kagamicomput201806
kagamicomput201806kagamicomput201806
kagamicomput201806
swkagami
?
kagamicomput201805
kagamicomput201805kagamicomput201805
kagamicomput201805
swkagami
?
kagamicomput201804
kagamicomput201804kagamicomput201804
kagamicomput201804
swkagami
?
kagamicomput201803
kagamicomput201803kagamicomput201803
kagamicomput201803
swkagami
?
kagamicomput201802
kagamicomput201802kagamicomput201802
kagamicomput201802
swkagami
?
kagamicomput201713
kagamicomput201713kagamicomput201713
kagamicomput201713
swkagami
?
kagamicomput201712
kagamicomput201712kagamicomput201712
kagamicomput201712
swkagami
?
kagamicomput201711
kagamicomput201711kagamicomput201711
kagamicomput201711
swkagami
?
kagamicomput201710
kagamicomput201710kagamicomput201710
kagamicomput201710
swkagami
?
kagamicomput201707
kagamicomput201707kagamicomput201707
kagamicomput201707
swkagami
?
kagamicomput201705
kagamicomput201705kagamicomput201705
kagamicomput201705
swkagami
?

kagami_comput2015_9

  • 1. 東北大学 工学部 機械知能?航空工学科 2015年度 5セメスター?クラスD 計算機工学 大学院情報科学研究科 鏡 慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ 9. 論理式の簡単化 (教科書3.1~3.3節)
  • 2. 2鏡 慎吾 (東北大学): 計算機工学 2015 (9) 論理式(論理回路)の簡単化 x1 x2 x1 x2 このような組をどうやって見つけるか?
  • 3. 3鏡 慎吾 (東北大学): 計算機工学 2015 (9) カルノー図 (2入力の場合) x2 0 1 x1 0 1 0 1 1 1 ? 1つ1つのマス目(セル)が最小項を表す ? 論理関数に含まれる最小項のセルには1を,含まれな いセルには0を書き込む(あるいは空白のままとする) 1になる3つのセルの和を書き下すと 主加法標準形になる → 真理値表を 2 次元に並べ替える
  • 4. 4鏡 慎吾 (東北大学): 計算機工学 2015 (9) カルノー図の特徴 x2 0 1 x1 0 0 1 1 0 0 x2 0 1 x1 0 0 1 1 0 1 x2 0 1 x1 0 1 1 1 1 1 隣接する 2n 個のセルをまとめることが変数の削除に対応する
  • 5. 5鏡 慎吾 (東北大学): 計算機工学 2015 (9) カルノー図による簡単化 ? 2m 個のセルからなる長方形をルー プと呼ぶ → 基本積に対応 ? できるだけ少なく大きなループによ り,すべての1を覆う ? 少ないループ → 少ない項 ? 大きなループ → 少ないリテラル ? ダブって覆ってもよい セルを1個ずつ取り上げて和を取る 代わりに,隣接する1をまとめた積 項を取り上げてその和を取っても同 じ関数を表現できる x2 0 1 x1 0 1 0 1 1 1
  • 6. 6鏡 慎吾 (東北大学): 計算機工学 2015 (9) 例: 3入力の場合 3入力多数決関数 x1 x2 00 01 11 10 x3 0 0 0 1 0 1 0 1 1 1 この並び方がミソ いずれの基本積もうまく長方形 で表せるようになっている
  • 7. 7鏡 慎吾 (東北大学): 計算機工学 2015 (9) 例 x1 x2 00 01 11 10 x3 0 1 0 0 1 1 1 0 1 1 上下左右も隣接している! x1 x2 00 01 11 10 x3 0 1 0 0 1 1 1 0 1 1
  • 8. 8鏡 慎吾 (東北大学): 計算機工学 2015 (9) 簡単化の手順の(一応の)まとめ 1. 1を覆うループのうち,他のループに包含されないもの(主 項ループ)のみを列挙する ? 隣接するループを結合できないか? と考えるとよい 2. ひとつの主項ループでしか覆われていない1がある場合, そのループ(必須主項ループ)は必ず残す 3. 必須主項ループで覆われていない1がある場合,できるだ け少ない主項ループで覆う ? このとき複数の選び方がある場合は,できるだけ大き なループの組合せを選ぶ (結局,完全に自動化できる手順ではない)
  • 9. 9鏡 慎吾 (東北大学): 計算機工学 2015 (9) 例 x1 x2 00 01 11 10 x3x4 00 1 1 01 1 1 11 1 1 1 10 1 1 1 ?入力変数が増えるとだんだん難しくなってくる ?上下左右の隣接に注意 (特に四隅が気づきにくい) ?一般に,答えは一通りとは限らない(see 教科書例題3.2)
  • 10. 10鏡 慎吾 (東北大学): 計算機工学 2015 (9) ドントケア項のある場合 x1 x2 00 01 11 10 x3 0 * 0 1 0 1 * * 1 1 最小項のうち一部に「1になっても0になってもよい」ものがある 場合(その項に対応する入力を考える必要がない場合) 冗長項 (don’t care term) , 組合せ禁止項などと呼び, しばしば * で表す ループはできるだけ少なく,大きくしたいので, ? 既存のループを大きくできるなら積極的に使う ? 新たにループを作らないといけないなら無視する
  • 11. 11鏡 慎吾 (東北大学): 計算機工学 2015 (9) 例: 7セグメントLED http://ja.wikipedia.org/wiki/%E7%94% BB%E5%83%8F:7segdisplay.jpg d3 d2 d1 d0 a b c d e f g a b c g LED点灯回路 (例: 74HC4511) ? 出力 e を d3, d2, d1, d0 の論理式で表し,簡単化せよ 2進数入力 (binary coded decimal, BCD)
  • 12. 12鏡 慎吾 (東北大学): 計算機工学 2015 (9) 出力 e を簡単化する例 d1d0 00 01 11 10 d3d2 00 1 1 01 1 11 * * * * 10 1 * * d3 d2 d1 d0 e 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 0 1 1 0 1 0 1 1 1 0 1 0 0 0 1 1 0 0 1 0 1 0 1 0 * 1 0 1 1 * 1 1 0 0 * 1 1 0 1 * 1 1 1 0 * 1 1 1 1 * 0 1 2 3 4 5 6 7 8 9 don’t care
  • 13. 13鏡 慎吾 (東北大学): 計算機工学 2015 (9) 参考: 実際の論理式簡単化 ? カルノー図による方法は,5入力以上になるとあまりうれしくな い(頑張っても6入力程度).自動化に向いていない → より自動化に適した方法: e.g.: クワイン?マクラスキー法 ではそれで十分か? ? 複雑になると難しい (記憶容量,計算時間が大きすぎる) ? 多数の出力がある場合,さらに簡単な組み合わせがあり得る ? 積和形よりより回路があるかも知れない → 組合せ最適化問題の典型であり,厳密に解くのは難しい. ヒューリスティック(発見的)な解法が用いられる
  • 14. 14鏡 慎吾 (東北大学): 計算機工学 2015 (9) 参考: 用語の意味をカルノー図で考える x1 x2 00 01 11 10 x3x4 00 01 11 1 10 x1 x2 00 01 11 10 x3x4 00 0 01 11 10 最小項: x1 x2 x3 x4 最大項: x1+x2+x3+x4
  • 15. 15鏡 慎吾 (東北大学): 計算機工学 2015 (9) 参考: 用語の意味をカルノー図で考える 主加法標準形 x1 x2 00 01 11 10 x3 x4 00 01 11 1 10 x1 x2 00 01 11 10 x3 x4 00 01 1 11 10 x1 x2 00 01 11 10 x3 x4 00 01 11 10 1 + + + … 主乗法標準形 x1 x2 00 01 11 10 x3 x4 00 01 11 0 10 x1 x2 00 01 11 10 x3 x4 00 01 0 11 10 x1 x2 00 01 11 10 x3 x4 00 01 11 10 0 ? ? ? …
  • 16. 16鏡 慎吾 (東北大学): 計算機工学 2015 (9) 練習問題 (1) カルノー図で表せ (2) できるだけ簡単な積和型の論理式で表せ (3) (2) で求めた論理式を表す論理回路図を示せ.AND, OR, NOT の各ゲートを使用してよい (4) 関数 f に冗長項 (x,y,w) = (0,1,1) を加えた不完全記述 論理関数を f ’ とする.f ’ をできるだけ簡単な積和型の論 理式で表し,論理回路図を示せ.
  • 17. 17鏡 慎吾 (東北大学): 計算機工学 2015 (9) 解答例 x y 00 01 11 10 z w 00 1 1 01 11 1 10 1 1 1 1 x y z w f
  • 18. 18鏡 慎吾 (東北大学): 計算機工学 2015 (9) 解答例 (つづき) x y 00 01 11 10 z w 00 1 1 01 * 11 * 1 10 1 1 1 1 y z w f ’
  • 19. 19鏡 慎吾 (東北大学): 計算機工学 2015 (9) 例題(おまけ) ? 朝まで飲んでいたわけではなくて,晴れていて,落とせない講義がある日 は登校する ? 落とせない講義がなくても,朝まで飲んでいたわけではなくて,晴れてい る日は登校する ? 朝まで飲んでいた日でも,落とせない講義がある日は天気に関わらず登 校する ? 天気が悪くても,落とせない講義がある日で,朝まで飲んでたわけじゃな い場合は登校する ? 上記で挙がった場合以外は休む (1) x1: 朝まで飲んでいた, x2 落とせない講義がある, x3: 晴天である として「A君登校関数」を論理式で表せ. (2) 「A君登校関数」のカルノー図をかき,簡単化せよ. A君はあまり真面目に大学に来ない学生であるが,全く来ないわけ でもない.よく観察してみると以下の法則性があることがわかった:
  • 20. 20鏡 慎吾 (東北大学): 計算機工学 2015 (9) 例題(おまけ) 解答例 x1 x2 x3 + x1 x2 x3 + x1 x2 + x1 x2 x3 (飲) (講) (晴) x2 x3 00 01 11 10 x1 0 1 1 1 1 1 1 カルノー図から,簡単化すると x2 + x1 x3 (つまりA君は,落とせない講義が ある日,または,朝まで飲んで無く てかつ晴れている日は登校する) ? 朝まで飲んでいたわけではなくて,晴れていて,落と せない講義がある日は登校する ? 落とせない講義がなくても,朝まで飲んでいたわけで はなくて,晴れている日は登校する ? 朝まで飲んでいた日でも,落とせない講義がある日は 天気に関わらず登校する ? 天気が悪くても,落とせない講義がある日で,朝まで 飲んでたわけじゃない場合は登校する