N
nobody
может єто вопрос и не от крутого програмера... но ...
есть такая задача
Задано целевую позиции в игре, имеет следующие правила:
- Шашку можно передвигать на соседнее поле;
- Разрешается переступать через соседнюю шашку, если за ней есть свободное поле; - белые и черные шашки должны продвигаться навстречу без возвратов назад.
Необходимо превратить начальную позицию на целевую.
т.е. 1110222 -> 2220111
мне ее надо решить оптимальным способом, то есть не перебирая все возможные варианты. Нужно оценить каждую вершину графа и выбрать оптимальный
вот например ......
1110222 (раскроем сначала вершину по правилам)
1101222 1011222 1112022 1112202
я пробовал делать так ... какая вершина имеет больше способов раскрыться ту и раскрывал .... если же таких вершин две то раскрывал обе .....
здесь первую и третью вершины (1101222 и 1112022) можно раскрыть тремя способами, вот я их и раскрыл. так я действовал и далее .... этот способ действовал пока я почти не дошел конца ... здесь я получил две вершины
1212120 1212012
по моему алгоритму вторая вершина можно раскрыть двумя способами а первую только одним (т.е. первая вообще отвергается ).... но как оказалось к правильному ответу приводит именно первая вершина .. а вторая ведет в тупик ...... я долго мучился но так ничего и не придумал ...
говоря о раскрытии разными способами я говорю о правилах которые написаны в условии задачи ......
мне НЕ нужно чтобы кто то писал мне программу ... это все я и сам сделаю .... просто подскажите алгоритм ...
есть такая задача
Задано целевую позиции в игре, имеет следующие правила:
- Шашку можно передвигать на соседнее поле;
- Разрешается переступать через соседнюю шашку, если за ней есть свободное поле; - белые и черные шашки должны продвигаться навстречу без возвратов назад.
Необходимо превратить начальную позицию на целевую.
т.е. 1110222 -> 2220111
мне ее надо решить оптимальным способом, то есть не перебирая все возможные варианты. Нужно оценить каждую вершину графа и выбрать оптимальный
вот например ......
1110222 (раскроем сначала вершину по правилам)
1101222 1011222 1112022 1112202
я пробовал делать так ... какая вершина имеет больше способов раскрыться ту и раскрывал .... если же таких вершин две то раскрывал обе .....
здесь первую и третью вершины (1101222 и 1112022) можно раскрыть тремя способами, вот я их и раскрыл. так я действовал и далее .... этот способ действовал пока я почти не дошел конца ... здесь я получил две вершины
1212120 1212012
по моему алгоритму вторая вершина можно раскрыть двумя способами а первую только одним (т.е. первая вообще отвергается ).... но как оказалось к правильному ответу приводит именно первая вершина .. а вторая ведет в тупик ...... я долго мучился но так ничего и не придумал ...
говоря о раскрытии разными способами я говорю о правилах которые написаны в условии задачи ......
мне НЕ нужно чтобы кто то писал мне программу ... это все я и сам сделаю .... просто подскажите алгоритм ...