2

それでは、私の問題をもう少し詳しく説明させてください (この質問をもう一度開いてください)。地形を構築するための手続き型の線を生成する方法を考えていたときに、マルコフ連鎖理論のことを聞きました。

生成される主なものは、無限に拡張できるマップです。最初に、さまざまな地形機能を多数備えたパーリン ベースの手続き型マップを使用してデモを作成しました。Sentinel のように等尺性であることさえ意図されていました。これは、私が念頭に置いていた動きの仕組みで遊ぶには混乱しすぎることがわかりました. よりシンプルなタイル ベースのシステムに縮小する必要がありました。握りやすくナビゲートしやすいだけでなく、見た目もずっと良くなっています。

マップは、マルコフ連鎖を使用して生成されます。アルゴリズムには、人間が作成した短い地形シーケンスが供給されます。次に、入力の構造を模倣した任意のサイズのマップを生成します。

したがって、視覚的な出力の例は、次の画像のようになります。

ここに画像の説明を入力

実際、私はこのランダムな行で終わる引用に記載されている同様のことを経験しました:

ここに画像の説明を入力

そこで、このランダムな線を使用する代わりに、最初の写真から小さな峡谷を作成する解決策を探します。マルコフ連鎖について初めて読んだとき、うわー、入力として人間が作った線を取り、アルゴリズムを進めさせて、素晴らしい音だと思いました。

では、マルコフ連鎖理論は実際にこの種の地形の作成にどのように役立つのでしょうか? これを行うためのより良い方法があると思われる場合は、提案してください。

マップは、マルコフ連鎖を使用して生成されます。

...私を混乱させ、実際にはマルコフ連鎖アルゴリズムだと思いました。

4

1 に答える 1

2

マルコフ連鎖が何か知っているかどうかはわかりません。マルコフ連鎖は、確率に基づく状態遷移によって定義されるシステムです。次の状態は、(定義上) 前の状態に基づいています。

マルコフ連鎖は変換ではありません。これはシステムを変更するためのアルゴリズムではなく、単にシステムを説明するものです。

ライン システムを記述するには、配列内の個々のインデックスを調べて、「ジャンプ」の確率を計算する必要があります。最終的には、次のようなものが残ります。

idx 1: 20% chance for a jump
idx 2: 0% chance for a jump
idx 3: 15% chance for a jump
idx 4: 55% chance for a jump
...

これはプログラムするのは簡単ですが、線をまっすぐにするのには役立ちません。線をまっすぐにするには、マルコフ連鎖さえ必要ありません。すべてのインデックスを反復処理して、前のインデックスと等しくするだけです。ここで何をしようとしているのかを正確に理解することは困難です。

于 2011-05-29T20:23:20.033 に答える