-2

JavaScript で経路探索ロボットに A* アルゴリズムを実装しようとしています。唯一の問題は、隣接するすべての正方形を見つけることが何を意味するのか理解できないことです。ボットを斜めに移動させることができないため、マンハッタン距離の式を使用しています。これが私のコードです(今のところ):

var open = new Array();
var closed = new Array();
start = [9,18]; //do not take this literally
goal = [1,0]; //again don't
open.push(start);
while (open.length != 0) {
    for(var x = 0; x < open.length; x++) {
        heuristicValue[x] = computeHeuristicV(maplayout, start[0], start[1], open[x][0], open[x][1], goal[0], goal[1]);
    }
    minimum = Math.min(100000,heuristicValue[0]);
    for(var x = 1; x < open.length; x++) {
        minimum = Math.min(minimum, heuristicValue[x]);
    }
    for(var x = 0; x < open.length; x++) {
        if (minimum == heuristicValue[x]) {
            current = [open[x][0], open[x][1]];
        }
    }
    closed.push(current);
    //INCOMPLETE
}

上記のコードでは、computeHeuristicV 関数がヒューリスティック値を計算します。

4

2 に答える 2

1

「すべての隣接する正方形」とは、パス上で可能なすべてのネクスト ホップを意味します。

于 2013-10-20T11:58:29.673 に答える