ある条件でソートされているIDのリストを与えられて、なんとなく近い範囲でマッチングさせたいという要件があった。配列からの任意の要素の取り出しは O(n) だけど、末尾や末尾から固定した範囲の要素に限って言えば O(1) なので、後ろの方からマッチングさせながら要素を取り出していけば O(n) でマッチングできるはず。 なんにも難しいことは無い話で、 Python で書けばこうなる。 list.pop() が末尾からのインデックス (-1 が最後の要素を表す) を許すのが地味に便利だ。 # coding: utf-8 def match(seq, r=100): from random import randint # 奇数個の時に先頭周辺の要素がボッチになるのが嫌なら、先に後ろの方の # 要素を取り除いて偶数にしておくこと. while len(seq) >= 2: # 引数を省略すると末
本連載ではアルゴリズムとデータ構造を学ぶ、または学び直すことで、プログラミングのスキルを深めていきます。アルゴリズムは学問として取り扱われることが多いですが、この連載では開発の現場に役立つスキルを身に付けることを目的とします。 機械学習/Deep Learningが気になる人も要注目、「アルゴリズム」の基本が学べる無料の電子書籍150ページ 人気連載まとめ読み! @IT eBook(29) 人気過去連載を電子書籍化して無料ダウンロード提供する@IT eBookシリーズ。第29弾では「コーディングに役立つ!アルゴリズムの基本」10回分を1冊のPDFとしてまとめた。アルゴリズムとは何か? なぜ学ぶべきなのだろうか?
ゲームの作り方とアルゴリズムをジャンル別にまとめてみました。ゲーム制作や、プログラミングの勉強用にご活用ください。言語別ゲームプログラミング制作講座一覧もあわせてお読みください。 リンク切れがおきていたものは、URLを表示しておくので、Internet Archiveなどでキャッシュを表示させてみてください。 RPG ゲームの乱数解析 乱数を利用した敵出現アルゴリズムの解説 各種ゲームプログラム解析 FF、ドラクエ、ロマサガのプログラムの解析。乱数の計算など ダメージ計算あれこれ(http://ysfactory.nobody.jp/ys/prg/calculation_public.html) ダメージの計算式 エンカウントについて考えてみる エンカウント(マップでの敵との遭遇)の処理方法いろいろ RPGの作り方 - ゲームヘル2000 RPGのアルゴリズム ドルアーガの塔 乱数の工夫の
Google was a better search engine than it’s predecessors for a number of reasons, but probably the most well known one is PageRank, the algorithm for measuring the importance of a page based on what links to it. Though not necessarily that useful on its own, this kind of link analysis can be very helpful as part of a general information retrieval system, or when looking at any kind of network, suc
Google の検索エンジンがページのランク付けのために PageRank という指標を使っているというのは聞いたことがあるかと思います。 今日はそのアルゴリズムを PHP で軽めに実装してみました。 ちなみに PHP で実装しても何もいいことがないので、やめたほうがいいでしょう。 まず PageRank というのは簡単に説明すると、 Google が考案したページのランク付けアルゴリズムでページへリンクがそのサイトの評価だという視点でランク付けを行うために作られたものです。 詳細については Google の秘密 - PageRank 徹底解説 を参考にしてみて下さい。 その内部アルゴリムですが、おおざっぱにいえば下の箇条書きにあるよう生成された確率行列の、最大固有値(確率行列はだいたいの場合において1)の固有ベクトルをべき乗法で求めることになります。 なぜ確率行列の主固有ベクトルを求める
SEOmozでは現在、開発に懸命に取り組んでいる新ツールがある(初期段階のスクリーンショットをここでお見せする!)。このツールでやろうとしていることの1つは、すでにいただいているアドバイスを取り入れることだ。 以前のSMX Advancedでは、SEO担当者と検索エンジン関係者の双方から、データに焦点を合わせるべきであり、検索順位のチェックだけに終始するのはどうか止めてほしいという言葉をいただいた。そこで僕らは数字に取り組んできた――それはもうたくさんの数字に。 こうしたデータについては、ちょっとばかり解釈に苦しむような場面もあり、そこでデータを理解するために回帰分析をはじめとするデータ処理を利用した。実をいうとそのために、オンライン回帰分析ツールを急きょ準備したんだ。 僕らが理解しようとしている問題を、下の図に示す。 非常に信頼度が高い複数の情報源からすばらしいデータを集めていることがわ
テレビやディスプレイなどの映像表示機器がハイビジョン化し、PCやゲーム機によって映し出される映像に対し、ユーザーはとてつもなく高い期待値を持つようになってきている。 こうした時勢におけるゲーム開発、コンピュータベースのアニメーションなどのCG制作おいて、昨今、課題となってきているのは素材作成に関わるコストと制作負荷の増加問題だ。ユーザーの目が肥え、ユーザーの映像表示機器も高品位化しているため、いまや、この部分にごまかしは利かなくなっている。かといって開発に使える予算は以前からそうは変わらない。 そこで、注目されてきているのは、高品位な素材群を人間の手でゼロから作るのではなく、コンピュータの力だけで作れないか。あるいはそれがダメならばコンピュータの性能で制作をアシストしてもらって開発効率を上げられないか……そんな技術を業界は求め始めてきている。いわば「コンテンツ制作の自動化」、あるいは「
ユーザー(あるいはセッション)がどれくらいサイトに興味を持っているか、どれくらい「コンバージョンしやすいか?」を表す公式がWebAnalyticsDemysitifiedで公開されました。その公式とは以下の通りです。*1 VE=Σ(Ci+Di+Ri+Li+Bi+Fi+Ii) 変数の意味は以下の通りです。 VE(Visitor Engagement) = エンゲージメント度合い Ci (Click Depth Index) = ページ閲覧や成果を表す変数 Di (Duration Index) = サイトでの滞在時間を表す変数 Ri (Recency Index) = 来訪頻度を表す変数 Li (Loyalty Index) = サイトに滞在している期間を表す変数 Bi (Brand Index) = サイトのブランドをどれくらい理解しているかを表す変数 Fi (Feedback Index
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く