タグ

Algorithmとalgorithmに関するtar0_tのブックマーク (80)

  • A Very Brief Introduction to the Pi-Calculus (in Japanese)

    π-calculus 超入門 π-calculus は、80 年代の終わりごろに Milner らによって提案された並行計算のモデルの一つです。そこでは、プロセスと呼ばれる複数の独立した主体が、通信チャネルと呼ばれるデータの通り道を介して値をやりとりしながら、計算を行っていきます。π-calculus にはいろいろな変種があるのですが、ここではとりあえず次のような構成要素からなるものを考えましょう。 new x . P 新しいチャネル x を作ってから、プロセス P を実行する (channel creation) x![v1, ..., vn] チャネル x に値 v1, ..., vn を送る (asynchronous output) x?[v1, ..., vn] . P チャネル x から値 v1, ..., vn を受け取って、P を実行する (input guard) P |

  • アルゴリズムの紹介

    ここでは、プログラムなどでよく使用されるアルゴリズムについて紹介したいと思います。 こんなことやって意味あるのかどうか正直言って迷いました。プログラマはたいてい知っているような内容だし見る人もいないんじゃないかと思いましたが、これからプログラミングを始めてみようという方にとっては参考になるかもしれないし、何よりも自分にとって頭の中を整理できたりするので、これから定期的にやっていこうかと考えてます。 ところで、紹介する内容はほとんど過去に出版された書物関係から抜粋しています。一応下の方に参考文献として挙げておきますので興味を持たれた方は書店などで探してみてはいかがでしょうか? ということで、まずはライン・ルーチン(画面に直線を描画する)についての紹介です。

  • http://ja.doukaku.org/

  • ALGORITHM NOTE

    X×Y個のセルから成るグリッド上のスタート地点から出発し、全5種類のパチクリ(生物)を捕まえた状態でゴール地点まで行く最短コストを求める問題です。各パチクリはそれぞれ、火、氷、木、土、水の属性を持ち、火のパチクリは氷のパチクリを捕まえることができ、氷のパチクリは木のパチクリを捕まえることができ、といったように火→氷→木→土→水→火というような属性の関連があります。スタート地点で最初に持つパチクリを1つ選ぶことができます。グリッドのサイズx, y はそれぞれ2以上1000以下で、各属性のパチクリの数はそれぞれ0以上1000以下です(全体の数は5000以下)。 最初に1つのパチクリを選んだ後のパチクリを捕まえる順番は、上記属性の関連の順番になります。例えば最初に火の属性をもつパチクリを持っていれば、氷、木、土、水の属性をもつパチクリを順番に捕まえてゴールに行けばよいので、下図に示すDAG(Di

  • 迷路のプログラム

    迷路のプログラム 迷路プログラム 自作の迷路のプログラムを置いておきます。 OSはWindowsです。 実行方法はダウンロードして解凍して動かすだけです。 インストーラはありません。 システムをいじっていないので、削除するだけでアンストールできます。 動作確認をきちっととらず、エラーチェックをサボってるので(コンパイラのマニュアルを見てもよくわからなかった)、 使い方によってはエラーが出るかもしれません。ご勘弁を。

  • ネイピアの骨 - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "ネイピアの骨" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL (2019年5月) 基盤と棒からなる。棒は左の図(図は7の棒)のように九九を元にして作られており、同じ棒が何か用意されている。 ネイピアの骨は、ギリシャ語で「棒」を意味する ραβδoς (rabdos) と、「言葉」を意味する λóγoς (logos) の合成語である ラブドロジー (Rabdology) とも呼ばれる。ネイピアは、1617年の末にエディンバラで Rabdologiæ という名前で発表した。ネイピアの骨には九九の表が組み込まれており、複数の桁からなる正の

    tar0_t
    tar0_t 2008/02/05
    計算尺のようなものらしい
  • 試行除算による素数判定

    tar0_t
    tar0_t 2008/01/28
    wheel factorization, エラトステネスの篩
  • The Stony Brook Algorithm Repository

    This WWW page is intended to serve as a comprehensive collection of algorithm implementations for over seventy of the most fundamental problems in combinatorial algorithms. The problem taxonomy, implementations, and supporting material are all drawn from my book The Algorithm Design Manual. Since the practical person is more often looking for a program than an algorithm, we provide pointers to sol

  • GC - GCアルゴリズム詳細解説 - livedoor Wiki(ウィキ)

    GCアルゴリズム詳細解説 日語の資料がすくないGCアルゴリズムについて詳細に解説します トップページページ一覧メンバー編集 × GC 最終更新: author_nari 2010年03月14日(日) 20:47:11履歴 Tweet このWikiが目指す所 GCとは? GCを学ぶ前に知っておく事 実行時メモリ構造 基アルゴリズム編 Reference Counter Mark&Sweep Copying 応用アルゴリズム編 IncrementalGC 世代別GC スナップショット型GC LazySweep TwoFinger Lisp2 Partial Mark and Sweep -Cycle Collection- Mostly Parallel GC train gc MostlyCopyingGC(Bartlett 1989) TreadmillGC(Barker 1992)

    GC - GCアルゴリズム詳細解説 - livedoor Wiki(ウィキ)
  • ボロノイ図の書き方

    目次 ボロノイ図の書き方 ボロノイ図作成の効率的な算法 ボロノイ図作成の効率的な算法 逐次添加法と再帰二分法の概略 逐次添加法 ステップ4 逐次添加法 添加母点Pm+1に一番近い母点を求める方法 式d(Pm+1、P)<d(Pm+1、P*) 式d(Pm+1、P)<d(Pm+1、P*) PPT Slide 母点の添加順序の工夫 メッシュの番号付け PPT Slide T メッシュを迅速に探す方法

  • 二次元のボロノイ図とドロネー図(2-dimensional Voronoi and Delaunay diagram)

    修正日:2005年4月20日(作成日:1997年12月17日) 文責: 青木 淳 二次元のボロノイ図とドロネー図 (2-dimensional Voronoi and Delaunay diagrams)  ボロノイ図とドロネー図を計算するSmalltalkプログラム(Voronoi2.st)をGPL(GNU一般公有使用許諾)に則ったフリーソフトウェアとして公開します。6年以上前にSmalltalk-80 v2.3用に作成したものを,必要に迫られてVisualWorks 2.5用に書き直してみました。どうぞ御利用ください。  平面上に配置された点群において,各点の勢力圏に応じて平面を分割した図が,二次元のボロノイ図(Voronoi diagram)です。また,二次元のドロネー図(Delaunay diagram)は,ボロノイ図と双対関係にあります。たとえば,仮に50個の点をランダムに平

  • 離散ボロノイ図表示スクリプト

    いろいろな画素形状での離散ボロノイ図 このページでは、2000年度に行われた、いろいろな形状の画素における離散ボロノイ図の研究についてまとめる。 目次 2次元直交座標系(平面座標系) セルインデックス セルの代表点 セルの大きさ 正方格子座標系 六角格子座標系 三角格子座標系 境界矩形 セルの矩形領域内判定 セル配列 セルの反復 セル間の距離の比較 離散ボロノイ図表示スクリプト drawDVD.ps 離散ボロノイ図の定義 全探索法による作成 波面法による作成 順序表の作成 飛び地について 隣接情報の抽出 付録 更新履歴 離散ボロノイ図の研究|村島研究室 2次元直交座標系(平面座標系) 平面上の位置は、2つの実数値をつかって一意に表すことが出来ます。2次元直交座標系は直交する2つの軸、x軸とy軸をつか

  • Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware

    Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III http://www.cs.unc.edu/~hoff/ hoff@cs.unc.edu Abstract: We present a new approach for computing generalized 2D and 3D Voronoi diagrams using interpolation-based polygon rasterization hardware. We compute a discrete Voronoi diagram by rendering a three dimensional distance mesh for each Voronoi site.

  • zonulog:アルゴリズム

  • Boids (Flocks, Herds, and Schools: a Distributed Behavioral Model)

    A slightly more elaborate behavioral model was used in the early experiments. It included predictive obstacle avoidance and goal seeking. Obstacle avoidance allowed the boids to fly through simulated environments while dodging static objects. For applications in computer animation, a low priority goal seeking behavior caused the flock to follow a scripted path. In cooperation with many coworkers a

  • Dictionary of Algorithms and Data Structures

    absolute performance guarantee abstract data type (a,b)-tree accepting state Ackermann's function active data structure acyclic directed graph: see directed acyclic graph acyclic graph adaptive heap sort adaptive Huffman coding adaptive k-d tree adaptive sort address-calculation sort adjacency-list representation adjacency-matrix representation adjacent admissible vertex ADT: see abstract data typ

  • C言語 Super Technique 講座

    このページは、C言語の中級テクニックを中心に解説する。長らくプログラマをしていると、C言語の面白い使い方例が蓄積している。これらを一挙公開するために、このページを作ったのである。しかし、単にCに留まらず、他の言語の面白い特徴なども紹介していく。 内容的にはかなりヘヴィである。当然のことながら、「ポインタ虎の巻」程度の内容はちゃんと使いこなせることを前提とする。意外な技、落し穴、派手なテクニックなど、内容満載だが、ちゃんとデータ構造とアルゴリズムなども説明できれば良いと思う。(まあ、ぼちぼちやってきいます...) 以下の目次には手引きのために、評価がつけてある。凡例として示す。 レベル その解説で記載されている内容のレベル 有用度 その内容が実際に役に立つものかどうか 邪悪度 その内容が薦める方法が、一般的なコーディング規約の中で「邪悪」とされがちなものであるか否か。関数ポインタの活用(濫用

  • The Aggregate Magic Algorithms

    There are lots of people and places that create and collect algorithms of all types (here are a few WWW sites). Unfortunately, in building systems hardware and software, we in The Aggregate often have found it necessary to do relatively obscure low-level things very efficiently. Many of the tricks we've devised or collected either require assembly language coding or are not entirely portable when

  • 地球にやさしいアルゴリズム---目次 - 地球にやさしいアルゴリズム:ITpro

    アルゴリズムを構成している楽しい仕組みを紹介しながら,あなたに「おおっ」と言わせることが,連載の最初の目的です。興味を持てたなら,アルゴリズムに関する文献や情報を抵抗なく読めるようになるはずです。アルゴリズムを使いこなしたり,作ることも無理なくできるようになるでしょう。 まずはいろいろなアルゴリズムの面白いところを見て,楽しんでみましょう 第1回 ナンプレを解いてみよう 第2回 パズルみたいに楽しいデータ圧縮 第3回 「場面」の移り変わりに注目する 第4回 できるだけ短いルートでゴールに到達する 第5回 隣の区画と異なる色で地図を四色に塗り分ける 第6回 上手なアルゴリズムの見つけ方 第7回 多対多の関係を賢く扱う 第8回 倉庫番を解くアルゴリズム 第9回 プロトコルを実現するアルゴリズム 第10回 麻雀の役を判定する 第11回 プログラム同士の対戦ゲーム 第12回 対戦ゲームの戦略を考

    地球にやさしいアルゴリズム---目次 - 地球にやさしいアルゴリズム:ITpro
  • ビットを数える・探すアルゴリズム

    作成日:2004.05.04 修正日:2012.09.01 このページは 2003年の9/11、9/28 の日記をまとめて作成。 はじめに PowerPC 系や Alpha などには population count と呼ばれるレジスタ中の立っているビット数を数える命令が実装されている。 集合演算を行うライブラリを実装したい場合などに重宝しそうな命令である。 職場でこの population count 命令について話をしているうちにビットカウント操作をハードウェアで実装するのは得なのか?という点が議論になった。 CPU の設計をできるだけシンプルにするためには、複雑で使用頻度の低い命令は極力減らした方がよい。 例えば SPARC は命令セット中にビットカウント演算があるが、CPU 内には実装しないという方針をとっている(population 命令を実行すると不正命令例外が発生し、それを