1 |
My 2^8-th post: If I wanted to consider synergy, I would not store values for every pair of players, but give every player an elo for his cooperation with low elo players and one for his cooperation with high elo players and then always use a weighted average of both, where the weigthings depend on the average elo of the rest of the team.[spoiler] {{{ player's high elo cooperation elo weighting = chance that the rest of the team wins vs elo 1500 team = 1/(10^((1500-rest of team's elo avg)/400))
|
1 |
My 2^8-th post: If I wanted to consider synergy, I would not store values for every pair of players, but give every player an elo for his cooperation with low elo players and one for his cooperation with high elo players and then always use a weighted average of both, where the weigthings depend on the average elo of the rest of the team.[spoiler] {{{ player's high elo cooperation elo weighting = chance that the rest of the team wins vs elo 1500 team = 1/(10^((1500-rest of team's elo avg)/400))
|
2 |
player's low elo cooperation elo weighting = chance that the rest of the team looses vs elo 1500 team = 1/(10^((rest of team's elo avg-1500)/400)) }}} [/spoiler]But actually I think that this is too complicated for little use. What I would really do is giving every player a small teams elo (maybe including 1v1) and a big teams elo and then always use a weighted average of both depending on team size.[spoiler] {{{ player's small team elo weighting = 2/number of all players in the game
|
2 |
player's low elo cooperation elo weighting = chance that the rest of the team looses vs elo 1500 team = 1/(10^((rest of team's elo avg-1500)/400)) }}} [/spoiler]But actually I think that this is too complicated for little use. What I would really do is giving every player a small teams elo (maybe including 1v1) and a big teams elo and then always use a weighted average of both depending on team size.[spoiler] {{{ player's small team elo weighting = 2/number of all players in the game
|
3 |
player's big team elo weighting = 1-player's small team elo weighting }}} [/spoiler]
|
3 |
player's big team elo weighting = 1-player's small team elo weighting }}} [/spoiler]
|
4 |
@TheEloIsALie
is
right
that
my
rather
new
formulas
in
[url=http://zero-k.
info/Forum/Thread/20208]this
thread[/url]
don't
consider
elo
deviation
and
don't
make
a
difference
as
long
as
elo
difference
is
0,
but
also
quoted
my
old
formula
that
does
consider
it.
Probably
minimizing
deviation
is
just
too
complicated.
I
guess
the
computational
expensiveness
is
rather
due
to
going
through
all
player
compositions
than
calculating
the
objective
function.
It
can
be
drastically
reduced
by
using
a
Markov
chain
(
a
powerfull
method
to
calculate
NP-problems
efficiently,
maybe
sacrificing
too
much
accuracy
for
this
relatively
simple
problem.
It
only
makes
sense
for
very
high
player
numbers,
otherwise
use
bruteforce)
:
[spoiler]
n
players
have
to
be
distributed
to
N
teams.
Go
through
all
teams
again
and
again
until
all
players
are
distributed
and
always
do
the
following:
If
there
are
more
than
N
players
left
to
distribute,
assign
the
best
and
the
worst
of
the
players
not
distributed
yet
to
the
current
team.
If
there
are
less
players
left,
assign
any
of
them
to
the
current
team.
If
there
are
no
players
left,
use
this
as
start
configuration
and
calculate
its
objective
function
value
"E"
(
my
formula
that
@TheEloIsALie
quoted)
.
Always
swap
a
random
pair
of
players
(
="test
configuration")
between
different
teams
and
then
calculate
the
new
objective
function
by
using
this:
[quote]If
you
only
ever
swap
out
two
players
when
mutating
your
team
composition,
then
you
only
need
to
subtract
their
elo
difference
from
one
team
and
add
it
to
the
other.
(
.
.
.
)
With
variance/standard
deviation,
the
change
in
the
mean
means
(
no
pun
intended)
that
you
definitely
need
to
recalculate
the
entire
function.
[/quote]I
tried
to
apply
this
principle
to
deviation
calculation
by
using
the
average
of
simple
differences
to
mean
instead
of
variance.
(
Let's
call
this
"1-deviation"
and
std
deviation
"2-deviation".
p-deviation
would
be
the
p-norm
of
the
difference
of
a
team's
elo
vector
with
the
vector
that
has
the
avg
team
elo
in
all
its
components)
.
With
1-deviation
you
could
use
this
principle
by
storing
an
additional
vector
with
1,
-1
or
in
some
cases
more
special
components,
but
you
could
also
calculate
1-deviation
the
normal
way
or
just
use
2-deviation.
Anyway,
if
the
test
configuration
is
better
than
the
start
configuration
(
which
means
lower
E)
,
use
it
as
new
start
configuration.
Otherwise
only
do
so
with
a
probability
of
{
{
{
exp(
constant*(
old
E
-
new
E)
)
.
}
}
}
Do
that
until
E
is
smaller
or
=
a
certain
limit.
My
formula
for
E
is
maybe
not
correctly
generalized
for
team
FFA,
because
I
didn't
know
the
[url=http://zero-k.
info/Forum/Thread/20712]correct
team
FFA
solution[/url]
at
that
time
(
which
is
sadly
still
not
implemented!)
.
I
have
no
idea
at
which
player
number
this
will
be
profitable.
For
this
it
would
be
usefull
to
know
if
really
all
configurations
are
calculated
currently
or
only
a
portion
until
the
elo
difference
is
small
enough.
[/spoiler]
|
4 |
@TheEloIsALie
is
right
that
my
rather
new
formulas
in
[url=http://zero-k.
info/Forum/Thread/20208]this
thread[/url]
don't
consider
elo
deviation
and
don't
make
a
difference
as
long
as
elo
difference
is
0,
but
also
quoted
my
old
formula
that
does
consider
it.
Probably
minimizing
deviation
is
just
too
complicated.
I
guess
the
computational
expensiveness
is
rather
due
to
going
through
all
player
compositions
than
calculating
the
objective
function.
It
can
be
drastically
reduced
by
using
a
Markov
chain
(
a
powerfull
method
to
calculate
NP-problems
efficiently,
maybe
sacrificing
too
much
accuracy
for
this
relatively
simple
problem.
It
only
makes
sense
for
very
high
player
numbers,
otherwise
use
bruteforce)
:
[spoiler]
n
players
have
to
be
distributed
to
N
teams.
Go
through
all
teams
again
and
again
until
all
players
are
distributed
and
always
do
the
following:
If
there
are
more
than
N
players
left
to
distribute,
assign
the
best
and
the
worst
of
the
players
not
distributed
yet
to
the
current
team.
If
there
are
less
players
left,
assign
any
of
them
to
the
current
team.
If
there
are
no
players
left,
use
this
as
start
configuration
and
calculate
its
objective
function
value
"E"
(
my
formula
that
@TheEloIsALie
quoted)
.
Always
swap
a
random
pair
of
players
(
="test
configuration")
between
different
teams
and
then
calculate
the
new
objective
function
by
using
this:
[quote]If
you
only
ever
swap
out
two
players
when
mutating
your
team
composition,
then
you
only
need
to
subtract
their
elo
difference
from
one
team
and
add
it
to
the
other.
(
.
.
.
)
With
variance/standard
deviation,
the
change
in
the
mean
means
(
no
pun
intended)
that
you
definitely
need
to
recalculate
the
entire
function.
[/quote]I
tried
to
apply
this
principle
to
deviation
calculation
by
using
the
average
of
simple
differences
to
mean
instead
of
variance.
(
Let's
call
this
"1-deviation"
and
std
deviation
"2-deviation".
p-deviation
would
be
the
p-norm
of
the
difference
of
a
team's
elo
vector
with
the
vector
that
has
the
avg
team
elo
in
all
its
components)
.
With
1-deviation
you
could
use
this
principle
by
storing
an
additional
vector
with
1,
-1
or
in
some
cases
more
special
components,
but
you
could
also
calculate
1-deviation
the
normal
way
or
just
use
2-deviation.
Anyway,
if
the
test
configuration
is
better
than
the
start
configuration
(
which
means
lower
E)
,
use
it
as
new
start
configuration.
Otherwise
only
do
so
with
a
probability
of
{
{
{
exp(
constant*(
old
E
-
new
E)
)
.
}
}
}
(
This
"tunnel
effect"
is
needed
in
thermodynamical
annealing
to
get
out
of
local
minima
and
find
global
equilibrium.
)
Do
that
until
E
is
smaller
or
=
a
certain
limit.
My
formula
for
E
is
maybe
not
correctly
generalized
for
team
FFA,
because
I
didn't
know
the
[url=http://zero-k.
info/Forum/Thread/20712]correct
team
FFA
solution[/url]
at
that
time
(
which
is
sadly
still
not
implemented!)
.
I
have
no
idea
at
which
player
number
this
will
be
profitable.
For
this
it
would
be
usefull
to
know
if
really
all
configurations
are
calculated
currently
or
only
a
portion
until
the
elo
difference
is
small
enough.
[/spoiler]
|
5 |
There is a much newer system that does consider deviation without an additional formalism, the [url=http://zero-k.info/Forum/Thread/21102]"teamstrength system"[/url]. @Sprung had the initial idea and I formalized it. It is currently my favourite system. But it gives teams with high elo deviation better win chances. Balancing with it does not increase nor decrease deviations! There are 2 ways to apply this system to team FFA. The easier, but more different from the current system, makes it more difficult to consider deviation. The principles of teamstrength, [url=http://zero-k.info/Forum/Thread/7402?postID=89751#89751]minimizing deviation[/url], using Markov chains for high player numbers and [url=http://zero-k.info/Forum/Thread/20208]making win chances more distinct in dependence of player number[/url] can all be combined to create an ultimative system.[spoiler]In fact I have already combined team strength and distinctivity modificator [url=http://zero-k.info/Forum/Thread/21102?postID=152586#152586]here[/url].[/spoiler]
|
5 |
There is a much newer system that does consider deviation without an additional formalism, the [url=http://zero-k.info/Forum/Thread/21102]"teamstrength system"[/url]. @Sprung had the initial idea and I formalized it. It is currently my favourite system. But it gives teams with high elo deviation better win chances. Balancing with it does not increase nor decrease deviations! There are 2 ways to apply this system to team FFA. The easier, but more different from the current system, makes it more difficult to consider deviation. The principles of teamstrength, [url=http://zero-k.info/Forum/Thread/7402?postID=89751#89751]minimizing deviation[/url], using Markov chains for high player numbers and [url=http://zero-k.info/Forum/Thread/20208]making win chances more distinct in dependence of player number[/url] can all be combined to create an ultimative system.[spoiler]In fact I have already combined team strength and distinctivity modificator [url=http://zero-k.info/Forum/Thread/21102?postID=152586#152586]here[/url].[/spoiler]
|