5.421. xor

DESCRIPTIONLINKSAUTOMATON
Origin

Logic

Constraint

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

Synonyms

𝚘𝚍𝚍, πš›πšŽπš•.

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.

Arg. properties

Functional dependency: πš…π™°πš determined by πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚.

Counting
Length (n)2345678
Solutions4000000

Number of solutions for πš‘πš˜πš›: domains 0..n

ctrs/xor-1-tikz

ctrs/xor-2-tikz

Length (n)2
Total4
Parameter
value

02
12

Solution count for πš‘πš˜πš›: domains 0..n

ctrs/xor-3-tikz

ctrs/xor-4-tikz

Systems

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

See also

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

implies: πšŠπšπš•πšŽπšŠπšœπš_πš—πšŸπšŠπš•πšžπšŽ, 𝚜𝚘𝚏𝚝_πšŠπš•πš•_πšŽπššπšžπšŠπš•_πš–πšŠπš‘_πšŸπšŠπš›, 𝚜𝚘𝚏𝚝_πšŠπš•πš•_πšŽπššπšžπšŠπš•_πš–πš’πš—_πšŸπšŠπš›.

Keywords

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

constraint arguments: pure functional dependency.

constraint network structure: Berge-acyclic constraint network.

constraint type: Boolean constraint.

filtering: arc-consistency.

modelling: functional dependency.

Automaton

FigureΒ 5.421.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.421.1. Automaton of the πš‘πš˜πš› constraint
ctrs/xor-5-tikz
Figure 5.421.2. Hypergraph of the reformulation corresponding to the automaton of the πš‘πš˜πš› constraint
ctrs/xor-6-tikz