タグ

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

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

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

    動的SQLによる数独の超高速解法
  • d.y.d. 2倍だけじゃない

    10:01 10/07/20 それでも2倍だ 先日のvectorの伸長度合いの記事に関して 当に1.5倍のほうがメモリ効率がよいのか という反応をいただきました。とても興味深い。みんな読みましょう。 自分の理解メモ: 「再利用ができるから嬉しい」等の議論をするなら、 今までに確保したメモリ (1 + r^1 + ... + r^k) のうち、 有効に使えてるメモリ r^{k-1} (バッファ拡大直後) や r^k (次のバッファ拡大直前) の割合で評価してみようじゃないかという。 まず簡単のために再利用をしない場合を考えると、この割合はそれぞれ (r-1)/r^2、 (r-1)/r になります(途中計算略)。 この利用率が最悪になる瞬間 (r-1)/r^2 を最善にしよう、 という一つの指標で考えてみると、式を微分なりなんなりしてみると r = 2 で最大(25%)となることがわかります

  • 昨年の論文をふりかえる - DO++

    新年すっかりあけてました。 今年もよろしくお願いします。 年末年始はドタバタして昨年を振り返られなかったのですが、せっかくなので2008年に読んだ論文で私個人のベスト5を以下に列挙してみます。 D. Sontag, et. al. "Tightening LP Relaxations for MAP using Message Passing", UAI 2008 [pdf] Graphical ModelのMAP推定問題で従来解けなかった規模の複雑さの問題を高速にしかも最大であるという保障付きで解けるようにした。書いたメンバーはこの問題に関するオールスターのような感じ。解く問題は、n個の頂点からなるグラフで、各頂点には変数x1...xnがついていて、各頂点と各枝に対し関数gi(xi)、gij(xi,xj)が与えられた時、∑i gi(xi) + ∑ij gij(xi,xj)が最大となるよう

    昨年の論文をふりかえる - DO++
  • 論文ファイブ - 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 多いなーというのと、 まあ当たり前ですが並列並行系多いなーというのが全体的な感想。 以下印象に

  • ゆの in D - d.y.d.

    17:37 08/07/30 ICFP Workshops via 住井さん で、 ML Workshop の採択論文リストが出てることを知りました。 "Many holes in Hindley-Milner" (複数穴あり Zipper 的なものをMLで扱う話、穴の個数を型情報に含めるための加算できる自然数表現を差分リストで、 っていう技が面白かった) と "Unrestricted call-by-value recursion" (call-by-value で再帰的な (ループした) データ定義を実現する手法、これで、フルの call-by-need セマンティクスがなくてもそっち方面で使われてる テクニックをいくらか持ってこれるよ)というのだけ読んでみた。 他の併設ワークショップ の論文リストも 揃ってきてるみたいですね。 個人的に WGP の "Concepts =? Typ

    kgbu
    kgbu 2008/07/12
    なるほどそういうことだったのか
  • いろんな言語で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

  • 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

  • 1