Zobrist hashing (also referred to as Zobrist keys or Zobrist signatures [1]) is a hash function construction used in computer programs that play abstract board games, such as chess and Go, to implement transposition tables, a special kind of hash table that is indexed by a board position and used to avoid analyzing the same position more than once. Zobrist hashing is named for its inventor, Albert
Going through old CACM issues I discovered a paper (PDF) on stream processing. A common problem in this field is to find frequent items in a data stream when you only get one pass through the data and you need answers in real time. This is interesting in situations where you don't have enough memory to store counters for each distinct item you see in the stream. One example is keeping track of the
出題者Ozyさんによる「大きなナップサック」問題の解説記事です。 最適解を導くためのアルゴリズムについてわかりやすい図解付きで説明してくれています。 そして、神級到達者はなんと30名!ニックネームを公開していますよ! by CodeIQ運営事務局 はじめに 出題者のOzyです。大きなナップサック問題解説です。 今回解説するのは、ナップサック問題の中でも“単一制約の01ナップサック問題”と呼ばれる種類のものです。ちょっと長いですから、今後は単に“ナップサック問題”と表記します。ナップサックに入れる品物には、値段と重量の2要素があり、重量が“制約”に相当します。また、品物1つひとつについては、ナップサックの中に、入れる/入れないという2つの状態がありますので、これは0と1で表現できることから、“01”と呼ばれています。 大きめのナップサック問題を解く場合に用いられる手法として有名なものは、動的
2013-10-27 まどか☆マギカ 劇場版まどか☆マギカ観てきました。感想。 とても良い話だった。 色紙は杏さやでした。杏子かわいい! 2013-10-25 研究 前回の記事にツッコミが入ったので更新しました。 なんかやりたいことは溜まってるんですが、研究してPOJ解いてアニメ観ると1日が終わっているのでなかなか進捗のない1週間でした。 まあ、研究している分だけ良いとも言いますが。 でも今やってる作業は、自分の研究に関わってくるかというと半々くらいのとこなので、手放しで喜べない感じもします。楽しいけど。 2013-10-17 高速素因数分解 知ってしまえば当たり前の話ですが、意外と蟻本にも載っていない話なので。 しばらく前に、Project Eulerの問題で素因数分解をする必要に迫られました。 素因数分解をするには、当然ながら素数を求めなくてはいけません。 これはエラトステネスの篩など
のような感じにエンコードされることが分かります。 自分の好きなデータで試すことができて便利!という話でした。 PS. 以下は実行結果です。 % make % gzip < alice.txt > alice.txt.gz % ./puff -10 alice.txt.gz puff() succeeded uncompressing 1328 bytes 8 compressed bytes unused inpos=406,inbits=224,outpos=0,outbytes=45 41 6c 69 63 65 20 77 61 73 20 62 65 67 69 6e 6e 69 6e 67 20 74 6f 20 67 65 74 20 76 65 72 79 20 74 69 72 65 64 20 6f 66 20 73 69 74 74 A l i c e w a s b
概要 数理最適化とは 汎用数理最適化パッケージ「Nuorium Optimizer」は、“データ”と“やり方(ルール)”がわかっていながら、 解決策が導き出せない現実の問題に対し、最適解を提供するツールです。 最適化ソリューションは様々な分野で広く利用されています。 数理計画法と呼ばれる様々な解法(アルゴリズム)を駆使して現実の問題を解決するというアプローチです。 数理最適化とは?最適化による効果や導入プロセスを紹介 主な特徴 数理最適化問題を解く際にモデルとなる数式をコンピューターに入力することは、意外に骨の折れる作業です。 Nuorium Optimizer には C++ をベースとしたモデリング言語 C++SIMPLE、Python をベースとしたモデリング言語 PySIMPLE、 R をベースとしたモデリング言語 RSIMPLE が付属しています。 これらのモデリング言語を用いると
制約条件付きの非線形最適化に対する数値アルゴリズムは,大まかに分けると勾配法と直接探索法とに分けられる.勾配法では,第1導関数(勾配)か第2導関数(ヘッシアン)が使われる.この例には逐次二次計画(SQP)法,拡大ラグランジュ法,非線形内点法がある.直接探索法では,導関数情報は使われない.この例としては,Nelder-Mead法,遺伝的アルゴリズム,微分進化法,焼きなまし法がある.直接探索法の方が収束が遅い傾向があるが,関数と制約条件のノイズの存在への耐性は強い. 通常,アルゴリズムは問題の局所的なモデルを構築するだけである.また,そのようなアルゴリズムの多くは目的関数の減少,目的関数と制約条件の組み合わせであるメリット関数の減少を要求し,反復プロセスの収束を確実にする.収束した場合,このアルゴリズムは局所的最適値だけを見付けるため,「局所的最適化アルゴリズム」と呼ばれる.Mathemati
Simulated Annealing/SA -概論- 1.はじめに 一般に最適化問題とは,ある制約条件下において, 与えられた状態空間で定義された関数の最大値または最小値を与える状態空間の要素を求める. シミュレーテッドアニーリング(Simulated Annealing)は,最適化問題を解く汎用近似解法の一つである. この方法は,Fig.1のように高温で加熱した金属を徐々に少しずつ温度を下げて冷やすことによって, 元の金属より欠陥の少ない優れた結晶構造を作る物理プロセス(アニーリング)に着想を得て, これを計算機上で模擬することにより最適化問題を解こうとする手法である. Fig.1 高温時から低温時への徐冷に伴う原子の配列 2.SAの特徴 <長所> ・ 頑強性・・・多くの最適化解法が局所最適化に補足される欠点を持つのに対し,SAは用意には局所最適解につか まらず,理論上は真の最適解
[ 目次, 前節, 次節, 索引 ] 2014-03-06 更新 [ 目次, 前節, 次節, 索引 ]
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く