1. Суть вот в чем. Нужна такая постановка задачи, которая не имеет явного 100% верного решения. Такое иногда бывает на олимпиадах (типа "придумайте алгоритм, находящий кратчайший путь ...") --- придумать-то можно, но всегда найдется тест, для которого условие не будет выполняться.
Вот. Это первое условие. Уже непросто, но дальше еще хуже.
2. Надо, чтобы программа имела практическую ("десктопную") направленность. То есть не абстрактный лабиринт пройти, а что-то вполне "приземленное" сделать. Подозреваю даже, что это условие невыполнимо --- не сильно-то в повседневной жизни изощренные алгоритмы используются.
3. Ну и последнее, что совсем все портит --- она должна быть такой сложности, чтобы решить ее особого труда не составляло (не до конца, конечно --- см пункт 1, но хотя бы какой-то результат нужен). Это отсекает всякие системы распознавания речи и прочее. Для школьника должна быть задачка.
Я поимаю, что никому за меня думать нафиг не надо, но вдруг кто-то заинтересуется или уже знает ответ. Сам, похоже, ниасилю --- вторую неделю уже мучаюсь.
Не будь второго пункта, я бы олимпиадную задачу и взял. Но сколько я их не смотрел, ни для одной практического применения так и не придумал.
В голове крутится примерная аналогия из математики --- синтез системы управления. То есть идельного решения нет, но что-то сделать всегда можно, если система простая. Еще бы "десктопность" к ней прикрутить..