Страница 4 из 5 Поскольку указано, что в начальном состоянии символявляется ложным, эта аксиома гарантирует, что в каждой модели символутакже будет присвоено ложное значение. После введения аксиом предусловия существует одна и только одна модель, которая удовлетворяет всем аксиомам, если цель должна быть достигнута во время 1, а именно модель, в которой самолет Р1 летит в аэропорт JFK, а самолет Р2 — в аэропорт SFO. Обратите внимание на то, что это решение обеспечивает выполнение двух параллельных действий, как и при использовании алгоритма Graphplan или POP. Неожиданности возникают после добавления третьего аэропорта, LAX. Теперь для каждого самолета имеются два действия, которые являются допустимыми в каждом состоянии. После применения алгоритма проверки выполнимости мы обнаружим, что модель с символами, а также иудовлетворяет всем аксиомам. Это означает, что аксиомы состояния-преемника и аксиомы предусловия разрешают самолету вылететь в два аэропорта назначения одновременно! Предусловия для двух полетов самолета Р2 выполнены в начальном состоянии; аксиомы состояния-преемника указывают, что самолет Р2 должен находиться и в аэропорту SFO, и в аэропорту LAX во время 1, поэтому цель выполнена. Очевидно, что необходимо ввести дополнительные аксиомы для устранения таких фиктивных решений. Один из подходов состоит в том, что требуется ввести аксиомы исключения действий (action exclusion axiom), которые предотвращают одновременное выполнение несовместимых действий. Например, можно принудительно ввести полное исключение, добавив все возможные аксиомы в такой форме: Эти аксиомы гарантируют, что никакие два действия не могут происходить одновременно. Они устранят все фиктивные планы, но приведут также к полному упорядочению каждого плана. В результате гибкость частично упорядоченных планов будет потеряна; кроме того, в результате увеличения количества временных этапов в плане может увеличиться продолжительность вычислений. Вместо полного исключения можно потребовать только частичного исключения, т.е. предотвращения одновременных действий, только если они мешают друг другу. Применяемые при этом условия являются аналогичными условиям для взаимно исключающих действий: два действия не могут происходить одновременно, если одно из них отрицает предусловие или результат другого. Например, не могут происходить одновременно действия, поскольку каждое из них отрицает предусловие другого; с другой стороны, действия могут осуществляться одновременно, поскольку в них два самолета не мешают друг другу. Частичное исключение позволяет устранять фиктивные планы, не вводя принудительно полное упорядочение. Аксиомы исключения иногда выглядят как довольно слепой инструмент. Поэтому вместо формирования утверждения о том, что ни один самолет не может вылетать в два аэропорта одновременно, можно просто выдвинуть требование, чтобы ни один объект не мог находиться в двух местах одновременно:
|