Related Topics
Glossary
Naming conventionts
CONSTELLATION GRAPH
Slot number
XY binding-constraints
Types of constrained teams in Constellation Graph
Constellation Census
Constraints and preferences
CONSTELLATION GRAPH  
CDL
Constellation Constraint Definition Language


CDL
The Constellation Graph is constraint visualisation and modification tool.

CONSTELLATION GRAPH is a framework for thinking and visualisation of constraints and match preferences of the teams of a club.

Constraint Definition Language CDL allows easy handling of the constraints relating to unambiguous definition of home/away requirements.
The Constellation Graph column 13 is a field used for defining constraints CDL notes applied for that particular team/node.

The Constellation Graph is an interactive form, an ordered table of teams, where one can easily visualise constraints and define constraints via X and Y settings and with CDL notes at column 13.

--------------------------------------------------------------
CDL / Constellation Constraint Definition Language
--------------------------------------------------------------
CDL / Constraint Definition Language has 7 different binding options, for the constrained teams of the same Insulae.
CDL directives are expressed in the Constellation Graph column 13. CDL consents easy handling of the constraints related to definition of home/away and Buy requirements of the teams.

CDL has 7 different constraining / binding directives for unambiguous definition of home/away requirements of the teams:

1) Insulae simultaneity, X-binding: when t1 plays home t2 plays home, and when t1 plays away t2 plays away
..........................................................................................................
2) Insulae complementarity, Y-binding: when t1 plays home t2 plays away, and vice versa.
..........................................................................................................
3) Insulae non simultaneity, O-binding: Only one of teams of the same Insulae plays home per a round, i.e. one a time principle
..........................................................................................................
4) Availability, A-binding: Team t must play home (or away) at round n, * H@7R - team must play home at round 7
.........................................................
5) Non Availability, B-binding: Team t cannot play at round n (day, time). Enforced Bye at round n.
*B@5R - Bye game at round 5
.........................................................
6) Mating exclusion, E-binding: Team t1 cannot play home (or away, or both) with team t2 at round n, *EH@3R, t1 - Team cannot play home with team t1{club_number:node_number} at round 3.
.........................................................
7) Compulsory Mating, M-binding: the team must play home (or away, or both) with team t2 at round n.
*MH@5R, t1 - Team must play home with team t2{club_number:node_number} at round 3.


------------------------------------------------------
Insula in Constellation Graph
-------------------------------------------------------
The Constellation Graph column 18 indicates the number of islet-number of the Constellation graph (also serves for consultation only).

A group of bonded*(mutually constrained) teams is member of the same Insula. All teams which are interdependently-mutually constrained have the SAME Insula number.

XY binding-constraints are related to scheduling the teams with home/away and Bye requirements.
In one Insula there can be only ONE MASTER team.
Master team has no constraints, but all other teams in insula have constraints.

Bonded/constrained slot-number is calculated and depends on the corresponding CONSTRAINING 6* parametres.
MASTER team should be already previously assigned with some slot-number in some division/group.



------------------
Master team
------------------
In one Insula there can be only ONE MASTER team.
Dependency concept: MASTER team should be already previously assigned and have some slot-number in some division/group, before assigning some or all dependent teams to that master.

One constraining /master team can have many constrained teams (slaves), both of the same or different club.
Master team is free of constraints, i.e. slot-number of a master team is arbitrary.


------------------
Slave team
------------------
A constrained (bonded, slave) team can have one and only one corresponding BINDING (constraining, master) team.

There can be many constrained teams (slaves) for one constraining (master) team in one insula.

The slot-position of a constrained team is not arbitrary and depends on six parameters:
1) SchemeCode of the master team
2) slot-number of the master team
3) Binding (x,y) between the constraining (master) team and the constrained (slave) team
Another three parameters will be established automatically, during the subdivision process of the competition teams into divisions/groups. There are different competition splitting options, where one can chose SchemeCode home/away cadence and the number of teams per division.
4) SchemeCode of the constrained (slave) team
5) Week shift (between -8 and +8 weeks)
6) Games (outgoing or return matches)


------------------------------------------------------
Constellation Constraint Definition Language
-------------------------------------------------------
a) t1 Y t2
Complementarity, Y-binding: Teams t1 and t2 must have complementary schedules (i.e. when t1 plays home t2 plays away, and vice versa. We can also say that the team t1 is a complementary travel partner of the team t2).
..........................................................................................................
b) O (t1, t2, t3..)
Only one of teams of the same Insulae plays home per a round
Non simultaneity among the teams of the same Insulae
Non simultaneity & O-binding: Three or more teams t1, t2, and t3,... cannot be simultaneously in the same location, only one of teams X (home), while all others are Y (away)
* O - non simultaneity among the teams of the Insulae
..........................................................................................................
Constraints a) and b) are always easily defined in Constellation Graph. While the constraints c), d) and e) must be defined externally via CCDL (Constellation Constraint Definition Language)
.........................................................
APRIORI FIXED SLOT NUMBERS
.........................................................
c) H@7R
Availability: Team t must play home (or away) at round n.
* H@7R - team must play home at round 7
.........................................................
d)
Non Availability: Team t cannot play at round n (day, time). Riposo (Bye) at round n.
*B@5R - Bye game at round 5
.........................................................
e) Mating exclusion: Team t1 cannot play home (or away, or both) with team t2 at round n.
*XH@3R, t1 - Team cannot play home with team t1{club_number:node_number} at round 3.
.........................................................
f) Compulsory Mating: this team must play home (or away, or both) with team t2 at round n.
*Ch@5R, t1 - Team must play home with team t2{club_number:node_number} at round 3.
----------------------------------------------------
Hard and soft complementarity constraints
----------------------------------------------------
Hard complementarity constraints are used if two teams share the same stadium
(e.g. the "San Siro" stadium in Milan is shared by Internazionale and A.C. Milan).
Soft complementarity instead is used if the stadia of two teams are located close to each other and the clubs want to optimize the use of railways and highways for their supporters (e.g. Feyenoord and Sparta have their stadia in Rotterdam).
The constraints I.c, I.d and I.e must be defined externally via CCDL (Constellation Constraint Definition Language) and are actually interpreted as constrained_slot_number(s) of the team.

================================================================
C6 Example
================================================================
Competition calendar for: Esordienti I Anno 2000 a 9 Milano
Division/League: [A]
SchemeCode cadence: C6
..............................................................................................................................
Slot Number --Team Outward matches Cadence -- Home[C]/Away[F]
............................................................................ 1 2 3 4 5 6 7 8 9 10 11
C6 [1] A.S. C.O.B. 91 (79921).............................. H A A H A H A H A H A [1]
C6 [2] U.S. ATLETIC TREZZANO (65243)............. H A H A A H A H A H A [2]
C6 [3] S.S.D. AUSONIA 1931 (57838).................. H A H A H A A H A H A [3]
C6 [4] POL. LOMBARDIA UNO (675071) [F]......... H A H A H A H A A H A [4]
C6 [5] A.S. CALVAIRATE (8780)........................... H A H A H A H A H H A [5]
C6 [6] A.S.D. ABBIATEGRASSO (62145)............. H A H A H A H A H A H [6]
C6 [7] F.C. ANDICE PIOLTELLESE (675763)........ A H H A H A H A H A H [7]
C6 [8] A.S. AICS OLMI (675113)........................... A H A H H A H A H A H [8]
C6 [9] POL. BUCCINASCO (676162)..................... A H A H A H H A H A H [9]
C6 [10] CALDERARA (203666) [A]........................ A H A H A H A H H A H [10]
C6 [11] A.C. BRUZZANO (8020)............................ A H A H A H A H A H A [11]
C6 [12] G.S. VILLA (33480) [B]............................. A H A H A H A H A A H [12]
http://www.constellationsystems.net/calendario2015_milano/EsordientiIAnno2000a9.html


----------------------------------------
External bindings
----------------------------------------
To solve the problems of XY binding constraints between teams of different clubs, I have invented a formal notation called Multigraph binding. Multigraph binding is a formal syntax notation, which describes the XY binding constraints between the teams of the different companies.

There are two types of Multigraph binding constraints:
- (SLAVE MULTI POINTER) -
- [MASTER POINTER] -

(external SLAVE MULTI POINTER) is defined between parentheses () and must be entered manually by the operator in the Constellation graph.
# Multigraph MASTER SYNTAX -- constrained teams are external
(slave_club_number: binding: constrained_teams_list)

While [External MASTER POINTER] is described in the [] brackets, and is inserted automatically.

# Multigraph SLAVE SYNTAX -- CONSTRAINING team is external
[675630:y:3:6:E0:24.1]
[master_club_number: binding: master_node: master_slot_number : master_scheme_code: master_team_hyerarchy]

----------------
X-constraints
----------------
For teams is said to have X-CONJUNCTION binding-constraint (annotation X), only if master team plays in X-CONJUNCTION on the same day, or all together AWAY or all at together at HOME venues.

----------------
Y-constraints
----------------
For teams is said to have Y-ALTERNATE (annotation Y), if on the same match-day, a master team plays at home, while the Y-constrained teams are playing away -- and vice versa.

---------------------------------------------------------------------------
BINDING and bounded teams, i.e. MASTER and slave teams
---------------------------------------------------------------------------
For the teams of some clubs, the slot-position of the team in the division can not be arbitrary. For a team is said to be the BINDING team for one or more corresponding bounded teams, whether it has X or Y constraints.


That is to say that the slot-position of a team is bounded (constrained), when it has X or Y constraints. At this point the slot-position of a team in a group-division depends on six parameters:
1) CONSTRAINING SchemeCode
2) CONSTRAINING slot-number
3) Binding (x,y) between the constraining (master) team and the constrained (slave) team
Second three parameters are the parameters that are established automatically during the process of subdivision of the teams of the competition into the divisions/groups.
4) SchemeCode of the constrained (slave) team
5) Week shift (between -8 and +8 weeks)
6) Matches season (outgoing or return matches)


A constrained (bonded, slave) team can have one and only one corresponding BINDING (constraining, master) team. While a BINDING (master) team can have many bounded teams (slaves), of the same or lower hierarchical level, both of the same or different club.


----------------------------------------------------------------------
CONSTELLATION MULTI-GRAPH for external bindings
----------------------------------------------------------------------

The Constellation Graph of a club can be easily connected/ bonded to the other Constellation graphs of other clubs. The Multigraph-links represent external binding constraints -- between the teams of different clubs.

-------------------------------------------
External Binding/ Multigraph binding
--------------------------------------------

To solve the problems of XY binding constraints between teams of different clubs, I invented a formal notation called Multigraph binding. Multigraph binding is a formal syntax notation, which describes the XY binding constraints between the teams of the different clubs.

There are two types of Multigraph binding constraints:
- (SLAVE MULTI POINTER) -
- [MASTER POINTER] -

(External SLAVE MULTI POINTER) is defined between parentheses () and must be entered manually by the operator in the Constellation graph in the "External Constraints"



---------------------------------------------------------------
FORMAL NOTATION FOR EXTERNAL BINDINGS
---------------------------------------------------------------
(slave_club_number: binding: constrained_teams_list)

For the vast majority of clubs it is sufficient to describe the Home/Away xy binding of teams for the sameclub in the Constellation Graph. This is quite simple and intuitive: specifying the nodes X and Y of a graph.


# Multigraph MASTER SYNTAX -- constrained teams are external
(slave_club_number: binding: constrained_teams_list)

While [External MASTER POINTER] is described in the [] brackets, and is inserted automatically.

# Multigraph SLAVE SYNTAX -- CONSTRAINING team is external
[675630:y:3:6:E0:24.1]
[master_club_number: binding: master_node: master_slot_number : master_scheme_code: master_team_hyerarchy]

Instead, when the operator wants to describe a (x, y) binding between teams of different clubs, he must use the formal notation called Multigraph Binding.



----------------------------------------------------------------------
CONSTELLATION GRAPH columns
----------------------------------------------------------------------
The first column / node number indicates the consecutive number of teams in the graph (serves for consultation only)
The column 2 indicates the registration number of the club (serves for consultation only)
The column 3 shows the category and competition name (serves for consultation only)
The column 4 shows the field (drop-down menu, there are only the fields surveyed by the club in question)
The column 5 indicates the start-constraint, i.e. the team start season playing home or away (not used in this release)
The column 6 indicates the start date of the competition (this information is automatically detected by the card on competition, so it should be written only once, if you want)
The column 7 indicates the week-day of the game (Saturday, Sunday)
The column 8 indicates the time of the meeting (this information is automatically detected by the card on competition, so it should be written only once, if you want)
The column 9 is for consultation-only, it depends on columns 11 and 12 (Combined and Splitting)
The column 10 is for consultation-only, it depends on the columns 11 and 12 (Combined and Splitting)
The column 11 indicates the node-numbers of teams playing in X binding
The column 12 indicates the node-numbers of teams playing in Alternating Y binding
The column 13 indicates External Constraints notes
The column 14 indicates the number or letter of the division/group
The column 15 indicates the slot-number of the team
The column 16 indicates the SchemeCode adopted for the competition of the team
The column 17 indicates the competition hierarchy is for consultation-only, (serves us to complete the algorithm processing module Calendars).
The column 18 indicates the number of islet-number of the Constellation graph (also serves for consultation only)