投稿

ラベル(論理)が付いた投稿を表示しています

N88-BASICでデジタル回路 (3回目)

イメージ
2024/2/6(火) N88-BASICでデジタル回路 (3回目)   OFFスイッチ/ONスイッチでON/OFF制御する デジタル回路   ■ 解説 1=true(真)、0=false(偽) a:OFFスイッチ b:ONスイッチ c:出力   以下 NOT, AND, ORは1bit論理演算子とする   c = 0 x =   NOT a z = c AND x c = z OR  b   初め c = 0, a = 0, b = 0 x =   NOT a =   NOT 0 = 1 z = c AND x = 0 AND 1 = 0 c = z OR  b = 0 OR  0 = 0 出力c = 0   bを押す c = 0, a = 0, b = 1 x =   NOT a =   NOT 0 = 1 z = c AND x = 0 AND 1 = 0 c = z OR  b = 0 OR  1 = 1 出力c = 1   bを離す c = 1, a = 0, b = 0 x =   NOT a =   NOT 0 = 1 z = c AND x = 1 AND 1 = 1 c = z OR  b = 1 OR  0 = 1 出力c = 1   aを押す c = 1, a = 1, b = 0 x =   NOT a =   NOT 1 = 0 z = c AND x = 1 AND 0 = 0 c = z OR  b = 0 OR  0 = 0 出力c = 0   aを離す c = 0, a = 0, b = 0 x =   NOT a =   NOT 0 = 1 z = c AND x = 0 AND 1 = 0 c = z OR  b = 0 OR  0 = 0 出力c = 0   以上により b=1でc=1の後b=0でもc=1 a=1でc=0の後a=0でもc=0 となり bでON、aでOFFにするスイッチの回路になる   ■ おまけ ? = 1 or 0   a,bを同時に押す c = ?, a = 1, b = 1 x =   NOT a =   NOT 1 = 0 z = c AND x = ? AND 0 = 0 c = z OR  b = 0 OR  1 = 1 出力c = 1   a,bを同時に離す c = ?, a = 0, b = 0

直観主義数学

2022/10/4(火) 直観主義数学   直観主義数学という言葉を耳にしました 何だろうと思い調べてみると 古典論理と直観主義論理にたどり着きました   論理は 「 AならばB」が真の時、対偶「BでなければAでない」 も真である、などといった数学の分野です   使用分野 古典~は科学分野など 直観~は情報分野 (計算機)など で使用されるそうです   直観主義論理は古典論理から排中律を除いたもの で、証明できる場合がより限定されます   排中律は 「 AまたはAでない」は真であるという事 (AかAでないかのどちらかしかない)   古典~で証明ができて科学分野で役に立っても 直観~で証明できない場合があり、その場合 計算ができなく、情報分野 (計算機)では 役に立たないという事です   例題   「無理数の無理数乗」には有理数が存在する の証明     古典~で証明   √2は無理数である(証明省略) (√2 √2 ) √2  = √2 √2√2  = (√2) 2  = 2で有理数 ここで 「 AまたはAでない」は真 (AかAでないかのどちらかしかない) を使用する   √2 √2 が有理数なら 「無理数の無理数乗」には有理数が存在する   √2 √2 が無理数 (有理数でない)なら (√2 √2 ) √2  = 2 「無理数の無理数乗」には有理数が存在する   つまり √2 √2 は有理数か有理数でないかのどちらかしかない ので、どちらにせよ有理数が存在する この証明は何らかの役には立つ   しかし、直観~で証明されていない この証明ではどちらが有理数か不明なので 存在する有理数を計算して求める事が出来ない   [√2 √2 を計算してもそれが有理数かどうか不明 (√2 √2 ) √2   も同様に無理数の無理数乗か不明 ]     直観~で証明   実は √2 √2 が無理数であることは証明されている そうですのでこれを使うと (√2 √2 ) √2  = √2 √2√2  = (√2) 2  = 2で有理数 で証明できる (排中律不使用)   こちらの証明では無理数の無理数乗 (√2 √2 ) √2   の計算ができる N88-BASICでは ? ( sqr(2) ^ sqr(2) ) ^ sqr(2) ですが、計算誤差の為、丁度 2にならないかもしれません

緑色の目をしたドラゴンの問題

イメージ
2022/9/1(木)   緑色の目をしたドラゴンの問題(Green-eyed dragons ) を100匹から3人にするなど多少アレンジした問題です   目の色が緑か赤のどちらかだと知らされている 緑目の3人A,B,Cが居る島があり、3人共次の条件がある   1. 他人の目の色は見る事が出来る 2. 自分の目の色を自身の思考以外で知る事は出来ない 3. 自分の目の色が分った時は、その日のうちに島を出る ある日(1日目)に島にやってきた旅人が 「この島人3人の内、少なくとも1人は緑目だ」 と言って去っていった 全員が島を去るのは何日目か                     1日目   緑目〇,赤目×、A,B,Cの思考をそれぞれ□,吹出,くも吹出とする (Aは、Bが「Cは全員が×の可能性を 否定できない 」と考えている、 と考えているが、旅人の一言で 否定できる 様になる)   Aの思考の中のBの思考の中のCの思考では A,B共に×ならCが〇なのでCは出ていくとAは考える Aの思考の中のCの思考の中のBの思考では A,C共に×ならBが〇なのでBは出ていくとAは考える   しかし、現実は全員〇なのでCもBも出ていかない (B,CもAと同じことを考えている)   2日目 B,C共出ていかなかったので、A,B共に×、A,C共に×は無しになる   Aの思考の中のBの思考ではB,Aの少なくとも1人は〇と考える のでAが×ならBは〇と分かりBは出ていくとAは考える Aの思考の中のCの思考ではC,Aの少なくとも1人は〇と考える のでAが×ならCは〇と分かりCは出ていくとAは考える   しかし、現実は全員〇なのでBもCも出ていかない (B,CもAと同じことを考えている)       3日目 B,C共出ていかなかったので、 Aは自分が×ではないので〇だと分かり出ていく   B,CもAと同じことを考えているので全員出ていく   答え、3日目(旅人が来てから2日後)に全員出ていく   人数が1人なら1日目に、2人なら2日目に出ていく 3人なら1日後に2人の時と同じになるので2+1日目に出ていく n人なら1日後にn-1人と同じになるのでn-1+1日目に出ていく つまり、n人ならn日目に出ていく  

N88-BASICでデジタル回路 (2回目)

イメージ
2022/1/14(金) N88-BASICでデジタル回路 (2回目)   1bit + 1bit = 2bits (2進数1桁同士の足し算) を計算するデジタル回路(加算器)を考えます   1=true(真)、0=false(偽)   a + b = cd 0   0   00 0   1   01 1   0   01 1   1   10   d = a XOR b c = a AND b   NOT、AND、OR、XOR素子を組合わせた回路を作ります a,bが入力、c,dが出力です   NOTは1、0の反転 ANDは両方1の時のみ1 OR は両方0の時のみ0 XORは両方同じとき0違うとき1 です   2bits + 2bits = 3bits (2進数2桁同士の足し算) を計算するデジタル回路(加算器)を考えます   a + b = cd 0   0   00 0   1   01 0   0   01 0   1   10   d = a XOR b c = a AND b これをもとに、筆算の要領で多桁の計算をします (例) 11 + 11 = 110    1     c1    11     ab +) 11  +) cd ------ ------   110    xyz   ab + cd = xyz   z  = b  XOR d  '--- d1 c1 = b  AND d d2 = a  XOR c c2 = a  AND c y  = d2 XOR c1 '--- d3 x  = d2 AND c1 OR c2   NOT、AND、OR、XOR素子を組合わせた回路を作ります a,b,c,dが入力、x,y,zが出力です (この回路は最適なものではなく、試行錯誤適当に考えて とりあえず動いたものです)   3bits + 3bits = 4bits (2進数3桁同士の足し算) を計算するデジタル回路(加算器)を考えます   a + b = cd 0   0   00 0   1   01 0   0   01 0   1   10   d = a XOR b c = a AND b これをもとに、筆算の要領で多桁の計算をします (例) 111 + 111 = 1110     11     111 +)  111 ----

N88-BASICでデジタル回路 (1回目)

イメージ
2022/1/12(水) N88-BASICでデジタル回路 (1回目)   2bits binary(2桁の2進数)を 7segment displayに10進表示する回路を 考えます    AAAA F    B F    B  GGGG E    C E    C  DDDD   2bitsの2進数yzとA~Gの表示の対応表 1=true(真)、0=false(偽)   yz  A B C D E F G 00  1 1 1 1 1 1 0 01  0 1 1 0 0 0 0 10  1 1 0 1 1 0 1 11  1 1 1 1 0 0 1   A = (NOT z) OR y B = -1 C = z OR (NOT y) D = A E = NOT z F = NOT (z OR y) G = y   y,zが入力でA~Gが出力で、1の時光らせます   NOT、AND、OR、XOR素子を組合わせた回路を作ります 優先順位を分かりやすくするため不要な()を付けています (この回路は最適ではなく、とりあえず動くものです)   NOTは1、0の反転 ANDは両方1の時のみ1 OR は両方0の時のみ0 XORは両方同じとき0違うとき1   次に3bits binary(3桁の2進数)を 7segment displayに10進表示する回路を 考えます    AAAA F    B F    B  GGGG E    C E    C  DDDD   3bitsの2進数xyzとA~Gの表示の対応表   xyz  A B C D E F G 000  1 1 1 1 1 1 0 001  0 1 1 0 0 0 0 010  1 1 0 1 1 0 1 011  1 1 1 1 0 0 1 100  0 1 1 0 0 1 1 101  1 0 1 1 0 1 1 110  1 0 1 1 1 1 1 111  1 1 1 0 0 1 0   A = (NOT (x XOR z)) OR y B = NOT ((z XOR y) AND x) C = (NOT y) OR z OR x D = (NOT ((z XOR y) XOR x)) OR ((NOT z) AND y) E = (NOT z) AND (y OR (NOT x)) F = (NOT (z