fygar256’s blog

fygar256のブログ・備忘録

数学的確率と論理的真理値の違い

現代数学的に言って、数直線に一本のダーツを投げて、矢の先端が値aの点に当たる確率は0であるが、起こりうる。

例:0〜1の実数をランダムに1つ選ぶ
区間 [0,1] から一様に1つ選ぶとします。
特定の1点(例:0.5)が選ばれる確率は 0
でも 0.5 が選ばれることは可能
つまり:
確率0 ≠ 不可能
確率1 ≠ 必然

---------------------------------------------------------------------------------------------------------------

ここで、無限小の概念を導入したらいけないのかな。

つまり、区間[0,1]から一様に特定の一点(0.5)が選ばれる確率は無限小。

そうすると、確率は0ではなくなる。

論理学的には1は真、0は偽である。

無限小の概念を導入したら、論理学と数学的確率の0と1が一致するのではないか。

現代数学的には確率1のものを真、確率0のものを偽としてはいけないらしいが。

虚数の存在証明

虚数の存在証明

結論からいうと、虚数が「実際」に存在することを数学的に証明することはできません。
なぜなら数学における「存在証明」とは、「ある体系(公理系)」の中でその対象が矛盾なく定義されることを示す、という意味だからです。


複素数体系を構築する

集合 C={(a,b)∣a,b∈R} を考える。
加法と乗法を次のように定義する:
(a,b)+(c,d)=(a+c,b+d)
(a,b)⋅(c,d)=(ac−bd,ad+bc)

このとき、
(0,1) という元を 
i と書くと、i^2=(0,1)⋅(0,1)=(−1,0)

となり、確かに 
i^2=−1 が成り立ちます。

QED

囚人のジレンマの答。

囚人のジレンマの答。
「日曜日までにお前の分からない日に殺してやる」と言われ、日曜日までは後1週間ある。さて、いつ殺される?
日曜日は分かっているので殺されない。
土曜日は、日曜に殺されないが、金曜日に、土曜日に殺される可能性と、金曜日に殺される可能性があるので、どちらかわからないので、殺される可能性がある。

死刑囚は木曜日に殺された。

古いノートパソコン、FMV-BIBLO nf/a70

有線LANが駄目になったFMV-BIBLO NF/A70がある。電源が入らないため、電源を何とかし、HDDは入れていると思うので、ArchLinuxをDVDからインストールし、ネットワークはwifiで繋いで、再生を試みよう。古いマシンだが、Archlinuxでwifiが使えれば良い。Inspiron 1525はArchlinuxでwifiが使えなかったが。

フリーズをするので、wifiを切った。

Arch Linuxのwikiを見てみると、Inspiron1525のwifiサポートは未確認となっていて、「journalctl -b -1 -r」で見てみると、iwl3945(wifi interface)でエラーになっていたので、これを無効にしたらフリーズが直るんじゃないかと思って、BIOSでwifiを切った。

もう、フリーズしないと思う。

NetworkManagerのwifiのon/offは次の通り

Turn on wifi:

$ nmcli radio wifi on

Turn off wifi

$ nmcli radio wifi off

Arch Linuxで、Brother DCP-J952Nを動かす。

CUPSのインストール

 sudo pacman -S cups

CUPSサービスの開始

 sudo systemctl enable cups.service

 sudo systemctl start cups.service

Brotherから、RPMパッケージのドライバを持ってきて、rpmextract.shで抽出。

PPDファイルが中にあるのでセーブ。

CUPS(http://127.0.0.1:631)を起動させて、プリンタを追加。

PPDファイルを指定する。

URLは、’ipp://192.168.003.002/ipp/'   (固定IPなので、192.163.003.002を指定している)

テストプリント 出来上がり。

しかし、カラーが出ない。geditからタイトルが印刷されない。無理なのかなあ。

Qiitaの記事編集エディタが動かなくなった原因

Qiitaの記事が編集できなくなった。編集しようとしてもレスポンスがかなり遅いかフリーズする。IMかシステムかがおかしくなっているかと思って、web検索してみたら、ある特定の文字列を記事に含んでいると誤動作するとの記述があった。その問題は解決しているらしいが、新しい問題が起こったのだろう。改造したmc.ext.iniをQiitaに載せるとエディタがおかしくなる。多分、ある特定の文字列が改造したmc.ext.iniに含まれていて、その文字列をアップするとおかしくなるのだろう。Qiitaのバグだろうから、運営にメールを書いておいた。

追記:運営から返事が来て、一部のデバイスでシンタックスハイライトを使うと不具合が発生するとのことで、シンタックスハイライトを切ったら直った。すぐ修正することは難しいと言われてる。

 

シンタックスハイライトを切る方法

```plaintext:mc.ext.ini

---

```

 

 

 

Picasa3のアルバムデータベース削除

今時Picasa3なんて使ってる人居ないだろうな。僕はwineで使っているので、wineの方法を書いておきます。

Picasa3はアルバムの一括削除機能がないので、一回散らかしたアルバムデータは手動で一々削除していくしかありませんでしたが、
/home/gar/.wine/drive_c/users/gar/Local Settings/Application Data/Google/Picasa2/のディレクトリを削除すると、データベースの一括削除ができます。

.../Google/Picasa2Albums/は監視フォルダのリスト等が入っていて、.../Google/Picasa2/にはサムネイルなどが入っています。

削除コマンドのaliasを.bashrcに登録しておくと良いでしょう。

alias picasaclear='rm -rf "/home/gar/.wine/drive_c/users/gar/Local Settings/Application Data/Google/Picasa"*'

これで、picasaclearとすると、データベースと、監視フォルダの一括削除ができます。

 

 

python3 AttributeError

AttributeError: partially initialized module 'random' has no attribute 'seed' (most likely due to a circular import) これが出る時は、実行ファイル名にインポートしたモジュールの名前と同じ名前が付いているときだ。 いちいちpythonはファイル名とインポートモジュール名を区別しなくてはいけない。 調べるのが面倒くさい。 自分自身じゃなくても、インポートモジュールと同じ名前で実行ファイルがあったらダメみたい。 実行ファイルがt.pyという名前で、他に以前うっかり作ってそのままにしておいたrandom.pyというファイルがあったら、それでこのエラーが出た。これは、import randomとぶつかったのである。random.pyを消したら上手く行った。

linux 用PC9801エミュレータ'xnp2'を動かしてみた。Ubuntu 18.04 & Arch linux

09 /232018

linux 用PC9801エミュレータ'xnp2'を動かしてみた。

 

★Ubuntu 18.04

① 必要なパッケージをインストールする。
  sudo apt-get install libsdl-mixer1.2 libsdl-mixer1.2-dev libgtk2.0-dev libglib2.0-dev x11proto-xext-dev gcc-avr build-essential
② https://github.com/nonakap/xnp2 ( GitHub xnp2 )から、zipファイルをダウンロードする。
③ お好みのディレクトリfooで、zipファイルを展開。
④ xnp2-masterというディレクトリが出来るので、その中の、
  x11  (すなわち、foo/xnp2-master/x11/)に入る。
⑤ ビルド。
  (1) sh autogen.sh
      (2) ./configure
      (3) make
      (4) sudo make install
⑥ ディレクトリfooにて、ファントファイルとFreeDOS(98)(MS-DOS同様に動く、無料で手に入るDOS) の入った、ハードディスクイメージを手に入れる。
     (1)font.bmp
     (2)fd98_hd_100m_20180629.zip
⑦ ハードディスクイメージを展開。
     $ unzip fd98_hd_100m_20180629.zip
⑧ ハードディスクイメージを指定して、xnp2を動かす。
     $ xnp2 FD98_HD.hdi
⑨ フォントファイルを指定してxnp2をリセット。
  「Emulate」→「Font...」で指定。「Emulate」→「Reset」でリセット。
⑩ 終了。
  「Emulate」→「Exit」
⑪ 「~/.np2/np2rc」が設定ファイルなので、お好みに設定。
⑫ Linuxファイルシステムと、ハードディスクイメージのファイルの交換をするため、Vectorから、「editdisk」をインストールする。
⑬ 自分は、昔のプログラムを動かすために、screen optionの設定を「EGC」にしてやった。

 

★Arch linux

Arch linuxでは、xnp2は、

yay -S xnp2

で、インストールできる。
以上。

今後の課題

yacc,lex(bison,flex)によるGAME言語のコンパイラ作成。
Prologをやる。
タートルグラフィックス。
pascalをやる。
Javaをやる。
bison,flexはインストールした。SWI-Prolog もインストールした。fpc(Free Pascal)もインストールした。
ucblogoもインストールした。今後の課題である。
eclipseをやろう。pleiadesで日本語化。GUIによるIDEは扱ったことがないので。
linuxでlanを張ってvncserverとremminaをインストールする。
ChatGPTとStable diffusionもやりたい。ChatGPTにはSMSが必要。stable diffusionにはハイスペックのパソコンが必要だ。

GAME言語の思い出

GAME言語が流行ったのは、パソコン黎明期1980年前後。GAME言語には思い入れがあります。僕がコンピュータをやり始めた中学一年の時、まだパソコンはパソコンという呼称ではなくマイコンと呼ばれ、今のように広まっていず、マニアだけがやっていました。当時、国民機と呼ばれたPC-8001、PC-8801が発売され、僕はそれらのコンピュータを買ってもらい、ゲームを作って雑誌に投稿していたマイコン少年でした。ゲームを作るときに問題になるのがコンピュータの処理速度で、Z80の8ビットマイコンにはマイクロソフトのN88-BASICは重くてリアルタイムゲームは無理と言われていました。そこで登場したのが月刊ASCIIに載っていた「GAME言語」で、MZ-80やPC-8001、APPLE][、CBM-3032などの機種で、コンパクトで軽量で高速な処理を実現していました。実行速度はアセンブラには敵わないけれど、雑誌にいろんなGAME言語のプログラムが載り、一世を風靡しました。ちょっと恥ずかしいですが、僕はGAME言語を参考に、自作の言語処理系を作り、インタプリタとコンパイラでゲームを開発していました。自作言語の第一号はMIEP(MICRO INTEGER EXPRESSION PROCESSOR)と言い、エディタとインタプリタとコンパイラで構成されていました。PC-8801用でした。これで、PC-8801向けに、PACK'N BOYとGALACKという、パックマンとギャラクシアンのクローンを作り、PSK(パソコンショップ高知)から発売していました。自作言語の第二号は、これも、GAME言語から派生したものですが、MIGといい、これは略称ではなく、「速いゲームを作りたい」という思いで、旧ソ連の超音速戦闘機から取りました。GAME言語は’General Algorithmic Micro Expression’の略だった様に記憶しています。MIGはIDEを作ろうと思ったのですが、エディタとコンパイラだけで断念。それでも、インラインアセンブラを装備していました。MIGでStarStruck とInternalTroubleというゲームを作り、PSKから発売をしました。このゲームもPC-8801用でした。<div>この間、ふとハックアタックがあり、Ubuntu20.04で、スクラッチからC言語で、GAME言語のインタプリタを二晩徹夜で作り、GithubとQiitaに上げました。いまではGAME言語は廃れており、資料を手に入れるのが困難ですが、GAME言語と聞いてノスタルジーを覚える同世代のエンジニア達のなんかのお役に立てれば、また、思い出を温めるお手伝いができれば、と思っています。

 

qiita.com

qiita.com

github.com

 

github.com