бэкмаркинг
При удовлетворении ограничений обратная отметка является вариантом алгоритма обратного отслеживания .
Обратное отслеживание работает как обратное отслеживание путем итеративной оценки переменных в заданном порядке, например: . Это лучше, чем возврат, сохраняя информацию о том, когда в последний раз изменялась переменная. был создан экземпляр со значением и информацией о том, что изменилось с тех пор. В частности:
- для каждой переменной и ценность , алгоритм записывает информацию о последнем времени было установлено на ; в частности, он хранит минимальный индекс такое, что задание на тогда был непоследователен ;
- для каждой переменной алгоритм сохраняет некоторую информацию относительно того, что изменилось с момента последней оценки ; в частности, он хранит минимальный индекс переменной, которая была изменена с тех пор.
Первая информация собирается и сохраняется каждый раз, когда алгоритм оценивает переменную. к и делается простой проверкой согласованности текущих назначений для , для , для , и т. д.
Вторая информация меняется каждый раз, когда другая оценивается переменная. В частности, индекс «максимальной неизменной переменной с момента последней оценки " возможно меняется каждый раз, когда другая переменная меняет значение. Каждый раз, когда произвольная переменная изменения, все переменные с рассматриваются по очереди. Если был их предыдущим связанным индексом, это значение меняется на .
Данные, собранные таким образом, используются, чтобы избежать некоторых проверок согласованности. В частности, всякий раз, когда возврат назад устанавливает , бэкмаркинг сравнивает два индекса относительно и пара . Два условия позволяют определить частичную согласованность или несогласованность без проверки ограничений. Если — минимальный индекс переменной, которая изменилась с момента последнего раза был оценен и – минимальный индекс, при котором оценка был последовательным в прошлый раз было оценено как , затем:
- если , оценка по-прежнему непоследовательно, как и раньше, поскольку ни одна из этих переменных до сих пор не изменилась; в результате дополнительная проверка согласованности не требуется;
- если , оценка по-прежнему последовательна, как и раньше; это позволяет пропустить некоторые проверки согласованности, но назначение может все еще быть противоречивым.
В отличие от других вариантов обратного отслеживания, обратные метки не уменьшают пространство поиска, а лишь, возможно, уменьшают количество ограничений, которым удовлетворяет частичное решение.
Ссылки
[ редактировать ]- Дектер, Рина (2003). Обработка ограничений . Морган Кауфманн. ISBN 1-55860-890-7 .