カルノー図を用いて論理関数の簡単化を行うプログラムを作っているのですが、
変数の入力からカルノー図の表示まで出来たものの、最簡形を求めるところで行き詰まってしまいました。
以下今時点での実行結果です。
(変数:小文字は偽、大文字は真を表しています)
abd
AbCd
AD
ABD
(カルノー図:'_'は空白を表しています)
1___
__11
__11
1__1
いまカルノー図はchar型で宣言しています。
最簡形を求めるには、カルノー図の2^i(i=0,1,2…)個の'1'を長方形または正方形になるようにループで囲んでいき、すべての1を囲むまでこれを行う。
(ループは重なっても構わない。また一番上と下の項はつながっており、一番右と左の項はつながっている)
そして各ループを積項表現をすると主項が得られる。
最後に全主項をORで結ぶことにより、最簡形が得られる。
もしアドバイス等いただける方、回答できる方、いらっしゃいましたら、是非書き込みお願いします。
No.2ベストアンサー
- 回答日時:
>この複数の最小項の値に0が含まれておらず、1が1つ以上含まれているとこの項が主項になります。
この部分は実際のカルノー図では四角で括る部分を選んでいます。
括った中に偽が含まれていては困りますよね。
また、禁止項のみを括っても意味が無いので最低1個は真が含まれていないといけません。
>また完全に他の要素とかぶる項を避けるため、一度、主項に含まれた値が1の最小項の値はXに変えましょう
これは例えば、
ABCという主項で括った後に
ABCDとABCdを括る必要はありませんよね。
なのでABCで括ったときに対応する真のところを禁止項にするのです。すると、上記の「最低1個は1が…」によって
ABCDとABCdは括られることがありません。
また最初にABCDとABCdを括ってしまって、ABCが括られない。という事態を避けるために、
「主項候補中にXが多いものから主項としていきましょう。 」ということです。
No.1
- 回答日時:
とりあえず思いつく方法を
まず、各項の状態は、真、偽、そして真偽どちらでも良い禁止項の3状態が必要になってきます。
説明のため
真
偽
禁止項
を
1
0
X
と、
AbCd
AD
なんかは
1010
1XX1
としておきましょう。
さて、手書きでは2^i個の長方形で括る所は、プログラム的には、主項となりえるパターンぞれぞれで、当てはまる最小項を選び出しましょう。探すべきでしょう。
具体的には
1XX0という主項候補ならば
1000
1010
1100
1110という最小項が対象になります。
この複数の最小項の値に0が含まれておらず、1が1つ以上含まれているとこの項が主項になります。
また完全に他の要素とかぶる項を避けるため、一度、主項に含まれた値が1の最小項の値はXに変えましょう。
また、大きな項から括るために、主項候補中にXが多いものから主項としていきましょう。
我ながら下手な説明だな…
この回答への補足
早速の書き込みありがとうございます。
最小項を求めるところまでは理解できたのですが、
この複数の最小項の値に0が含まれておらず、1が1つ以上含まれているとこの項が主項になります。
また完全に他の要素とかぶる項を避けるため、一度、主項に含まれた値が1の最小項の値はXに変えましょう。
この部分がいまいち理解できません。
もう少し詳しく説明していただければ幸いですm(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 ブール代数 式の簡略化 3 2023/08/19 23:09
- 数学 場合の数・確率 03 集合の要素 7 2023/06/10 08:49
- PDF 「PDF文書を簡単にWordで編集する方法」と 罫線が 図形で出力されるのは? 6 2022/06/14 06:51
- Excel(エクセル) エクセルについて教えてください。 2 2023/06/14 11:11
- その他(プログラミング・Web制作) プログラミング pythonの問題について 2 2022/04/19 00:41
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- Excel(エクセル) エクセルで、未来の月の数値を表示させないようにしたい 1 2022/05/07 18:58
- Windows 10 このWindowsUpdateの失敗メッセージは何を物語るか? 5 2023/07/17 11:49
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- 数学 場合の数、確率 22 名古屋大学 事象の流れ 3 2023/06/27 06:35
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
オープン系、汎用系とは?
-
カルノー図による簡単化
-
定期的にTomcatを再起動...
-
ユーザ時間とシステム時間の違...
-
英語での記入の際のNoneとN/Aの...
-
盗みせむって 盗みすという動詞...
-
おとなしめ
-
古文 「旅をしぞ思う」の品詞分解
-
品詞分解
-
<至急>TOEIC Part6,7 の長文...
-
「さびしむ」という表現には違...
-
古文の品詞分解と活用
-
これってiPhone6sにも使えますか?
-
問題集の数Iの数と式の問題の解...
-
このような形式の問題は何とい...
-
英語長文を読む際、先に選択肢...
-
恥ずかしがり方って品詞は何に...
-
「0 < x ≦ y ≦ zである整数x, y...
-
要約の基本を教えて下さい。
-
徒然草
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ユーザ時間とシステム時間の違...
-
定期的にTomcatを再起動...
-
オープン系、汎用系とは?
-
カルノー図による簡単化
-
FLASH8basicでのグラデーション...
-
車載ソフトウェアのプログラム...
-
論理パレット システムパレ...
-
VBAについての質問です
-
英語での記入の際のNoneとN/Aの...
-
おとなしめ
-
古典文法
-
古文 「旅をしぞ思う」の品詞分解
-
文法
-
「0 < x ≦ y ≦ zである整数x, y...
-
古典の質問です。
-
英語長文を読む際、先に選択肢...
-
古典について 「見」という語の...
-
逆関数を持つための条件につい...
-
品詞分解
-
盗みせむって 盗みすという動詞...
おすすめ情報