SlideShare a Scribd company logo
1 of 20
Download to read offline
東北大学 工学部 機械知能・航空工学科
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

kagami_comput2015_8
kagami_comput2015_8kagami_comput2015_8
kagami_comput2015_8swkagami
 
kagami_comput2016_06
kagami_comput2016_06kagami_comput2016_06
kagami_comput2016_06swkagami
 
kagami_comput2016_02
kagami_comput2016_02kagami_comput2016_02
kagami_comput2016_02swkagami
 
kagamicomput201701
kagamicomput201701kagamicomput201701
kagamicomput201701swkagami
 
kagami_comput2016_13
kagami_comput2016_13kagami_comput2016_13
kagami_comput2016_13swkagami
 
SSII2019企画: 点群深層学習の研究動向
SSII2019企画: 点群深層学習の研究動向SSII2019企画: 点群深層学習の研究動向
SSII2019企画: 点群深層学習の研究動向SSII
 
kagamicomput201702
kagamicomput201702kagamicomput201702
kagamicomput201702swkagami
 
how-calculate-cluster-coefficience
how-calculate-cluster-coefficiencehow-calculate-cluster-coefficience
how-calculate-cluster-coefficienceNorihiro Shimoda
 
点群深層学習 Meta-study
点群深層学習 Meta-study点群深層学習 Meta-study
点群深層学習 Meta-studyNaoya Chiba
 
コンピューターの整列処理におけるデータ操作の時間的共起分析
コンピューターの整列処理におけるデータ操作の時間的共起分析コンピューターの整列処理におけるデータ操作の時間的共起分析
コンピューターの整列処理におけるデータ操作の時間的共起分析yamahige
 
第126回 ロボット工学セミナー 三次元点群と深層学習
第126回 ロボット工学セミナー 三次元点群と深層学習第126回 ロボット工学セミナー 三次元点群と深層学習
第126回 ロボット工学セミナー 三次元点群と深層学習Naoya Chiba
 
kagamicomput201808
kagamicomput201808kagamicomput201808
kagamicomput201808swkagami
 
kagami_comput2015_10
kagami_comput2015_10kagami_comput2015_10
kagami_comput2015_10swkagami
 
Vanishing Component Analysis
Vanishing Component AnalysisVanishing Component Analysis
Vanishing Component AnalysisKoji Matsuda
 
kagamicomput201706
kagamicomput201706kagamicomput201706
kagamicomput201706swkagami
 
kagamicomput201704
kagamicomput201704kagamicomput201704
kagamicomput201704swkagami
 
第4回 配信講義 計算科学技術特論A (2021)
第4回 配信講義 計算科学技術特論A (2021)第4回 配信講義 計算科学技術特論A (2021)
第4回 配信講義 計算科学技術特論A (2021)RCCSRENKEI
 
kagamicomput201703
kagamicomput201703kagamicomput201703
kagamicomput201703swkagami
 
kagamicomput201714
kagamicomput201714kagamicomput201714
kagamicomput201714swkagami
 

What's hot (20)

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

Viewers also liked

kagami_comput2015_12
kagami_comput2015_12kagami_comput2015_12
kagami_comput2015_12swkagami
 
kagami_comput2016_03
kagami_comput2016_03kagami_comput2016_03
kagami_comput2016_03swkagami
 
kagami_comput2015_14
kagami_comput2015_14kagami_comput2015_14
kagami_comput2015_14swkagami
 
kagami_comput2015_13
kagami_comput2015_13kagami_comput2015_13
kagami_comput2015_13swkagami
 
kagami_comput2015_11
kagami_comput2015_11kagami_comput2015_11
kagami_comput2015_11swkagami
 
kagami_comput2015_4
kagami_comput2015_4kagami_comput2015_4
kagami_comput2015_4swkagami
 
kagami_comput2016_12
kagami_comput2016_12kagami_comput2016_12
kagami_comput2016_12swkagami
 
kagami_comput2016_08
kagami_comput2016_08kagami_comput2016_08
kagami_comput2016_08swkagami
 
kagami_comput2016_09
kagami_comput2016_09kagami_comput2016_09
kagami_comput2016_09swkagami
 
kagami_comput2016_07
kagami_comput2016_07kagami_comput2016_07
kagami_comput2016_07swkagami
 
kagami_comput2015_3
kagami_comput2015_3kagami_comput2015_3
kagami_comput2015_3swkagami
 
kagami_comput2015_2
kagami_comput2015_2kagami_comput2015_2
kagami_comput2015_2swkagami
 
そしてjsの基礎へ戻る#4
そしてjsの基礎へ戻る#4そしてjsの基礎へ戻る#4
そしてjsの基礎へ戻る#4Shingo Inoue
 
HTML5クイズ!
HTML5クイズ!HTML5クイズ!
HTML5クイズ!yoshikawa_t
 
JavaScript 基礎文法のまとめ
JavaScript 基礎文法のまとめJavaScript 基礎文法のまとめ
JavaScript 基礎文法のまとめYossy Taka
 
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013Ryo 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...
A Visys é especialista em soluções para sua Empresa! Você quer fazer a difere...Sonia Fernandes Bogo
 
Spanish_AdSenseOnlineOverview_121103_ps
Spanish_AdSenseOnlineOverview_121103_psSpanish_AdSenseOnlineOverview_121103_ps
Spanish_AdSenseOnlineOverview_121103_psNatura
 
kagami_comput2015_7
kagami_comput2015_7kagami_comput2015_7
kagami_comput2015_7swkagami
 

Viewers also liked (19)

kagami_comput2015_12
kagami_comput2015_12kagami_comput2015_12
kagami_comput2015_12
 
kagami_comput2016_03
kagami_comput2016_03kagami_comput2016_03
kagami_comput2016_03
 
kagami_comput2015_14
kagami_comput2015_14kagami_comput2015_14
kagami_comput2015_14
 
kagami_comput2015_13
kagami_comput2015_13kagami_comput2015_13
kagami_comput2015_13
 
kagami_comput2015_11
kagami_comput2015_11kagami_comput2015_11
kagami_comput2015_11
 
kagami_comput2015_4
kagami_comput2015_4kagami_comput2015_4
kagami_comput2015_4
 
kagami_comput2016_12
kagami_comput2016_12kagami_comput2016_12
kagami_comput2016_12
 
kagami_comput2016_08
kagami_comput2016_08kagami_comput2016_08
kagami_comput2016_08
 
kagami_comput2016_09
kagami_comput2016_09kagami_comput2016_09
kagami_comput2016_09
 
kagami_comput2016_07
kagami_comput2016_07kagami_comput2016_07
kagami_comput2016_07
 
kagami_comput2015_3
kagami_comput2015_3kagami_comput2015_3
kagami_comput2015_3
 
kagami_comput2015_2
kagami_comput2015_2kagami_comput2015_2
kagami_comput2015_2
 
そしてjsの基礎へ戻る#4
そしてjsの基礎へ戻る#4そしてjsの基礎へ戻る#4
そしてjsの基礎へ戻る#4
 
HTML5クイズ!
HTML5クイズ!HTML5クイズ!
HTML5クイズ!
 
JavaScript 基礎文法のまとめ
JavaScript 基礎文法のまとめJavaScript 基礎文法のまとめ
JavaScript 基礎文法のまとめ
 
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
 
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...
A Visys é especialista em soluções para sua Empresa! Você quer fazer a difere...
 
Spanish_AdSenseOnlineOverview_121103_ps
Spanish_AdSenseOnlineOverview_121103_psSpanish_AdSenseOnlineOverview_121103_ps
Spanish_AdSenseOnlineOverview_121103_ps
 
kagami_comput2015_7
kagami_comput2015_7kagami_comput2015_7
kagami_comput2015_7
 

Similar to kagami_comput2015_9

kagamicomput201709
kagamicomput201709kagamicomput201709
kagamicomput201709swkagami
 
第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).watanabe190613RCCSRENKEI
 
NLP若手の回 ACL2012参加報告
NLP若手の回 ACL2012参加報告NLP若手の回 ACL2012参加報告
NLP若手の回 ACL2012参加報告Hiroyuki TOKUNAGA
 
コンピュータの整列処理で正解との距離は単調に減少するか?
コンピュータの整列処理で正解との距離は単調に減少するか?コンピュータの整列処理で正解との距離は単調に減少するか?
コンピュータの整列処理で正解との距離は単調に減少するか?yamahige
 
NSEG第11回勉強会
NSEG第11回勉強会NSEG第11回勉強会
NSEG第11回勉強会ko ty
 
充足可能性問題のいろいろ
充足可能性問題のいろいろ充足可能性問題のいろいろ
充足可能性問題のいろいろHiroshi Yamashita
 
Graph Clustering on Missing Data
Graph Clustering on Missing DataGraph Clustering on Missing Data
Graph Clustering on Missing DataYuma Inoue
 

Similar to kagami_comput2015_9 (10)

kagamicomput201709
kagamicomput201709kagamicomput201709
kagamicomput201709
 
第3回システム系輪講会:IPDPS'17 の機械学習系論文
第3回システム系輪講会:IPDPS'17 の機械学習系論文第3回システム系輪講会:IPDPS'17 の機械学習系論文
第3回システム系輪講会:IPDPS'17 の機械学習系論文
 
Pythonとdeep learningで手書き文字認識
Pythonとdeep learningで手書き文字認識Pythonとdeep learningで手書き文字認識
Pythonとdeep learningで手書き文字認識
 
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...
 
El text.tokuron a(2019).watanabe190613
El text.tokuron a(2019).watanabe190613El text.tokuron a(2019).watanabe190613
El text.tokuron a(2019).watanabe190613
 
NLP若手の回 ACL2012参加報告
NLP若手の回 ACL2012参加報告NLP若手の回 ACL2012参加報告
NLP若手の回 ACL2012参加報告
 
コンピュータの整列処理で正解との距離は単調に減少するか?
コンピュータの整列処理で正解との距離は単調に減少するか?コンピュータの整列処理で正解との距離は単調に減少するか?
コンピュータの整列処理で正解との距離は単調に減少するか?
 
NSEG第11回勉強会
NSEG第11回勉強会NSEG第11回勉強会
NSEG第11回勉強会
 
充足可能性問題のいろいろ
充足可能性問題のいろいろ充足可能性問題のいろいろ
充足可能性問題のいろいろ
 
Graph Clustering on Missing Data
Graph Clustering on Missing DataGraph Clustering on Missing Data
Graph Clustering on Missing Data
 

More from swkagami

kagamicomput201814
kagamicomput201814kagamicomput201814
kagamicomput201814swkagami
 
kagamicomput201813
kagamicomput201813kagamicomput201813
kagamicomput201813swkagami
 
kagamicomput201812
kagamicomput201812kagamicomput201812
kagamicomput201812swkagami
 
kagamicomput201811
kagamicomput201811kagamicomput201811
kagamicomput201811swkagami
 
kagamicomput201810
kagamicomput201810kagamicomput201810
kagamicomput201810swkagami
 
kagamicomput201807
kagamicomput201807kagamicomput201807
kagamicomput201807swkagami
 
kagamicomput201806
kagamicomput201806kagamicomput201806
kagamicomput201806swkagami
 
kagamicomput201805
kagamicomput201805kagamicomput201805
kagamicomput201805swkagami
 
kagamicomput201804
kagamicomput201804kagamicomput201804
kagamicomput201804swkagami
 
kagamicomput201803
kagamicomput201803kagamicomput201803
kagamicomput201803swkagami
 
kagamicomput201802
kagamicomput201802kagamicomput201802
kagamicomput201802swkagami
 
kagamicomput201713
kagamicomput201713kagamicomput201713
kagamicomput201713swkagami
 
kagamicomput201712
kagamicomput201712kagamicomput201712
kagamicomput201712swkagami
 
kagamicomput201711
kagamicomput201711kagamicomput201711
kagamicomput201711swkagami
 
kagamicomput201710
kagamicomput201710kagamicomput201710
kagamicomput201710swkagami
 
kagamicomput201707
kagamicomput201707kagamicomput201707
kagamicomput201707swkagami
 
kagamicomput201705
kagamicomput201705kagamicomput201705
kagamicomput201705swkagami
 

More from swkagami (17)

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

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君は,落とせない講義が ある日,または,朝まで飲んで無く てかつ晴れている日は登校する) • 朝まで飲んでいたわけではなくて,晴れていて,落と せない講義がある日は登校する • 落とせない講義がなくても,朝まで飲んでいたわけで はなくて,晴れている日は登校する • 朝まで飲んでいた日でも,落とせない講義がある日は 天気に関わらず登校する • 天気が悪くても,落とせない講義がある日で,朝まで 飲んでたわけじゃない場合は登校する