В общем попробовал вчера переделать программку под другой пасьянс - bear-river.
Я думал, с ним проще будет - там возможных ходов меньше, соотвецтвенно, дерево решений меньше, и прога его осилит. Как выяснилось - хер там! Там на некоторые свободные колонки (3 из 18) можно класть карты. Правда сначала эти колонки нужно освободить. И это сильно осложняет написание проги, т.к. ты можешь туда положить любую карту, а это сразу сильно увеличивает дерево решений. Надо по-другому переписывать - через состояния, как я уже говорил. А мне в лом. А большинство пасьянсов именно такие - даже если на пустое место можно положить всего одну карту, это уже сильно увеличивает дерево решений.

Думал также и о предыдущем пасьянсе. Там я думаю в рамках одного хода - просто делаю один ход из возможных, не оценивая его осмысленность/бессмысленность. А чтобы оценить, имеет ли ход смысл, надо рассматривать его в цепочке из нескольких ходов. А это уже стратегия/искусственный антилект, т.е. осложняет.
Ну у меня есть мысли, какие вещи надо проверять, НО! Если у тя стратегия, это уже не перебор всех возможных вариантов и решения ты можешь не найти, даже если оно существует. И эти мысли об том, что проверять я не могу выразить в чёткий алгоритм. Они на уровне "посмотрим это, попробуем то". Вот такая херня (( Не всё, что кажется просто, таковым является.