Есть опросник состоящий из вопросов с вариантами ответа. В обычном режиме заполняется последовательно, но пользователь может прервать заполнение и продолжить, например, на следующий день (есть система регистрации в системе которая позволяет это), причем частично изменив уже введенные ранее ответы (скажем, 1-2 вопроса). Сложность в том, что ответ на некоторые вопросы определяет то какие вопросы будут заданы за ними (в типичном "сценарии" задается менее половины вопросов). Т.е. у нас "дерево вопросов".
Без возможности изменения ответов это легко реализовать перебором вариантов на каждом шаге. А как поступить в случае произвольного изменения введенных ответов? При этом после смены ответа на ключевой вопрос те вопросы ответ на который не требуется менять не должны задаваться повторно. В любой момент у нас должна быть информация о том заполнена анкета до конца или нет, смена ответа на ключевой вопрос должна аннулировать состояние заполненности. Интересен алгоритм реализации этой проблемы на php-подобном языке и javascript (хотя бы общая идея), а также ваше мнение о его сложности. Возможно применение ajax.