タグ

ブックマーク / www.aoky.net (3)

  • あらゆる数独パズルを解く

    Peter Norvig / 青木靖 訳 このエッセイでは、 あらゆる数独パズルを解くという問題に取り組む。制約伝播と探索という2つのアイデアを使うと、ごく簡単に解けるということがわかる(主要なアイデアはコードにして1ページたらずで、補足的なコードが2ページある)。 数独の記法と予備概念 最初に記法をいくつか決めておこう。数独パズルは81個のマス(square)からなる盤面を使う。数独ファンの多くはカラムを1-9で、行をA-Iでラベル付けしており、カラム、行、ボックスのような9個のマスの集まりをユニット(unit)と呼び、ユニットを共有するマスをピア(peer)と呼んでいる。パズルではマスのいくつかが空いており、他は数字が入っている。パズルの目的はこうだ。 それぞれのユニットのマスが1から9の数字の順列によって埋められるようにする。 つまり、1つのユニットに同じ数字が2度現れてはならず、そ

    keloinwell
    keloinwell 2011/09/04
    "数独は「人間の知性に対するDoS攻撃」なのだ。"
  • 中学一年生によるインタビュー

    Paul Graham / 青木靖 訳 2010年6月 (中学一年生が学校のプロジェクトで送ってきた質問への回答) 1. プログラマに必要なことは何ですか? プログラマはコンピュータに何をするか伝えます…英語のような人間の言葉ではなく、プログラミング言語と呼ばれる曖昧さのない特別な言葉を使います。プログラミング言語で書かれた命令はコードと呼ばれています。プログラマはプログラムが何をすべきかについての自分のアイデアを、効率が良く、信頼性があり、後で容易に変更できるような形でコードに変換する必要があります。最高のプログラマというのは、アイデアをコードへと変換するのがうまいだけでなく、良いアイデアを持っている人のことを言います。 2. プログラマをしていて一番いいことは何ですか? 最悪のことは? 一番難しいことは? 私にとって一番いいのは物を作るという部分です。プログラムは形のあるものではありま

  • プログラマの権利宣言

    Jeff Atwood / 青木靖 訳 2006年8月24日 企業は開発者に給与として60-100kドル支払いながら、ひどい作業環境と汚い使い古しのハードウェアによって彼らを損なっている。信じられない話だ。そんなのはビジネス的に理屈に合わない。ところがそういうのをどこでも目にする。ソフトウェア開発者が成功するために不可欠なものを与えていな い企業がいかに多いかは驚くばかりだ。 そこでプログラマの権利宣言を採択し、成功に不可欠な基的なことを否定する企業からプログラマの権利を守ることを提案する。 すべてのプログラマは2つのモニタを持つ権利を有する 下落する液晶ディスプレイの価格と、遍く存在するデュアル出力ビデオカードのことを考えるなら、開発者を1つのディスプレイに制限するのはばかげた話だ。ディスプレイを2つにすることによって得られる生産性の利益については、今では十分に説明されている。開発者の

    keloinwell
    keloinwell 2007/04/13
    なんかのテンプレになりそうな文章だな。
  • 1