Waanzinninge uitkomst Champions League loting (2): de uitkomst

Op 25 december 2012 vroegen we ons af wat de kans is dat uitkomst van de loting voor de Chamions League exact gelijk is aan die van de oefentrekking.

Hierover zijn verschillende mogelijke kansen gepubliceerd. Wat mij betreft hadden de Engelse bookies gelijk, ze zaten er met 1 op 5000 in ieder geval het dichtst bij. Het antwoord is namelijk 1 op 5463.

De berekening is gemaakt (in MATLAB) door Niels Eweg (hulde!). Wat gebeurt er? Alle mogelijke volgordes worden vastgesteld gebruik makend van restrictie (c): ‘the group winners cannot be drawn against each other.’ In de eerdere post hadden we vastgesteld dat het aantal mogelijke uitkomsten dan gelijk is aan 8! = 40.320. In de onderstaande code worden al deze mogelijkheden verzameld in matrix ‘x’. Vervolgens worden de mogelijkheden die niet mogen van de restricties (a) (niet clubs van dezelfde landen tegen elkaar) en (b) (winnaars en runners-up niet uit dezelfde groep van de vorige ronde) weggestreept.

Blijft staan de vraag: is dit bizar toeval (kans van 1 op 5463) of iets anders?

 

Hieronder de code van Niels Eweg, er komt 5463 uit.

x = unique(sortrows(perms(9:16)), ‘rows’);

% Uitslag laatste 32 per poule:

%   1e          Land    Code    2e              Land    Code

% A Paris SG    FRA     1       FC Porto        POR     9

% B Schalke 04  GER     2       Arsenal         ENG     10

% C Malaga      ESP     3       AC Milan        ITA     11

% D Borussia D  GER     4       Real Madrid     ESP     12

% E Juventus    ITA     5       Shakhtar D      UKR     13

% F Bayern M    GER     6       Valencia        ESP     14

% G Barcelona   ESP     7       Celtic          SCO     15

% H Man Utd     ENG     8       Galatasaray     TUR     16

% 1 niet tegen 9

ind1 = ismember(x(:,1), 9);

% 2 niet tegen 10

ind2 = ismember(x(:,2), 10);

% 3 niet tegen 11 12 14

ind3 = ismember(x(:,3), [11,12,14]);

% 4 niet tegen 12

ind4 = ismember(x(:,4), 12);

% 5 niet tegen 11 13

ind5 = ismember(x(:,5), [11,13]);

% 6 niet tegen 14

ind6 = ismember(x(:,6), 14);

% 7 niet tegen 12 14 15

ind7 = ismember(x(:,7), [12,14,15]);

% 8 niet tegen 10 16

ind8 = ismember(x(:,8), [10,16]);

% Alle niet toegestane combinaties:

ind_not = ind1 | ind2 | ind3 | ind4 | ind5 | ind6 | ind7 | ind8;

% Aantal mogelijke uitkomsten:

sum(~ind_not)

Advertenties

Over Folpmers
Financial Risk Management consultant, manager van een FRM consulting department, bijzonder hoogleraar FRM

Geef een reactie

Vul je gegevens in of klik op een icoon om in te loggen.

WordPress.com logo

Je reageert onder je WordPress.com account. Log uit / Bijwerken )

Twitter-afbeelding

Je reageert onder je Twitter account. Log uit / Bijwerken )

Facebook foto

Je reageert onder je Facebook account. Log uit / Bijwerken )

Google+ photo

Je reageert onder je Google+ account. Log uit / Bijwerken )

Verbinden met %s