Team Selector Algorithm

advertisement
MyFC Team Selector
Feasibility study
Functional requirements
Processes and Calculations
What are we looking for?
• What is the best formation for this game
– Opposition
– Upcoming games (easier/harder)
• Who is best qualified to fill this position
– Injuries
– Form
– Skills
Wisdom of Crowds
• Average choice should be correct more
often than single expert
• Decisions can be made more quickly
conditional on
– Diversity of members
– Freedom of vote
– Access to information
– Working for the same common goal
– No bias caused by influence of experts
Final Goal
• To produce a team lineup and formation
that Liam and the Coaching staff can use
• Requires:
– Access to information about team
• Problem of database & interface design
• Not this document
– A method for calculating the choices of many
members
Development Process
• Iterative – start basic, build complexity as
confidence improves
• Some stages may not need “live” testing
• Using test data from previous matches
• Compare results with each “tweak”
• Usability testing with mockups – member
opinions
• Some examples in this document only to illustrate principles
Example 0.1
1
2
3
4
5
6
Lance Cronin
Peter Hawkins
Sacha Opinel
Gary MacDonald
James Smith
Paul McCarthy (captain)
Danny Slatter
Stacy Long
Raphael Nade
Chukki Eribenne
Charley Hearn (on loan from Grays Athletic)
7
8
9
Chris McPhee
Neil Barrett
Mark Ricketts
Liam Coleman
George Purcell
Luke Moore
John Akinde
Sam Mott
Michael Bostwick
Ronnie Bull
Rob French
Who are the best 11 players for a particular match?
10 11
Aggregating selections
•
•
•
•
We each have a different opinion on who is best for each box.
Calculation of most common choice: Box 1…Box11
Produces a player for each position
This is a simple calculation
1
2
3
4
5
6
7
8
9
10
11
Cronin
Opinel
Hawkins
Ricketts
Charles
Bostwick
McPhee
Barrett
Purcell
Long
Moore
We’re not considering formation here, this is to explain the concept
This could be the first part of a calculation, i.e. this is the starting 11,
now where do they go?
Example 0.2
•
•
•
•
•
No longer 11 boxes
“Grid” of 5x5 + 1
More flexibility
Formation not prescribed
Most common player for
each square calculated
as before – starting 11
• Most common square for
that player is chosen
26
Cronin
1
2
Ricketts
Hawkins
6
7
3
4
5
Opinel
8
9
10
14
15
Charles
11
12
Bostwick
16
13
McPhee
17
18
Purcell
19
20
Barrett
E.g.
Long was in the starting 11.
Most common box for Long was 22.
21
22
Long
23
24
Moore
25
Example 0.3
• Example 0.2 showed
only the most
common square for
each player
• We have more data
on each player
• No longer “stay here”
• Now “push towards
the wing”
26
Cronin
1
2
Ricketts
75%
Hawkins
6
7
Ricketts
25%
11
8
4
5
Opinel
75%
Opinel
25%
9
10
14
15
Charles
12
Bostwick
16
3
13
McPhee
17
18
Purcell
19
20
Barrett
21
22
Long
40%
Long
60%
23
24
Moore
25
Silly Selections
• What if people make silly
/ malicious choices?
• We can ignore squares
below 10%,5%,2%1% as
needed
• Tolerance can be
tweaked during
development phases
• Crowd should make this
less likely – more
involvement needed
26
Cronin
1
2
3
4
5
Ricketts
75%
Hawkins
Long
1%
Opinel
75%
Opinel
25%
6
7
8
9
10
14
15
Ricketts
25%
11
Charles
12
Bostwick
16
13
McPhee
17
18
Purcell
19
20
Barrett
21
22
Long
39%
Long
60%
23
24
Moore
25
Example 0.4
More Cells = more info
Ricketts
75%
Hawkins
50%
Ricketts
25%
Hawkins
10%
Hawkins
40%
Charles
10%
Charles
60%
Bostwick
20%
Bostwick
60%
Bostwick
20%
Opinel
20%
Opinel
60%
Charles
30%
Opinel
20%
Barrett
50%
Purcell
30%
Barrett
25%
Purcell
20%
McPhee
20%
McPhee
15%
McPhee
65%
Barrett
25%
Long
5%
Long
20%
Long
25%
Long
50%
Moore
5%
Moore
60%
Moore
35%
Some data can be ignored – tolerances can be established during testing
Purcell
50%
Example 0.5
• Allow users to select more than 1 square
per player
• More confidence as we’re disregarding
less data than before
• In fact we have more data
• (again, concept only)
Example 0.7
• Larger grid: 20x20, 50x50?
• Allow users to select more than 1 square
per player
• Clunky to select each square, so…
• With a much larger grid, we get the
members to:
– draw the position on the pitch
or
– drag & drop the player onto the pitch and stretch shape
Example 0.7a
1. Player dragged &
dropped onto pitch
2. Zone drawn around
player
3. Calculation takes all
cells covered by that
circle as being votes
for that player
• Opinel
Aggregating data
•
•
•
•
•
•
•
•
• Opinel
Example 0.7b
1. Player icon dragged &
dropped onto pitch
2. Player Icon stretched
to fill desired area
3. Calculation takes all
cells covered by that
shape as being votes
for that player
Less tidy than 0.7a?
Example 0.8
What about formation?
1
3
2
4
1. Formation is selected from drop down box
2. Appropriate “frame” is overlaid
3. This is like team selector at the moment
5
6
7
8
BUT – are we losing data because we’re
looking at the choices for one formation?
E.g. 70% chose 3-5-2, 30% chose 4-4-2
Why lose that data when LB=LB, RM=RM
10
11
9
Example 0.8
Different Formations, Equivalent positions
1
2
3
4
3-5-2
4-4-2
75% of
selections
25% of
selections
1
2
3
7
4
5
6
8
9
1=1
5 6
7 8 9
2=2
4=4
5=5
10
11
9=9
10 = 10
11 = 11
10
11
Example 0.8
Different Formations, Different positions
Where positioning changes significantly, we can apply weighting
1
2
5 6
3
4
7 8 9
3-5-2
4-4-2 (b)
75% of
selections
25% of
selections
3 = 0.75 x 3
7 = 0.25 x 7
1
2
3
7
4
5
6
8
9
6 = 0.9 x 6
10
11
8 = 0.9 x 8
This reflects the confidence that the
“translated” position is correct
E.g. position 8 on both formations is very
close, whereas position 7 is quite different.
10
11
Version 1.0
•
•
•
•
•
Based on Example 0.8
5x5 grid
Formation selector
Drop down boxes
Script deselects a player if user tries to allocate
to two squares
• Calculation is easy
– what is the most common player for each square?
– If a player is placed on 2 squares, what are the
percentages for each?
– Weighting applied for different formations
Version 2.0+
Developed from examples 0.3-0.7
•Formation selected
•Frame overlaid on large grid
More Tactical flexibility:
•We now know which frame a player occupies
•But also where in that frame they should be
Could be in parallel with Version 1.0
•Allows member choice – complex or simple
selection
Version 2.0+
•Hotspot map for each frame
•Frame layout established with Liam
•Frames could overlap
•5x5 Grid calculation (example 0.3) is
performed for each player/frame
•Version 2.1 – allow multiple squares
(example 0.5)
1
2
3
4
• Opinel
5
6
10
7
8
11
9
Version 2.0+
1
2
Or using example 0.7a (drawn position)
3
4
• Opinel
5
6
10
7
8
11
9
Version 2.0+
• Weighting between players and formations is
more complicated if we are to consider position
within frames.
• Interface is still less problematic, but more
complicated
• CPU-intensive calculation could be calculated
over night when server load is low
Things to consider
Assuming 3-5-2 is the most common formation, who goes where?
How do we decide Hearn’s frame and position?
Do we discard or use Bull’s positioning info if Opinel is the 1st choice?
1
2
5 6
3
1
4
• Opinel
7 8 9
2
3
1
4
3
2
• Bull
5 6
7 8 9
5
6
1
7
4
• Opinel
• Hearn
8
9
3
2
7
• Bull
5
6
8
9
• Hearn
10
11
10
11
10
11
4
10
11
This is why the algorithm needs to be developed through examples 0.3-0.7
Example interface
Player List
(click for more info)
Lance Cronin
Peter Hawkins
Sacha Opinel
Gary MacDonald
James Smith
Paul McCarthy (c)
Danny Slatter
Stacy Long
Raphael Nade
Chukki Eribenne
Charley Hearn
Chris McPhee
Neil Barrett
Mark Ricketts
Liam Coleman
George Purcell
Luke Moore
John Akinde
Sam Mott
Michael Bostwick
Ronnie Bull
Rob French
Match Info
Lorem Ipsum vs Ebbsfleet (BSP)
FA Trophy 25/9/08 3pm
(preview)
Stacy Long
Lorem Ipsum vs Ebbsfleet
T: 90m G: 1 (43)
(review)
(more stats)
Lorem Ipsum vs Ebbsfleet
T: 80m (sub 80) G:2 (23,70)
(review)
(more stats)
Latest Training Report
Blah BlahBlah BlahBlah Blah
Blah BlahBlah Blah Blah Blah
Blah Blah Blah BlahBlah BlahBlah
BlahBlah Blah
Blah BlahBlah Blah Blah Blah
Blah Blah Blah Blah
Example interface
Player List
(click for more info)
Match Info
Lorem Ipsum vs Ebbsfleet (BSP)
Lance Cronin
Peter Hawkins
FA Trophy 25/9/08 3pm (preview)
Sacha Opinel
Gary MacDonald
Stacy Long
James Smith
Paul McCarthy (c)
Lorem Ipsum vs Ebbsfleet
(review)
Danny Slatter
T: 90m G: 1 (43)
(more stats)
Stacy Long
Lorem Ipsum vs Ebbsfleet
(review)
Raphael Nade
Chukki Eribenne
T: 80m (sub 80) G:2 (23,70)
(more stats)
Charley Hearn
Hovering over Latest
playersTraining Report
Chris McPhee
Neil Barrett
presents someBlah
basic
info,
BlahBlah
BlahBlah Blah
Mark Ricketts
clicking on players
Blah BlahBlah Blah Blah Blah
Liam Coleman
changes central
data.
Blah
Blah Blah BlahBlah BlahBlah
George Purcell
Drag
and
drop
player
Luke Moore
name over to pitch.
If Blah
John Akinde
BlahBlah
their
Sam Mottalready selected,
Blah
BlahBlah Blah Blah Blah
position
flashes
on
pitch
Michael Bostwick
Blah Blah Blah Blah
Ronnie Bull
Or expanding box.(+)
Rob French
Hovering over match
highlights their position on
the pitch for that game.
Could have expandable
boxes (+) for each games
to appear in this window
Brute force method
• There are only a small number of
formations we will use
• E.g. 4-4-2, 3-5-2, 4-3-3
• Unlikely formations can be discarded
• So let’s say we have 10 formations
Brute force players
• Some players will never be in goal (e.g.
Nade)
• Some players will never be in Attack or
Midfield (e.g. Cronin)
• For each formation, we create every single
possible combination of players
• Lot of formations, but only has to be done
once
1000’s of possible formations
• We can reduce this if particular players are
injured or suspended
• New player available? Create the
formations with him overnight (or less
time)
Team Selection process
• Formation 1-1000 compared with my
selection
• Does this match? Yes / No
• The formation with most matches is the
best solution
Download