適用する回数を変えると表示される行数が変わります。関数を作ることができました。限定継続を使うと、処理の外側と内側をひっくり返すようなことが簡単にできます。気にせず使うといいと思います。オペレータのほうがハマりやすかったりするのですが。いう別の制御演算子を使う流儀もあります。引数を与える前に最初の行が出力されてしまうためです。さんが解読して記事にしてくださいました。2013https://research.microsoft.com/en-us/events/icfpcontest2013/今年も楽しくソロ参加でした。ソースコードはこちら。整数上の関数があります。入力となる数を好きに選んでコンテストのサーバーに送ると結果が返ってくるので、この関数の式を推定してください。式の大きさと使われている演算の種類はあらかじめ与えられる。推定した式が間違っていたら、反例となる入出力の値が返される。いちど問題に挑戦し始めると、5分以内に正解しなければ得点できない。問以上あって(途中で増えたりした)、72時間以内に何問解けるかな、という問題でした。数年ぶりに触ったけど意外に忘れてませんでした。最新規格じゃなくなっててびっくりしたのは秘密です。今年も出番がありませんでした。手元の計算資源だけで頑張りました。(?)複数台使ったのは時間内に全問終わらせるためで、同じ問題を並列で解かせたりはしていません。ついて、それぞれ専用のソルバーを作りました。数十個の入力/出力の値のペアを用意します。ある演算を使って、小さい順に式を生成していきます。式を最適化して重複を取り除きます。用意した入力値で評価して、すべて出力値が一致すればその式をサーバーに送信します。問題のクラスごとに細かい枝狩りなどを入れていきます。細かい工夫などはソースを見てください(めんどくさくなった)。しては珍しく、関数型言語が活躍しそうな問題でした。日間フルに楽しめました。あと個人的には、今回みたいに手元で実行して結果だけ送信する方式のほうが好みです。AIを提出する方式だと、いろんな状況に対応できるように作りこむのって一人じゃモチベーション的にも時間的にもつらいんですよね。他方この方式だと計算資源を豊富に使える人が有利になっちゃうというのもありそうですが。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。