1 |
Indeed there are those 3 issues @CrazyEddie explained.
|
1 |
Indeed there are those 3 issues @CrazyEddie explained.
|
2 |
\n
|
2 |
\n
|
3 |
Imo the question whether elo variance should also be minimized is not answered yet. It's a part of the 3rd question. The elo variance minimization weighting in the balance function to be minimized would be so low that it usually doesn't make a difference for small games and good balance is still possible in big games. The higher calculation time could be compensated by a better way to iterate through combinations. But I think other issues are more important now than variance consideration.
|
3 |
Imo the question whether elo variance should also be minimized is not answered yet. It's a part of the 3rd question. The elo variance minimization weighting in the balance function to be minimized would be so low that it usually doesn't make a difference for small games and good balance is still possible in big games. The higher calculation time could be compensated by a better way to iterate through combinations. But I think other issues are more important now than variance consideration.
|
4 |
\n
|
4 |
\n
|
5 |
For small and medium games brute force should still be used. The 2 million limit will not even be reached for 10v10. Also note that the current recursion tests if all teams are smaller or = maxTeamSize. Thus it only really calculates less than n^N combinations, where n is the number of all players and N the number of all teams. Afaict the number of combinations checked by the current recursion is {{{(N choose X) * (product from k=0 to N-X-1 ((n-k*t) choose t)) * (product from k=0 to X-1 ((n-(N-X)*t-k*T) choose T)),
|
5 |
For small and medium games brute force should still be used. The 2 million limit will not even be reached for 10v10. Also note that the current recursion tests if all teams are smaller or = maxTeamSize. Thus it only really calculates less than n^N combinations, where n is the number of all players and N the number of all teams. Afaict the number of combinations checked by the current recursion is {{{(N choose X) * (product from k=0 to N-X-1 ((n-k*t) choose t)) * (product from k=0 to X-1 ((n-(N-X)*t-k*T) choose T)),
|
6 |
where
|
6 |
where
|
7 |
X := n mod N
|
7 |
X := n mod N
|
8 |
t := floor(n/N)
|
8 |
t := floor(n/N)
|
9 |
T := ceil(n/N). }}} (!cbalance checks less if there are ppl from the same clan.) For N=2 this is n choose floor(n/2) for even teams and 2 times that for uneven teams. The theoretical minimum for all combinations to be checked is a factor N! less. I know an easy way how to reduce it at least by a factor N: The first player is always put in the first team.
|
9 |
T := ceil(n/N). }}} (!cbalance checks less if there are ppl from the same clan.) For N=2 this is n choose floor(n/2) for even teams and 2 times that for uneven teams. The theoretical minimum for all combinations to be checked is a factor N! less. I know an easy way how to reduce it at least by a factor N: The first player is always put in the first team.
|
10 |
\n
|
10 |
\n
|
11 |
@Aquanim
your
calculation
of
a
start
combination
seems
to
be
better
than
mine.
Your
steps
are
not
enough,
though.
There
must
be
a
small
probability
to
make
a
bad
step
(
"tunnel
effect")
which
increases
the
function
E
that
should
be
minimized.
Otherwise
you
will
probably
get
stuck
in
local
minima
and
never
find
global
minimum.
Always
propose
a
random
step.
Accept
it
if
it's
better.
Otherwise
only
do
so
with
a
probability
of
{
{
{
exp(
constant*(
old
E
-
new
E)
)
.
}
}
}
Your
system
can
also
be
applied
on
[url=http://zero-k.
info/Forum/Thread/21102]playerstrength
and
teamstrength[/url].
|
11 |
@Aquanim
your
calculation
of
a
start
combination
seems
to
be
better
than
mine.
Your
steps
are
not
enough,
though.
There
must
be
a
small
probability
to
make
a
bad
step
(
"tunnel
effect")
which
increases
the
function
E
that
should
be
minimized.
Otherwise
you
will
probably
get
stuck
in
local
minima
and
never
find
global
minimum.
Always
propose
a
random
step.
Accept
it
if
it's
better.
Otherwise
only
do
so
with
a
probability
of
{
{
{
exp(
constant*(
old
E
-
new
E)
)
.
}
}
}
Stop
if
E
is
smaller
than
a
certain
limit.
Or
if
you
have
found
good
combinations
also
check
if
they
are
also
good
in
terms
of
variance.
Your
system
can
also
be
applied
on
[url=http://zero-k.
info/Forum/Thread/21102]playerstrength
and
teamstrength[/url].
|
12 |
\n
|
12 |
\n
|
13 |
Imo the most important thing to do now is considering FFA, probably with a teamstrength system.
|
13 |
Imo the most important thing to do now is considering FFA, probably with a teamstrength system.
|