diff --git a/README.rtf b/README.rtf index a2122aa..d88896c 100644 --- a/README.rtf +++ b/README.rtf @@ -4,14 +4,14 @@ {\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhimajor\f31502\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria;} {\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} {\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;} -{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f39\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f40\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} -{\f42\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f43\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f44\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f45\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} -{\f46\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f47\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f59\fbidi \fmodern\fcharset238\fprq1 Courier New CE;}{\f60\fbidi \fmodern\fcharset204\fprq1 Courier New Cyr;} -{\f62\fbidi \fmodern\fcharset161\fprq1 Courier New Greek;}{\f63\fbidi \fmodern\fcharset162\fprq1 Courier New Tur;}{\f64\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}{\f65\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);} -{\f66\fbidi \fmodern\fcharset186\fprq1 Courier New Baltic;}{\f67\fbidi \fmodern\fcharset163\fprq1 Courier New (Vietnamese);}{\f379\fbidi \froman\fcharset238\fprq2 Cambria Math CE;}{\f380\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;} -{\f382\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;}{\f383\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}{\f386\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;}{\f387\fbidi \froman\fcharset163\fprq2 Cambria Math (Vietnamese);} -{\f409\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\f410\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\f412\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\f413\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;} -{\f416\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\f417\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} +{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f209\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f210\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} +{\f212\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f213\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f214\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f215\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} +{\f216\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f217\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f229\fbidi \fmodern\fcharset238\fprq1 Courier New CE;}{\f230\fbidi \fmodern\fcharset204\fprq1 Courier New Cyr;} +{\f232\fbidi \fmodern\fcharset161\fprq1 Courier New Greek;}{\f233\fbidi \fmodern\fcharset162\fprq1 Courier New Tur;}{\f234\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}{\f235\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);} +{\f236\fbidi \fmodern\fcharset186\fprq1 Courier New Baltic;}{\f237\fbidi \fmodern\fcharset163\fprq1 Courier New (Vietnamese);}{\f549\fbidi \froman\fcharset238\fprq2 Cambria Math CE;}{\f550\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;} +{\f552\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;}{\f553\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}{\f556\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;}{\f557\fbidi \froman\fcharset163\fprq2 Cambria Math (Vietnamese);} +{\f579\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\f580\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\f582\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\f583\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;} +{\f586\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\f587\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} {\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} {\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} {\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} @@ -36,7 +36,7 @@ \fs22\loch\af31506\hich\af31506\dbch\af31505 }{\*\defpap \ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\sa200\sl276\slmult1 \widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \fs22\lang1033\langfe1033\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp1033 \snext0 \sqformat \spriority0 Normal;}{\* \cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\* -\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa200\sl276\slmult1 +\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa200\sl276\slmult1 \widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \fs22\lang3081\langfe3081\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp3081\langfenp3081 \snext11 \ssemihidden \sunhideused Normal Table;}}{\*\listtable{\list\listtemplateid853943246\listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\'01*;}{\levelnumbers;}}{\listname ;}\listid-2} {\list\listtemplateid614106672\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\leveltemplateid-2137627218\'01\u-3913 ?;}{\levelnumbers;}\loch\af3\hich\af3\dbch\af31505\fbias0 @@ -48,10 +48,10 @@ Normal Table;}}{\*\listtable{\list\listtemplateid853943246\listsimple{\listlevel \leveltemplateid201916417\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid201916419 \'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid201916421\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6480\lin6480 }{\listname ;}\listid1421220433}}{\*\listoverridetable{\listoverride\listid-2\listoverridecount1{\lfolevel\listoverrideformat{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelold\levelspace0 -\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 }}\ls1}{\listoverride\listid1421220433\listoverridecount0\ls2}}{\*\rsidtbl \rsid984276\rsid1011607\rsid2562238\rsid2705117\rsid4858244\rsid7496510\rsid8666349\rsid10751129\rsid11102427 -\rsid11162254\rsid11349138\rsid12599477\rsid12914370\rsid14096868\rsid14290205\rsid14359967\rsid14382355\rsid15864796}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info -{\author Ashley Donaldson}{\operator Ashley Donaldson}{\creatim\yr2014\mo10\dy12\hr13\min36}{\revtim\yr2015\mo9\dy5\hr12\min6}{\version3}{\edmins6}{\nofpages3}{\nofwords885}{\nofchars5051}{\nofcharsws5925}{\vern49167}}{\*\xmlnstbl {\xmlns1 http://schemas. -microsoft.com/office/word/2003/wordml}}\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect +\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 }}\ls1}{\listoverride\listid1421220433\listoverridecount0\ls2}}{\*\rsidtbl \rsid984276\rsid1011607\rsid2562238\rsid2705117\rsid4858244\rsid6303642\rsid7496510\rsid8666349\rsid10751129 +\rsid11102427\rsid11162254\rsid11349138\rsid12599477\rsid12914370\rsid14096868\rsid14290205\rsid14359967\rsid14382355\rsid15864796}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0 +\mnaryLim1}{\info{\author Ashley Donaldson}{\operator Ashley Donaldson}{\creatim\yr2014\mo10\dy12\hr13\min36}{\revtim\yr2016\mo2\dy11\min34}{\version4}{\edmins8}{\nofpages3}{\nofwords817}{\nofchars4658}{\nofcharsws5465}{\vern49167}}{\*\xmlnstbl {\xmlns1 h +ttp://schemas.microsoft.com/office/word/2003/wordml}}\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect \widowctrl\ftnbj\aenddoc\trackmoves0\trackformatting1\donotembedsysfont0\relyonvml0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\horzdoc\dghspace120\dgvspace120\dghorigin1701 \dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale100\rsidroot12914370 \fet0{\*\wgrffmtfilter 2450}\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2 \pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6 @@ -133,57 +133,44 @@ No user confirmation before deleting tournaments or players. \par \hich\af37\dbch\af31505\loch\f37 For those intereste\hich\af37\dbch\af31505\loch\f37 d in the specifics of the algorithm: \par \hich\af37\dbch\af31505\loch\f37 The algorithm to allocate teams isn't particularly smart. The program randomly creates a large number (N) of possible sets of teams, and then pi}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid12914370 \hich\af37\dbch\af31505\loch\f37 cks what it considers to be the}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid11162254 \hich\af37\dbch\af31505\loch\f37 best one. The number of initial team sets g\hich\af37\dbch\af31505\loch\f37 -enerated }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid4858244 \hich\af37\dbch\af31505\loch\f37 is set on the Settings tab; though it can be terminated early at any point. 1 million generations generally seems to work fine.}{ -\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid11162254 -\par \hich\af37\dbch\af31505\loch\f37 To generate an initial team set, the program: -\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang9\langfe1033\langnp9\langfenp1033\insrsid11162254 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\nowidctlpar\wrapdefault{\*\pn -\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid12914370 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid11162254 \hich\af37\dbch\af31505\loch\f37 -Separates the list of players into male and female, and then shuffles \hich\af37\dbch\af31505\loch\f37 each sublist -\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang9\langfe1033\langnp9\langfenp1033\insrsid11162254 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\nowidctlpar\wrapdefault{\*\pn -\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid12914370 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid11162254 \hich\af37\dbch\af31505\loch\f37 Allocates one player to each team in turn. +enerated }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid4858244 \hich\af37\dbch\af31505\loch\f37 is set on the Settings tab; though it can be terminated early at any point. 1 million generations }{\rtlch\fcs1 \af37 \ltrch\fcs0 +\f37\lang9\langfe1033\langnp9\insrsid6303642 \hich\af37\dbch\af31505\loch\f37 is good, but probably excessive.}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid11162254 +\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0\pararsid6303642 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid11162254 +\hich\af37\dbch\af31505\loch\f37 To generate an initial team set, the program}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid6303642 \hich\af37\dbch\af31505\loch\f37 \hich\af37\dbch\af31505\loch\f37 shuffles +\hich\af37\dbch\af31505\loch\f37 the players \hich\af37\dbch\af31505\loch\f37 within\hich\af37\dbch\af31505\loch\f37 their skills and genders, and creates a set of teams that are at least balanced \hich\af37\dbch\af31505\loch\f37 by both +\hich\af37\dbch\af31505\loch\f37 skill and gender.}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid11162254 \par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\nowidctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid11162254 \hich\af37\dbch\af31505\loch\f37 -This ensures that all teams are even in terms of gender composition. This step is repeated thousands or millions of times (based on the }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid8666349 \hich\af37\dbch\af31505\loch\f37 -setting in the settings tab)}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid11162254 -\par \hich\af37\dbch\af31505\loch\f37 For each team set T, the program\hich\af37\dbch\af31505\loch\f37 then runs various "penalty" algorithms (P) on it, each resulting in a score from 0 to 1 for each. The functions are: +For each team set T, the program\hich\af37\dbch\af31505\loch\f37 then runs various "penalty" algorithms (P) on it, each resulting in a score from 0 to 1 for each. The functions are: \par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang9\langfe1033\langnp9\langfenp1033\insrsid11162254 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid12914370 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid11162254 \hich\af37\dbch\af31505\loch\f37 -The average deviation from the mean team skill (to bias towards evenly matched teams) -\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang9\langfe1033\langnp9\langfenp1033\insrsid984276 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\nowidctlpar\wrapdefault{\*\pn -\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid12914370 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid984276 \hich\af37\dbch\af31505\loch\f37 -The average deviation from the mean gender skill (to bias towards good matchups within genders) -\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang9\langfe1033\langnp9\langfenp1033\insrsid11162254 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\nowidctlpar\wrapdefault{\*\pn -\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid12914370 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid11162254 \hich\af37\dbch\af31505\loch\f37 A heuristic to penalise situations where playe -\hich\af37\dbch\af31505\loch\f37 rs who have already played together would be playing together again. The more often two pe}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid12914370 \hich\af37\dbch\af31505\loch\f37 -ople have played together, the }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid11162254 \hich\af37\dbch\af31505\loch\f37 -harsher the penalty: exponentially increasing for each previous game together. For example, we prefer two pairs playing together twice \hich\af37\dbch\af31505\loch\f37 than }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid12914370 -\hich\af37\dbch\af31505\loch\f37 one pair playing together three }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid11162254 \hich\af37\dbch\af31505\loch\f37 times. +A heuristic to penalise situations where players who have already played together would be playing together again. The more often two pe}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid12914370 \hich\af37\dbch\af31505\loch\f37 +ople have played together, the }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid11162254 \hich\af37\dbch\af31505\loch\f37 harsher the penalty: expo\hich\af37\dbch\af31505\loch\f37 +nentially increasing for each previous game together. For example, we prefer two pairs playing together twice than }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid12914370 \hich\af37\dbch\af31505\loch\f37 +one pair playing together three }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid11162254 \hich\af37\dbch\af31505\loch\f37 times. \par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang9\langfe1033\langnp9\langfenp1033\insrsid11162254 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\nowidctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid12914370 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid11162254 \hich\af37\dbch\af31505\loch\f37 -A heuristic to penalise situations where many undefeated players are all on the one team. This is done by optimising for having the same number}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid12914370 \hich\af37\dbch\af31505\loch\f37 - of undefeated male and female }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid11162254 \hich\af37\dbch\af31505\loch\f37 players on each team, and penalisin\hich\af37\dbch\af31505\loch\f37 g deviations from this count. -\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang9\langfe1033\langnp9\langfenp1033\insrsid12914370 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\nowidctlpar\wrapdefault{\*\pn -\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid12914370 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid12914370 \hich\af37\dbch\af31505\loch\f37 -A heuristic to penalise situations where the standard deviation of skill levels on each team is widely varied}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid984276 \hich\af37\dbch\af31505\loch\f37 (per gender)}{\rtlch\fcs1 \af37 -\ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid12914370 . +A heuristic to penalise situations where many undefeated players are all on the one team. This is d\hich\af37\dbch\af31505\loch\f37 one by optimising for having the same number}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid12914370 +\hich\af37\dbch\af31505\loch\f37 of undefeated male and female }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid11162254 \hich\af37\dbch\af31505\loch\f37 players on each team, and penalising deviations from this count. \par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid11162254 \hich\af37\dbch\af31505\loch\f37 -Each algorithm is run across each of the N team sets. To keep things simple, I allowed each p\hich\af37\dbch\af31505\loch\f37 enalty algorithm to have a different dynamic range, so to ensure t}{\rtlch\fcs1 \af37 \ltrch\fcs0 -\f37\lang9\langfe1033\langnp9\insrsid12914370 \hich\af37\dbch\af31505\loch\f37 hat all criteria}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid11162254 \hich\af37\dbch\af31505\loch\f37 - were weighted equally, for each penalty P, the score is normalised to between 0 and 1 based on the specific dynamic range of all N team sets f}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid12914370 \hich\af37\dbch\af31505\loch\f37 -or penalty P. The penalties are}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid11162254 \hich\af37\dbch\af31505\loch\f37 all summed together (so each team set will be allocated a score}{\rtlch\fcs1 \af37 \ltrch\fcs0 -\f37\lang9\langfe1033\langnp9\insrsid11102427 \hich\af37\dbch\af31505\loch\f37 between 0 and 4}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid11162254 \hich\af37\dbch\af31505\loch\f37 ). -\par \hich\af37\dbch\af31505\loch\f37 The team set with the smallest summed penalty score is then selected as the "best" team set. +Each algorithm is run across each of the N team sets. To keep things simple, I allowed each penalty algorithm to have a different dynamic range, so to ensure t}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid12914370 +\hich\af37\dbch\af31505\loch\f37 hat all criteria}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid11162254 \hich\af37\dbch\af31505\loch\f37 were weighted equally, for each penalty P, the score is normalised to +\hich\af37\dbch\af31505\loch\f37 between 0 and 1 based on the specific dynamic range of all N team sets f}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid12914370 \hich\af37\dbch\af31505\loch\f37 or penalty P. The penalties are}{ +\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid11162254 \hich\af37\dbch\af31505\loch\f37 all summed together (so each team set will be allocated a score}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid11102427 +\hich\af37\dbch\af31505\loch\f37 between 0 and }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid6303642 \hich\af37\dbch\af31505\loch\f37 2}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid11162254 +\hich\af37\dbch\af31505\loch\f37 ). +\par \hich\af37\dbch\af31505\loch\f37 The team set with the smallest summed penalty score is then selected\hich\af37\dbch\af31505\loch\f37 as the "best" team set. \par \par }{\rtlch\fcs1 \af37\afs36 \ltrch\fcs0 \f37\fs36\lang9\langfe1033\langnp9\insrsid11162254 \hich\af37\dbch\af31505\loch\f37 Continuing Development -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid11162254 \hich\af37\dbch\af31505\loch\f37 This project is open sourced, and the code repository c\hich\af37\dbch\af31505\loch\f37 an be found here: }{\field{\*\fldinst {\rtlch\fcs1 -\af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid11162254 \hich\af37\dbch\af31505\loch\f37 HYPERLINK "https://github.com/smashery/KingsAndQueensHat"}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid12914370 {\*\datafield +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid11162254 \hich\af37\dbch\af31505\loch\f37 This project is open sourced, and the code repository can be found here: }{\field{\*\fldinst {\rtlch\fcs1 \af37 \ltrch\fcs0 +\f37\lang9\langfe1033\langnp9\insrsid11162254 \hich\af37\dbch\af31505\loch\f37 HYPERLINK "https://github.com/smashery/KingsAndQueensHat"}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid12914370 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b74000000680074007400700073003a002f002f006700690074006800750062002e0063006f006d002f0073006d006100730068006500720079002f004b0069006e006700730041006e00640051007500650065006e00 -73004800610074000000795881f43b1d7f48af2c825dc485276300000000a5ab00006c060000}}}{\fldrslt {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\ul\cf2\lang9\langfe1033\langnp9\insrsid11162254 \hich\af37\dbch\af31505\loch\f37 https://github.com/smashery/KingsAndQueensHat}}} -\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid11162254 -\par \hich\af37\dbch\af31505\loch\f37 I consider th\hich\af37\dbch\af31505\loch\f37 is project mostly complete; but may do small things on it and fix bugs on request. If you have feedback, feature requests or bug reports, please report them at } +73004800610074000000795881f43b1d7f48af2c825dc485276300000000a5ab00006c06000000}}}{\fldrslt {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\ul\cf2\lang9\langfe1033\langnp9\insrsid11162254 \hich\af37\dbch\af31505\loch\f37 https://github.com/smashery/KingsAndQueensHat} +}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid11162254 +\par \hich\af37\dbch\af31505\loch\f37 I consider this project mostly complete; but may do small things on it and fix bugs on request. If you have feedback, feature requests or bug reports, please report \hich\af37\dbch\af31505\loch\f37 them at } {\field{\*\fldinst {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid11162254 \hich\af37\dbch\af31505\loch\f37 HYPERLINK "https://github.com/smashery/KingsAndQueensHat/issues"}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid12914370 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b82000000680074007400700073003a002f002f006700690074006800750062002e0063006f006d002f0073006d006100730068006500720079002f004b0069006e006700730041006e00640051007500650065006e00 -73004800610074002f006900730073007500650073000000795881f43b1d7f48af2c825dc485276300000000a5ab000000360035}}}{\fldrslt {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\ul\cf2\lang9\langfe1033\langnp9\insrsid11162254 \hich\af37\dbch\af31505\loch\f37 +73004800610074002f006900730073007500650073000000795881f43b1d7f48af2c825dc485276300000000a5ab00000036003508}}}{\fldrslt {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\ul\cf2\lang9\langfe1033\langnp9\insrsid11162254 \hich\af37\dbch\af31505\loch\f37 https://github.com/smashery/KingsAndQueensHat/issues}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang9\langfe1033\langnp9\insrsid11162254 \hich\af37\dbch\af31505\loch\f37 . If you have ideas for more significant development and want to help out, please let me know. \par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a @@ -291,8 +278,8 @@ fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e50000000000000000000000009076 -038a7fe7d001feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000 +ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e500000000000000000000000010fb +5fb50764d101feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000105000000000000}} \ No newline at end of file