Cup Manager
Taktikktavle

Slik fungerer Cup Manager under panseret

Vi har i lang tid finpusset algoritmene som ligger til grunn for mange av Cup Managers automatiske funksjoner.

Hver ny turnering har gitt oss ny innsikt i hvor komplisert det er å designe den perfekte spilleplanen.

Her får du et innblikk i noen av våre unike funksjoner som bruker kunnskapen vi har samlet gjennom årene.

Geografisk inndeling av lag

For å lage en automatisk funksjon man faktisk kan stole på når det gjelder å fordele lag i grupper (samme algoritme brukes faktisk til sluttspilltrær også), er det viktig at man ikke stopper halvveis og for eksempel bare tar hensyn til hvilke klubber lagene kommer fra. En slik algoritme etterlater mye manuelt arbeid for å sørge for at lag fra samme by (eller land i internasjonale turneringer) ikke havner i samme gruppe.

I Cup Manager tar vi derfor hensyn til følgende konflikter (en konflikt er at to lag med samme egenskap nedenfor havner i samme gruppe):

  1. Klubb
  2. Postnummer
  3. By
  4. Kommune
  5. Idrettskrets
  6. Fylke
  7. Postnummerområde
  8. Land
  9. Landsregion
  10. E-postadresse for admin
  11. Draktfarge

Konfliktene håndteres i den rekkefølgen listen viser. Det er for eksempel verre om to lag fra samme klubb havner i samme gruppe enn om to lag med samme draktfarge gjør det. Målet er å minimere antall konflikter i alle grupper.

Det finnes tre ulike funksjoner i Cup Manager som bruker de samme konfliktene for å lage en så god spilleplan som mulig:

  • Gruppeinndeling av lag
  • Sluttspill (der kommer i tillegg konflikten at lag har gått videre fra samme gruppe)
  • Kampfordeling i kjempeklasser

Gruppeinndeling av lag

I Cup Manager har vi bygget en «konfliktløser» som garantert kan fordele lag mellom grupper på en optimal måte. Det betyr at Cup Manager alltid fordeler lag til grupper slik at antall konflikter minimeres. Sammen med funksjonen som lar deg seede enkelte lag før du bruker den automatiske funksjonen, kan man derfor si at Cup Managers funksjon for å fordele lag er komplett. Konfliktløseren er faktisk noe av det aller første som ble bygget for Cup Manager, og har fulgt med i alle versjoner av Cup Manager siden omtrent år 2008 (12 år når dette skrives!).

Optimale sluttspill

Er du interessert i dette i detalj, kan du lese neste seksjon som handler spesifikt om sluttspill, men allerede her kan vi avsløre at konfliktløseren spiller en sentral rolle.

Kampfordeling i kjempeklasser

Siden man ikke trenger å rangere lagene i resultatrekkefølge i kjempeklasser, trenger man heller ikke la alle lag i en gruppe møte hverandre. Det åpner for å velge ut enkelte kamper fra en stor gruppe, der man unngår konflikter mellom lagene som spiller i kampene man velger ut.

Dette kan tilsynelatende virke som et like enkelt problem som å fordele lagene til grupper, men sannheten er at det er langt vanskeligere. I motsetning til tidligere, der det går an å finne en garantert optimal løsning, må man her (i hvert fall med litt større grupper) nøye seg med å finne en så god inndeling som mulig. Man kan illustrere utfordringene ved å beskrive et delproblem:

Hvor mange kamper må lag fra samme klubb spille mot hverandre hvis de er i samme gruppe av en viss størrelse, der alle lag skal spille minst et visst antall kamper?

For en 7-lagsgruppe ser svaret slik ut når man varierer antall lag fra samme klubb (rader) og antall kamper per lag (kolonner):

123456
1000000
2000001
3000023
4011246
51346810
6257101215
74711141821

Det finnes tydelige mønstre i tabellen over, men sammenhengen er så komplisert at vi har vært nødt til å simulere frem resultatene for ulike gruppestørrelser på forhånd i Cup Manager. Det hjelper deretter systemet med å avgjøre om det har funnet en optimal kampfordeling.

Siden det ikke finnes noen enkel måte å finne de beste kampene på, tester Cup Manager seg deretter frem akkurat som et menneske også ville gjort. Fordelen for Cup Manager er at det går veldig raskt, og at Cup Manager hele tiden kan holde styr på at alle lag har fått riktig antall kamper. Cup Manager håndterer også alle de 11 konfliktene fra konfliktlisten. Det er ikke helt lett å holde styr på dem selv! Det er denne testingen som likevel kan ta noen minutter hvis du trekker en kjempeklasse i Cup Manager.

Sluttspilltre

Et godt sluttspilltre skal oppfylle to krav.

1. Jo høyere rangert lag, desto enklere vei til finalen

2. Lag som har møtt hverandre tidligere i turneringen, skal møtes så sent som mulig i sluttspillet

Det første kravet fører til at det best rangerte laget møter det dårligst rangerte laget, det nest beste laget møter det nest dårligste, og så videre. I praksis er det ofte flere lag som har samme rangering (for eksempel alle 1'erne fra gruppene – med unntaket som nevnes i regel 4).

Sluttspilltre i Cup Manager

Regel 2 er i mange tilfeller enkel å følge. Går for eksempel 1'eren og 2'eren i hver gruppe videre til sluttspill A, kan man plassere 1'eren på den ene siden av sluttspilltreet og 2'eren på den andre. Det blir mer komplisert hvis man har 3 lag fra samme gruppe i samme sluttspill. Da må man dele sluttspilltreet i 4 deler (ved hver semifinale) og deretter plassere ett lag i 3 av de fire delene, med den følgen at to av lagene kan møtes allerede i semifinalen hvis uflaksen/flaksen er fremme.

Det er tydelig at man her kan havne i en svært komplisert situasjon hvis man har flere grupper med et oddetall lag, og kanskje i verste fall også et ujevnt sluttspilltre. Det er tydelig at det ikke går an å løse alle tilfellene som kan oppstå med ferdige maler. Det trengs en algoritme. Det kan dessverre bli enda verre, for ofte vil man også følge et tredje krav som ligner krav 2:

3. Lag som pleier å møtes i seriespill, eller som kommer fra samme klubb, skal møtes så sent som mulig i sluttspillet.

Her når man grensen for hva som er mulig i praksis. I Cup Manager løses regel 3 ved at man, etter at grupper og sluttspill er opprettet og lagene er plassert ut, kan kontrollere at lag fra samme klubb ikke møtes. Har man uflaks, får man hjelp til å flytte ett av lagene til en ny gruppe for på den måten å unngå problemet.

Til slutt kan et sluttspilltre være ujevnt (hvis man ikke bruker for eksempel Beste 3'ere). At et sluttspilltre er ujevnt betyr at man for eksempel har 14 lag og dermed skulle hatt 1/8-finaler, men bare har plass til 6 stykker. Det betyr at to av lagene må gå direkte til 1/4-finale. Har man et ujevnt sluttspilltre, finnes det én regel til:

4. Ved ujevne sluttspilltrær skal lagene som har spilt flest kamper, ha fortrinnsrett til å hoppe over den innledende runden.

Det betyr at hvis det står mellom 1'eren i en 4-lagsgruppe og 1'eren i en 5-lagsgruppe, skal laget i 5-lagsgruppen, som allerede har spilt en ekstra kamp, hoppe over den innledende runden i sluttspillet.

Hånd som holder en mobiltelefon

Automatisk kampoppsett

Kampoppsett er et problem som på overflaten kan virke enkelt, men som faktisk er noe av det vanskeligste som finnes for en datamaskin å klare. Likevel har turneringsadministratorer til alle tider klart å lage spilleplaner uten dobbeltkamper og med nok hviletid. Det var utgangspunktet vårt da vi bygde Cup Managers algoritme for automatisk kampoppsett.

Akkurat som et menneske ville gjort, plasserer Cup Manager én kamp om gangen i spilleplanen, helt til alle kampene er plassert. Skulle uflaksen være fremme, plukker man rett og slett bort de siste kampene i planen og gjør et nytt forsøk, helt til alle kampene er plassert.

Hva er da problemet, kan man spørre seg? Et enkelt regneeksempel svarer raskt på det spørsmålet. La oss anta at vi vil plassere 100 kamper på 10 ulike baner. Hvis vi må prøve alle de 10 banene for alle de 100 kampene når vi lager planen, vil vi teste 100000000000000000000 (100^10) ulike plasseringer av kamper. Ikke engang med alle verdens superdatamaskiner samlet ville det vært mulig å lage kampoppsett med en slik metode. Da har vi ikke engang tatt hensyn til hvilket klokkeslett kampene skal spilles. Det opplagte trikset (som er lettere sagt enn gjort) er å ikke gjøre feil når man plasserer kampene. Plutselig trenger vi bare å teste 1 kampoppsett. I stedet for å rette opp feilene i etterkant må man altså være fremsynt og sørge for å ikke gjøre noen (eller i det minste svært få) feil.

Å lage kampoppsett kan da deles opp i to problemer som må løses, eller to spørsmål som skal besvares mens man setter opp kampene:

  1. Hvilken kamp skal jeg plassere neste gang?
  2. Hvilken bane og hvilket klokkeslett skal kampen jeg valgte, få?

Svarer man «riktig» på de to spørsmålene gjennom hele kampoppsettet, er man i mål! Dessverre er metodene for å svare riktig på disse spørsmålene et helt vitenskapsfelt. Grunnlaget for Cup Managers metode for å svare på spørsmålene kommer fra en masteroppgave i informatikk som du kan laste ned her. Ved hjelp av metoden for å rangere kamper og plasseringer som beskrives i den oppgaven, får man alltid en balansert plan med like mange kamper på hver bane.

For å svare på spørsmålene må man også ta hensyn til alle reglene som finnes for hvordan planen for en turnering kan se ut. Blant annet hviletider og hvilke dager en kamp skal spilles, men også mer avanserte regler om at alle skal spille minst én kamp på hovedarenaen eller på kunstgress. Alle reglene du legger til, vil påvirke svaret på de to spørsmålene, siden det er ved hjelp av de to spørsmålene systemet unngår å bryte reglene.

Under panseret på Cup Managers kampoppsett finnes det derfor en avansert planleggingsmotor som klarer å sette opp kamper for turneringer med flere tusen kamper, til tross for kompliserte regler. Ved å ta hensyn til alle reglene du legger til i planen din når de to spørsmålene besvares, klarer Cup Manager å raskt lage nesten alle kampoppsett.

Vi liker å tenke på spilleplaner. Utfordre oss gjerne!

Cup Manager support

Telefon: 046-52580E-post: support@cupmanager.net

Vil du ha et enklere liv?

Ta kontakt med oss, eller velg et tidspunkt for å bestille en demo av Cup Manager. Vi ser frem til å få vise deg systemet vårt.

Velg et tidspunkt for demo
Svenska English