2026年4月23日木曜日

【コピペ可】ドラクエ風ウィンドウ&フォント|HTML/CSSとp5.js でレトロRPG UI はどこまで再現できそうか?

 

レベル1コマンドウィンドウ

画像
画像


スクリーンショット 2021-08-22 17.06.43

レベル2 ドラクエフォント

画像
画像
画像


画像

なぜかEXE解凍

https://m.ezyzip.com/convert-exe-to-zip.html


絶対にない、か、たぶんあるで判断する ブルームフィルタ(Bloom Filter)

 ブルームフィルタ(Bloom Filter)は、「あるかないか」を完全には教えてくれない代わりに、軽く高速に動く集合判定用のデータ構造です。返してくれる答えは二つだけで、「絶対にない」か「たぶんある」です。ここがハッシュテーブルやデータベースと決定的に違う点です。

仕組みはシンプルで、まず固定長のビット配列(0と1だけの配列)を用意し、複数個のハッシュ関数を用意します。要素を登録するときは、その値をハッシュ関数に順番に通し、得られたインデックスのビットを1に立てていきます。検索するときは、同じハッシュ関数群を使ってビットを調べ、全部が1なら「たぶんある」、一つでも0があれば「絶対にない」と判断します。

なぜ「たぶん」なのかというと、異なる複数の要素が同じビットを共有してしまう場合があるからです。その結果、本当は登録されていない値について、関連するビットがたまたますべて1になってしまい、「あるかもしれない」と誤判定することがあります。これを偽陽性と言います。一方で、本当は登録されているのに「絶対にない」と判定される偽陰性は、正しく設計されたブルームフィルタでは原理的に起こりません。

この「偽陽性はあっても偽陰性はない」という非対称な性質が、実務でとても扱いやすいポイントです。例えばスパムメール判定や危険URLリスト照合では、「怪しいかもしれないもの」は後段の重い検査に回し、「絶対に安全なもの」だけを素通しさせたい、という要件がよくあります。ここでブルームフィルタを入り口に置けば、「絶対にリストに存在しない送信者」や「登録されていないURL」を素早く除外でき、データベースや機械学習モデルへの問い合わせを大きく減らせます。

偽陽性の出やすさは、ビット配列の長さと登録する要素数、ハッシュ関数の個数によって変化します。メモリを多めに割り当てれば偽陽性率は下がりますが、そこまで厳密さがいらない用途も多いため、「このくらいの間違いなら許容できる」というビジネス要件に合わせてパラメータを決めるのが実務的な設計です。完全な正確さをあえて手放し、その代わりにメモリと速度、システム全体のスループットを稼ぐ。その割り切りこそが、「絶対にない」か「たぶんある」で判断するブルームフィルタの本質だと言えます。

ブルームフィルタと量子コンピュータは、「完全な正解」よりも「高確率で効率よく正解に近づく」発想が共通しています。実務的には、まず古典側でブルームフィルタを使い「絶対にない」候補を大量に捨て、残った「たぶんある」少数の候補だけを量子アルゴリズム(Grover探索など)に渡して高速検索する、といったハイブリッド構成が有望だと考えられます。

2026年4月22日水曜日

ポカンアレが相対性理論の発見者とはならなかった理由はなんでしょう

 ポアンカレが相対性理論の発見者とならなかった理由はいくつかあります。これらの理由を以下に詳しく説明します。

理論の枠組みの違い

ポアンカレはローレンツ変換や相対性原理に関する重要な貢献をしましたが、彼のアプローチは主に数学的であり、物理的な意味合いを完全には捉えていませんでした。彼の研究は、マックスウェルの方程式や電磁現象の不変性に焦点を当てていましたが、時間と空間の根本的な性質に関する新しい理論的枠組みを構築するには至りませんでした。

アインシュタインの革新的アプローチ

一方、アルベルト・アインシュタインは1905年に発表した論文で、光速度の一定性と相対性原理を基礎に、時間と空間の概念を根本から再定義しました。彼は「同時性の相対性」や「時間の伸び」「空間の収縮」など、物理的な現象としての相対性理論の新しい側面を導入しました。これにより、相対性理論は単なる数学的操作ではなく、物理的な現実の一部として理解されるようになりました。

発表のタイミングと認識

ポアンカレの研究は、アインシュタインと同時期に進められていましたが、彼の結果が統一的な新しい理論として広く認識されることはありませんでした。アインシュタインの1905年の論文「運動する物体の電気力学に関して」は、短く簡潔でありながら、相対性理論の核心を直接的に説明しており、物理学コミュニティに大きなインパクトを与えました。アインシュタインのアプローチは、新しい物理的視点を提供し、従来の物理学の枠組みを超えるものであったため、すぐに注目を集めました。

ポアンカレの認識と意識

ポアンカレ自身は、相対性理論の革新性を完全に認識していなかった可能性があります。彼の研究は確かに重要な貢献を含んでいましたが、それを新しい理論の一環として体系化する意識が不足していたと言えます。また、彼はエーテルの存在を完全には否定していなかったため、アインシュタインのようにエーテルを排除した新しい理論体系を確立するには至りませんでした。

まとめ

ポアンカレが相対性理論の発見者とならなかった理由は、主に彼のアプローチが数学的であり、物理的な意味合いを完全に捉えきれていなかったこと、アインシュタインの革新的な視点と理論の統一的な発表が大きなインパクトを与えたこと、そしてポアンカレ自身の認識の違いに起因します。ポアンカレの貢献は確かに重要でしたが、相対性理論を新しい物理学の枠組みとして確立したのはアインシュタインであったため、彼が相対性理論の発見者として広く認識されています。

ディファレンスエンジン バベッジの階差機関 プリゴジン diffrence engine

 

ニュートンがライプニッツともめながら始めた偉業を弟子たちがまとめて解析学と言う学問になった。

そうこうしているうちに、蒸気機関や産業革命が始まったとされる。プリゴジンが書いているのはその一方で生命の起源だとか古代遺跡だとか進化論を人類が発展させたのだというのが興味深いと言う。

80年代にはインターネットも普及していなかったので、まだいわゆる実体二元論や、それに伴った観測、客体、機械論批判といった議論が新宿界隈で真面目に行われていた。
VRも安価になりyoutubeにアップロードされる動画が一分あたり24時間を超えた頃に、はたして観測や客体について真面目に考える必要があるのかみんな相当なやんだはずだ。一生使っても見切れないほどのデジタルコンテンツが自宅にもアーカイブされることになり、動画によって観測の限界は誰にとっても身近なものに映ってしまう。

物理現象として計算を感じさせてくれるのが階差機関。


https://amzn.to/367nixz

 混沌からの秩序 


https://amzn.to/3kPSaXK

 ディファレンスエンジン


https://amzn.to/33ZfnzQ

 森毅数学の歴史


オイラーの素数に関連する数式は、特にオイラーが発見した n2+n+41 の形をした式で、n が 0 から 39 までの値に対して素数を生成することで有名です。この数式は、特定の範囲内で非常に多くの素数を生成するため、素数の研究において重要です。

一方、バベッジの階差機関は多項式の値を自動的に計算し、数表を作成するために設計された初期の機械的計算機です。階差機関は、与えられた多項式に基づく一連の値を計算することができ、その用途は主に航海や科学的計算における数表の自動生成にありました。

これら二つの間の接点としては、数学的な探求と計算の自動化というテーマが共通しています。バベッジが階差機関を設計した背景には、計算の誤りを減らし、効率を高めるという数学的な計算へのニーズがありました。オイラーの式が示すような数学的パターンや規則性を理解し、それを計算機で扱うことは、バベッジの時代においても現代においても重要な研究分野です。


画像
A courtroom-style sketch of Charles Babbage's Difference Engine, an early mechanical calculator designed in the 19th century. The sketch depicts the intricate gears and levers of the machine in great detail, capturing the complex mechanical structure in dynamic and expressive lines typical of courtroom sketches. The scene is rendered in monochrome to mimic the look of traditional courtroom drawings, emphasizing the historical significance and the mechanical complexity of the Difference Engine

2026年4月21日火曜日

xargs: unterminated quote では閉じ忘れ

 xargs: unterminated quote エラーは、シェルスクリプトやコマンドラインでクォート(引用符)の閉じ忘れや不適切な使用が原因で発生します。このエラーは、xargs コマンドが入力データを処理する際に、開いたままのクォートが見つかった場合に表示されます。

シングルクォートやダブルクォートの閉じ忘れ

  • 例えば、以下のようなコマンドが原因になります:

echo "hello world | xargs echo 'test

上記では、シングルクォート ' が閉じられていないため、xargs がエラーを出します。

マルチライン入力でクォートが正しく閉じられていない

  • 入力データに未閉じのクォートが含まれていると、xargs はエラーを報告します。

printf "hello world 'test\n" | xargs

ファイルやパイプからの入力にクォートが残っている

入力データがパイプやファイルから供給される場合、特に未閉じのクォートが含まれているとエラーが発生します。

似たバグ

JavaScript のエラー "unterminated string literal" は、どこかに終了していない文字列リテラルがあった場合に発生します。文字列リテラルは単一引用符 (') または二重引用符 (") で囲む必要があります。