5.114. derangement

DESCRIPTIONLINKSGRAPH
Origin

Derived from πšŒπš’πšŒπš•πšŽ.

Constraint

πšπšŽπš›πšŠπš—πšπšŽπš–πšŽπš—πš(π™½π™Ύπ™³π™΄πš‚)

Argument
π™½π™Ύπ™³π™΄πš‚πšŒπš˜πš•πš•πšŽπšŒπšπš’πš˜πš—(πš’πš—πšπšŽπš‘-πš’πš—πš,𝚜𝚞𝚌𝚌-πšπšŸπšŠπš›)
Restrictions
|π™½π™Ύπ™³π™΄πš‚|>1
πš›πšŽπššπšžπš’πš›πšŽπš(π™½π™Ύπ™³π™΄πš‚,[πš’πš—πšπšŽπš‘,𝚜𝚞𝚌𝚌])
π™½π™Ύπ™³π™΄πš‚.πš’πš—πšπšŽπš‘β‰₯1
π™½π™Ύπ™³π™΄πš‚.πš’πš—πšπšŽπš‘β‰€|π™½π™Ύπ™³π™΄πš‚|
πšπš’πšœπšπš’πš—πšŒπš(π™½π™Ύπ™³π™΄πš‚,πš’πš—πšπšŽπš‘)
π™½π™Ύπ™³π™΄πš‚.𝚜𝚞𝚌𝚌β‰₯1
π™½π™Ύπ™³π™΄πš‚.πšœπšžπšŒπšŒβ‰€|π™½π™Ύπ™³π™΄πš‚|
Purpose

Enforce to have a permutation with no cycle of length one. The permutation is depicted by the 𝚜𝚞𝚌𝚌 attribute of the π™½π™Ύπ™³π™΄πš‚ collection.

Example
πš’πš—πšπšŽπš‘-1𝚜𝚞𝚌𝚌-2,πš’πš—πšπšŽπš‘-2𝚜𝚞𝚌𝚌-1,πš’πš—πšπšŽπš‘-3𝚜𝚞𝚌𝚌-5,πš’πš—πšπšŽπš‘-4𝚜𝚞𝚌𝚌-3,πš’πš—πšπšŽπš‘-5𝚜𝚞𝚌𝚌-4

In the permutation of the example we have the following 2 cycles: 1β†’2β†’1 and 3β†’5β†’4β†’3. Since these cycles have both a length strictly greater than one the corresponding πšπšŽπš›πšŠπš—πšπšŽπš–πšŽπš—πš constraint holds.

Typical
|π™½π™Ύπ™³π™΄πš‚|>2
Symmetries
  • Items of π™½π™Ύπ™³π™΄πš‚ are permutable.

  • Attributes of π™½π™Ύπ™³π™΄πš‚ are permutable w.r.t. permutation (πš’πš—πšπšŽπš‘,𝚜𝚞𝚌𝚌) (permutation applied to all items).

Remark

A special case of the πšŒπš’πšŒπš•πšŽ [BeldiceanuContejean94] constraint.

Counting
Length (n)2345678910
Solutions129442651854148331334961334961

Number of solutions for πšπšŽπš›πšŠπš—πšπšŽπš–πšŽπš—πš: domains 0..n

ctrs/derangement-1-tikz

ctrs/derangement-2-tikz

See also

common keyword: πšŠπš•πš•πšπš’πšπšπšŽπš›πšŽπš—πš, πšŒπš’πšŒπš•πšŽΒ (permutation).

implied by: πšœπš’πš–πš–πšŽπšπš›πš’πšŒ_πšŠπš•πš•πšπš’πšπšπšŽπš›πšŽπš—πš.

implies: πšπš πš’πš—.

implies (items to collection): πš”_πšŠπš•πš•πšπš’πšπšπšŽπš›πšŽπš—πš, πš•πšŽπš‘_πšŠπš•πš•πšπš’πšπšπšŽπš›πšŽπš—πš.

Keywords

characteristic of a constraint: sort based reformulation.

combinatorial object: permutation.

constraint type: graph constraint.

filtering: arc-consistency, DFS-bottleneck.

final graph structure: one_succ.

Cond. implications

πšπšŽπš›πšŠπš—πšπšŽπš–πšŽπš—πš(π™½π™Ύπ™³π™΄πš‚)

Β Β implies πš™πšŽπš›πš–πšžπšπšŠπšπš’πš˜πš—(πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚:π™½π™Ύπ™³π™΄πš‚).

Arc input(s)

π™½π™Ύπ™³π™΄πš‚

Arc generator
πΆπΏπΌπ‘„π‘ˆπΈβ†¦πšŒπš˜πš•πš•πšŽπšŒπšπš’πš˜πš—(πš—πš˜πšπšŽπšœ1,πš—πš˜πšπšŽπšœ2)

Arc arity
Arc constraint(s)
β€’ πš—πš˜πšπšŽπšœ1.𝚜𝚞𝚌𝚌=πš—πš˜πšπšŽπšœ2.πš’πš—πšπšŽπš‘
β€’ πš—πš˜πšπšŽπšœ1.πšœπšžπšŒπšŒβ‰ πš—πš˜πšπšŽπšœ1.πš’πš—πšπšŽπš‘
Graph property(ies)
𝐍𝐓𝐑𝐄𝐄=0

Graph class
𝙾𝙽𝙴_πš‚πš„π™²π™²

Graph model

PartsΒ (A) andΒ (B) of FigureΒ 5.114.1 respectively show the initial and final graph associated with the Example slot. The πšπšŽπš›πšŠπš—πšπšŽπš–πšŽπš—πš constraint holds since the final graph does not contain any vertex that does not belong to a circuit (i.e., 𝐍𝐓𝐑𝐄𝐄 = 0).

Figure 5.114.1. Initial and final graph of the πšπšŽπš›πšŠπš—πšπšŽπš–πšŽπš—πš constraint
ctrs/derangementActrs/derangementB
(a) (b)

In order to express the binary constraint that links two vertices of the π™½π™Ύπ™³π™΄πš‚ collection one has to make explicit the index value of the vertices. This is why the πšπšŽπš›πšŠπš—πšπšŽπš–πšŽπš—πš constraint considers objects that have two attributes:

  • One fixed attribute πš’πš—πšπšŽπš‘ that is the identifier of the vertex,

  • One variable attribute 𝚜𝚞𝚌𝚌 that is the successor of the vertex.

Forbidding cycles of length one is achieved by the second condition of the arc constraint.

Signature

Since 0 is the smallest possible value of 𝐍𝐓𝐑𝐄𝐄 we can rewrite the graph property 𝐍𝐓𝐑𝐄𝐄 = 0 to 𝐍𝐓𝐑𝐄𝐄 ≀ 0. This leads to simplify 𝐍𝐓𝐑𝐄𝐄 Β― Μ² to 𝐍𝐓𝐑𝐄𝐄 Μ².