Перестановки экземпляров A4options.symmetry и подписи в Alloy

Я смоделировал цепочку преобразования диаграммы в Alloy. Меня интересует любая цепочка, полученная в результате решения, но некоторые цепочки абсолютно одинаковы. Они одинаковы, за исключением перестановки между экземплярами сигнатур, но отношения между экземплярами образуют точно такие же графы от одного решения к другому.

Есть ли способ избежать этих избыточных решений? Я видел вариант симметрии в классе A4Option, но я не очень понял, как его настроить.

    /** This option specifies the amount of symmetry breaking to do (when symmetry breaking isn't explicitly disabled).
 *
 * <p> If a formula is unsatisfiable, then in general, the higher this value,
 * the faster you finish the solving. But if this value is too high, it will instead slow down the solving.
 *
 * <p> If a formula is satisfiable, then in general, the lower this value, the faster you finish the solving.
 * Setting this value to 0 usually gives the fastest solve.
 *
 * <p> Default value is 20.
 */

Означает ли это, что если я поставлю 0, он будет отключен? если я ставлю более высокое значение, это нарушает симметрию? Если рассматривать совокупность атомов и отношения между этими атомами как граф. Матрица смежности как характеристика отношения между атомами в матрице. Означает ли симметрия 2 экземпляра с эквивалентной матрицей смежности?

Чтобы уменьшить сложность решения, есть ли способ указать решателю, что нас интересует не какая-то конкретная перестановка экземпляров подписи или перестановка отношений, а конфигурация их архитектуры?

Заранее спасибо.


person user2858691    schedule 23.12.2013    source источник


Ответы (1)


Значит ли это, что если я поставлю 0, [нарушение симметрии] будет отключено?

да

если я ставлю более высокое значение, это нарушает симметрию?

Да, как может.

Означает ли симметрия 2 экземпляра с эквивалентной матрицей смежности?

Я не знаю, что вы подразумеваете под «матрицей смежности», но в любом случае ответ, скорее всего, будет «не обязательно». Нарушение симметрии — это просто эвристика; он реализован на более низком уровне, чем Alloy AST, а это означает, что некоторые симметрии, которые имеют смысл на высоком уровне вашей модели предметной области, не обязательно автоматически обнаруживаются и нарушаются анализатором Alloy.

Чтобы уменьшить сложность решения, есть ли способ указать решателю, что нас интересует не какая-то конкретная перестановка экземпляров подписи или перестановка отношений, а конфигурация их архитектуры?

Я не думаю, что это можно легко сделать с помощью Alloy.

person Aleksandar Milicevic    schedule 23.12.2013