KMCの例会講座で用いたスライドを一部編集したものです。 ビット演算を組み合わせたトリッキーな方法で様々な操作を高速に行う方法を紹介します。
![CRC-32](https://cdn-ak-scissors.b.st-hatena.com/image/square/1cdc6c055a09be2ba7820be973b0de0aa2302c74/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fcrc-32-100904203509-phpapp02-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
ここに掲載されているのは、授業アーカイブの対象となる教室で開講される講義です。 講義に関してはシラバスをご確認ください。
【2016/03/04追記】以前まとめたこのMVACという名前の設計は既に古くなっており、今はこのようなアーキテクチャで設計していません。 こんにちは。最近ははてなでMVACというアーキテクチャに則って開発をしているのですが、ようやく意味を理解できてきました。そこで今回は「Web Applicationを綺麗に設計するためのMVACという考え方」について、サンプルを交えながら説明していこうと思います。かなり長くなってしまったので、時間があるときにでもどうぞ。 MVACって? データソースやロジックを扱う「Model」、表示・出力を管理する「View」、複数のModelとControllerをつなぐApplication、ユーザのリクエストなどを受け取りViewやApplicationを制御する「Controller」の4つの要素を組み合わせてシステムを実装する方式。MVCをさらに抽象化した
渡部昇一さんの知的生活の方法 (講談社現代新書 436) に忘れがたいエピソードがあります。著者がドイツで研究をしていた折、指導してくださっていた先生からカード方式で情報をまとめて、思考を整理することをすすめられたというくだりです。 そのようなとき、また先生のお宅に夕食に招かれた。夕食前には論文の進み具合についての訊問があったが、私がまだもたもたしていることに気づかれた先生は、「一つ君に提案しようか」(Darf ich lhnen einen Vorschlag machen?) といわれて、カード方式をすすめられたのである。このときの Vorschlag (提案)という単語の発音が今でも印象深い。 いまでも、断片化して収拾がつかない思考をカード方式でまとめることには意義があります。PoIC などはこの冠たる例ですし、私もいまも引き出しに数千枚のカードを常備しています(買いすぎ…)。 でも
3次元のkd木。根セル(白)をまず2つの部分セルに分割(赤)し、それぞれをさらに2つに分割(緑)している。最後に4つのセルそれぞれを2つに分割(青)している。それ以上の分割はされていないので、最終的にできた8つのセルを葉セルと呼ぶ。黄色の球は木の頂点を表している。 kd木(英: kd-tree, k-dimensional tree)は、k次元のユークリッド空間にある点を分類する空間分割データ構造である。kd木は、多次元探索鍵を使った探索(例えば、範囲探索や最近傍探索)などの用途に使われるデータ構造である。kd木はBSP木の特殊ケースである。 kd木は、座標軸の1つに垂直な平面だけを使って分割を行う。BSP木では分割平面の角度は任意である。さらに一般的には、kd木の根ノードから葉ノードまでの各ノードには1つの点が格納される[1]。この点もBSP木とは異なり、BSP木では葉ノードのみが点(ま
2009年04月30日01:00 カテゴリMathLightweight Languages algorithm - 最近点検索をkd-treeで というわけで、kd-treeによる検索も実装してみました。 はてなブックマーク - ototoiのブックマーク データ数が少ない場合、この全検索が高速。ただデータが多くなってくるとkd-treeがいいと思う。点ならば配列をソートするだけで実現できる。 以下のデモでは、単にkd-treeによる検索だけではなく、kd-tree構築の速度と、総当たりの場合の速度の比較もできるようにしてあります。10,000点ぐらいだと、その差を顕著に感じることが出来るでしょう。100,000点ぐらいあると、感動的なほど差が出ます。それだけあってもkd-treeの方はほぼ1ms以内に検索が終わるのですから(ただしこの場合、デモの実行に合計10秒以上かかるので注意!)。
メモ書き. 全探索 (線形探索) 最も単純な方法は全探索である.注目点から空間中の全点の距離を測り, その距離が最小になる点を最近傍点とする.なお,計算量はO(n) k-d tree (k-dimensional tree) 上手に二分木をつくることで探索空間を二分探索することが可能.最も有名なのがk-d tree. どうやって木をつくるか 簡単のため2次元で考えると手順は以下のようになる. 1. x軸に平行(別に垂直でもよい)に空間を二分割する.上下でノードをつくる 2. y軸に平行に空間を二分割する.左右でノードをつくる 3. x軸に平行に空間を二分割する.上下でノードをつくる 4. ・・・ これを再帰的に繰り返す. 分割とk-d tree どうやって空間を二分割するか 図では簡単のために単純にど真ん中で空間を分割しているが, 点の座標値の中央値で分割するとk-d treeは平衡木にな
kd木(英: kd-tree, k-dimensional tree)は、k次元のユークリッド空間にある点を分類する空間分割データ構造である。kd木は、多次元探索鍵を使った探索(例えば、範囲 ...
遺伝的アルゴリズムとは? ミシガン大学のジョン・ホランド(John H . Holland)が適応・進化のモデルとして考案した。1975年に著書"Adaptation in Natural and Artificial Systems"として出版。今日では主として最適化の手法としての応用研究が進んでいる。 遺伝的アルゴリズムは、適用範囲の非常に広い、生物の遺伝のメカニズム(ネオダーウィニズム)を模倣した学習的アルゴリズムである。生物が進化してきたような遺伝的な法則を工学的にモデル化し、また参考にして工学に役立つような学習方法を与えるものである。 定められた形のコードを1つの個体として、多数の個体を含む個体群を用意し、各個体に遺伝と同じようなメカニズムを働かせて進化させる。データ(=解の候補)を遺伝子(=記号)からなるコードとして表現し(これを染色体とみなす)、選択・交叉・突然変異などの遺伝
(有限会社)社会ネットワーク所 取締役社長 安田雪(Ph.D. in Sociology) 人脈・組織・企業・地域・都市の社会ネットワーク分析、信頼できる仲間のつくりかたなどについて講演のご依頼もおひきうけいたしております。著書は『ルフィの仲間力』『ルフィと白ひげ』(ともにアスコム)『ネットワーク分析-何が行為を決定するか』(新曜社)『つながりを突き止めよ』(光文社)など多数。 弊社は、政府ならびに京都府・京都市外出自粛要請に従い、 完全休業させていただいております。残念ながら実質的には 3月以降、外出自粛に従い、コンサルティング ビジネスなどは一切、おうけできない状態にあります。 ・ネットワーク分析のノウハウ、 ・企業内人事の仲介と橋渡し ・タイミング問題 ・キャリアパス(属性別)とネットワークバランス ・国際的ネームジェネレータ開発 など、個別の案件については、自粛要請解除次第 あらた
Graphviz (Graph Visualization Software) は AT&T研究所が開発したオープンソースのツールパッケージであり、DOT言語で記述されたグラフ構造(ノードとエッジから成るネットワーク構造)を描画する。パッケージにはアプリケーションソフトウェアからツールを使うためのライブラリも含まれる。GraphvizはEclipse Public Licenseライセンスで提供されるフリーソフトウェアである。 アーキテクチャ[編集] Graphvizはグラフ記述言語であるDOT言語に基づいており[2]、DOTファイルを生成・編集する以下のツール群からなる。 dot 有向グラフをレイアウトして各種ファイル形式(PostScript、PDF、SVGなど)を生成するコマンドラインツール neato dot の無向グラフ版 twopi 放射状のレイアウト用 circo 環状のレイ
NRNB and Cytoscape Introduction to the National Resource for Network Biology How to Cite Cytoscape Cytoscape project needs your support! Please cite the original Cytoscape paper when you use Cytoscape. This is critical to sustaining our federal funding. Shannon P, Markiel A, Ozier O, Baliga NS, Wang JT, Ramage D, Amin N, Schwikowski B, Ideker T. Cytoscape: a software environment for integrated mod
「1週間で作りました。Togetter(トゥギャッター)を使って」 ソフトバンクの孫正義社長は、3月28日にTwitterユーザーを招いて行ったイベント「ソフトバンクオープンデイ」でこう話し、会場に集まった約1300人のTwitterユーザーと、Ustreamのライブ配信を視聴していた数万人のユーザーに、「Togetter」の画面を見せた。 Togetterは、複数のつぶやきをドラッグアンドドロップで選び、1画面にまとめられるサービス。自分のつぶやきをまとめたり、他人のつぶやきから面白いものを抜き出してまとめるといったことが可能だ。 孫社長がスクリーンに映してみせたのは、自らがTwitterで、「やります」と宣言した内容についてのまとめ「やりましょう」リストなど。孫社長のつぶやきと、進ちょくに関する関係者のつぶやきを一画面に集約し、進み具合が分かるようになっている。 「まさかのUstrea
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く