タグ

ブックマーク / www.kmonos.net (19)

  • d.y.d.

    21:30 16/01/28 2015年に読んだ面白論文紹介場所参加記事です。 例によって、2015年に発表された論文とは限りません。私が去年読んだ中からの選抜です。 また例によって、人類の科学史における重要性とかそういったことに興味はないので、 単純に自分にとって読んで面白かった、これを読む前と後では物事の考え方が変わったなあ、 と思った論文を選んでいます。 ☆ Newtonian Program Analysis ☆ Quick Detection of High-degree Entities in Large Directed Networks ☆ An Axiomatic Characterization of the Hirsch-Index の3立てです。 Newtonian Program Analysis In Journal of the ACM, 2010. [著者

    yowa
    yowa 2016/01/29
  • 円周率おぼえ歌 in Ruby - d.y.d.

    21:26 15/12/11 円周率おぼえ歌 in Ruby 円周率 π = 3.14159265... を語呂合わせで 「産医師異国に向こう…」 として覚えるみたいなのありますよね。 英語では Piphilology と言って、たとえば、こんなの。 How I wish I could recollect pi easily today... 長さ 3 の単語 (How)、長さ 1 の単語 (I)、長さ 4 の単語 (wish)、… という列で数字の列を覚えたりするそうです。 この方式だとゼロの桁の表現に困りそうですが、ゼロの所には巧みに句読点などの記号を配したり、 あるいはもう少し単純に、長さ 10 の単語を当てて表すのだそうな。 と、いうわけで。 in Ruby 長さ 3 のトークン、長さ 1 のトークン、長さ 4 のトークン、 長さ 5 のトークン、長さ 9 のトークン、長さ 2

    yowa
    yowa 2015/12/12
  • [KMP77] を読んでみた - d.y.d.

    17:53 14/12/22 ソートの逆流れ クイックソートってあるじゃないですか、クイックソート。 配列、たとえば [4,2,1,7,0,6,5,3] があったときに、 小さい方を左に、大きい方を右にまず適当に集める。 この「小さい方」と「大きい方」への二分割を、いわゆる再帰的に、 分かれたブロック両方で同じ事を繰り返していくと… なんと、小さい順に並んだ配列 [0,1,2,3,4,5,6,7] が出来上がるというアルゴリズムです。 逆向き! このデータの流れを「逆向きに」見てみたい。つまり、ソートが終わった最終状態から話が始まります。 しかも、さっきから説明なしで意味ありげにくっついていた、 「入力配列で元々どの位置にあったか」を表す値に注目していきます。 0の上に[4]がくっついているのは、最初は値0は配列のインデックス[4]の位置にあった、 ということを意味しています。(上のソート

    [KMP77] を読んでみた - d.y.d.
    yowa
    yowa 2014/12/13
    Knuth-Morris-Pratt の元論文。
  • ICFPコンテスト2014 - d.y.d.

    21:15 14/07/28 ICFPコンテスト2014 今年も ICFPプログラミングコンテスト に参加していました。72時間耐久好きな言語で好きにやれコンテスト。今年の課題は SECDマシン で動くパックマンAIと、簡単な仮想のアセンブラ言語255命令以内で動くパックマンの敵モンスターAI を作れ、という課題でした。 パックマン側とモンスター側を入れ替えて戦って対戦してスコア勝負というトーナメント。 今年は @phoenixstarhiro と @fuqinho の3人チームで参加しました。 コンテスト中に使っていたレポジトリは https://github.com/fuqinho/icfpc2014 です。言語は基的に C++。 やったこと(自分視点) -3:00 ~ 0:00: 会社の出張が入ってしまったので羽田空港まで歩き旅。 1:00 ~ 3:00: 空港について問題を読んだ

  • d.y.d. - 2012年に読んだ面白論文紹介場所 参加記事

    23:00 13/03/07 2012年に読んだ面白論文紹介場所 参加記事です。3立てです。 ☆ 「博士の愛した数当て」 ☆ 「It's not Automatic.」 ☆ 「47」 博士の愛した数当て まず1目は、STACS'12 から "Playing Mastermind With Constant-Size Memory"。 ぼくの記憶は 1ターンしか もたない ヒット&ブローあるいはマスターマインドというゲームがあります。 私が遊んだことがあるバージョンは 出題者が、0-9の数字を4桁並べた数を頭に思い浮かべる。 回答者が、その数を当てようとする。0-9の数字を4桁並べた数を「これですか?」と出題者に質問 桁も値もあってる数字が x 個、場所が違うけど値はあってる数字が y 個あったら「x ヒット y ブロー」と返事 以下繰り返し。4ヒットになったらお終い。 こういうルールで

    yowa
    yowa 2013/03/09
    > 2012年に読んだ面白論文紹介場所 参加記事です。
  • 自動微分 ≪フォワード・モード≫ - d.y.d.

    23:21 11/12/22 今年読んだ面白コンピュータサイエンス論文紹介カレンダー 第 n (1<n) 週目モードです。 ☆ 「難しい問題」 ☆ 「名のない関数」 ☆ 「演算のせいしつ」 「難しい問題」 [5] R. Impagliazzo and L. A. Levin. "No Better Ways to Generate Hard NP Instances than Picking Uniformly at Random." FOCS 1990. ランダム生成に興味があります。 パズルゲームを作りました。 さて、手強い難易度の面データを無限にランダム生成するにはどうすればいいだろう。 プログラミングコンテストの問題を作りました。 さて、自動チェック用のテストデータをランダム生成するにはどうすればいいだろう。 適当なランダム生成では、簡単なケースばっかり作られてしまい 嘘解法 に突

    自動微分 ≪フォワード・モード≫ - d.y.d.
  • Twitter の翻訳 - d.y.d.

    00:07 11/07/28 LOPSTR / PPDP 2011 LOPSTR と PPDP という共同開催の国際会議に行っていました。論理に基づく / 宣言型のプログラミングがテーマだそうです。 実況は例によって togetter.com/li/164644 にまとめてあります。 LOPSTR の方は、あまりよく知らなかったんですが、発表を聴いてみると、かなりガッツリと Prolog の言語仕様のディープなところに触れるような話があって、まるで、 C++Scala で盛り上がってる自分のTwitterのタイムラインの Prolog 版を見てるような雰囲気で楽しかったです。 Sloth 聴いた中では Sloth という Haskell のライブラリの話が一番面白かったので、帰ってから関連論文を読んでいました。 何をするライブラリかというと、書いた関数が「できるかぎり遅延評価する」も

    yowa
    yowa 2011/07/15
  • 正規表現しちへんげ! 第二夜

    09:25 10/12/31 年末まとめ 今年何やったっけ、と日記を読み返していました。何もやってないな…。 Polemy 作りました、くらい。 言語処理系作るのはやっぱり楽しいですね。 汎用言語として使う格的なものを作ろうとすると懲りすぎて一歩も進まなくなってしまう自分が見えるので、 来年は、そうだなあ、TopCoder/ICPC風コンテストに特化した言語というかC++へのトランスレータ、 くらいに絞って作ってみようかなあ。 書いた記事だと 最短性チェックの話 が自分では割と気に入っています。 これのもっとバグを許容するバージョン作れないか。 読んだ論文で面白かったのは "A Pearl on SAT Solving in Prolog" と "When Simulation Meets Antichains" (PDF) など。 あとは、今年読んで面白かったベスト5(順不同): 『

  • 行列と項書換 - d.y.d.

    21:54 10/06/30 行列と項書換 "Termination of String Rewriting with Matrix Interpretations" という論文を読みました。 これは何かというとつまり、 ICFPコンテストの元ネタとして 紹介 されていた論文です。 れ い 年、 冗談9割で、主催者の専門分野にちなんだ問題が出るに違いない!と叫んでいるのですが、 当に来るとは思わなかった…。 さて。項書き換え (term rewriting) と呼ばれる研究分野がありまして、 例えばこんな問題を調べています。 文字列に対して、「以下の操作のどれかを好きに選ぶ & 実行する」を繰り返します。 abc という部分文字列を de に書き換える (abc ⇒ de と書きます) ef ⇒ g fgh ⇒ ij どんな文字列からスタートしても、最後には、どの規則も使えない状態 (つ

  • ちょっとだけマイナーなSTLの話 - d.y.d.

    21:23 09/11/29 ドラクエ3 ドラゴンクエスト III モバイル版 が配信開始されたと聞いてはプレイせずにはいられない、ということで、さっきクリア。 内容は 「SFC版のベタ移植 - すごろく場 + AI戦闘」 ですね。 すごろく場が減った分、限定アイテムが他の場所に移動 (パワーベルト・ドラゴンテイル・ドラゴンローブ・グリンガムのムチが小さなメダル賞品に。 光のドレスがゾーマ城の宝箱に。雷神の剣も宝箱だった気がする。あと、小さなメダルの総数が110枚で変化無しらしいので、 すごろく場にあった分が通常マップに押し出されて、ところてん式に押された炎のブーメランもメダル賞品化)。 不思議なボレロと女神の指輪は見てない。なくなった? AIは、マヌーサ/ラリホー/マホトーン辺りを効く相手にだけ積極的に使ってくれるので参考になる&便利。 勇者もAI駆動にできるモードが欲しかった 細かいと

    yowa
    yowa 2009/11/14
  • ICFP プログラミングコンテスト - d.y.d.

    19:01 09/06/30 ICFPCまとめ やったことをまとめておきます。 まあ問題の意図を盛大に勘違いして別のゲームを遊んでいた (与えられたシナリオファイルを最適に解くだけじゃなくて、 もっとジェネラルな自動ソルバを作らなければいけなかったらしいorz) のでスコアは問題外な感じですが、 面白かったのでよしとしよう。 今回は、地球の周りを飛んでる人工衛星に命令を送って他の人工衛星やデブリと接触できたらスコア++、 という、(仮想の)人工衛星制御プログラムを作るコンテストでした。 → shinhさん にならって自前ビジュアライザを 動画にするとこんな感じ。 2003年 や 2008年 の問題に結構近いものがありますが、 今回はとにかく、燃料の許す限り速度変化 ΔV を自由に与えられるという仕様が (自動でやるにしろ手動でやるにしろ) 素晴らしかった。 例えば「隣を飛んでる別の衛星と同

  • アルゴリズムコンテストの挑み方 - d.y.d.

    17:29 08/09/30 クロスワード 暇つぶしに "Clueless Crossword" という冊子を買ってみて意外とハマっています。 クロスワードパズルなんだけど、単語のヒントの代わりに、 各マスに1~26の数字が振ってあって同じ数字のマスには同じA~Zが入るように埋めるというもの。 「母音っぽくて二連続して語尾にも出てくるのは多分 E だろう、もしかしたら O の可能性はなくもないけど」 みたいに埋めていく。 ちょっと違うけど フラッシュであった。 20:15 08/09/28 だいちのよろい そろそろ日に戻る前に観光するぞ月間、ということにして、ウルル(エアーズロック)に行ってきました。 もっとワイルドな感じかと思ったら、完全にリゾートのリゾートによるリゾートのための地帯になってました。 まあそんなもんか。 日は強風のため登るの禁止とのことだったので、周りから見るだけ。

    yowa
    yowa 2008/09/08
  • イヌネコ - d.y.d.

    03:14 08/08/31 LLFuture 行ってきました。まとめ記事は何百人も書いてそうなので、以下、これにかこつけて自分語りをする。 ☆ Larry Wall の基調講演。ひたすら Parser の話をしてて素晴らしかった。 ☆ 100年の言語…は、 Ypsilon の藤田さんが、エラーメッセージのわかりやすさについて考えてますか?という問いかけを されてたのが印象に残っています。個人的に この頃 から気になってるんですけども、 言語内DSL のようなものを作ること&そのDSLが正常動作するときに 裏でホスト言語で何が起きているかをまったく気にしなくていいようにすることは簡単でも、 そのDSLがそのDSLのシンタックスや静的セマンティクスとして間違っているときに適切なエラーを 出せるようにするのは非常に面倒、という感覚があります。ホスト言語の意味でのエラーを 出されてもユーザ側とし

    yowa
    yowa 2008/08/13
    Union-Find というデータ構造/n 回の union/find 操作にかかる計算時間は O(n A(n)) ─ A(n) は アッカーマン関数 の逆関数
  • d.y.d.おもしろいみろん

    13:33 08/06/29 RSS of kmonos/wlog moved! http://www.kmonos.net/wlog/index.rdf いや、移動したのは15ヶ月前なので、すでにご存じの方は華麗にスルーしてください。 「ここのRSSが文字化けしてるよー」という方だけ、↑に登録変更していただけると、 直るかと思います。お手数おかけしてスミマセン。定期的に「文字化けってる」という 指摘を見かけるので再度ブロードキャストです。こう、辛辣な評議会とかで怒られそうですけど、 諸般の事情により古い方からリダイレクトかけるの難しいらしいのだよね… それはそうと、昨日の記事に追記しました。 10:26 08/06/28 Logic ∩ CS 検索してたらたまたまヒットした "On the Unusual Effectiveness of Logic in Computer Scienc

    yowa
    yowa 2008/06/23
    今年は挑戦する(かも)。問題文を解読する前に期間終了する(かも)。
  • d.y.d.構文解析の話をしよう

    16:46 08/03/30 YZ1.DLL 0.30 リリース しました。 具体的には、ヘッダの格納ファイル数フィールドに実際より大きい値が入ってると変なとこ読もうとして落ちるバグ修正。 GreenPad の修正は来週くらいには…。 Booooooost Boost 1.35.0 来てました。 Asio と Fusion と GIL の三枚看板がでかいですが、Bimap が地味に便利だ。 あと、mbさんのEgg のレビューが明日からでしょうか。(また スケジュール から消えてますが…Protoが入る前までロールバックしてる?) 他人事ながらドキドキ。 17:36 08/03/28 ケース 十年来の疑問なんですが、"case" に単独で対応する日語ってなんになるんですかね。 "case-insensitive" や "lowercase" の "case"。単に "case-insens

  • d.y.d. Pluggable Type Systems

    19:27 08/02/29 不動点ふたたび LtU で "Data Types a la Carte" を読みました。これの鍵となる技は「型コンストラクタに対する不動点演算子」だと思うのだけど、 あれ、なんで俺これ考えたことなかったんだ…?と不思議に思うくらい楽しげなアイデアですね。てい。 // 不動点演算子 via テンプレート。Dで。 // // Haskell でいう"普通の"不動点関数 fix f = f (fix f) と同じようなもの // = の代わりに継承になっちゃってますけど、まあ似たようなものです class Fix!(alias F) : F!(Fix!(F)) {} 不動点演算の実装は題ではないので、Yコンビネータみたいな無駄な複雑化はしない方針で。 さて、これを使って class Pair(T) { T left; T right; } 2個同じ型の値のペアを

    yowa
    yowa 2008/02/29
    > > 自分の場合問題の作り方は大きく分けて2通りあって、名前駆動/アルゴリズム駆動
  • わかったつもりになるD言語

    はじめに 2012年5月現在、最近、このページはあまり更新できていません。すみません m(_ _)m。 D言語友の会 が、長期間ちゃんと更新されている D 言語関係の日語サイトとしておすすめです。 こんにちは。ここは、プログラミング言語 D (D Programming Language, 通称D言語)を紹介するサイトです。 すでに Java など一般的なプログラミング言語の経験がある読者を前提として書かれています。 一部古いページを除いて、基的に、D 2.x 系統の言語仕様をベースに解説しています。 → 更新情報は RSS で 目次 1. Dってどんな言語? サンプルコード色々 D言語を大きくカテゴライズすると、「C風の構文を備えた」 「静的型」の「ネイティブコンパイル」言語と いうことになります。オブジェクト指向やテンプレートメタプログラミングなど、 幾つかのパラダイムをサポートし

    yowa
    yowa 2007/01/13
  • d.y.d. 文字コード&ベイズ推定

    12:21 06/05/28 うたひめ 先日の記事に書いたように KOKIA にハマりまして、 とりあえず片っ端から聴いてみることにしました。まずは 1st アルバムの 『songbird』 から … …4曲目の "白い雪" ヤバい。超ヤバい。なんだこれ。ツボすぎる。 ベスト盤を聴いたとき感じた揺らぎなく落ち着いた歌唱力的な曲を期待して聴きはじめたら、 予想外の声質の歌が飛び込んできてびっくりしました。もちろん抜群に巧いのに かわりはないんですが、ずっと儚げな、ガラス細工みたいなイメージの、ああ、その、 つまり白い雪みたいな雰囲気の綺麗な声で。その声と奇跡的にマッチしたメロディ。 すごいなあ。9曲目の "ありがとう…" もベスト盤でのリテイクと比べて同じ印象で、 Amazonのreview で TenderBerry さんという方が近いことを書いておられました。 しかし書いてて自分の語彙の

    yowa
    yowa 2006/05/09
  • d.y.d.

    21:21 05/09/29 ですのーと 棚をぼけーっと 見ててふと、写真で左から4冊目の数論入門、訳者名と著者名をあわせて やがみライト だ! と、大発見をした気分になっていました。どうでもいいですね。 20Q 20Q。おお、商品化されるのか。 これは買わねば! 05:31 05/09/29 ICFP Programming Contest 結果でてますね。 combat3位おめでとーございます。 今回のコンテストは二段階制になっていて、『最初の3日間で、 テーマとして与えられたゲーム(マップ上の銀行から金を盗んで逃げる"泥棒"と、 それを捕まえるべく頑張る"警官"の駆け引きゲーム)の2種類のボットを作ってsubmit。 その2週間後にゲームが微妙に拡張されたり仕様変更されたりするので、 1日でボットを作り直して、再submit』というものでした。 もちろん最終的ルールにおいて一番強い

    yowa
    yowa 2006/01/23
  • 1