создать эвристическую таблицу поиска для A * в JavaScript - PullRequest
0 голосов
/ 28 июня 2018

В моем массиве хранится какая-то сцена.

class Stage{
    constructor(id){
        this.id = id;
    }
}

и эти этапы связаны с другими этапами. Они даже могут быть связаны с собой.

class Activity{
    constructor(fromId, toId){
        this.fromId = fromId;
        this.toId = toId;
    }
}

Итак, я получил несколько тестовых данных

const stages = [
    new Stage(1),
    new Stage(2),
    new Stage(3),
    new Stage(4),
    new Stage(5),
    new Stage(6),
    new Stage(7),
    new Stage(8)
];

const activities = [
    new Activity(1, 2),
    new Activity(2, 3),
    new Activity(2, 4),
    new Activity(2, 7),
    new Activity(3, 5),
    new Activity(4, 6),
    new Activity(5, 2),
    new Activity(7, 3),
    new Activity(7, 4),
];

Я хочу создать эту справочную таблицу для моего алгоритма A *. Я хочу вывести из этого эвристику.

Когда я хочу установить эвристику текущего узла, я сейчас выполняю

getHeuristic(neighbourId, targetId){ 

        // Look Up Table

    return 0;
}

где соседний идентификатор представляет текущего соседа, а целевой идентификатор - конечную ячейку для достижения.

Важное примечание: Мой алгоритм всегда начинается с идентификатора 1. Поэтому я всегда пытаюсь получить путь от идентификатора 1 до x. Может быть, это важно для справочной таблицы.

Можно ли рассчитать один?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...