いまの小学校
2025.03.17
昭和と比べると大きく変わったのだろうか?全然わからない。

昭和の頃は体罰など普通に有り、保護者も「うちの子が言うことをきかなかったり悪さをしたらブン殴ってやってください」と先生にお願いするぐらい。

それが今では、授業中に抜け出して言うことを聞かない子たちを軽く叩いただけで懲戒処分になるという・・・
もはや、手を触れることも許されないのだろうかと。腫れ物に触るような感じ。

小学生に声をかけただけで通報されるご時世。
通学路があって、小学生と中学生が時間帯になるとたくさん通るが、向こうから挨拶されても返してよいか悩む。こんにちはと言われた、といって通報されたらたまらん。

だいたい、まっすぐ歩かないのは自分が子どもの頃と変わらない。なんかウロウロして、気になるものがあれば釘付けになり、行ったり来たり戻ったり、友達と集まってみたり、泣いたり、わけのわからない事を叫んだり、急に駆け出したり。

タブレットを使うようになったのは我々の頃と違う。そんなもの無かった。動画なんて無い。スライドかOHP、教室のテレビを見るぐらい。

水筒を下げている子をよく見かける。これはずいぶん昔からだけど、我々の頃は水筒なんて遠足ぐらいだった。

校内あちこちに蛇口が有った。(そして、ミカンの網袋に入ったレモン形のせっけんが吊ってあった)
ありがちだが、蛇口に直接に口をつけて飲もうとしたり、指で押さえて水を吹き出させたり、といったいたずらもあった。
身体測定の前に水をたくさん飲んでおこうとした事もあった。(いまでは逆だよ。体重測定があるからトイレに行ってできるだけ出しておこう)

今はケガでもすれば大騒ぎだが、当時は「ここは遊んでいい場所か」、「そういう遊びは危険だろ」、「お前が悪いんだ」とか言って「まず傷口を洗ってこい」、それから赤チンを塗るぐらい。

子どもの頃はしょっちゅうケガした。よく転んだし、友達とふざけていてガラスを割ったり、遊具で遊んでいて頭をぶつけた、切っちゃった、もう色々。

ゴミは焼却炉で燃やすのが当たり前で、当番が校舎裏の焼却炉にゴミを持ってきて放り込んでいた。
たまに鉛筆が混ざっていて、灰の中に鉛筆の芯があった。それに何か魅力を感じて時々持ち帰っていた。
予防接種の後なんか、注射器がそのまま焼却炉に放り込まれていて、針がついている物もあった。それを拾って遊ぶやつもいた。

子どもは、楽しいと思ったら夢中になってしまい、それが危なくても悪いことでもお構いなしということがよくある。(自分だけかも) そして最後に叱られておしまい。以後、その遊びはイカンと禁止令が出た、というパターンを何度繰り返したか。

口に水を含んで、上階からワッと吐き出すと、落下していく水が飛び散るのが楽しくて仕方なかった。そのうちに先生にかかって、誰だという事になり・・・

給食の牛乳のストローの包み紙、細長いやつだが、これを折りたたんで画鋲を刺す。ストローの紙が羽根みたいになって、投げるとくるくる回りながら落ちていく、その動きが面白い。
そして投げて壁に命中させる遊びかたもあった。これは大流行したが、危ないっていうので禁止。

今度は鉛筆を投げる奴が出始めた。(とどろけ!一番 かよ) そしてガラスを割ってしまったりけが人が出て、禁止令が・・・

(ろくでもない話ばかり思い出す)
完全な乱数
2025.03.16
完全な乱数なんて有るのでしょうか?

たとえばMSX-BASICなどには乱数があります。これで簡単に乱数が得られると思うでしょう。

ところが、これは疑似乱数、算術乱数と呼ばれるものです。規則性を持っている、予想できるという意味で、完全な乱数ではありません。

MSX-BASICの内部は知りませんが、一般的な乱数ルーチンでは(簡単な例で)もとの数を5倍して+1する、といった具合に乱数を得ていますから、次の乱数が予想できるわけです。
シミュレーションの再現性という意味では、かえってそのほうが都合の良い場合もあるかもしれません。

インターバルタイマー(例えば1/60)で内部的にカウンタを回しておき、RND関数を呼び出した瞬間の値を拾ってそれを利用するとか。

中学生の頃、BASICでサイコロの確率のシミュレーションを行いました。サイコロを転がす回数が増えれば増えるほど1/6に近づいていきました。

学生の頃に友人がMSX上でSEGAのアーケード機のTETRISを再現しました。その時に、乱数について議論したのでした。

テトリミノは7種類あって、一方で我々が使っている乱数は2進数をベースにしているから、3bitだと0~7の値をとるから8種類、ひとつ余る。
0~6を(NEXTの)テトリミノに割り当てたとして、7が出た時は0~6が出るまで乱数の発生をやり直すか?
その場合の確率的には偏りがあるのか?
7が続けて何度も出るのではないか?
・・・などと議論しました。

そもそもSEGAのTETRISは乱数でNEXTを決めているのかどうかは知りません。我々は、おそらく乱数だろうと考えて作りました。根本的な部分です。

実際、棒ばかり続けて出る事もあったと思います。(あえてデバッグの為に、棒だけ出るようにして試した事もありました。全消しをするとボーナス点になるか確認するなど)

脱線しましたが、乱数を発生するサブルーチンは「Z80マシン語秘伝の書」に載っていたものを利用しました。結局、計算によって次の乱数を求めているので、完全にランダムとは言えないと思います。

その上で、さらに別の乱数を組み合わせて・・・などと考えたりもしましたが、結局どこかで規則性をもってしまいます。

もうひとつ別の乱数ルーチンがあって、その数字と足したり掛けたりして真ん中の1桁を取り出して・・・などと複雑にやっても、やはり規則性があるのです。

円周率をそのまま乱数列として使う、という案も聞いたことがあります。それはメモリ容量を食います。今の時代では問題にならないかも。

理想を求めれば物理乱数になりますが、さすがにCPUだけでは発生できません(発生機能を持っているCPUもあるかも。ここではZ80での話なので発生機能なし)。
古典的な手法では、ノイズ発生機を用いて作ります。そのノイズも、外乱の影響を受けないようにしたものでなければなりません。

Arduinoでは空きピンのアナログポートを読んで、その不定値を乱数あるいは乱数の種にするというのがありました。

パチンコやパチスロの乱数というか抽選は、高速で回るカウンタが有り、たとえばスタートレバーを叩いた瞬間にその値を取ることで得ています。たとえば7だったら当たりとか、いくつからいくつまでの範囲ならベルとか、リプレイとか決まっていました。

昔はその速度が体感器で対応できる程度の遅さだったので、当たりのタイミングを狙う事ができました。その対策として現在ではさらに高速で回しているようです。

そのカウンタだって昔は独立したIC(74HC590等)でしたから、不正に細工をして当たる仕組みなんかもありました。
見た目は普通だけれど、プレイしてみるとおかしいというのでICをはずしてみたら、その裏側をほじくって、8ピンPICマイコンが貼り付いていたりとか。こいつがカウンタを操作して当たらせていたわけです。


昔、ある装置の電源を入れるたびにランダムな値を得たいという要望がありました。

これもずいぶん悩みました。たとえば、電解コンデンサの充放電時間のばらつきを利用しようとしました。誤差が大きいだろうと予想したものの、それほど大きくはありませんでした。

他社製品ではバックアップRAMによって前回の値を覚えていて、それを乱数の種にしていたようです。(やはり計算で乱数を求めていたのでしょう。そのためには乱数の種が必要)

前回値無しで毎回ランダムというのは、簡単そうに思えるけど実際は難しいです。

じつはこれも体感器対策のひとつでした。遊技機の電源は開店前、同時に入れられるので全台同期します。従って、隣の台に移動しても体感器が使えてしまいます。

そこで、タイマーを使って電源ONのタイミングを秒単位でずらしていました。ブレーカーをONにしても、それぞれバラバラに入ります。
だけど毎回のずらし時間は固定されているし、1台ごとにタイマーを入れるにはコストがかかりますから数台まとめて同時にONしていました。(トランスは遊技機4台に1台といった割当なのでトランス1台ごとのタイマー)
そこで1台ずつランダムにずらして電源ONできないか、という話になりました。その後に抽選方式が変わったので、こういったものは不要になりました。
寝ると腰が痛くなる原因
2025.03.15
朝起きた時、あるいは就寝中に腰が痛い。なぜだろう?

調べたり、試したりで分かってきた事・・・寝床に原因がありそうです。

横向きに寝る限り、腰は痛くなりません。

寝ている間、(寝返りしない限り)同じ姿勢を取り続けるので、肩や腰が痛くなるそうです。
起きている間の、たとえばデスクワークの姿勢には気をつけているつもりでしたが、寝る時までは全く考えていませんでした。

この安物のベッドはひょっとしたらひん曲がっているかもしれません。
どうも、腰のあたりが沈んでいるような気がします。
折りたたんだ毛布など挟んでみたら改善するかもしれません。

学生時代に使っていた安物のベッドは、腰のあたりからの発汗のせいか、そこだけ凹んでいました。あれは薄いベニヤ1枚のような代物だったので・・・

朝起きたら身体を動かし、寝ている間に凝り固まった身体をほぐしてやると良いかも?

- CafeLog -