タグ

algorithmとprogramming-functionalに関するkgbuのブックマーク (7)

  • 動的SQLによる数独の超高速解法

    Pinskiさんの記事は、「SQLで数独を解ける」ことを示したという点で評価できます。しかしながら、そのためのコードと実行時間が共に長大であるため、「SQLは面倒で遅い」という誤解を読者に与えかねません。稿で紹介する方法で、誤解が払拭されることを期待します。 第1、2部と第3部の手法を簡単にまとめておきましょう。 第1、2部では、手続き的な記述、つまり、どうすれば数独の解が得られるかの具体的な記述によって数独を解いています。手続き的とは言っても、せっかく宣言型言語であるSQLを使うので、手順の各ステップはなるべく宣言的に記述するように心がけています。 第3部(稿)の方法の質はたった1行のSELECT文です。このSELECT文には「数独の解とはどういうものか」だけが記述してあり、その解を得るための具体的な方法はコンピュータが考えます。ただし、このSELECT文は人間が手で簡単に書けるよ

    動的SQLによる数独の超高速解法
  • ICFPそのものについて 2009-09-12 - 兼雑記

    完全にド素人なわけで、どうせほとんど何言ってるかわからんのだろうなぁと思ってたんですが、意外とわかるものももあったので書いておこうかと。わかると言っても、どうやってやったかとかまではなかなかわからんくて、モチベーションくらいがわかればそれだけでも嬉しいという幸せな話でして。 プロシーディングはここにあるみたいだ。 http://portal.acm.org/toc.cfm?id=1596550&coll=portal&dl=ACM&type=proceeding&idx=SERIES824&part=series&WantType=Proceedings&title=ICFP&CFID=505049525&CFTOKEN=505049525 以下、たぶん間違ってたりそんなことは重要なことではないということを書いてたりします。 Organizing Functional Code for P

    ICFPそのものについて 2009-09-12 - 兼雑記
  • 論文ファイブ - d.y.d.

    16:40 09/01/28 インドコンテスト おとといのを読み返してて、 全体として並列並行系多いなーといっておきながら、 個別紹介に1個もそれ系のがなくて面白いなあと思いました。 と、それはともかく、今年もインド発プログラミングコンテストのお知らせが来てました。 ICPCTopCoder系の問題の出る CodeCraft、 Project Euler系の問題の出る MathematiKa、 あと今年はなんだか縛り付きプログラミング(ゴルフとか)系の Time Limit Exceeded というのがあるらしい。毎年恒例行事にするつもりなのかな。 去年のはわりと面白かったので、今年も参加してみるつもり。 23:10 09/01/26 POPL 2009 行ってきました。MS Research 多いなーというのと、 まあ当たり前ですが並列並行系多いなーというのが全体的な感想。 以下印象に

  • 大人げ - sumiiのブログ

    http://d.hatena.ne.jp/soutaro/20070516/1179323606 に脊髄反射。 open Lazy type tree = S of string | Or of tree lazy_t * tree lazy_t let rec map f = function | S s -> S (f s) | Or(l, r) -> Or(lazy (map f (force l)), lazy (map f (force r))) let rec prod = function | S s, t -> map (fun s' -> s ^ s') t | Or(l, r), t -> Or(lazy (prod (force l, t)), lazy (prod (force r, t))) let rec rep t = Or(lazy (S ""), laz

    大人げ - sumiiのブログ
    kgbu
    kgbu 2008/08/21
    正規表現に一致するパターンを、ある順序にしたがって数え上げる例
  • 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

    kgbu
    kgbu 2008/06/04
    計算機は人間のようには考える理由は、ない。計算機のように考える(範囲を広げられる)人間は、いる。ということですかー。unification vs 80:20(short tail)の法則と5±2とad hoc
  • いろんな言語でmemoizeとfix - メモ化と最小不動点の話題

    いろんな言語でmemoizeとfix - メモ化と最小不動点の話題 目次 話の発端(k.inabaさん) 反応した人々(言語名順) メモ化と最小不動点の話題 話の発端(k.inabaさん) http://www.kmonos.net/wlog/52.php#_0308050827 http://www.kmonos.net/wlog/52.php#_0212050903 http://www.kmonos.net/wlog/53.php#_0149050905 反応した人々(言語名順) C++: http://d.hatena.ne.jp/Cryolite/20050902#p1 C++: http://d.hatena.ne.jp/Nabetani/20050901#p2 Common Lisp(xyzzy): http://d.hatena.ne.jp/ekamasmi/2005090

  • Memoise

    Memoi[sz]e、Memoi[sz]ation、メモ化の話題 メモ化ってなぁに?関数のメモ化memoise は特殊な ($) かも?Memo モジュール実装を共有する魔法 メモ化ってなぁに? フィボナッチ関数を考えてみよう、定義は fib 0 = 0 fib 1 = 1 fib n = fib (n-1) + fib (n-2) これを使って、fib 7 を計算すると fib 7 -- fib 6 -- fib 5 -- fib 4 -- fib 3 -- fib 2 -- fib 1 -- 1 | | | | | | | | | | | fib 0 -- 0 | | | | | | | | | fib 1 -- 1 | | | | | | | fib 2 -- fib 1 -- 1 | | | | | | | fib 0 -- 0 | | | | | fib 3

  • 1