タグ

ブックマーク / mametter.hatenablog.com (6)

  • どうぶつしょうぎ名人 - まめめも

    どうぶつしょうぎ AI を作りました。絶対に勝てません。無力感を味わってください。 ref: http://mame.github.io/dobutsu-shogi-master どうぶつしょうぎとは 3 マス x 4 マスの単純化された将棋です。ライオン(王相当)、ぞう(1 マスしか進めない角行)、キリン(1 マスしか進めない飛車)、ひよこ(歩相当、にわとりに成ったら金相当)の 4 種類の駒を動かして、相手のライオンを取るか、トライ(ライオンを一番奥の行まで運ぶ、ただし直後に取られる場合はだめ)に成功すれば勝ちです。詳しくは Wikipedia の記事を見てください。 どうぶつしょうぎは後手必勝であることが知られています(研究報告)。つまり、後手が正しくプレイする限り、先手は絶対に勝てません。どうぶつしょうぎ名人は常に正しくプレイするので、先手のあなたは絶対に勝てません。 なんで作ったの

    どうぶつしょうぎ名人 - まめめも
    mirakui
    mirakui 2017/02/12
    すごい
  • 放射線耐性 Quine (1 文字消しても動く Quine) - まめめも

    ref: https://github.com/mame/radiation-hardened-quine 放射線はメモリエラーを引き起こすらしいです。そんな放射線が飛び交う過酷な環境でも、できることなら Quine したい。 ということで、プログラム内の 1 文字をランダムに消しても元のプログラムを出力する、なんともロバストな Quine を書きました。*1 何を言っているかわからないと思いますが、こんなふうに動くものです。 # ランダムに 1 文字消すスクリプト $ cat mutate.rb src = $<.read src[rand(src.size), 1] = "" print src # rrquine.rb からランダムに 1 文字消したプログラムを生成する $ ruby mutate.rb rrquine.rb > broken.rb # 壊れたプログラムを実行する (

    放射線耐性 Quine (1 文字消しても動く Quine) - まめめも
    mirakui
    mirakui 2014/02/20
    “放射線はメモリエラーを引き起こすらしいです。そんな放射線が飛び交う過酷な環境でも、できることなら Quine したい。”
  • Merry Quine-mas 2012 - まめめも

    今夜は、年に一度の W. V. Quine の命日イブです。(もう日が変わってますが) %;';;eval$s=%q{eval(%w~i=1;T="$)*L)L)))0)E(E(0(7(>'>'7&E&0&7&>%L%)%0%E*)$L$)* L)L)))0 )E(E(0(7(>' >'7&E&0&7&>%L%)%0%E5&$L%#8C5G7/530L2B1*/'19-D03 #E*&,1). *G'6#3*>5 &'F'#)E(L)0*)'L'?(#)#)7(E'0&E&#(0%0&L%7&0':+)%E# {"4F"*18} 3F4F5F4 F4@493@1@5@7@6@692@2939325952425+4+3+3F4$5F4F".by tes.each_s lice( 2).map{|s,c|[s*3-99,c/7*3-13-i=-i,c%7+41]};$><<"'# {e=27.

    Merry Quine-mas 2012 - まめめも
    mirakui
    mirakui 2012/12/25
    新作だ‼
  • イカ娘が Ruby を侵略したでゲソ - まめめも

    この記事は Functional Ikamusume Advent Calendar jp 2010 によって侵略されたでゲソ。 今回は Ruby を侵略したでゲソ。まずは gem をインストールするでゲソ。 $ gem install ikamusume Hello, world でゲソ。 # coding: utf-8 # ruby examples/hello.ikamusume で実行するでゲソ # 未だに 1.8 を使ってる愚かなる人類は -Ku を付ければいいんじゃなイカ? require "ikamusume" "Hello, world!\n" <= イカ娘! "H" <= "e" <= "l" <= "l" <= "o" <= "," <= " " <= "w" <= "o" <= "r" <= "l" <= "d" <= "!" <= "\n" <= イカ娘! $ ru

    イカ娘が Ruby を侵略したでゲソ - まめめも
    mirakui
    mirakui 2010/12/15
    gem install ikamusume ...
  • /dev/dsp で音声を鳴らす方法 - まめめも

    超絶技巧 Ruby プログラミングの質疑で「どうやって音を鳴らしているのか」という質問があったので、自分のための記録を兼ねて簡単に紹介。 といっても Linux Sound programming with OSS API にある通り。Ruby で書くとこんな感じ。 # デフォルトでは 8bit 8000 Hz SampleSize = 256 SamplingRate = 8000 # ... 0:ラ 1:ラ# 2:シ 3:ド 4:ド# 5:レ 6:レ# 7:ミ 8:ファ 9:ファ# 10:ソ 11:ソ# 12:ラ ... tone = 3 # ボリューム: 0 〜 SampleSize/2 まで volume = 60 # 再生する長さ: 秒 length = 2 # 周波数: 基準のラは 440Hz 、1 オクターブ上がると倍になる freq = 440 * 2**(tone / 1

    /dev/dsp で音声を鳴らす方法 - まめめも
    mirakui
    mirakui 2010/09/03
    ヤバい
  • RubyKaigi 2010 発表予告 (と山手 quine 英語版) - まめめも

    今月末の RubyKaigi 2010 で、「超絶技巧 Ruby プログラミング」という発表をする予定です。2 日目の 13:30-14:00 、大ホールでの発表です。 主にこのブログで紹介しているコードたちを紹介する予定です。その背景の意外な深遠さや、それを可能にする Ruby の素晴らしさも語れたらいいなあと思っています。 発表言語は日語なのでスライドくらいは英語に、と思って、去年の暮れに書いた 山手 quine の英語版を作りました。 z=27;eval$s=%w!c,s=["H+{K}8k->dXNpv-cD~@?(zhAi~>JOv<-;A(]oH+MFKs*+KOB825i$%QX9~P=HC{iIlj*Sh# v=3U62LhUXhtnCx^{F=nuTtGG}@85_(xVvIWQ|Vllp[Gt22x&`^K3*ui;IW@O9-(`Z6V_T.E]%WHXYGa{O9

    RubyKaigi 2010 発表予告 (と山手 quine 英語版) - まめめも
    mirakui
    mirakui 2010/08/10
  • 1