Зачем нам нужен PDDL, когда у нас уже есть логика первого порядка?

Это может быть совершенно наивный вопрос, но мне интересно знать конкретные причины. Почему PDDL был разработан в первую очередь? Почему мы не можем рассуждать, используя логику первого порядка?


person TimeToCodeTheRoad    schedule 22.09.2011    source источник
comment
возможный дубликат Причины разработки логики первого порядка и ПДДЛ   -  person Wooble    schedule 23.09.2011


Ответы (2)


Эффективность решения

Использование более конкретного языка для выражения вашей проблемы позволяет применять более конкретные алгоритмы для их решения.

С теоретической точки зрения FOL неразрешим, в то время как большинство разновидностей PDDL все еще разрешимы, потому что PDDL может только выражать проблемы планирования. И например. классическое планирование с параметризованными действиями похоже только на EXPSPACE-complete.

Конечно, проблема, полная EXPSPACE, выраженная в более общем/выразительном FOL, по-прежнему решаема в EXPSPACE, если вы знаете об этом. Но насколько сложно придумать универсальный решатель FOL, гарантирующий решение всех задач в EXPSPACE с использованием только экспоненциального пространства?

Эффективность моделирования

С практической стороны гораздо удобнее выразить задачу планирования с помощью языка, предназначенного для моделирования задач планирования, чем записать ее на языке FOL.

Разве вы не предпочли бы писать на C++ вместо ассемблера? Хотя все, что вы можете написать на C++, можно выразить на ассемблере.

person ziggystar    schedule 22.09.2011
comment
Просто для корректности: в своей типичной форме (т.е. классическое планирование с параметризованными действиями) является не EXPTIME-complete, а EXPSPACE-complete. Однако он становится EXPTIME-полным, если нет ни отрицательных предварительных условий, ни отрицательных эффектов (см. статью Erol et al., 1995, «Сложность, разрешимость и неразрешимость результатов для доменно-независимого планирования»). - person Prof.Chaos; 24.12.2016

Еще один момент, не упомянутый явно ziggystar, заключается в том, что помимо того факта, что использование PDDL более удобно, чем FOL, проблемы планирования лежат в основе совершенно иной семантики, чем FOL.

В то время как ассемблер и C++ используются для описания компьютерных программ (причем ассемблер является более общим, чем C++, поскольку последний транслируется в ассемблер), FOL служит совершенно другой цели, чем PDDL (в то время как FOL, как указал ziggystar out, является более общим, чем PDDL).

FOL был разработан для выражения утверждений, предложений и отношений между такими объектами, как (цитируя пример ziggystar из аналогичного вопроса Причина разработки логики первого порядка и PDDL) "Все люди могут думать". Обычно при использовании FOL нас просто интересует, верна ли формула или нет (или, например, следует ли одно предложение из другого). Наиболее ярким примером может служить следующий набор предложений (формализованных в FOL): (1) «Все люди смертны». (2) «Сократ — человек». Формализуя это с помощью FOL, мы можем спросить, следует ли (3) «Сократ смертен» из «(1) и (2)». Любой полноценный логолог ответит на этот вопрос утвердительно.

Планирование (и, следовательно, проблемы, описанные с опорой на PDDL) заключается в том, чтобы задать вопрос, существует ли последовательность действий (т. е. конкретизированных схем операторов PDDL), которые преобразуют начальное состояние (описание предыдущего выполнения действия в мире) к некоторой желаемой цели. государство. Таким образом, планирование касается выполнения действий и рассуждений о том, существует ли такая последовательность. Это в принципе не имеет ничего общего с FOL.

Поскольку FOL является более выразительным, чем большинство стандартных формализмов планирования (например, «разновидности PDDL»), FOL также можно использовать для описания проблем планирования. Однако из-за полного различия семантики планирования и ВОЛС пришлось бы «неправильно использовать» ВОЛС для выражения проблем планирования, и на самом деле это сложный исследовательский вопрос, как это можно сделать. Если вам интересно: погуглите "планирование как SAT".

person Prof.Chaos    schedule 24.12.2016