作成者別アーカイブ: takamoto

1900年ぽい世界に異世界ワープしたら


(今回は常態で書きます。)

面白い記事を見つけた。

本の虫: 物理法則が同じかつ1900年ぐらいの科学レベルの異世界にタイムリープした現代人は現代の進んだ科学知識を活用して異世界チート主人公系ラノベのごとくになれるか

異世界チートものと呼ばれる作品群では、現実世界では平凡な主人公が魔法が使えたり妙に男女比が偏っていたりと現実とは設定の異なるパラレルワールドへ飛ばされ、そこでユニークな存在として活躍する様子が描かれる。

そこで、ワープ先の設定がほぼ現実世界と同じで、ただし1900年くらいの世界だったとして、その世界で主人公が現代の科学の知識を武器に活躍しようとしたらどうなるだろうか、という話である。面白そうなので自分なりに考察してみた。

「1900年」という時代

1900年前後という時代は、単に西暦で数えてキリが良いというだけはでなく、科学史にとっては特別な瞬間だ。これは、その直後に科学の景色そのものを塗り替えてしまった2つの物理学上の偉大な進歩がなされた時代だからだ。となると異世界主人公としてはかなり都合の良い時代とも言えるだろう。

一方、科学的知識をもとに実業家として活躍することはできるだろうか。この時期、工学分野は順調に発展を続けているように見える。1900年といえば第5回パリ万国博覧会が開かれた年で、飛行船ツェッペリン号の初飛行の年でもある。例えば映画「スチームボーイ」の世界観がこれに当たるだろうか。エジソンの有名な発明品はもうだいたい登場していて、産業のコメと呼ばれた鉄も量産に向けて邁進している。既に大量の技術者・専門家が活躍している時代で、この時代に異世界主人公が活躍しようとするなら分野を少々考えなければいけない。

いずれにしても、知識の利用に現代の技術が必須なものでは駄目だろう。その当時の世界に役に立つものを用意しなければ異世界チートにはならない。

区分けが現代的な気もするが、分野ごとにわけて考えてみよう。主人公のスペックとしては駆け出し科学者くらいを想定している。調べれば大量に出てきそうなので、自分で思いついたものを書いていくことにする。(年号は調べた。)

理学

先ほどの2つの偉大な進歩について考えてみる。

続きを読む


任意の長文を勝手にHello Worldのソースにする


「○○○は、Hello Worldを表示するプログラムだったんだよ!!」

「Ω ΩΩ<な、なんだってー!?」

本来プログラム言語といえばはじめに文法が決まっていて、そこに文法に従った文字列を入れると実行可能な何かができあがるというのが普通の流れです。

これを逆にしたらどうなるかと思ったのが今回の話題です。つまり、欲しい出力結果があって、適当な文字列があったとき、それをプログラム言語にするようなインタプリタを出力するプログラムを作ろう、というものです。メタプログラミングという用語をはじめて聞いたときに浮かんだ個人的イメージだったり。

もう少し動機を素直に言うと、Brainfu*kの仲間を見てふと思ったのです。Brainfu*k風のプログラム言語ってたくさんあるのですが、どれも本来の雰囲気を損なわないような入力文字列の例(だいたいHello World)を頑張って作っているじゃないですか。

名状しがたいプログラミング言語のようなもの
ジョジョ
長門有希
てってってー
プログラミング言語KQ

(ん、直書きで本来の雰囲気になっている場合も多い?)

でも、そこそこ長い文字列さえあれば、適当に文法を用意して勝手にプログラム言語にできるんじゃないかなと。

続きを読む


[#プリクラ問題]に対する厳密解の探索(準備編)


前回の投稿から数日、プリクラ問題の議論はますます盛んになっていたようです。またちょっと手出しをしてみたので、その記録を書いておきます。

Togetter「プリクラ問題2」

おさらいすると、プリクラ問題とは「n人の集団でm人ずつプリクラを撮るとき、全てのペアが一緒に撮影されるために必要な最小枚数P(n,m)はどのように求まるか」というものでした。

議論は厳密解の探索が主眼となっているようです。この厳密解というのは結構難しくて、何か適当な方法で解を出すのでは駄目で、それが理論的な下限値であることを証明する必要があります。

つまり真っ直ぐなアプローチとしては、常に効率的な組み合わせを見つける一般的な方法を提案し、また理論値ぴったりの下限値の計算法を求め、これらが一致することを示すことになるわけです。しかし、全ての条件を満たすようにこれを解くのは楽な話ではありません。

ある問題の最小値・最大値がわかっていないというのはそれほど珍しい話ではなく、例えばn次元接吻数(ある球の周囲に何個の球が置けるか)は、いくつかの小さい値についてのみしか知られていません。
計算に関わる話ではビジービーバー関数というものが知られていて、ざっくり「n状態をとる停止するチューリングマシンのうちで最も長く出力を吐き出すもの」という定義です、これは答えがあるにも関わらず計算できないことが示されています。
もう少し近い話ではラムゼーの定理というのもあります。ある大きさの完全グラフをいくつかの色に塗る話で、具体例では「6人いれば互いに知り合いか互いに知らない3人組が必ず存在する」などと表現されます。これも一般のn人の場合は非常に難しい問題になります。

もっと単純な話になると、「この15パズルは最短で何手で解ける?」みたいな問題もあります。

このような一般の場合について理論解が出せないときにしばしば役に立つ強力な武器として、探索があります。つまり、全部の撮影の組み合わせをやってみればいいんですね。あるK枚でやってみて全ての場合で駄目で、またK+1枚で解を見つけた場合、それが文句なく答えになるわけです。6×6のオセロは全ての手が解析され後手必勝が確定しましたし、最近だとルービックキューブの全ての状態は最悪20手で解けるという証明がありました。これらは探索により示されたものです。

さて、プリクラ問題に対して全数探索は役に立つのでしょうか。今回は探索の準備編です。

続きを読む


[#プリクラ問題]に対する貪欲解


別にプリクラに貪欲なわけではありません。

こちらの問題にまつわる話です。

下限については比較的よいものがすぐ求まるのですが、理論解となると私の知識では太刀打ち出来なさそうだと思いました。

困ったときにはコンピュータ。理論解ではありませんが、それらしい方針を与えて近似解を求めてもらおうという魂胆です。

ソースコードは一番下へどうぞ。正直な話、今回はソースをはりつけるために作られた記事です。

続きを読む


何票まで開票したら当選確実といえるのか


招き猫

招き猫

 

選挙シーズンですね。

選挙といえばお馴染みのテレビの開票速報。20時を過ぎた瞬間から「ほんとに確実なのかよ、というか1票でも確認したのかよ」と言いたくなるペースで大物政治家の当確報道が流れていくのが恒例行事です。

まあそう言って報道につっかかるのも野暮というもので、単に確実という言葉が100%でなくだいたい正しいという意味で使われているだけですね。(個人的には票を見ずに結果を宣言するのはなんとなく投票という行為自体を軽く扱っている気がするのですが、それはまた別の話。)

結局のところ、どういう理屈で当確が出ているのかは視聴者にはわからずじまいなわけです。出口調査や前回までの結果など複雑なノウハウが詰まったものだし簡単に教えてくれるものではないでしょうが、このご時世、「なんかいろいろやってるんだよ、まあ信じておきな」ではどうにもしっくりこないところがあります。

そこで今回は視点を変えて、「逆に票だけを見て確率的に『確実』というためには、全体のうちのはじめの何票くらいを集計すればいいのか」というのを試しに計算してみたいと思います。

やっていることは二項分布のベイズ推定をしているのみで、数学的にはゆったりした話かと思います。

(以下、なるべく政治的な話にならないよう、具体例では実名を挙げないように気をつけます。)

続きを読む


[作ってみた]物理ぷよぷよ


私のいる学科の演習のひとつに、「シミュレーション&ビジュアライゼーション演習」というものがあります。
シミュレーション&ビジュアライゼーション演習

簡易的ですが実際に動作を見れるシミュレータを題材に各人があれこれいじることで、いわゆる物理シミュレーションに関して比較的楽しく学ぼうという趣旨の授業です。

DA099_L

本来は演習用のソフトですが、せっかくソースコードも公開されているので、気晴らしにひとつ作ってみました。テーマは「物理演算+ぷよぷよ」です。ソースと実行ファイルは一番下に。

今回はぷよぷよといっても対戦要素は無しです。元のルールに物理演算(?)を組み込むことによる大惨事を見届けようというのが今回の趣旨になります。

続きを読む


拍と拍子の概念を宇宙人に伝えよう


先日、こんなツイートを見かけました。

“数学と物理がむちゃくちゃ出来るのだが音楽的センスが全く無いと言う後輩に、拍と拍子の概念を伝えるにはこれでいいのか?”

“先日ツイートした「拍と拍子の概念を数学で表現する」の検証を行いました。 一応計算はできたのですが、拍子の概念を定義するのは非常に難しいということが分かりました。”


「音楽的センスが皆無だが数学と物理なら話が通じる。拍と拍子の概念をどう伝えればよいか?」

ふむ。早い話が宇宙人を想定すればいいのですね。
(私の脳内宇宙人はいつも死ぬほど数学と物理に長けている設定になっています。)

先のツイート内では拍子テンプレート関数なるものを用意していました。これなら拍子以外の要素(コード進行とか?)も考えられそうですが、あまり複雑にすると楽曲のテンポに対しては結果が安定しなくなりそうです。

私ならどうするか。拍子だけならフーリエ変換でもいけそうです。
音をエネルギーか何かの時系列データで表現して、それをフーリエ変換して波数空間で見てあげれば、拍や拍子のピークが見えてもよさそうです。拍の半分の周波数でピークが出れば2拍子、1/3倍の周波数でピークが出れば3拍子です。

と、予想を書いてみるのは簡単ですが、本当にこんなことになるのでしょうか。

というわけで試しにやってみました。
関連文献をあたれば何かしら見つかりそうですが…

続きを読む


卓上栽培セット”Shippon”を頂きました


先日の研究室クリスマスパーティーにてプレゼント交換があり、私も後輩からクリスマスプレゼントを頂きました。

“Shippon”という栽培セットになります。修士論文のおともに良いものを頂きました。

不敵な笑み

不敵な笑み

卓上で草を育てるキットです。今回の草はクローバーです。新規性特徴は土がコップより上に位置していて水を毛細管現象で吸い上げる形式になっていることで、確かにこれで給水できるなら腐らせる心配もないし、水やりの手間が省けて便利です。目指せ研究室の緑化。

ただ、プラスチックのコップの上段に焼き物の犬でその背中に土という、重心をこれでもかと上げた作りになっています。ひっくり返した時のやばさを考えると材料は逆のほうが良い気もしますが、その辺りはデザインなのでしょう。手元の環境だと転倒時のやばさでは先日の温度計のほうが上回っているので、リスクもさほど増えていません。両面テープでも使っておきます。

デザインといえば、この犬は顔のパーツが世界的に有名なビーグル犬によく似ていますね。あちらも直立二足歩行ですし。


さっそく初期設定をします。説明書によると、土をふやかして、種をまけばいいだけです。

続きを読む


「進捗・どう・です・か」をランダムに表示し「進捗どうですか」が完成したら煽ってくるプログラム


どうしてこんなものを作ってしまったんだろう。

進捗どうどう進捗ですか

進捗どうどう進捗ですか

というわけで、今回のネタは無限の猿定理です。直接の元ネタはTwitterですが、下ネタ全開なのでリンクを開く際はご注意ください。

概要

タイトルにもあるように「進捗・どう・です・か」をランダムな順序で表示し、「進捗どうですか」が完成したところで適当にクエスチョンマークをつけて去っていくプログラムです。

特に意味もなく文字カウントします。おおよそ数十文字から1000文字程度で目的を成し遂げて去っていきます。

生成された煽り文句たち

煽り文句も煽り以外も結構バリエーションがあるものです。

「進捗どう進捗どう進捗どう」

焦っているんですかね。

「進捗ですです進捗どうです」

激しい進捗があった人のセリフでしょう。

「どう進捗ですか」

進捗を伝えてからの冷酷な迎え撃ち。

「進捗かどうかどうですか」

自信がなくなってきた。

「どうかどうか進捗進捗進捗」

締め切り間近。もうやばそう。

続きを読む


【FF13考察】「その章も一本道だぞ」新聞を読みながら教えてくれた親父は、昔 コクーンをパージされたパルスのファルシのルシだった。


タイトルで気づいた方もいるかと思いますが、今回の話題はRPGゲーム “Final Fantasy XIII (FF13)” の感想です。
タイトルの元ネタはこちら

ff13_1

※この記事の画像は全てスクエア・エニックス社のFF13紹介ページから引用したものです。
全ての画像の著作権はスクエア・エニックス社に帰属します。

FF13といえば、往年の名作シリーズの最新作ということで一時は各所で異様に話題になった作品です。

実は最近何人かの友人に「ブログの内容がおかしい」と言われたのをちょっと気にしていて、たまには趣向を変えてゲームの感想でも用意しようと思ってこうなりました。これでこのブログも一般的になれますね!

私がFF13をプレイしたのは1年ほど前のことになります。私はゲームは一人でやって勝手に満足するのが好きなので感想を書くことはほぼないのですが、丁度物語の完結編(FF13:ライトニングリターンズ)が出るとかで盛り上がっていること、ゲーム中思いついたあれこれを放っておくのも勿体無いかと思ったので、ここにFF13の感想を書いておくことにしました。

感想というよりはほとんど考察です。ネタバレを含みます。プレイしていない人でも読めるように書いたつもりですが、内容がわからないと理解困難なところもあるかと思います。あと、私はあまりRPGをプレイしないので、ゲームの感想が一部RPGというジャンルそのものの感想になっているかもしれません。

続きを読む