Handleiding: Configuratie



De configuratie is te uitgebreid voor een enkel scherm, en daarom onderverdeeld in verschillende dialogen. Via deze dialoog zijn de verschillende onderliggende configuratieschermen te bereiken.





Data pad:
Vul hier het pad in waar de data bestanden opgeslagen moeten worden. Onder dit pad worden directories of mappen voor iedere competitie aangemaakt.

Maak automatisch een backup van de bestanden:
Indien deze optie aangevinkt is, wordt ieder databestand ook naar een andere lokatie geschreven. Er is dus geen sprake van een oude versie van voor de bewerking, maar het is een exacte kopie van de laatste versie. Deze optie is ontstaan om het programma vanaf een onbetrouwbaar medium als een diskette te kunnen gebruiken. Door dan een kopie op de harddisk te laten maken, raak je geen gegevens kwijt, mocht de diskette defect raken.

Het betreft hier enkel de hoofdbestanden met de leden en de uitslagen. Van bestanden die door het programma gegenereerd worden (inschrijf- en overzichtslijsten)i, wordt geen kopie gemaakt.

Backup pad:
Vul hier het pad in waar de kopie van de data bestanden opgeslagen moeten worden. Let wel: alleen de bestanden die door het programma gewijzigd worden worden hier ook opgeslagen. Er wordt niet iedere keer een kopie van ongewijzigde (oude competities) bestanden gemaakt.

Spreadsheet:
Een aantal onderdelen van het programma kunnen doorstarten naar een spreadsheet. Vul hier het volledige pad naar het gewenste programma in.





Begin de stand op een nieuwe pagina:
Bij het afdrukken van een indeling is het mogelijk tegelijk de uitslag van de vorige ronde en de stand na deze ronde af te drukken. De volgorde hierin is altijd: 1) uitslagen, 2) stand, 3) indeling nieuwe ronde. Wanneer deze optie aangevinkt is, wordt bij het afdrukken van de stand (als onderdeel van het afdrukken van een indeling) automatisch op een nieuwe pagina begonnen.

Begin de indeling op een nieuwe pagina:
Wanneer deze optie aangevinkt is, wordt bij het afdrukken van de indeling automatisch op een nieuwe pagina begonnen.

Lettertype:
Kies hier het letterschrift en de lettergrootte van het printerfont. Het schrift moet een fixed font (alle letters zijn even breed) zijn. (Omdat de resolutie van een scherm vele malen lager is dan die van een printer, zullen veel groottes eenzelfde voorbeeld op het scherm te zien geven).





De stand binnen de competitie wordt bepaald door het behaalde aantal punten per speler. (Binnen een gelijk aantal punten wordt op speelsterkte gesorteerd). Het behaalde aantal punten kan zelf worden ingesteld door in dit configuratiescherm de juiste formule in te vullen. Het programma kan meerdere formules beheren, er is er echter altijd maar één actief.

Formulenaam:
De logische naam van de formule. Deze naam is puur ter referentie en wordt verder niet gebruikt. Via de uitklaplijst kan de formule gekozen worden waar de rest van dit scherm mee werkt.

Gebruik deze formule
Er kan altijd maar één formule gebruikt worden. Dat is de formule waarbij deze optie aangevinkt is. Het aanvinken van deze optie bij een formule zorgt automatisch voor het uitvinken van deze optie bij een eventueel andere formule.

Formule:
Dit veld bevat de formule zelf. Of de formule aan de juiste syntax voldoet kan met de Test knop bepaald worden. Voor alle mogelijkheden van formules binnen dit programma, zie de aparte pagina Formules op deze website.

Bereken de punten als gemiddeld over de rondes
De standformule houdt standaard geen rekening met de historie, maar berekent de stand met de formule na de gewenste ronde. Dit betekent dat -indien de klasse van spelers aangepast wordt na een winst of verliespartij- er geen rekening gehouden wordt met de volgorde van winnen en verliezen. Eerst drie keer winnen en daarna drie keer verliezen zal evenveel punten opleveren als de omgekeerde volgorde, terwijl de (voorgift)partijen zwaarder zullen zijn door de klasseaanpassingen.

Wanneer deze keuze aangevinkt is, wordt de stand per speler na iedere ronde bepaald. Het uiteindelijke aantal punten is dan het gemiddelde van alle berekende punten.

Mijn ervaring is overigens dat bij een groot aantal rondes (wij spelen één competitie per jaar) deze optie niet veel meer toevoegd (het middelt allemaal aardig uit), maar wel veel verwarring geeft bij de spelers (hoe leg je het nog uit).

Testvak met invulvelden
De formule kan in dit dialoogvenster uitgeprobeerd worden. Hiertoe zijn de waardes van alle in de formule te gebruiken parameters te definiëren in zes invulvelden. De invulvelden zijn standaard met een min of meer zinvolle waarde gevuld.

Tevens kent dit vak een resultaatveld, waarin de uitkomst van de formule of de foutmelding getoond wordt.

Nieuw
Er wordt een nieuwe lege formule aan de lijst toegevoegd.

Test
De formule in het veld Formule wordt éénmalig uitgevoerd. Hierbij worden de waardes van de invulvelden in het testvak gebruikt indien van toepassing. Het resultaatveld toont de numerieke uitkomst, of een omschrijving van de fout, indien de formule niet correct opgebouwd is. In dit laatste geval wordt de cursor in de formule zelf gepositioneerd, op de plaats waar de fout ontdekt is. Omdat deze knop de default (standaard) knop is, kan een formule eenvoudig tijdens de invoer gecontroleerd worden, middels de Enter toets.

Verwijderen
De formule die op dit moment getoond wordt in het veld Formulenaam, met alle gegevens die daar bij horen, wordt verwijderd.

Ok
Slaat de gemaakte wijzigingen op, sluit dit venster en keer terug naar het algemene configuratievenster.

Cancel
Slaat de gemaakte wijzigingen niet op, sluit dit venster en keer terug naar het algemene configuratievenster.





Het programma biedt de mogelijkheid de klasse van spelers na iedere ronde aan te passen. Deze aanpassingen kunnen zelf ingesteld worden door in dit dialoogvenster de juiste formules in te vullen. Het programma kan meerdere formules beheren, er is er echter altijd maar één actief.

Formulenaam:
De logische naam van de formule. Deze naam is puur ter referentie en wordt verder niet gebruikt. Via de uitklaplijst kan de formule gekozen worden waar de rest van dit scherm mee werkt. (Ik spreek hier van formule, maar eigenlijk bestaat iedere formule in deze dialoog uit drie aparte, bijeenhorende formules).

Gebruik deze formule
Er kan altijd maar één formule gebruikt worden. Dat is de formule waarbij deze optie aangevinkt is. Het aanvinken van deze optie bij een formule zorgt automatisch voor het uitvinken van deze optie bij een eventueel andere formule.

In geval van:
Iedere formule bestaat uit drie aparte formules, achtereenvolgends of de partij in de te berekenen ronde in Winst, Verlies of Jigo geëindigd is. Via deze keuze kan gekozen worden met welke (sub)formule de rest van de dialoog werkt.

Nieuwe klasse:
Dit veld bevat de formule zelf. Of de formule aan de juiste syntax voldoet kan met de Test knop bepaald worden. Voor alle mogelijkheden van formules binnen dit programma, zie de aparte pagina Formules op deze website.

Testvak met invulvelden
De formule kan in dit dialoogvenster uitgeprobeerd worden. Hiertoe zijn de waardes van alle in de formule te gebruiken parameters te definiëren in zes invulvelden. De invulvelden zijn standaard met een min of meer zinvolle waarde gevuld.

Tevens kent dit vak een resultaatveld, waarin de uitkomst van de formule of de foutmelding getoond wordt.

Nieuw
Er wordt een nieuwe lege formule aan de lijst toegevoegd.

Test
De formule in het veld Nieuwe klasse wordt éénmalig uitgevoerd. Hierbij worden de waardes van de invulvelden in het testvak gebruikt indien van toepassing. Het resultaatveld toont de numerieke uitkomst, of een omschrijving van de fout, indien de formule niet correct opgebouwd is. In dit laatste geval wordt de cursor in de formule zelf gepositioneerd, op de plaats waar de fout ontdekt is. Omdat deze knop de default (standaard) knop is, kan een formule eenvoudig tijdens de invoer gecontroleerd worden, middels de Enter toets.

Verwijderen
De formule die op dit moment getoond wordt in het veld Formulenaam, met alle gegevens die daar bij horen, wordt verwijderd.

Ok
Slaat de gemaakte wijzigingen op, sluit dit venster en keer terug naar het algemene configuratievenster.

Cancel
Slaat de gemaakte wijzigingen niet op, sluit dit venster en keer terug naar het algemene configuratievenster.





Via dit dialoogvenster kunnen de parameters voor de indeling ingevuld worden. Op deze wijze kan het indelingsalgoritme naar eigen inzicht bijgestuurd worden.

Vast uitgangspunt is dat in principe alle partijen tussen alle spelers mogelijk moeten zijn. Via de parameters kunnen echter bepaalde partijcombinaties als meer of minder wenselijk aangegeven worden. De instellingen waar het programma mee werkt zijn:

Het eerste punt dient zo hoog mogelijk te zijn, of naar keuze boven een vaste grens te liggen. Het tweede punt en derde punt dient zo klein mogelijk te zijn.

Voor alle instellingen worden per mogelijke indeling voor alle spelerscombinaties alle positieve en negatieve punten opgeteld. De indeling met de laagste totaalscore wordt als optimaal en definitieve indeling beschouwd.

De indelingsdialoog zelf kent daarnaast nog een forceer en verbods optie, waarmee een specifieke indeling nog verder te sturen is.

In dit venster worden de defaultinstellingen tussen haakjes achter de omschrijving getoond.

Maximaal aantal pairings voor berekenen alle permutaties:
Het is ideaal wannneer alle mogelijke indelingen bekeken kunnen worden, waarna de beste gekozen wordt. Het aantal mogelijke indelingen wordt alleen heel snel heel groot, en het is daarom praktisch niet mogelijk alle mogelijkheden uit te proberen bij veel deelnemers. Alhoewel de stop-knop de zoektocht onderbreekt en het beste resultaat tot dan toe gevonden zal presenteren, is dit geen goede oplossing. Omdat alle mogelijke indelingen systematisch onderzocht zullen worden, zullen alle bekeken mogelijkheden gemeenschappelijke eigenschappen hebben. (Zo zal bij onderbreking bijvoorbeeld bij een oneven aantal deelnemers nog geen indeling bekeken zijn waarbij de laatste speler uit de lijst uitgeloot is).

Daarom is het mogelijk via deze parameter in te stellen bij welk aantal spelers nog alle mogelijkheden bekeken moeten worden. Dit aantal is natuurlijk afhankelijk van de gebruikte hardware en de toegestane tijd. Op een 2,4 Ghz Pentium 4 computer duurt het doorrekenen van alle mogelijke indelingen van 8 pairings (dus 16 spelers) binnen 3 seconden uitgevoerd. Wanneer er meer deelnemersparen zijn, zal het programma een hieronder in te stellen hoeveelheid willekeurige indelingen bekijken. Wanneer dit aantal willekeurige indelingen maar hoog genoeg is, zal wellicht niet de allerbeste indeling mogelijk gevonden worden, maar tenminste een acceptabele binnen redelijke tijd.

Voor de geïnteresseerden: het aantal mogelijke indelingen bij N spelers is:
 Voor even N Voor oneven N
  

Indien boven maximum, aantal random permutaties
Wanneer het aantal mogelijke indelingen te groot is, zullen er een aantal willekeurig gekozen indelingen gegenereerd worden. De beste van deze indelingen wordt als definitieve indeling genomen. Hier is te specificeren hoeveel indelingen geprobeerd moeten worden.

Wanneer de waarde 0 (nul) ingegeven wordt, zal het programma indelingen blijven genereren, totdat de gebruiker de Stop knop indrukt. Tijdens dit proces wordt in de voortgang de huidige stand van de gevonden indelingen getoond. Deze bevat onder andere de tijd die verlopen is sinds de beste indeling tot nu toe gevonden is. (Vanaf release 2.1a).

Om een indruk te geven: op een 2,4 Ghz Pentium 4, in een competitie met 20 deelnemers worden er ruim 450.000 indelingen per seconde gegenereerd en vergeleken.

Penalty per aantal maal uitgeloot
Wanneer een speler wordt uitgeloot, zal de totaalscore van deze indeling met dit aantal punten opgehoogd worden, voor iedere keer dat deze speler al eerder in deze competitie uitgeloot is. (De indeling met de laagste totaalscore wordt gekozen). Hiermee wordt voorkomen dat steeds dezelfde speler uitgeloot wordt. Van belang is natuurlijk wel dat uitlotingen ook bij de uitslagen ingegeven worden.

Penalty per niet toegestane uitloting
Wanneer een speler wordt uitgeloot, waarbij is aangegeven dat deze niet uitgeloot mag worden (zie Leden-administratie), zal de totaalscore van deze indeling met dit aantal punten verhoogd worden. Door deze waarde maar hoog genoeg te zetten, wordt een indeling met deze spelers toch uitgeloot zeer onwaarschijnlijk, maar niet helemaal onmogelijk. Het is immers mogelijk dat er geen andere indeling mogelijk is. (Eenvoudigste voorbeeld: een indeling van drie spelers, die alle drie de "uitloten-niet-toegestaan" vlag hebben).

Grens voor klasseverschil
Het indelingsalgoritme kent punten toe voor alle spelersparen. Dit aantal punten is gebaseerd op het klasseverschil tussen de spelers. Om partijen met een al te grote voorgift te voorkomen, is het mogelijk om onderscheid te maken tussen partijen met kleine en grote voorgift. Met deze parameter is de grens te bepalen (de standaardwaarde van 17 komt overeen met 9 stenen voorgift).

Penalty per klasseverschil onder/boven de grens
Deze twee velden bevatten de waarde die bij de totaalscore opgeteld wordt, per spelerspaar. De waarde wordt vermenigvuldigd met het klasseverschil tussen beide spelers. Welke van de twee waardes genomen wordt is afhankelijk van het klasseverschil en de waarde van de grens hierboven.

Grens voor aantal rondes
Het indelingsalgoritme trekt punten af voor alle spelersparen. Wanneer de laatste maal dat hetzelfde paar tegen elkaar gespeeld heeft groter is, zal de aftrek hoger zijn (en de totaalscore dus beter). Om nu te zorgen dat spelers na een poosje best wel weer opnieuw tegen elkaar mogen spelen (anders zouden de partijen met extreme voorgift steeds meer kans gaan maken), is het mogelijk andere waarden aan de aftrek te geven wanneer het minder of juist langer geleden is dat het spelerspaar tegen elkaar speelde dan deze drempelwaarde.

Dit veld kent de speciale waarde 0. Dit betekent dat bij de start van het algoritme deze waarde automatisch op het aantal in te delen partijen (dit is het aantal spelers gedeeld door twee) wordt gezet.

Aftrek onder grens per ronde-kwadraat
Indien het aantal rondes dat het spelerspaar eerder tegen elkaar speelde kleiner is dan de ingegeven grenswaarde, dan wordt de totaalscore van de indeling als volgt aangepast: Het aantal rondes sinds dit spelerspaar eerder tegen elkaar gespeeld heeft, wordt vermenigvuldigd met de waarde van dit veld. Dit resultaat wordt gekwadrateerd en van de totaalscore afgetrokken.

Aftrek boven de grens
Indien het aantal rondes dat het spelerspaar eerder tegen elkaar speelde groter is dan de ingegeven grenswaarde, dan wordt de totaalscore van de indeling als volgt aangepast: Het aantal rondes sinds dit spelerspaar eerder tegen elkaar gespeeld heeft, wordt vermenigvuldigd met de waarde van dit veld. Dit resultaat wordt gekwadrateerd en van de totaalscore afgetrokken.

Dit veld kent de speciale waarde 0. Dit betekent dat de aftrek de vaste waarde heeft van de waarde Aftrek onder grens per ronde-kwadraat, vermenigvuldigd met de waarde van het veld Grens voor aantal rondes plus 1, en dan nog gekwadrateerd. In gewoon Nederlands betekent dit gewoon een aftopping, aansluitend op het veld hierboven.

Ok, Cancel
Met de Ok knop worden de getoonde gegevens opgeslagen. Beide knoppen sluiten dit dialoogvenster en het programma keert terug naar het algemene configuratievenster.





Via dit dialoogvenster kunnen de parameters voor de html uitvoer ingesteld worden.

Het programma kent vier verschillende overzichten die (ook) als html invoegbestanden aangemaakt kunnen worden. Van ieder overzicht kan aangegeven worden of het aangemaakt moet worden, en zo ja, of het automatisch op een externe ftp server gezet moet worden.

De bestanden zijn van het .inc type. Dit betekent dat ze gewone html code bevatten, die in de body van een html file opgenomen kan worden. De gebruiker zal zelf de overkoepelende html bestanden moeten aanmaken, die deze include bestanden inlezen (SSI: server site includes). Op deze manier passen de overzichten binnen de gebruikte site-layout.

Uitslag laatste ronde
Dit overzicht bevat enkel de uitslagen van de laatst ingevoerde ronde. Het komt overeen met het overzicht op papier dat na de invoer, of na het genereren van een indeling afgedrukt kan worden.
De bestandsnaam is uitslag.inc

Alle uitslagen
Dit overzicht bevat alle uitslagen van deze competitie. Dit overzicht kent geen tegenhanger op papier.
De bestandsnaam is uitslagen.inc

Stand
Dit overzicht toont de huidige stand. Het komt overeen met het overzicht dat op papier afgedrukt kan worden. Waar het programma de mogelijkheid kent met terugwerkende kracht standen uit te draaien, bevat dit overzicht altijd de laatste stand.
De bestandsnaam is stand.inc

Indeling nieuwe ronde
Dit overzicht toont de gegenereerde indeling. Het komt overeen met het overzicht dat op papier afgedrukt kan worden.
De bestandsnaam is indeling.inc

Indien bij minimaal één van de overzichten aangegeven is dat deze automatisch naar een ftp server overgezet moet worden, kunnen in het volgende gedeelte de verbindingsparameters ingevoerd worden.

Server
Vul hier de naam van de ftp server in.

Poort
Vul hier het nummer van de gebruikte poort voor de verbinding in (normaal 21).

Gebruik passive mode (firewall vriendlijk)
Zet deze optie aan om ftp in de passieve mode te gebruiken. Dit wordt tegenwoordig door veel firewalls vereist.

Gebruikersnaam
Vul hier de login naam in.

Wachtwoord
Vul hier het wachtwoord in.

Pad op de server
Het programma plaatst de bestanden geheel automatisch op de server. Geef hier de plek aan waar de bestanden neergezet moeten worden.

Competitie-id aan pad toevoegen
De html bestanden hebben een vaste naam. Bestanden van verschillende competities zullen elkaar dus overschrijven. Indien deze optie aangevinkt is, zal het programma de competitie-identificatie aan het pad op de server toevoegen, zodat de bestanden altijd op een unieke plek staan.
Bevat Pad op de server bijvoorbeeld \competitie, en de huidige competitie heet 2003, dan zal het programma de bestanden op \competitie\2003 op de server opslaan, indien deze optie aangevinkt is.

Voortgangsvenster sluiten na foutloze verwerking
De voortgang van het overzetten van de bestanden via ftp wordt in een venster weergegeven. Indien deze optie aangevinkt is, zal dit venster automatisch sluiten wanneer er geen fouten zijn opgetreden.

Ok, Cancel
Met de Ok knop worden de getoonde gegevens opgeslagen. Beide knoppen sluiten dit dialoogvenster en het programma keert terug naar het algemene configuratievenster.





Via dit dialoogvenster kunnen de parameters voor de voorgift en komi ingesteld worden.

Deze formules kennen slechts één variabele, V, het verschil in sterkte, uitgedrukt in klassen.

Formulenaam
De logische naam van de formule. Deze naam is puur ter referentie en wordt verder niet gebruikt. Via de uitklaplijst kan de formule gekozen worden waar de rest van dit scherm mee werkt.

Gebruik deze formule
Er kan altijd maar één formule gebruikt worden. Dat is de formule waarbij deze optie aangevinkt is. Het aanvinken van deze optie bij een formule zorgt automatisch voor het uitvinken van deze optie bij een eventueel andere formule.

Voorgift
Dit veld bevat de formule die het aantal voorgiftstenen voor het klassenverschil bepaald.

Komi
Dit veld bevat de formule die de komi voor het klassenverschil bepaald.

Extra ½ komi voor wit
Klik deze optie aan om een extra half punt komi aan wit te geven, waardoor een jigo voorkomen wordt. Het effect van deze optie is enkel zichtbaar op de uitdraai van de indeling. Het invoeren van een jigo-uitslag blijft altijd mogelijk.

Testvak met klasseverschil, Stenen en Komi
Wanneer de Test knop gebruikt wordt, worden de ingevulde formules gebruikt om voor de waarde V (= klasseverschil) de verschillende uitkomsten te bepalen. De uitkomsten worden in deze tabel gezet.
Wanneer een formules een fout bevat, staat onder de tabel een omschrijving van de gevonden fout.

Nieuw
Er wordt een nieuwe set van twee lege formules aan de lijst toegevoegd.

Verwijderen
De set formules die op dit moment getoond wordt in het veld Formulenaam, met alle gegevens die daar bij horen, wordt verwijderd.

Test
De ingevoerde formules worden voor de waardes 0 t/m 50 uitgevoerd. De uitvoer wordt in de tabel geschreven. Bij een foutieve formules wordt een omschrijving van de fout onder de tabel geplaatst, en de cursor wordt in de formule zelf gepositioneerd, op de plaats waar de fout ontdekt is. Omdat deze knop de default (standaard) knop is, kan een formule eenvoudig tijdens de invoer gecontroleerd worden, middels de Enter toets.

Ok
Slaat de gemaakte wijzigingen op, sluit dit venster en keer terug naar het algemene configuratievenster.

Cancel
Slaat de gemaakte wijzigingen niet op, sluit dit venster en keer terug naar het algemene configuratievenster.