5.77. common_modulo

DESCRIPTIONLINKSGRAPH
Origin

Derived from πšŒπš˜πš–πš–πš˜πš—.

Constraint

πšŒπš˜πš–πš–πš˜πš—_πš–πš˜πšπšžπš•πš˜(𝙽𝙲𝙾𝙼𝙼𝙾𝙽1,𝙽𝙲𝙾𝙼𝙼𝙾𝙽2,πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚1,πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚2,𝙼)

Arguments
𝙽𝙲𝙾𝙼𝙼𝙾𝙽1πšπšŸπšŠπš›
𝙽𝙲𝙾𝙼𝙼𝙾𝙽2πšπšŸπšŠπš›
πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚1πšŒπš˜πš•πš•πšŽπšŒπšπš’πš˜πš—(πšŸπšŠπš›-πšπšŸπšŠπš›)
πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚2πšŒπš˜πš•πš•πšŽπšŒπšπš’πš˜πš—(πšŸπšŠπš›-πšπšŸπšŠπš›)
π™Όπš’πš—πš
Restrictions
𝙽𝙲𝙾𝙼𝙼𝙾𝙽1β‰₯0
𝙽𝙲𝙾𝙼𝙼𝙾𝙽1≀|πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚1|
𝙽𝙲𝙾𝙼𝙼𝙾𝙽2β‰₯0
𝙽𝙲𝙾𝙼𝙼𝙾𝙽2≀|πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚2|
πš›πšŽπššπšžπš’πš›πšŽπš(πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚1,πšŸπšŠπš›)
πš›πšŽπššπšžπš’πš›πšŽπš(πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚2,πšŸπšŠπš›)
𝙼>0
Purpose

𝙽𝙲𝙾𝙼𝙼𝙾𝙽1 is the number of variables of the collection of variables πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚1 taking a value situated in an equivalence class (congruence modulo a fixed number 𝙼) derived from the values assigned to the variables of πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚2 and from 𝙼.

𝙽𝙲𝙾𝙼𝙼𝙾𝙽2 is the number of variables of the collection of variables πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚2 taking a value situated in an equivalence class (congruence modulo a fixed number 𝙼) derived from the values assigned to the variables of πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚1 and from 𝙼.

Example
(3,4,0,4,0,8,7,5,4,9,2,4,5)

In the example, the last argument 𝙼=5 defines the equivalence classes a≑0 (mod 5), a≑1 (mod 5), a≑2 (mod 5), a≑3 (mod 5), and a≑4 (mod 5) where a is an integer. As a consequence the items of collection 〈0,4,0,8βŒͺ respectively correspond to the equivalence classes a≑0 (mod 5), a≑4 (mod 5), a≑0 (mod 5), and a≑3 (mod 5). Similarly the items of collection 〈7,5,4,9,2,4βŒͺ respectively correspond to the equivalence classes a≑2 (mod 5), a≑0 (mod 5), a≑4 (mod 5), a≑4 (mod 5), a≑2 (mod 5), and a≑4 (mod 5). The πšŒπš˜πš–πš–πš˜πš—_πš–πš˜πšπšžπš•πš˜ constraint holds since:

  • Its first argument 𝙽𝙲𝙾𝙼𝙼𝙾𝙽1=3 is the number of equivalence classes associated with the items of collection 〈0,4,0,8βŒͺ that also correspond to equivalence classes associated with 〈7,5,4,9,2,4βŒͺ.

  • Its second argument 𝙽𝙲𝙾𝙼𝙼𝙾𝙽2=4 is the number of equivalence classes associated with the items of collection 〈7,5,4,9,2,4βŒͺ that also correspond to equivalence classes associated with 〈0,4,0,8βŒͺ.

Typical
|πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚1|>1
πš›πšŠπš—πšπšŽ(πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚1.πšŸπšŠπš›)>1
|πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚2|>1
πš›πšŠπš—πšπšŽ(πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚2.πšŸπšŠπš›)>1
𝙼>1
𝙼<πš–πšŠπš‘πšŸπšŠπš•(πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚1.πšŸπšŠπš›)
𝙼<πš–πšŠπš‘πšŸπšŠπš•(πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚2.πšŸπšŠπš›)
Symmetries
  • Arguments are permutable w.r.t. permutation (𝙽𝙲𝙾𝙼𝙼𝙾𝙽1,𝙽𝙲𝙾𝙼𝙼𝙾𝙽2) (πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚1,πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚2) (𝙼).

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

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

  • An occurrence of a value u of πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚1.πšŸπšŠπš› can be replaced by any other value v such that v is congruent to u modulo 𝙼.

  • An occurrence of a value u of πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚2.πšŸπšŠπš› can be replaced by any other value v such that v is congruent to u modulo 𝙼.

Arg. properties
  • Functional dependency: 𝙽𝙲𝙾𝙼𝙼𝙾𝙽1 determined by πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚1, πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚2 and 𝙼.

  • Functional dependency: 𝙽𝙲𝙾𝙼𝙼𝙾𝙽2 determined by πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚1, πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚2 and 𝙼.

See also

specialisation: πšŒπš˜πš–πš–πš˜πš—Β (πšŸπšŠπš›πš’πšŠπš‹πš•πšŽ mod πšŒπš˜πš—πšœπšπšŠπš—πš replaced by πšŸπšŠπš›πš’πšŠπš‹πš•πšŽ).

Keywords

characteristic of a constraint: modulo.

constraint arguments: constraint between two collections of variables, pure functional dependency.

final graph structure: acyclic, bipartite, no loop.

modelling: functional dependency.

Arc input(s)

πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚1 πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚2

Arc generator
π‘ƒπ‘…π‘‚π·π‘ˆπΆπ‘‡β†¦πšŒπš˜πš•πš•πšŽπšŒπšπš’πš˜πš—(πšŸπšŠπš›πš’πšŠπš‹πš•πšŽπšœ1,πšŸπšŠπš›πš’πšŠπš‹πš•πšŽπšœ2)

Arc arity
Arc constraint(s)
πšŸπšŠπš›πš’πšŠπš‹πš•πšŽπšœ1.πšŸπšŠπš› mod 𝙼=πšŸπšŠπš›πš’πšŠπš‹πš•πšŽπšœ2.πšŸπšŠπš› mod 𝙼
Graph property(ies)
β€’ ππ’πŽπ”π‘π‚π„=𝙽𝙲𝙾𝙼𝙼𝙾𝙽1
β€’ ππ’πˆππŠ=𝙽𝙲𝙾𝙼𝙼𝙾𝙽2

Graph class
β€’ π™°π™²πšˆπ™²π™»π™Έπ™²
β€’ π™±π™Έπ™Ώπ™°πšπšƒπ™Έπšƒπ™΄
β€’ 𝙽𝙾_𝙻𝙾𝙾𝙿

Graph model

PartsΒ (A) andΒ (B) of FigureΒ 5.77.1 respectively show the initial and final graph associated with the Example slot. Since we use the ππ’πŽπ”π‘π‚π„ and ππ’πˆππŠ graph properties, the source and sink vertices of the final graph are stressed with a double circle. Since the graph has only 3 sources and 4 sinks the variables 𝙽𝙲𝙾𝙼𝙼𝙾𝙽1 and 𝙽𝙲𝙾𝙼𝙼𝙾𝙽2 are respectively equal to 3 and 4. Note that the vertices corresponding to the variables that take values 8, 7 or 2 were removed from the final graph since there is no arc for which the associated arc constraint holds.

Figure 5.77.1. Initial and final graph of the πšŒπš˜πš–πš–πš˜πš—_πš–πš˜πšπšžπš•πš˜ constraint
ctrs/common_moduloActrs/common_moduloB
(a) (b)