algorithmに関するmumincacaoのブックマーク (28)

  • 最強最速アルゴリズマー養成講座:アルゴリズマーの登竜門、「動的計画法・メモ化再帰」はこんなに簡単だった (1/5) - ITmedia エンタープライズ

    動的計画法とメモ化再帰 今回は、非常によく用いられるアルゴリズムである、「動的計画法」「メモ化再帰」について説明します。この2つはセットで覚えて、両方使えるようにしておくと便利です。 なお、メモ化再帰に関しては、第5・6回の連載の知識を踏まえた上で読んでいただけると、理解が深まります。まだお読みになっていない方は、この機会にぜひご覧ください。 中学受験などを経験された方であれば、こういった問題を一度は解いたことがあるのではないでしょうか。小学校の知識までで解こうとすれば、少し時間は掛かるかもしれませんが、それでもこれが解けないという方は少ないだろうと思います。 この問題をプログラムで解こうとすると、さまざまな解法が存在します。解き方によって計算時間や有効範囲が大きく変化しますので、それぞれのパターンについて考えます。 以下の説明では、縦h、横wとして表記し、プログラムの実行時間に関しては、

    最強最速アルゴリズマー養成講座:アルゴリズマーの登竜門、「動的計画法・メモ化再帰」はこんなに簡単だった (1/5) - ITmedia エンタープライズ
    mumincacao
    mumincacao 2010/03/08
    めもする範囲を絞ってめもり節約・・・そういわれてみるとその通りくまー(´ロ`;【みかん とりあえずめも化の考え方は知ってたけど名前がわからなかったのです_(.._;【みかん
  • トップクラスだけが知る「このアルゴリズムがすごい」――「探索」基礎最速マスター

    トップクラスだけが知る「このアルゴリズムがすごい」――「探索」基礎最速マスター:最強最速アルゴリズマー養成講座(1/4 ページ) プログラミングにおける重要な概念である「探索」を最速でマスターするために、今回は少し応用となる探索手法などを紹介しながら、その実践力を育成します。問題をグラフとして表現し、効率よく探索する方法をぜひ日常に生かしてみましょう。 まだまだ活用可能な探索 前回の「知れば天国、知らねば地獄――『探索』虎の巻」で、「探索」という概念の基礎について紹介しました。すでに探索についてよく理解している方には物足りなかったかと思いますが、「問題をグラフとしてうまく表現し、そのグラフを効率よく探索する」というアルゴリズマー的な思考法がまだ身についていなかった方には、得るものもあったのではないでしょうか。 前回は、「幅優先探索」と「深さ優先探索」という、比較的単純なものを紹介しましたが

    トップクラスだけが知る「このアルゴリズムがすごい」――「探索」基礎最速マスター
    mumincacao
    mumincacao 2010/02/08
    探索するときの枝刈りに付いてでまずは二分探索のおはなし・・・この手のものは探索過程を可視化するとなんだか楽しいのです 〆(・ω・。【みかん
  • 経路探索アルゴリズムの「ダイクストラ法」と「A*」をビジュアライズしてみた - てっく煮ブログ

    as詳解 ActionScript 3.0アニメーション ―衝突判定・AI・3DからピクセルシェーダまでFlash上級テクニック を読んでいて、経路探索のアルゴリズムで A* が取り上げられていました。A* については、いろいろ検索して調べたりもしたのですが、やっぱりに書いてあると理解しやすいですね。せっかくなので自分流に実装してビジュアライズしてみました。ダイクストラ法まずは A* の特別なケースでもあるダイクストラ法から見ていきます。クリックすると探索のシミュレーションが開始します。スタート地点(S)からゴール(G)への探索が始まります。色がついたところが「最短経路が決定した場所」です。スタート地点から少しずつ探索が完了していきます。半分ぐらい完了しました。まだまだ進みます。最後まで終わりました。最短経路を黒色矢印で表示しています。ダイクストラ法は、スタート地点から近いノード(=マス

    mumincacao
    mumincacao 2010/01/27
    ぱすてるから~がすてきなのです(・ω・。【みかん それにしても A* って A Star じゃなく A* だけで渡されると検索しづらいよね・・・ (´・ω・`;【みかん
  • MySQL InnoDBだけで全文検索 - SH2の日記

    実験エントリです。 予習してみる 「転置インデックス」というキーワードで検索して、しばらく勉強してみます。 転置インデックス - Wikipedia mixi Engineers’ Blog » 転置インデックスを実装しよう ASCII.jp:悟空、秘剣「転置インデックス」を手に入れる |Googleはなぜ的確に探せるのか? [を] 転置インデックスによる検索システムを作ってみよう! 転置インデックスで学ぶ検索エンジンの中身アプリ - 睡眠不足?! うーんなるほど。分かったような分からないような。 作ってみる とりあえず、Twitter4Jを使ってこんなデータを用意しました。ちなみに人選は漢(オトコ)のコンピュータ道: MySQLerのTwitterアカウントまとめ。を参考にさせていただきました。 5707049458,2009-11-14 20:28:34,sakaik,@hbstudy

    MySQL InnoDBだけで全文検索 - SH2の日記
    mumincacao
    mumincacao 2009/12/07
    Ngram 検索するとそれだけにしちゃいがちだけどそう言われてみると絞り込んでから LIKE 検索もありかなぁ...〆(・x・。【みかん
  • インテルTBBから学ぶループの並列化

    はじめに この連載では、並列処理を高度に抽象化したインテルTBBを通じて、並列化の考え方を取得することを目的としています。今後、並列化は当たり前のものとなり、さまざまな形でサポートされるようになります。並列化処理の根底に流れる考え方を身につければ、その変化に対応できます。 今回はインテルTBBのアルゴリズムテンプレートとループの並列化について解説します。この連載のサンプルはあくまでもインテルTBBの使い方を説明するものであり、実務を特別に意識したものではありません。その点をご理解下さい。 対象読者 筆者が想定している読者はC++の基的文法を理解し、並列化プログラミングに興味を持っている方です。高度なC++テクニックを極力さけ、基的な文法さえ分かれば読めるように極力注意しますので、並列化に興味を持っている方はぜひこの連載に目を通して下さい。 必要な環境 C++コンパイラが必要です。お持ち

    インテルTBBから学ぶループの並列化
    mumincacao
    mumincacao 2009/11/11
    parallel for のあるごりずむは気になるけど・・・読んでみたら datas のほうが気になって仕方ない件について・・・ (´・ω・`;【みかん
  • アルゴリズムの紹介

    ここでは、プログラムなどでよく使用されるアルゴリズムについて紹介したいと思います。 元々は、自分の頭の中を整理することを目的にこのコーナーを開設してみたのですが、最近は継続させることを目的に新しいネタを探すようになってきました。まだまだ面白いテーマがいろいろと残っているので、気力の続く限りは更新していきたいと思います。 今までに紹介したテーマに関しても、新しい内容や変更したい箇所などがたくさんあるため、新規テーマと同時進行で修正作業も行なっています。 アルゴリズムのコーナーで紹介してきたサンプル・プログラムをいくつか公開しています。「ライン・ルーチン」「円弧描画」「ペイント・ルーチン」「グラフィック・パターンの処理」「多角形の塗りつぶし」を一つにまとめた GraphicLibrary と、「確率・統計」より「一般化線形モデル」までを一つにまとめた Statistics を現在は用意していま

    mumincacao
    mumincacao 2009/10/19
    なんだかけっこう前から続いてるっぽいけどなんでこのたいみんぐでぶくま集中したのかなぁ? とりあえずぶくましちゃうけど...〆(・ω・。【みかん
  • Ruby on Railsの「えせMVC」の弊害

    先日のエントリーでも少し触れたが、Ruby on Railsの最大の問題点は、それが持つ「一見そのフレームワークがMVCの形をとりながら、MVCの最も大切なところを外している『えせMVC』である」点にある。MVC(Model View Controller)がなぜ必要かを根底の部分でちゃんとと意識せずにRailsアプリケーションを作ると、後々ひどい目に会うので注意が必要である。 その意味では「RailsでMVCを学ぶ」などもっての他だし、「JavaにもRailsと同じようなフレームワークを作って業務用アプリの開発を効率化しよう」などという発想もとても危険である。 ということで、今日はまずはMVCの解説から。 MVCの発想の根底には、「モジュール化と情報の隠蔽により、プログラムがスパゲッティ化するの(コード間の相互依存関係が複雑に入り込んでしまってにっちもさっちも行かない状態になること)を避

    mumincacao
    mumincacao 2009/10/13
    handler をただの SQL を実行するだけのもの扱いして controller にぺちぺち SQL 描く人がいるのはこのあたりが影響してるのかなぁ? しかもいろんなとこにこぴぺされるとめんてできないのです・・・ (´・ω・`;【みかん
  • オーダーを極める思考法

    プログラムの実行に掛かる時間を把握しておくのは、プログラミングを行う上で基的な注意点です。今回は、計算量のオーダーについて学びながら、TopCoderのMedium問題を考えてみましょう。 プログラムの実行時間 業務としてプログラミングをされている方には釈迦に説法かもしれませんが、プログラムの実行に掛かる時間を把握しておくのは、プログラミングを行う上で基的な注意点です。そしてこれは、TopCoderなどのコンテストでプログラムを組む際にもよく当てはまります。通常、こうしたことは感覚的に理解している方がほとんどだと思いますが、具体的にどれくらいのループを回すと何秒掛かる、といった基準を持っている人は少ないのではないでしょうか? 非常に基的なことですが、プログラムの実行時間に関して再確認しておきたいと思います。 TopCoderの制限に関して TopCoderでは、実行時間およびメモリ使

    オーダーを極める思考法
    mumincacao
    mumincacao 2009/08/24
    知識としては知ってても実際こ~ど描くときにちゃんと活かせるかどうかはまた別のおはなしっぽい気もするけどあとでちゃんと読んでこ~ど描いてみたいにゃぁ...〆(・x・。【みかん
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

    mumincacao
    mumincacao 2009/08/19
    そういわれてみると簡易ちぇっくするときは先頭の確認だけでごちそうさましてるかも...〆(・x・;【みかん
  • PHP5.3で継承して使うSingletonをちゃんとやる - 絶品ゆどうふのタレ

    発端 02:51:51 (sotarok) で, hoge_klass::get_instance() も,同じように動くようにしたい,でも,hoge_klass には, get_instance を再実装したくないよね 略しすぎてなんだか分からない人のために言っとくと、まぁSingletonの実装ってメンドいから継承したいよねと。 昔、Objective-Cでもそれやったけど 継承して使えるSingletonクラス - ゆどうふろぐ PHP5.3で遅延静的束縛ができたから、継承できるSingletonを実装できるようになったから。 まぁあちこちサンプルあるけど、なんかcloneとかconstructとかちゃんとやって無いし。 で、まぁノリで書いてみたらfinalとかがcloneやconsructに付けられるという事実が分かって*1、なんか思ったよりきちんと重複を排除できる感じで、継承して

    PHP5.3で継承して使うSingletonをちゃんとやる - 絶品ゆどうふのタレ
    mumincacao
    mumincacao 2009/08/13
    new self(); や new parent(); はこの前見たけど new static(); なんてのもあるにう? これがあれば backtrace から呼び出したくらす名抽出して new するよりもぜんぜんすま~とだにゃぁ...〆(・x・;【みかん
  • 第2回 文字列置換関数の比較とgdbの使い方 | gihyo.jp

    はじめに 前回に引き続き、PHP最適化Tipsについて検証していきます。 今回は文字列置換関数の比較です。またgdbを用いたPHPコードの読み方についても紹介します。 strtr > str_replace > preg_replace の順に速い この3つの関数は細かな動きに違いはあるものの、文字列を置き換える関数です。このように同じ動きをする関数が多く存在するのは良くも悪くもPHPの特徴であるといえます。 下記のベンチマーク用のコードを用意して、計測を行います。 benchmark_strtr.php <?php $t = microtime(true); $i = 0; while($i < 1000) { $a = strtr('abcdefghijklmn', 'abc', 'ABC'); ++$i; } $tmp = microtime(true) - $t; var_dump

    第2回 文字列置換関数の比較とgdbの使い方 | gihyo.jp
    mumincacao
    mumincacao 2009/06/30
    『あとで』になってたのを思い出したかのように読んでみたけど・・・ strtr() は strtr('abcdefghijklmn', array('abc' => 'ABC')) こうしないと str_replace() や preg_replace() と動作が変わっちゃわないかなぁ?
  • ジャンル別ゲームの作り方とアルゴリズムまとめ - ネットサービス研究室

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

    ジャンル別ゲームの作り方とアルゴリズムまとめ - ネットサービス研究室
    mumincacao
    mumincacao 2009/06/29
    なんだかいくつかはもう読んだことある気もするけどとりあえずめもめも...〆(・x・。【みかん
  • SQLで木と階層構造のデータを扱う――入れ子集合モデル

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    mumincacao
    mumincacao 2009/06/24
    なんだか前に英語のを見たことある気がするけど日本語版見つけたからとりあえずめもめも...〆(´ω`;【みかん もうちょっと更新時のこすとを小さくできるとすてきな気がするんだけどなぁ・・・
  • アニメ顔の色情報に基づいた画像検索のデモ - デー

    Imager::AnimeFaceを使ったちょっとした応用例として画像検索のデモを作りました。 Imager::AnimeFaceを知らない方は Perlでアニメ顔を検出&解析するImager::AnimeFace - デーを参照してください。 ウェブサービスとしてではなく、デモやサンプルの意図で作っていて、方針としては、 Imager::AnimeFaceで得られる情報以上のことは考えない 難しいことは無視して簡単に作る(コーディング1日〜2日で作れる程度) です。Imager::AnimeFaceから得られる色情報はオマケみたいなもので、検索に使うには情報量が少なすぎる気がしますが、これくらいはできるよ!というデモになります。 この記事ではデモと同等のものを実装するに必要なアルゴリズム(DB作成と検索)について簡単に説明します。注意として、この記事ではPerlで解説しますが、デモの実装

    アニメ顔の色情報に基づいた画像検索のデモ - デー
    mumincacao
    mumincacao 2009/05/21
    これが進化するととれすとか無断転載を発見できるぼっとさんができあがるのかなぁ?(・x・;【みかん
  • 高度な JavaScript 技集

    JavaScript で作って意味があるのかどうか分かりませんが、作ってみました。 応用編 入力したテキストをページ上に書き出し、個々の文字をドラッグ&ドロップ で動かせるようにする ソースを読んでも中身が分からない HTML を作成する パスワードチェックの部屋 (パスワードは「開けごま」ですが、HTML のソースや JavaScript を解析しても、絶対にパスワードが分からない仕組みになっています。) バー ライブラリ編 こんなの JavaScript で作るかよってな代物です。 できてしまったものはしょうがないでしょう。 utf.js (UTF-8 <-> UTF16 変換) base64.js (Base64 encode/decode) md5.js (MD5) des.js (DES 暗号化/復号化) zlib.js (JavaScript による zlib 実装、zlib

    mumincacao
    mumincacao 2009/03/03
    JavaScript で無茶してみたいときに使えるかもならいぶらり...〆(・x・。【みかん
  • John Resig - OCR and Neural Nets in JavaScript

    A pretty amazing piece of JavaScript dropped yesterday and it’s going to take a little bit to digest it all. It’s a GreaseMonkey script, written by ‘Shaun Friedle‘, that automatically solves captchas provided by the site Megaupload. There’s a demo online if you wish to give it a spin. Now, the captchas provided by the site aren’t very “hard” to solve (in fact, they’re downright bad – some examples

  • IBM Developer

    mumincacao
    mumincacao 2009/01/09
    き~ぼ~どのも含めてぼっと対策として使うのもありかなぁ? 〆(・x・。【みかん
  • 日本IBM

    女性が生成AIの活用を牽引して未来を拓く ビジネスを一変させつつある生成AI。女性が先駆者となることで実現できる世界があります。 詳細レポートを入手 このたびの令和6年能登半島地震で被災された皆様に謹んでお見舞い申し上げます。 令和6年1月1日に発生した能登半島地震により被災されたお客様向けの保守サービス特別対応 システム開発や運用に生成AIを活用する「IT変革のためのAIソリューション」により、生産性と品質の向上を実現

    日本IBM
  • JavaScript Event Delegation and Event Handlers | Rob Cherny.Com: Rob Cherny: Front End Development, Engineering and Architecture / JavaScript, HTML5, and CSS3 Consulting

    About My name is Rob Cherny and I'm a professional Web Developer with 16 years of experience creating Web sites and Web-based applications. This site is where I write about my work, and random other things... So JavaScript events support has gotten a lot more attention lately, as the promise of Ajax and RIA gets more and more mainstream. Companies such as Yahoo! have been pushing the limits of wha

  • Mobile Communications and Collective Action by Howard Rheingold | Communicating with Computers by Alan Kay | The Google ...

    “There are a number of gems in this presentation, which is overall very rousing about the possibilities of new technology and democratic empowerment. The one that made me think the most was the discussion of a UPC reader on a computer that looked the code up in a database and then did a Google search on that product, allowing you to know who things like whether the product was manufactured in an e