タグ

programmingとalgorithmに関するJ138のブックマーク (17)

  • http://local.joelonsoftware.com/mediawiki/index.php/Java

  • スペル修正プログラムはどう書くか

    Peter Norvig / 青木靖 訳 先週、2人の友人(ディーンとビル)がそれぞれ別個にGoogleが極めて早く正確にスペル修正できるのには驚くばかりだと私に言った。たとえば speling のような語でGoogleを検索すると、0.1秒くらいで答えが返ってきて、もしかして: spelling じゃないかと言ってくる(YahooMicrosoftのものにも同様の機能がある)。ディーンとビルが高い実績を持ったエンジニアであり数学者であることを思えば、スペル修正のような統計的言語処理についてもっと知っていて良さそうなものなのにと私は驚いた。しかし彼らは知らなかった。よく考えてみれば、 別に彼らが知っているべき理由はないのだった。 間違っていたのは彼らの知識ではなく、私の仮定の方だ。 このことについてちゃんとした説明を書いておけば、彼らばかりでなく多くの人に有益かもしれない。Google

  • C - で私も素数を数えてみた : 404 Blog Not Found

    2010年07月26日18:30 カテゴリMath C - で私も素数を数えてみた 世間は夏休みだそうだし、連日の猛暑で体調も底だし、というわけで私も素数を数えてみた。 10兆までの素数のリストを作ってみませんか? - 記者の眼:ITpro もしあなたがプログラマだったら、プログラムを書いて10兆までの素数のリストを作ってみてほしい。情報システムの開発に携わる人であれば、10兆までの素数のリストを出力するシステムの見積もりを考えてみてほしい。費用はどれくらいかかるか、納期はどれくらいか、あなたはどんな答を出すだろうか。仕様書はうまく書けるだろうか。 プライムナンバーズ David Wells / 伊知地宏監訳 / さかいなおみ訳 [原著:Prime Numbers: The Most Mysterious Figures In Math] といっても原田記者と同じように書いても芸がないので

    C - で私も素数を数えてみた : 404 Blog Not Found
  • 404 Blog Not Found:フローチャートがダメな3つの理由

    2008年07月19日16:00 カテゴリLightweight Languages フローチャートがダメな3つの理由 というわけで、前世紀の遺物、フローチャートを供養する試み。 フローチャートとFizzBuzz問題 - novtan別館 さて、研修の話だけど、低水準言語ってだけではなく、きちんとフローチャートを書かせて処理の流れを整理し、あるいは効率が悪くないかを考えさせる、ということも重要だと思っています。フローチャートがそんなにいいなら、なんでビジュアルプログラミング言語が現場で使われないの? まずは経験則による終了宣言。ちなみにここで言うビジュアルプログラミング言語の定義は、Wikipediaのそれと同じ。 ビジュアルプログラミング言語 - Wikipedia ビジュアルプログラミング言語(英: Visual programming language、VPL)とは、プログラム要素を

    404 Blog Not Found:フローチャートがダメな3つの理由
  • 404 Blog Not Found:プログラマーでなくても名前ぐらい覚えておきたいアルゴリズムx10

    2007年11月26日18:15 カテゴリMathLightweight Languages プログラマーでなくても名前ぐらい覚えておきたいアルゴリズムx10 ぎくっ あなたが一番好きなアルゴリズムを教えてください。 また、その理由やどんな点が好きなのかも教えてください。 - 人力検索はてな なぜぎくってしているかというと、実はすでにアルゴリズムの発注を受けているからなのだ。いつまでも伏せておくのもなんなので、ここにえいやっとdiscloseしてしまうことにする。 アルゴリズム大募集! C&R研究所 - トップページ その下書きもかねて、そこでも紹介しないわけに行かないメジャーなアルゴリズムをとりあえず10個紹介しておくことにする。 ユークリッドの互除法(Euclidean algorithm) その昔(数百年ほど前)は「アルゴリズム」といえば、「手順一般」を指すのではなく、この「互除法

    404 Blog Not Found:プログラマーでなくても名前ぐらい覚えておきたいアルゴリズムx10
  • ジャンル別ゲームの作り方とアルゴリズムまとめ - ネットサービス研究室

    ゲームの作り方とアルゴリズムをジャンル別にまとめてみました。ゲーム制作や、プログラミングの勉強用にご活用ください。言語別ゲームプログラミング制作講座一覧もあわせてお読みください。 リンク切れがおきていたものは、URLを表示しておくので、Internet Archiveなどでキャッシュを表示させてみてください。 RPG ゲームの乱数解析 乱数を利用した敵出現アルゴリズムの解説 各種ゲームプログラム解析 FF、ドラクエ、ロマサガのプログラムの解析。乱数の計算など ダメージ計算あれこれ(http://ysfactory.nobody.jp/ys/prg/calculation_public.html) ダメージの計算式 エンカウントについて考えてみる エンカウント(マップでの敵との遭遇)の処理方法いろいろ RPGの作り方 - ゲームヘル2000 RPGのアルゴリズム ドルアーガの塔 乱数の工夫の

    ジャンル別ゲームの作り方とアルゴリズムまとめ - ネットサービス研究室
  • 龍神録プログラミングの館

    管理人の新作ゲーム「四聖龍神録2」公開開始! ※現在はより適切な設計手法で紹介した龍神録2プログラミングの館があります。 ============================================================================ 龍神録プログラミングの館では、誰にでも龍神録(東方のようなSTG)が作れるような解説を行っています。 難しい構文は使わず、初心者にもわかり易い構文のみで紹介しているので 基的なC言語の知識と、DXライブラリの知識さえあれば、誰にでも龍神録は作れます! ゲームプログラミングの館でDXライブラリに慣れたら、今度は格的なゲームを作ってみましょう! ↓ゲーム紹介動画↓ ご存じない方は是非四聖龍神録Plusを遊んでみて下さい! 全ての章のプロジェクトを一括ダウンロードする場合はこちらをクリック ※ 配布しているプロジェクト

  • Amazon.co.jp: 集合知プログラミング: Toby Segaran (著), 當山仁健 (翻訳), 鴨澤眞夫 (翻訳): 本

    Amazon.co.jp: 集合知プログラミング: Toby Segaran (著), 當山仁健 (翻訳), 鴨澤眞夫 (翻訳): 本
  • 衝突判定のアルゴリズム

    2 つの図形の衝突判定 (コリジョン判定) のアルゴリズムをまとめます。 図が用意できておらず見難いですが、ご勘弁を。 太字はベクトルを表します。 線分と三角形 線分を p+tl、 三角形を (1-u-v)q0+uq1+vq2 で表します (t, u, v は媒介変数)。 Tomas Moller のアルゴリズム を Cramer の公式で解きます。 0.0≦t≦1.0, 0.0≦u, 0.0≦v, u+v≦1.0 なら交差と判定します。 半直線と三角形 線分と三角形の場合と同様の計算を行います。 0.0≦t, 0.0≦u, 0.0≦v, u+v≦1.0 なら交差と判定します。 点と球 点と球の中心の距離の 2 乗を求めて、 その長さが球の半径の 2 乗以下なら交差と判定します。 線分と球 線分の始点から終点へのベクトルを v、 線分の始点から球の中心へのベクトルを c とします。 v・c

    衝突判定のアルゴリズム
  • Collision Detection Algorithms - Games++

    This article assumes a basic understanding of the geometry and math involved in collision detection, and covers some advanced collision detection techniques. Portal-based engines divide a scene or world into smaller convex polyhedral sections. Convex polyhedra are well-suited for the graphics pipeline because they eliminate overdraw. Unfortunately, for the purpose of collision detection, convex po

  • Code Golf | Home

  • ACM/ICPC国内予選突破の手引き

    ACM/ICPCの2008年度の大会日程が公開されています。 国内予選は2008年7月4日,アジア地区予選会津大会は2008年10月25日~27日でホスト校は会津大学です。 参加登録締め切りは2008年6月20日です。 ここではACM/ICPC(ACM国際大学対抗プログラミングコンテスト: ACM International Collegiate Programming Contest)で 国内予選を突破するために必要な情報を載せています。 ACM/ICPC自体については2006年度の横浜大会のWebサイトなどを読んでください。 結局のところ,ACM/ICPCで良い成績を残すにはひたすら問題を解く練習をするしかありません。 ですが,出題される問題の多くはいくつかのカテゴリ,例えば探索問題やグラフ問題,あるいは幾何問題などに分類することができます。 つまり,「傾向と対策」が存在します。

  • Welcome To PKU JudgeOnline

    Problem Set is the place where you can find large amount of problems from different programming contests.Online Judge System allows you to test your solution for every problem. First of all, read carefully Frequently Asked Questions. Then, choose a problem, solve it and submit your solution. If you want to publish your problems or setup your own online contest, just write us. Peking University ICP

  • はてなのCAPTCHAは簡単に破れる

    CAPTCHAをご存知でしょうか。 スパム防止のために歪んだ文字とかを入力させる、アレのことなのですが、 はてなのCAPTCHAの強度が妙に低く思えたので検証してみました。 CAPTCHAというのはいわゆる逆チューリングテストという奴で、 人間には可能だが機械には処理しにくいことをさせることで、 ロボットによる操作を弾こうというものです。 たとえば、Gmailのユーザ登録には以下のような画像が表示され、 表示されている文字を入力することが求められます。 CAPTCHAの強度 例えばスパムを送るために大量のGmailアカウントを得ようとしてる人がいたとします。 手作業でGmailを登録するのは骨が折れる。 そこでプログラムによる機械化を試みることになるわけです。 その際、障壁となるのがこのCAPTCHAなのです。 この画像から正解である文字列"vittac"を得ることは機械には難しい。 プロ

  • http://ja.doukaku.org/

  • 良い乱数・悪い乱数

    C言語標準ライブラリの乱数rand( )は質に問題があり、禁止している学会もある。 他にも乱数には様々なアルゴリズムがあるが、多くのものが問題を持っている。 最も多くの人に使われている乱数であろう Visual Basic の Rnd の質は最低である。 そもそも乱数とは 乱数とは、来サイコロを振って出る目から得られるような数を意味する。 このような乱数は予測不能なものである。 しかし、計算機を使って乱数を発生させた場合、 次に出る数は完全に決まっているので、予測不能とはいえない。 そこで、計算機で作り出される乱数を疑似乱数(PRNG)と呼び区別することがある。 ここでは、特にことわらない限り乱数とは疑似乱数のことを指すとする。 計算機でソフト的に乱数を発生させることの最大のメリットは、 再現性があることである。 初期状態が同じであれば、発生する乱数も全く同じものが得られる。 このことは

  • ユビキタスの街角 データ圧縮手法の応用

    PPM (Prediction by Partial Matching)というデータ圧縮アルゴリズムがある。 一般に、あるデータ列が与えられているとき、次に来るデータを予測することができればデータ圧縮を行なうことができる。 データ列から判断して次に来るデータが「a」だと確実に判断できるときは「a」を記述する必要が無いからである。 PPM法では、既存のデータ列中の文字列出現頻度を計算することによってこのような予測を行なう。 たとえば「abracadab」というデータの次にどの文字が来るか予測する場合、 「a」は4回、「b」は2回出現している 「b」の後に「r」が続いたことがある 「ab」の後に「r」が続いたことがある ... といった情報を累積して確率を推定する。 この場合、 (3)から考えて次の文字は「r」である確率が高いが、 (1)も考慮すると「a」の確率もある、という風に計算を行なう。

  • 1