В момента работя върху AI за игра на играта Dots (връзка). Целта е да премахнете възможно най-много точки, като свържете точки с подобен цвят с линия. Прегледах дъската и групирах всеки набор от съседни точки с един и същи цвят. Всички групи в момента споделят един и същ цвят на подчертаване (черен). Така например четирите червени точки в горния ляв ъгъл образуват една група, както и трите жълти точки в горния десен ъгъл.
Трябва да изчисля всеки възможен път през една от тези групи. Може ли някой да измисли добър алгоритъм? Как мога да избегна създаването на дублиращи се пътища?
Чувал съм, че леко модифициран DFS би бил добър в тази ситуация. Въпреки това пътищата могат да се пресичат във възли, но не могат да използват повторно ръбове. Как мога да променя съответно DFS?