Excel上で仮想マシンを動かし、数学の問題を解く天才あらわる

NewImage

牛刀をもって鶏を割く」ということわざがまさしく当てはまるニュースといえそうです。数学の問題をとくために、Excelで動作する「仮想マシン」(アセンブラ言語が使用可能)を構築した天才的なハックが紹介されて話題となっています( HackadayHacker News)。

開発者のAdam氏は、KoMalと呼ばれる数学/物理ジャーナルに掲載されている数学の問題を解くために、この手法を採用しました。一見マクロを使ったほうがよさそうに思えますが、公式ルールではExcelマクロが禁止されているため、別の方法を探す必要があったのです。

結果、ハーバードアーキテクチャを採用した仮想マシンをExcel上で再現し、MOV、JNZ、INC、CMPのようなアセンブリ言語の命令を使ってこの問題を解くことに成功。

具体的なExcelシートは以下のようなIF文の塊となっているそうで、詳細は不明ですが、なんか凄そうですね…。

=F6
   INDEX($C$2:$C99999,$G2,1),
   IF(AND(INDEX($B$2:$B99999,$G2,1)="JZ",$I2=0),
      INDEX($C$2:$C99999,$G2,1),
         IF(AND(INDEX($B$2:$B99999,$G2,1)="JNZ",$I2<>0),
         INDEX($C$2:$C99999,$G2,1),
         G2+1
         )
      )
   )
)

ちなみにこのExcel上に再現された仮想マシンは「Exembler」として公開されているみたいです(ダウンロードするためにはメンバー登録が必要?なため未確認)。

スポンサーリンク