5.354. xor

DESCRIPTIONLINKSAUTOMATON
Origin

Logic

Constraint

πš‘πš˜πš›(πš…π™°πš,πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚)

Synonym

πš›πšŽπš•.

Arguments
πš…π™°πšπšπšŸπšŠπš›
πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚πšŒπš˜πš•πš•πšŽπšŒπšπš’πš˜πš—(πšŸπšŠπš›-πšπšŸπšŠπš›)
Restrictions
πš…π™°πšβ‰₯0
πš…π™°πšβ‰€1
|πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚|=2
πš›πšŽπššπšžπš’πš›πšŽπš(πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚,πšŸπšŠπš›)
πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚.πšŸπšŠπš›β‰₯0
πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚.πšŸπšŠπš›β‰€1
Purpose

Let πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚ be a collection of 0-1 variables πš…π™°πš 1 ,πš…π™°πš 2 . Enforce πš…π™°πš=(πš…π™°πš 1 β‰ πš…π™°πš 2 ).

Example
(0,0,0)
(1,0,1)
(1,1,0)
(0,1,1)
Symmetry

Items of πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚ are permutable.

Systems

reifiedXor in Choco, rel in Gecode, xorbool in JaCoP, #\ in SICStus.

See also

common keyword: πšŠπš—πš, πšŽπššπšžπš’πšŸπšŠπš•πšŽπš—πš, πš’πš–πš™πš•πš’, πš—πšŠπš—πš, πš—πš˜πš›, πš˜πš›Β (Boolean constraint).

Keywords

characteristic of a constraint: automaton, automaton without counters, reified automaton constraint.

constraint network structure: Berge-acyclic constraint network.

constraint type: Boolean constraint.

filtering: arc-consistency.

Automaton

FigureΒ 5.354.1 depicts the automaton associated with the πš‘πš˜πš› constraint. To the first argument πš…π™°πš of the πš‘πš˜πš› constraint corresponds the first signature variable. To each variable πš…π™°πš i of the second argument πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚ of the πš‘πš˜πš› constraint corresponds the next signature variable. There is no signature constraint.

Figure 5.354.1. Automaton of the πš‘πš˜πš› constraint
ctrs/xor1
Figure 5.354.2. Hypergraph of the reformulation corresponding to the automaton of the πš‘πš˜πš› constraint
ctrs/xor2