. . . . . .
JAC 2012
Topological arguments and Kolmogorov
complexity
Andrei Romashenko (joint work with Alexander Shen)
LIRMM, CNRS & UM2, Montpellier; on leave from
ИППИ РАН, Москва
Supported by ANR NAFIT grant
. . . . . .
Apologies
. . . . . .
Apologies
off-topic
. . . . . .
Apologies
off-topic
message: not only general topology can be useful in
computer science
. . . . . .
Apologies
off-topic
message: not only general topology can be useful in
computer science
no blackboard
. . . . . .
Conditional complexity as distance
. . . . . .
Conditional complexity as distance
C(x|y), conditional complexity of x given y, minimal
length of a program that maps y to x
. . . . . .
Conditional complexity as distance
C(x|y), conditional complexity of x given y, minimal
length of a program that maps y to x
depends on the programming language, is minimal up
to O(1) for some “optimal” languages; one of them is
fixed
. . . . . .
Conditional complexity as distance
C(x|y), conditional complexity of x given y, minimal
length of a program that maps y to x
depends on the programming language, is minimal up
to O(1) for some “optimal” languages; one of them is
fixed
C(x|y) measures “how far is x from y” in a sense, but not
symmetric
. . . . . .
Conditional complexity as distance
C(x|y), conditional complexity of x given y, minimal
length of a program that maps y to x
depends on the programming language, is minimal up
to O(1) for some “optimal” languages; one of them is
fixed
C(x|y) measures “how far is x from y” in a sense, but not
symmetric
task: given string x and number n, find y such that
C(x|y) = n + O(1) and C(y|x) = n + O(1)
. . . . . .
Conditional complexity as distance
C(x|y), conditional complexity of x given y, minimal
length of a program that maps y to x
depends on the programming language, is minimal up
to O(1) for some “optimal” languages; one of them is
fixed
C(x|y) measures “how far is x from y” in a sense, but not
symmetric
task: given string x and number n, find y such that
C(x|y) = n + O(1) and C(y|x) = n + O(1)
not always possible: C(x) should be at least n
. . . . . .
M. Vyugin theorem and its extension
. . . . . .
M. Vyugin theorem and its extension
Theorem: if C(x) > 2n, there exists y such that
C(x|y) = n + O(1) and C(y|x) = n + O(1).
. . . . . .
M. Vyugin theorem and its extension
Theorem: if C(x) > 2n, there exists y such that
C(x|y) = n + O(1) and C(y|x) = n + O(1).
proof uses a game argument
. . . . . .
M. Vyugin theorem and its extension
Theorem: if C(x) > 2n, there exists y such that
C(x|y) = n + O(1) and C(y|x) = n + O(1).
proof uses a game argument
in fact C(x) > n + O(log n) is enough
. . . . . .
M. Vyugin theorem and its extension
Theorem: if C(x) > 2n, there exists y such that
C(x|y) = n + O(1) and C(y|x) = n + O(1).
proof uses a game argument
in fact C(x) > n + O(log n) is enough
but for completely different reasons
. . . . . .
M. Vyugin theorem and its extension
Theorem: if C(x) > 2n, there exists y such that
C(x|y) = n + O(1) and C(y|x) = n + O(1).
proof uses a game argument
in fact C(x) > n + O(log n) is enough
but for completely different reasons
simple topological fact: if a continuous mapping of a
circle S1
to R2
turns around some point O, then any its
continuous extension to a mapping of a disk D2
covers O
. . . . . .
M. Vyugin theorem and its extension
Theorem: if C(x) > 2n, there exists y such that
C(x|y) = n + O(1) and C(y|x) = n + O(1).
proof uses a game argument
in fact C(x) > n + O(log n) is enough
but for completely different reasons
simple topological fact: if a continuous mapping of a
circle S1
to R2
turns around some point O, then any its
continuous extension to a mapping of a disk D2
covers O
strangely, for C(x) ≫ n this argument does not work
(only for C(x) ≤ poly(n))
. . . . . .
M. Vyugin theorem and its extension
Theorem: if C(x) > 2n, there exists y such that
C(x|y) = n + O(1) and C(y|x) = n + O(1).
proof uses a game argument
in fact C(x) > n + O(log n) is enough
but for completely different reasons
simple topological fact: if a continuous mapping of a
circle S1
to R2
turns around some point O, then any its
continuous extension to a mapping of a disk D2
covers O
strangely, for C(x) ≫ n this argument does not work
(only for C(x) ≤ poly(n))
so C(x) ≥ n + O(log n) is enough, but two essentially
different arguments are needed at both ends
. . . . . .
Why topology can be useful
. . . . . .
Why topology can be useful
simple example: imagine we want C(x|y) = n and know
that C(x) ≥ n.
. . . . . .
Why topology can be useful
simple example: imagine we want C(x|y) = n and know
that C(x) ≥ n.
let y be x, then C(x|y) = O(1)
. . . . . .
Why topology can be useful
simple example: imagine we want C(x|y) = n and know
that C(x) ≥ n.
let y be x, then C(x|y) = O(1)
let us remove bits in y one by one (e.g., from right to
left)
. . . . . .
Why topology can be useful
simple example: imagine we want C(x|y) = n and know
that C(x) ≥ n.
let y be x, then C(x|y) = O(1)
let us remove bits in y one by one (e.g., from right to
left)
C(x|y) then changes but gradually: C(x|y0) and C(x|y1)
are C(x|y) + O(1)
. . . . . .
Why topology can be useful
simple example: imagine we want C(x|y) = n and know
that C(x) ≥ n.
let y be x, then C(x|y) = O(1)
let us remove bits in y one by one (e.g., from right to
left)
C(x|y) then changes but gradually: C(x|y0) and C(x|y1)
are C(x|y) + O(1)
at the end y is empty, and C(x|y) = C(x) ≥ n
. . . . . .
Why topology can be useful
simple example: imagine we want C(x|y) = n and know
that C(x) ≥ n.
let y be x, then C(x|y) = O(1)
let us remove bits in y one by one (e.g., from right to
left)
C(x|y) then changes but gradually: C(x|y0) and C(x|y1)
are C(x|y) + O(1)
at the end y is empty, and C(x|y) = C(x) ≥ n
discrete intermediate value theorem guarantees that
C(x|y) = n + O(1) for some y on the way
. . . . . .
O(log n) precision is easy
. . . . . .
O(log n) precision is easy
to get C(y|x) = n we need to put some n bits of new
information (that is not in x) into y
. . . . . .
O(log n) precision is easy
to get C(y|x) = n we need to put some n bits of new
information (that is not in x) into y
to get C(x|y) = n we need to put in y all the information
about x except for n bits
. . . . . .
O(log n) precision is easy
to get C(y|x) = n we need to put some n bits of new
information (that is not in x) into y
to get C(x|y) = n we need to put in y all the information
about x except for n bits
let p be the shortest program for x, so |p| = C(x) ≥ n
. . . . . .
O(log n) precision is easy
to get C(y|x) = n we need to put some n bits of new
information (that is not in x) into y
to get C(x|y) = n we need to put in y all the information
about x except for n bits
let p be the shortest program for x, so |p| = C(x) ≥ n
p is incompressible
. . . . . .
O(log n) precision is easy
to get C(y|x) = n we need to put some n bits of new
information (that is not in x) into y
to get C(x|y) = n we need to put in y all the information
about x except for n bits
let p be the shortest program for x, so |p| = C(x) ≥ n
p is incompressible
let y be p without n bits
. . . . . .
O(log n) precision is easy
to get C(y|x) = n we need to put some n bits of new
information (that is not in x) into y
to get C(x|y) = n we need to put in y all the information
about x except for n bits
let p be the shortest program for x, so |p| = C(x) ≥ n
p is incompressible
let y be p without n bits
plus some random n bits (independent from p)
. . . . . .
O(log n) precision is easy
to get C(y|x) = n we need to put some n bits of new
information (that is not in x) into y
to get C(x|y) = n we need to put in y all the information
about x except for n bits
let p be the shortest program for x, so |p| = C(x) ≥ n
p is incompressible
let y be p without n bits
plus some random n bits (independent from p)
then both C(x|y) and C(y|x) are n + O(log n)
. . . . . .
O(log n) precision is easy
to get C(y|x) = n we need to put some n bits of new
information (that is not in x) into y
to get C(x|y) = n we need to put in y all the information
about x except for n bits
let p be the shortest program for x, so |p| = C(x) ≥ n
p is incompressible
let y be p without n bits
plus some random n bits (independent from p)
then both C(x|y) and C(y|x) are n + O(log n)
O(1) cannot be obtained in this way (since all the
arguments about random and independent bits work
with O(log n) precision only)
. . . . . .
Putting pieces together
. . . . . .
Putting pieces together
let p be the shortest program for x, so |p| = C(x) ≥ n
. . . . . .
Putting pieces together
let p be the shortest program for x, so |p| = C(x) ≥ n
let q be a random (incompressible) string of length 2n
when p is known (independent from p)
. . . . . .
Putting pieces together
let p be the shortest program for x, so |p| = C(x) ≥ n
let q be a random (incompressible) string of length 2n
when p is known (independent from p)
for every k ∈ [0, C(x)] and every l ∈ [0, 2n] consider
yk,l = (k-bit prefix of p, l-bit prefix of q)
. . . . . .
Putting pieces together
let p be the shortest program for x, so |p| = C(x) ≥ n
let q be a random (incompressible) string of length 2n
when p is known (independent from p)
for every k ∈ [0, C(x)] and every l ∈ [0, 2n] consider
yk,l = (k-bit prefix of p, l-bit prefix of q)
mapping (k, l) → (C(x|yk,l), C(yk,l|x))
. . . . . .
Putting pieces together
let p be the shortest program for x, so |p| = C(x) ≥ n
let q be a random (incompressible) string of length 2n
when p is known (independent from p)
for every k ∈ [0, C(x)] and every l ∈ [0, 2n] consider
yk,l = (k-bit prefix of p, l-bit prefix of q)
mapping (k, l) → (C(x|yk,l), C(yk,l|x))
|p|
|q|
C(x)
A B
CD
2m
AB
C D
C(x|y)
C(y|x)
C(x)
2n
(n,n)
. . . . . .
Topological details
. . . . . .
Topological details
mapping is defined on a grid (rectangle)
. . . . . .
Topological details
mapping is defined on a grid (rectangle)
and maps neighbor points to a points at O(1) distance
. . . . . .
Topological details
mapping is defined on a grid (rectangle)
and maps neighbor points to a points at O(1) distance
“Lipschitz continuity”
. . . . . .
Topological details
mapping is defined on a grid (rectangle)
and maps neighbor points to a points at O(1) distance
“Lipschitz continuity”
covers (n, n) with O(1) precision
. . . . . .
Topological details
mapping is defined on a grid (rectangle)
and maps neighbor points to a points at O(1) distance
“Lipschitz continuity”
covers (n, n) with O(1) precision
reduction to continuous version: interpolation on
triangles (linear)
. . . . . .
Topological details
mapping is defined on a grid (rectangle)
and maps neighbor points to a points at O(1) distance
“Lipschitz continuity”
covers (n, n) with O(1) precision
reduction to continuous version: interpolation on
triangles (linear)
preimage may be not in the grid, but neighbor grid
point gives O(1)-precision
. . . . . .
Topological details
mapping is defined on a grid (rectangle)
and maps neighbor points to a points at O(1) distance
“Lipschitz continuity”
covers (n, n) with O(1) precision
reduction to continuous version: interpolation on
triangles (linear)
preimage may be not in the grid, but neighbor grid
point gives O(1)-precision
Alternative: repeat the proof for discrete case
. . . . . .
Comments
. . . . . .
Comments
why we need C(x) be polynomial? if C(x) is very large,
the value of k may contain a lot of information about z
. . . . . .
Comments
why we need C(x) be polynomial? if C(x) is very large,
the value of k may contain a lot of information about z
it is not necessary (unlike for original Vyugin argument)
to have the same targets for C(x|y) and C(y|x)
. . . . . .
Comments
why we need C(x) be polynomial? if C(x) is very large,
the value of k may contain a lot of information about z
it is not necessary (unlike for original Vyugin argument)
to have the same targets for C(x|y) and C(y|x)
other applications of the same type of argument: for
every x, y that are almost independent (I(x : y) is small
compared to C(x) and C(y)) one can find z such that
C(x|z) = C(x)/2 + O(1) and C(y|z) = C(y)/2 + O(1)
. . . . . .
Comments
why we need C(x) be polynomial? if C(x) is very large,
the value of k may contain a lot of information about z
it is not necessary (unlike for original Vyugin argument)
to have the same targets for C(x|y) and C(y|x)
other applications of the same type of argument: for
every x, y that are almost independent (I(x : y) is small
compared to C(x) and C(y)) one can find z such that
C(x|z) = C(x)/2 + O(1) and C(y|z) = C(y)/2 + O(1)
similar statement for halving complexity of three or
more strings by adding a condition:
. . . . . .
Comments
why we need C(x) be polynomial? if C(x) is very large,
the value of k may contain a lot of information about z
it is not necessary (unlike for original Vyugin argument)
to have the same targets for C(x|y) and C(y|x)
other applications of the same type of argument: for
every x, y that are almost independent (I(x : y) is small
compared to C(x) and C(y)) one can find z such that
C(x|z) = C(x)/2 + O(1) and C(y|z) = C(y)/2 + O(1)
similar statement for halving complexity of three or
more strings by adding a condition:
under the assumption of independence (can be
weakened but not eliminated).
. . . . . .
Comments
why we need C(x) be polynomial? if C(x) is very large,
the value of k may contain a lot of information about z
it is not necessary (unlike for original Vyugin argument)
to have the same targets for C(x|y) and C(y|x)
other applications of the same type of argument: for
every x, y that are almost independent (I(x : y) is small
compared to C(x) and C(y)) one can find z such that
C(x|z) = C(x)/2 + O(1) and C(y|z) = C(y)/2 + O(1)
similar statement for halving complexity of three or
more strings by adding a condition:
under the assumption of independence (can be
weakened but not eliminated).
an open problem in the general case (problematic case:
x and y are very close to each other, but not completely
identical)
. . . . . .
Thanks!
. . . . . .
Original game argument
. . . . . .
Original game argument
If C(x) > 3n, there exists y such that C(x|y) and C(y|x)
are n + O(1)
. . . . . .
Original game argument
If C(x) > 3n, there exists y such that C(x|y) and C(y|x)
are n + O(1)
we replaced 2n by 3n to simplify explanations (and in
any case this is already covered)
. . . . . .
Original game argument
If C(x) > 3n, there exists y such that C(x|y) and C(y|x)
are n + O(1)
we replaced 2n by 3n to simplify explanations (and in
any case this is already covered)
we present some game
. . . . . .
Original game argument
If C(x) > 3n, there exists y such that C(x|y) and C(y|x)
are n + O(1)
we replaced 2n by 3n to simplify explanations (and in
any case this is already covered)
we present some game
then show why winning this game is enough
. . . . . .
Original game argument
If C(x) > 3n, there exists y such that C(x|y) and C(y|x)
are n + O(1)
we replaced 2n by 3n to simplify explanations (and in
any case this is already covered)
we present some game
then show why winning this game is enough
and finally show how to win the game
. . . . . .
Dating agency and its task
. . . . . .
Dating agency and its task
two countable sets X and Y
. . . . . .
Dating agency and its task
two countable sets X and Y
game starts with a perfect matching, i.e., one to one
correspondence between X and Y.
. . . . . .
Dating agency and its task
two countable sets X and Y
game starts with a perfect matching, i.e., one to one
correspondence between X and Y.
An element of X or Y can refuse the current partner,
then the current relationship (x, y) is dissolved
. . . . . .
Dating agency and its task
two countable sets X and Y
game starts with a perfect matching, i.e., one to one
correspondence between X and Y.
An element of X or Y can refuse the current partner,
then the current relationship (x, y) is dissolved
y then becomes free; the agency may either
. . . . . .
Dating agency and its task
two countable sets X and Y
game starts with a perfect matching, i.e., one to one
correspondence between X and Y.
An element of X or Y can refuse the current partner,
then the current relationship (x, y) is dissolved
y then becomes free; the agency may either
find a new pair for x from the dissolved pair (among free
elements of Y not tried with x previously) or
. . . . . .
Dating agency and its task
two countable sets X and Y
game starts with a perfect matching, i.e., one to one
correspondence between X and Y.
An element of X or Y can refuse the current partner,
then the current relationship (x, y) is dissolved
y then becomes free; the agency may either
find a new pair for x from the dissolved pair (among free
elements of Y not tried with x previously) or
declare x hopeless and do not try to find a pair for x anymore
(#free in Y incremented)
. . . . . .
Dating agency and its task
two countable sets X and Y
game starts with a perfect matching, i.e., one to one
correspondence between X and Y.
An element of X or Y can refuse the current partner,
then the current relationship (x, y) is dissolved
y then becomes free; the agency may either
find a new pair for x from the dissolved pair (among free
elements of Y not tried with x previously) or
declare x hopeless and do not try to find a pair for x anymore
(#free in Y incremented)
the refusals appear (and are processed by the agency)
one at a time
. . . . . .
Dating agency and its task
two countable sets X and Y
game starts with a perfect matching, i.e., one to one
correspondence between X and Y.
An element of X or Y can refuse the current partner,
then the current relationship (x, y) is dissolved
y then becomes free; the agency may either
find a new pair for x from the dissolved pair (among free
elements of Y not tried with x previously) or
declare x hopeless and do not try to find a pair for x anymore
(#free in Y incremented)
the refusals appear (and are processed by the agency)
one at a time
each element can produce < N refusals (parameter of
the game), but no restrictions for #(being refused)
. . . . . .
Dating agency and its task
two countable sets X and Y
game starts with a perfect matching, i.e., one to one
correspondence between X and Y.
An element of X or Y can refuse the current partner,
then the current relationship (x, y) is dissolved
y then becomes free; the agency may either
find a new pair for x from the dissolved pair (among free
elements of Y not tried with x previously) or
declare x hopeless and do not try to find a pair for x anymore
(#free in Y incremented)
the refusals appear (and are processed by the agency)
one at a time
each element can produce < N refusals (parameter of
the game), but no restrictions for #(being refused)
agency obligations:
. . . . . .
Dating agency and its task
two countable sets X and Y
game starts with a perfect matching, i.e., one to one
correspondence between X and Y.
An element of X or Y can refuse the current partner,
then the current relationship (x, y) is dissolved
y then becomes free; the agency may either
find a new pair for x from the dissolved pair (among free
elements of Y not tried with x previously) or
declare x hopeless and do not try to find a pair for x anymore
(#free in Y incremented)
the refusals appear (and are processed by the agency)
one at a time
each element can produce < N refusals (parameter of
the game), but no restrictions for #(being refused)
agency obligations:
≤ 2N attempts for each element
. . . . . .
Dating agency and its task
two countable sets X and Y
game starts with a perfect matching, i.e., one to one
correspondence between X and Y.
An element of X or Y can refuse the current partner,
then the current relationship (x, y) is dissolved
y then becomes free; the agency may either
find a new pair for x from the dissolved pair (among free
elements of Y not tried with x previously) or
declare x hopeless and do not try to find a pair for x anymore
(#free in Y incremented)
the refusals appear (and are processed by the agency)
one at a time
each element can produce < N refusals (parameter of
the game), but no restrictions for #(being refused)
agency obligations:
≤ 2N attempts for each element
≤ 2N3
hopeless elements; all others in X are ultimately
connected to some y ∈ Y and this connection lasts forever
. . . . . .
Why computable winning strategy is enough
. . . . . .
Why computable winning strategy is enough
X = Y = B∗
. . . . . .
Why computable winning strategy is enough
X = Y = B∗
initial matching: identity (x, x)
. . . . . .
Why computable winning strategy is enough
X = Y = B∗
initial matching: identity (x, x)
u refuses v if C(v|u) < n (here u may be in X or in Y)
. . . . . .
Why computable winning strategy is enough
X = Y = B∗
initial matching: identity (x, x)
u refuses v if C(v|u) < n (here u may be in X or in Y)
less than N = 2n
refusals for each u
. . . . . .
Why computable winning strategy is enough
X = Y = B∗
initial matching: identity (x, x)
u refuses v if C(v|u) < n (here u may be in X or in Y)
less than N = 2n
refusals for each u
computable behavior
. . . . . .
Why computable winning strategy is enough
X = Y = B∗
initial matching: identity (x, x)
u refuses v if C(v|u) < n (here u may be in X or in Y)
less than N = 2n
refusals for each u
computable behavior
agency produces O(N3
) = O(23n
) hopeless elements of
complexity 3n + O(1) (identified by 3n + O(1) bit ordinal
number)
. . . . . .
Why computable winning strategy is enough
X = Y = B∗
initial matching: identity (x, x)
u refuses v if C(v|u) < n (here u may be in X or in Y)
less than N = 2n
refusals for each u
computable behavior
agency produces O(N3
) = O(23n
) hopeless elements of
complexity 3n + O(1) (identified by 3n + O(1) bit ordinal
number)
for every x that is not hopeless its final partner y has
C(y|x) and C(x|y) at most n + O(1): determined by a
ordinal number that is O(N) = 2n+O(1)
. . . . . .
Why computable winning strategy is enough
X = Y = B∗
initial matching: identity (x, x)
u refuses v if C(v|u) < n (here u may be in X or in Y)
less than N = 2n
refusals for each u
computable behavior
agency produces O(N3
) = O(23n
) hopeless elements of
complexity 3n + O(1) (identified by 3n + O(1) bit ordinal
number)
for every x that is not hopeless its final partner y has
C(y|x) and C(x|y) at most n + O(1): determined by a
ordinal number that is O(N) = 2n+O(1)
but both complexities are at least n, otherwise refused
. . . . . .
How to win the game
. . . . . .
How to win the game
each element not currently matched keeps “experience”=(#refusals
sent, #refusals received)
. . . . . .
How to win the game
each element not currently matched keeps “experience”=(#refusals
sent, #refusals received)
the first is < N; the second a priori is unbounded, but also will be
kept < N due to agency strategy
. . . . . .
How to win the game
each element not currently matched keeps “experience”=(#refusals
sent, #refusals received)
the first is < N; the second a priori is unbounded, but also will be
kept < N due to agency strategy
when (x, y) is terminated, numbers updated
. . . . . .
How to win the game
each element not currently matched keeps “experience”=(#refusals
sent, #refusals received)
the first is < N; the second a priori is unbounded, but also will be
kept < N due to agency strategy
when (x, y) is terminated, numbers updated
invariant: in all pairs people have matching experiences (#sent =
#received for the other)
. . . . . .
How to win the game
each element not currently matched keeps “experience”=(#refusals
sent, #refusals received)
the first is < N; the second a priori is unbounded, but also will be
kept < N due to agency strategy
when (x, y) is terminated, numbers updated
invariant: in all pairs people have matching experiences (#sent =
#received for the other)
corollary: #refusals received < N
. . . . . .
How to win the game
each element not currently matched keeps “experience”=(#refusals
sent, #refusals received)
the first is < N; the second a priori is unbounded, but also will be
kept < N due to agency strategy
when (x, y) is terminated, numbers updated
invariant: in all pairs people have matching experiences (#sent =
#received for the other)
corollary: #refusals received < N
new partner for x is found if possible (=there is y ∈ Y with
matching experience not tried earlier with x)
. . . . . .
How to win the game
each element not currently matched keeps “experience”=(#refusals
sent, #refusals received)
the first is < N; the second a priori is unbounded, but also will be
kept < N due to agency strategy
when (x, y) is terminated, numbers updated
invariant: in all pairs people have matching experiences (#sent =
#received for the other)
corollary: #refusals received < N
new partner for x is found if possible (=there is y ∈ Y with
matching experience not tried earlier with x)
otherwise x is declared hopeless
. . . . . .
How to win the game
each element not currently matched keeps “experience”=(#refusals
sent, #refusals received)
the first is < N; the second a priori is unbounded, but also will be
kept < N due to agency strategy
when (x, y) is terminated, numbers updated
invariant: in all pairs people have matching experiences (#sent =
#received for the other)
corollary: #refusals received < N
new partner for x is found if possible (=there is y ∈ Y with
matching experience not tried earlier with x)
otherwise x is declared hopeless
invariant: for matching experiences the number of non-matched
people in X and Y are the same
. . . . . .
How to win the game
each element not currently matched keeps “experience”=(#refusals
sent, #refusals received)
the first is < N; the second a priori is unbounded, but also will be
kept < N due to agency strategy
when (x, y) is terminated, numbers updated
invariant: in all pairs people have matching experiences (#sent =
#received for the other)
corollary: #refusals received < N
new partner for x is found if possible (=there is y ∈ Y with
matching experience not tried earlier with x)
otherwise x is declared hopeless
invariant: for matching experiences the number of non-matched
people in X and Y are the same
≤ 2N attempts for each (experience increases each time)
. . . . . .
How to win the game
each element not currently matched keeps “experience”=(#refusals
sent, #refusals received)
the first is < N; the second a priori is unbounded, but also will be
kept < N due to agency strategy
when (x, y) is terminated, numbers updated
invariant: in all pairs people have matching experiences (#sent =
#received for the other)
corollary: #refusals received < N
new partner for x is found if possible (=there is y ∈ Y with
matching experience not tried earlier with x)
otherwise x is declared hopeless
invariant: for matching experiences the number of non-matched
people in X and Y are the same
≤ 2N attempts for each (experience increases each time)
there are N2
experience classes; if class reaches 2N, it stops
growing since y can be always found in the class (< 2N are tried
earlier with given x), so O(N3
) hopeless
. . . . . .
Thanks
. . . . . .
Thanks
to the organizers who accepted to consider these
arguments
. . . . . .
Thanks
to the organizers who accepted to consider these
arguments
to Misha Vyugin and Andrej Muchnik who invented the
game argument and its generalization for several
strings yi
. . . . . .
Thanks
to the organizers who accepted to consider these
arguments
to Misha Vyugin and Andrej Muchnik who invented the
game argument and its generalization for several
strings yi
to Laurent Bienvenu who convinced us to write this
simple argument down
. . . . . .
Thanks
to the organizers who accepted to consider these
arguments
to Misha Vyugin and Andrej Muchnik who invented the
game argument and its generalization for several
strings yi
to Laurent Bienvenu who convinced us to write this
simple argument down
to all colleagues (ESCAPE team in Marseille and
Montpellier, participants of Kolmogorov seminar in
Moscow)
. . . . . .
Thanks
to the organizers who accepted to consider these
arguments
to Misha Vyugin and Andrej Muchnik who invented the
game argument and its generalization for several
strings yi
to Laurent Bienvenu who convinced us to write this
simple argument down
to all colleagues (ESCAPE team in Marseille and
Montpellier, participants of Kolmogorov seminar in
Moscow)
to the audience for following the talk to that point :-)

More Related Content

PPTX
Algorithms DM
PDF
04 greedyalgorithmsii 2x2
PDF
Deep generative model.pdf
PDF
Time complexity (linear search vs binary search)
PDF
Asymptotic Notation
PDF
MCMC and likelihood-free methods
ODP
parameterized complexity for graph Motif
PPTX
Graph Traversal Algorithms - Depth First Search Traversal
Algorithms DM
04 greedyalgorithmsii 2x2
Deep generative model.pdf
Time complexity (linear search vs binary search)
Asymptotic Notation
MCMC and likelihood-free methods
parameterized complexity for graph Motif
Graph Traversal Algorithms - Depth First Search Traversal

What's hot (20)

PPTX
Physical Chemistry Assignment Help
PDF
QMC: Operator Splitting Workshop, Perturbed (accelerated) Proximal-Gradient A...
PDF
The low-rank basis problem for a matrix subspace
PDF
Nonconvex Compressed Sensing with the Sum-of-Squares Method
PDF
Scribed lec8
PDF
Lecture7 channel capacity
PDF
Optimal interval clustering: Application to Bregman clustering and statistica...
PPTX
Elliptic Curve Cryptography
PPT
Channel coding
PDF
Regret Minimization in Multi-objective Submodular Function Maximization
PPTX
Computational Complexity
PPT
1524 elliptic curve cryptography
PPTX
Computer Science Assignment Help
PDF
PDF
Monte Carlo Statistical Methods
PDF
Monte Carlo Statistical Methods
PDF
Richard Everitt's slides
PDF
Loss Calibrated Variational Inference
PPT
Convex Optimization Modelling with CVXOPT
PDF
Ch01 basic concepts_nosoluiton
Physical Chemistry Assignment Help
QMC: Operator Splitting Workshop, Perturbed (accelerated) Proximal-Gradient A...
The low-rank basis problem for a matrix subspace
Nonconvex Compressed Sensing with the Sum-of-Squares Method
Scribed lec8
Lecture7 channel capacity
Optimal interval clustering: Application to Bregman clustering and statistica...
Elliptic Curve Cryptography
Channel coding
Regret Minimization in Multi-objective Submodular Function Maximization
Computational Complexity
1524 elliptic curve cryptography
Computer Science Assignment Help
Monte Carlo Statistical Methods
Monte Carlo Statistical Methods
Richard Everitt's slides
Loss Calibrated Variational Inference
Convex Optimization Modelling with CVXOPT
Ch01 basic concepts_nosoluiton
Ad

Viewers also liked (20)

PDF
PPTX
X unittestpattern 1장_아꿈사
PPTX
Proportion slide131
PDF
Geo 4.2 3-notes_cong_triangles
PDF
20080309 cryptography hirsch_lecture04
DOC
ConfiguracióN De Un Dhcp En Un Router Cisco
PPT
Lesson 5.8 honors
PPTX
Presentación de los estudiantes de 10° en la clase de quimica.
PDF
Juniper wlan highdensity_webinar
PPT
TecnologíA De La EducacióN
PDF
20080323 cryptography hirsch_lecture06
DOCX
รวมใบงานจ้าลูกศิษย์เลิฟ
PPT
Tic Project
PDF
Vídeo en la educación
PDF
CVPR2010: Advanced ITinCVPR in a Nutshell: part 3: Feature Selection
PDF
Triángulo
PPT
Lesson 5.3 honors
PPT
David Yawson @FTF2013
X unittestpattern 1장_아꿈사
Proportion slide131
Geo 4.2 3-notes_cong_triangles
20080309 cryptography hirsch_lecture04
ConfiguracióN De Un Dhcp En Un Router Cisco
Lesson 5.8 honors
Presentación de los estudiantes de 10° en la clase de quimica.
Juniper wlan highdensity_webinar
TecnologíA De La EducacióN
20080323 cryptography hirsch_lecture06
รวมใบงานจ้าลูกศิษย์เลิฟ
Tic Project
Vídeo en la educación
CVPR2010: Advanced ITinCVPR in a Nutshell: part 3: Feature Selection
Triángulo
Lesson 5.3 honors
David Yawson @FTF2013
Ad

Similar to Kolmogorov complexity and topological arguments (20)

PDF
kactl.pdf
PDF
Lecture5
PDF
IVR - Chapter 1 - Introduction
PDF
cswiercz-general-presentation
PDF
cyclic_code.pdf
PPTX
Statistical Physics Assignment Help
PDF
Statistical Hydrology for Engineering.pdf
PDF
2018 MUMS Fall Course - Statistical Representation of Model Input (EDITED) - ...
PDF
On approximating the Riemannian 1-center
PDF
Efficient Volume and Edge-Skeleton Computation for Polytopes Given by Oracles
PDF
Dynamical systems solved ex
PDF
013_20160328_Topological_Measurement_Of_Protein_Compressibility
PDF
Mathematical sciences-paper-ii
PDF
Hierarchical matrices for approximating large covariance matries and computin...
PDF
Integration techniques
PPT
Dfa h11
PDF
NN_02_Threshold_Logic_Units.pdf
PDF
Tutorial of topological_data_analysis_part_1(basic)
kactl.pdf
Lecture5
IVR - Chapter 1 - Introduction
cswiercz-general-presentation
cyclic_code.pdf
Statistical Physics Assignment Help
Statistical Hydrology for Engineering.pdf
2018 MUMS Fall Course - Statistical Representation of Model Input (EDITED) - ...
On approximating the Riemannian 1-center
Efficient Volume and Edge-Skeleton Computation for Polytopes Given by Oracles
Dynamical systems solved ex
013_20160328_Topological_Measurement_Of_Protein_Compressibility
Mathematical sciences-paper-ii
Hierarchical matrices for approximating large covariance matries and computin...
Integration techniques
Dfa h11
NN_02_Threshold_Logic_Units.pdf
Tutorial of topological_data_analysis_part_1(basic)

Recently uploaded (20)

PDF
HVAC Specification 2024 according to central public works department
PPTX
Introduction to pro and eukaryotes and differences.pptx
PDF
International_Financial_Reporting_Standa.pdf
PDF
IP : I ; Unit I : Preformulation Studies
PDF
Journal of Dental Science - UDMY (2020).pdf
PPTX
Computer Architecture Input Output Memory.pptx
PDF
Myanmar Dental Journal, The Journal of the Myanmar Dental Association (2013).pdf
PPTX
Core Concepts of Personalized Learning and Virtual Learning Environments
PPTX
Climate Change and Its Global Impact.pptx
PDF
LIFE & LIVING TRILOGY- PART (1) WHO ARE WE.pdf
PDF
BP 505 T. PHARMACEUTICAL JURISPRUDENCE (UNIT 1).pdf
PPTX
A powerpoint presentation on the Revised K-10 Science Shaping Paper
PDF
Environmental Education MCQ BD2EE - Share Source.pdf
PDF
LIFE & LIVING TRILOGY - PART - (2) THE PURPOSE OF LIFE.pdf
PDF
Literature_Review_methods_ BRACU_MKT426 course material
PDF
English Textual Question & Ans (12th Class).pdf
PDF
Climate and Adaptation MCQs class 7 from chatgpt
PDF
Race Reva University – Shaping Future Leaders in Artificial Intelligence
PDF
FOISHS ANNUAL IMPLEMENTATION PLAN 2025.pdf
PDF
FORM 1 BIOLOGY MIND MAPS and their schemes
HVAC Specification 2024 according to central public works department
Introduction to pro and eukaryotes and differences.pptx
International_Financial_Reporting_Standa.pdf
IP : I ; Unit I : Preformulation Studies
Journal of Dental Science - UDMY (2020).pdf
Computer Architecture Input Output Memory.pptx
Myanmar Dental Journal, The Journal of the Myanmar Dental Association (2013).pdf
Core Concepts of Personalized Learning and Virtual Learning Environments
Climate Change and Its Global Impact.pptx
LIFE & LIVING TRILOGY- PART (1) WHO ARE WE.pdf
BP 505 T. PHARMACEUTICAL JURISPRUDENCE (UNIT 1).pdf
A powerpoint presentation on the Revised K-10 Science Shaping Paper
Environmental Education MCQ BD2EE - Share Source.pdf
LIFE & LIVING TRILOGY - PART - (2) THE PURPOSE OF LIFE.pdf
Literature_Review_methods_ BRACU_MKT426 course material
English Textual Question & Ans (12th Class).pdf
Climate and Adaptation MCQs class 7 from chatgpt
Race Reva University – Shaping Future Leaders in Artificial Intelligence
FOISHS ANNUAL IMPLEMENTATION PLAN 2025.pdf
FORM 1 BIOLOGY MIND MAPS and their schemes

Kolmogorov complexity and topological arguments

  • 1. . . . . . . JAC 2012 Topological arguments and Kolmogorov complexity Andrei Romashenko (joint work with Alexander Shen) LIRMM, CNRS & UM2, Montpellier; on leave from ИППИ РАН, Москва Supported by ANR NAFIT grant
  • 2. . . . . . . Apologies
  • 3. . . . . . . Apologies off-topic
  • 4. . . . . . . Apologies off-topic message: not only general topology can be useful in computer science
  • 5. . . . . . . Apologies off-topic message: not only general topology can be useful in computer science no blackboard
  • 6. . . . . . . Conditional complexity as distance
  • 7. . . . . . . Conditional complexity as distance C(x|y), conditional complexity of x given y, minimal length of a program that maps y to x
  • 8. . . . . . . Conditional complexity as distance C(x|y), conditional complexity of x given y, minimal length of a program that maps y to x depends on the programming language, is minimal up to O(1) for some “optimal” languages; one of them is fixed
  • 9. . . . . . . Conditional complexity as distance C(x|y), conditional complexity of x given y, minimal length of a program that maps y to x depends on the programming language, is minimal up to O(1) for some “optimal” languages; one of them is fixed C(x|y) measures “how far is x from y” in a sense, but not symmetric
  • 10. . . . . . . Conditional complexity as distance C(x|y), conditional complexity of x given y, minimal length of a program that maps y to x depends on the programming language, is minimal up to O(1) for some “optimal” languages; one of them is fixed C(x|y) measures “how far is x from y” in a sense, but not symmetric task: given string x and number n, find y such that C(x|y) = n + O(1) and C(y|x) = n + O(1)
  • 11. . . . . . . Conditional complexity as distance C(x|y), conditional complexity of x given y, minimal length of a program that maps y to x depends on the programming language, is minimal up to O(1) for some “optimal” languages; one of them is fixed C(x|y) measures “how far is x from y” in a sense, but not symmetric task: given string x and number n, find y such that C(x|y) = n + O(1) and C(y|x) = n + O(1) not always possible: C(x) should be at least n
  • 12. . . . . . . M. Vyugin theorem and its extension
  • 13. . . . . . . M. Vyugin theorem and its extension Theorem: if C(x) > 2n, there exists y such that C(x|y) = n + O(1) and C(y|x) = n + O(1).
  • 14. . . . . . . M. Vyugin theorem and its extension Theorem: if C(x) > 2n, there exists y such that C(x|y) = n + O(1) and C(y|x) = n + O(1). proof uses a game argument
  • 15. . . . . . . M. Vyugin theorem and its extension Theorem: if C(x) > 2n, there exists y such that C(x|y) = n + O(1) and C(y|x) = n + O(1). proof uses a game argument in fact C(x) > n + O(log n) is enough
  • 16. . . . . . . M. Vyugin theorem and its extension Theorem: if C(x) > 2n, there exists y such that C(x|y) = n + O(1) and C(y|x) = n + O(1). proof uses a game argument in fact C(x) > n + O(log n) is enough but for completely different reasons
  • 17. . . . . . . M. Vyugin theorem and its extension Theorem: if C(x) > 2n, there exists y such that C(x|y) = n + O(1) and C(y|x) = n + O(1). proof uses a game argument in fact C(x) > n + O(log n) is enough but for completely different reasons simple topological fact: if a continuous mapping of a circle S1 to R2 turns around some point O, then any its continuous extension to a mapping of a disk D2 covers O
  • 18. . . . . . . M. Vyugin theorem and its extension Theorem: if C(x) > 2n, there exists y such that C(x|y) = n + O(1) and C(y|x) = n + O(1). proof uses a game argument in fact C(x) > n + O(log n) is enough but for completely different reasons simple topological fact: if a continuous mapping of a circle S1 to R2 turns around some point O, then any its continuous extension to a mapping of a disk D2 covers O strangely, for C(x) ≫ n this argument does not work (only for C(x) ≤ poly(n))
  • 19. . . . . . . M. Vyugin theorem and its extension Theorem: if C(x) > 2n, there exists y such that C(x|y) = n + O(1) and C(y|x) = n + O(1). proof uses a game argument in fact C(x) > n + O(log n) is enough but for completely different reasons simple topological fact: if a continuous mapping of a circle S1 to R2 turns around some point O, then any its continuous extension to a mapping of a disk D2 covers O strangely, for C(x) ≫ n this argument does not work (only for C(x) ≤ poly(n)) so C(x) ≥ n + O(log n) is enough, but two essentially different arguments are needed at both ends
  • 20. . . . . . . Why topology can be useful
  • 21. . . . . . . Why topology can be useful simple example: imagine we want C(x|y) = n and know that C(x) ≥ n.
  • 22. . . . . . . Why topology can be useful simple example: imagine we want C(x|y) = n and know that C(x) ≥ n. let y be x, then C(x|y) = O(1)
  • 23. . . . . . . Why topology can be useful simple example: imagine we want C(x|y) = n and know that C(x) ≥ n. let y be x, then C(x|y) = O(1) let us remove bits in y one by one (e.g., from right to left)
  • 24. . . . . . . Why topology can be useful simple example: imagine we want C(x|y) = n and know that C(x) ≥ n. let y be x, then C(x|y) = O(1) let us remove bits in y one by one (e.g., from right to left) C(x|y) then changes but gradually: C(x|y0) and C(x|y1) are C(x|y) + O(1)
  • 25. . . . . . . Why topology can be useful simple example: imagine we want C(x|y) = n and know that C(x) ≥ n. let y be x, then C(x|y) = O(1) let us remove bits in y one by one (e.g., from right to left) C(x|y) then changes but gradually: C(x|y0) and C(x|y1) are C(x|y) + O(1) at the end y is empty, and C(x|y) = C(x) ≥ n
  • 26. . . . . . . Why topology can be useful simple example: imagine we want C(x|y) = n and know that C(x) ≥ n. let y be x, then C(x|y) = O(1) let us remove bits in y one by one (e.g., from right to left) C(x|y) then changes but gradually: C(x|y0) and C(x|y1) are C(x|y) + O(1) at the end y is empty, and C(x|y) = C(x) ≥ n discrete intermediate value theorem guarantees that C(x|y) = n + O(1) for some y on the way
  • 27. . . . . . . O(log n) precision is easy
  • 28. . . . . . . O(log n) precision is easy to get C(y|x) = n we need to put some n bits of new information (that is not in x) into y
  • 29. . . . . . . O(log n) precision is easy to get C(y|x) = n we need to put some n bits of new information (that is not in x) into y to get C(x|y) = n we need to put in y all the information about x except for n bits
  • 30. . . . . . . O(log n) precision is easy to get C(y|x) = n we need to put some n bits of new information (that is not in x) into y to get C(x|y) = n we need to put in y all the information about x except for n bits let p be the shortest program for x, so |p| = C(x) ≥ n
  • 31. . . . . . . O(log n) precision is easy to get C(y|x) = n we need to put some n bits of new information (that is not in x) into y to get C(x|y) = n we need to put in y all the information about x except for n bits let p be the shortest program for x, so |p| = C(x) ≥ n p is incompressible
  • 32. . . . . . . O(log n) precision is easy to get C(y|x) = n we need to put some n bits of new information (that is not in x) into y to get C(x|y) = n we need to put in y all the information about x except for n bits let p be the shortest program for x, so |p| = C(x) ≥ n p is incompressible let y be p without n bits
  • 33. . . . . . . O(log n) precision is easy to get C(y|x) = n we need to put some n bits of new information (that is not in x) into y to get C(x|y) = n we need to put in y all the information about x except for n bits let p be the shortest program for x, so |p| = C(x) ≥ n p is incompressible let y be p without n bits plus some random n bits (independent from p)
  • 34. . . . . . . O(log n) precision is easy to get C(y|x) = n we need to put some n bits of new information (that is not in x) into y to get C(x|y) = n we need to put in y all the information about x except for n bits let p be the shortest program for x, so |p| = C(x) ≥ n p is incompressible let y be p without n bits plus some random n bits (independent from p) then both C(x|y) and C(y|x) are n + O(log n)
  • 35. . . . . . . O(log n) precision is easy to get C(y|x) = n we need to put some n bits of new information (that is not in x) into y to get C(x|y) = n we need to put in y all the information about x except for n bits let p be the shortest program for x, so |p| = C(x) ≥ n p is incompressible let y be p without n bits plus some random n bits (independent from p) then both C(x|y) and C(y|x) are n + O(log n) O(1) cannot be obtained in this way (since all the arguments about random and independent bits work with O(log n) precision only)
  • 36. . . . . . . Putting pieces together
  • 37. . . . . . . Putting pieces together let p be the shortest program for x, so |p| = C(x) ≥ n
  • 38. . . . . . . Putting pieces together let p be the shortest program for x, so |p| = C(x) ≥ n let q be a random (incompressible) string of length 2n when p is known (independent from p)
  • 39. . . . . . . Putting pieces together let p be the shortest program for x, so |p| = C(x) ≥ n let q be a random (incompressible) string of length 2n when p is known (independent from p) for every k ∈ [0, C(x)] and every l ∈ [0, 2n] consider yk,l = (k-bit prefix of p, l-bit prefix of q)
  • 40. . . . . . . Putting pieces together let p be the shortest program for x, so |p| = C(x) ≥ n let q be a random (incompressible) string of length 2n when p is known (independent from p) for every k ∈ [0, C(x)] and every l ∈ [0, 2n] consider yk,l = (k-bit prefix of p, l-bit prefix of q) mapping (k, l) → (C(x|yk,l), C(yk,l|x))
  • 41. . . . . . . Putting pieces together let p be the shortest program for x, so |p| = C(x) ≥ n let q be a random (incompressible) string of length 2n when p is known (independent from p) for every k ∈ [0, C(x)] and every l ∈ [0, 2n] consider yk,l = (k-bit prefix of p, l-bit prefix of q) mapping (k, l) → (C(x|yk,l), C(yk,l|x)) |p| |q| C(x) A B CD 2m AB C D C(x|y) C(y|x) C(x) 2n (n,n)
  • 42. . . . . . . Topological details
  • 43. . . . . . . Topological details mapping is defined on a grid (rectangle)
  • 44. . . . . . . Topological details mapping is defined on a grid (rectangle) and maps neighbor points to a points at O(1) distance
  • 45. . . . . . . Topological details mapping is defined on a grid (rectangle) and maps neighbor points to a points at O(1) distance “Lipschitz continuity”
  • 46. . . . . . . Topological details mapping is defined on a grid (rectangle) and maps neighbor points to a points at O(1) distance “Lipschitz continuity” covers (n, n) with O(1) precision
  • 47. . . . . . . Topological details mapping is defined on a grid (rectangle) and maps neighbor points to a points at O(1) distance “Lipschitz continuity” covers (n, n) with O(1) precision reduction to continuous version: interpolation on triangles (linear)
  • 48. . . . . . . Topological details mapping is defined on a grid (rectangle) and maps neighbor points to a points at O(1) distance “Lipschitz continuity” covers (n, n) with O(1) precision reduction to continuous version: interpolation on triangles (linear) preimage may be not in the grid, but neighbor grid point gives O(1)-precision
  • 49. . . . . . . Topological details mapping is defined on a grid (rectangle) and maps neighbor points to a points at O(1) distance “Lipschitz continuity” covers (n, n) with O(1) precision reduction to continuous version: interpolation on triangles (linear) preimage may be not in the grid, but neighbor grid point gives O(1)-precision Alternative: repeat the proof for discrete case
  • 50. . . . . . . Comments
  • 51. . . . . . . Comments why we need C(x) be polynomial? if C(x) is very large, the value of k may contain a lot of information about z
  • 52. . . . . . . Comments why we need C(x) be polynomial? if C(x) is very large, the value of k may contain a lot of information about z it is not necessary (unlike for original Vyugin argument) to have the same targets for C(x|y) and C(y|x)
  • 53. . . . . . . Comments why we need C(x) be polynomial? if C(x) is very large, the value of k may contain a lot of information about z it is not necessary (unlike for original Vyugin argument) to have the same targets for C(x|y) and C(y|x) other applications of the same type of argument: for every x, y that are almost independent (I(x : y) is small compared to C(x) and C(y)) one can find z such that C(x|z) = C(x)/2 + O(1) and C(y|z) = C(y)/2 + O(1)
  • 54. . . . . . . Comments why we need C(x) be polynomial? if C(x) is very large, the value of k may contain a lot of information about z it is not necessary (unlike for original Vyugin argument) to have the same targets for C(x|y) and C(y|x) other applications of the same type of argument: for every x, y that are almost independent (I(x : y) is small compared to C(x) and C(y)) one can find z such that C(x|z) = C(x)/2 + O(1) and C(y|z) = C(y)/2 + O(1) similar statement for halving complexity of three or more strings by adding a condition:
  • 55. . . . . . . Comments why we need C(x) be polynomial? if C(x) is very large, the value of k may contain a lot of information about z it is not necessary (unlike for original Vyugin argument) to have the same targets for C(x|y) and C(y|x) other applications of the same type of argument: for every x, y that are almost independent (I(x : y) is small compared to C(x) and C(y)) one can find z such that C(x|z) = C(x)/2 + O(1) and C(y|z) = C(y)/2 + O(1) similar statement for halving complexity of three or more strings by adding a condition: under the assumption of independence (can be weakened but not eliminated).
  • 56. . . . . . . Comments why we need C(x) be polynomial? if C(x) is very large, the value of k may contain a lot of information about z it is not necessary (unlike for original Vyugin argument) to have the same targets for C(x|y) and C(y|x) other applications of the same type of argument: for every x, y that are almost independent (I(x : y) is small compared to C(x) and C(y)) one can find z such that C(x|z) = C(x)/2 + O(1) and C(y|z) = C(y)/2 + O(1) similar statement for halving complexity of three or more strings by adding a condition: under the assumption of independence (can be weakened but not eliminated). an open problem in the general case (problematic case: x and y are very close to each other, but not completely identical)
  • 57. . . . . . . Thanks!
  • 58. . . . . . . Original game argument
  • 59. . . . . . . Original game argument If C(x) > 3n, there exists y such that C(x|y) and C(y|x) are n + O(1)
  • 60. . . . . . . Original game argument If C(x) > 3n, there exists y such that C(x|y) and C(y|x) are n + O(1) we replaced 2n by 3n to simplify explanations (and in any case this is already covered)
  • 61. . . . . . . Original game argument If C(x) > 3n, there exists y such that C(x|y) and C(y|x) are n + O(1) we replaced 2n by 3n to simplify explanations (and in any case this is already covered) we present some game
  • 62. . . . . . . Original game argument If C(x) > 3n, there exists y such that C(x|y) and C(y|x) are n + O(1) we replaced 2n by 3n to simplify explanations (and in any case this is already covered) we present some game then show why winning this game is enough
  • 63. . . . . . . Original game argument If C(x) > 3n, there exists y such that C(x|y) and C(y|x) are n + O(1) we replaced 2n by 3n to simplify explanations (and in any case this is already covered) we present some game then show why winning this game is enough and finally show how to win the game
  • 64. . . . . . . Dating agency and its task
  • 65. . . . . . . Dating agency and its task two countable sets X and Y
  • 66. . . . . . . Dating agency and its task two countable sets X and Y game starts with a perfect matching, i.e., one to one correspondence between X and Y.
  • 67. . . . . . . Dating agency and its task two countable sets X and Y game starts with a perfect matching, i.e., one to one correspondence between X and Y. An element of X or Y can refuse the current partner, then the current relationship (x, y) is dissolved
  • 68. . . . . . . Dating agency and its task two countable sets X and Y game starts with a perfect matching, i.e., one to one correspondence between X and Y. An element of X or Y can refuse the current partner, then the current relationship (x, y) is dissolved y then becomes free; the agency may either
  • 69. . . . . . . Dating agency and its task two countable sets X and Y game starts with a perfect matching, i.e., one to one correspondence between X and Y. An element of X or Y can refuse the current partner, then the current relationship (x, y) is dissolved y then becomes free; the agency may either find a new pair for x from the dissolved pair (among free elements of Y not tried with x previously) or
  • 70. . . . . . . Dating agency and its task two countable sets X and Y game starts with a perfect matching, i.e., one to one correspondence between X and Y. An element of X or Y can refuse the current partner, then the current relationship (x, y) is dissolved y then becomes free; the agency may either find a new pair for x from the dissolved pair (among free elements of Y not tried with x previously) or declare x hopeless and do not try to find a pair for x anymore (#free in Y incremented)
  • 71. . . . . . . Dating agency and its task two countable sets X and Y game starts with a perfect matching, i.e., one to one correspondence between X and Y. An element of X or Y can refuse the current partner, then the current relationship (x, y) is dissolved y then becomes free; the agency may either find a new pair for x from the dissolved pair (among free elements of Y not tried with x previously) or declare x hopeless and do not try to find a pair for x anymore (#free in Y incremented) the refusals appear (and are processed by the agency) one at a time
  • 72. . . . . . . Dating agency and its task two countable sets X and Y game starts with a perfect matching, i.e., one to one correspondence between X and Y. An element of X or Y can refuse the current partner, then the current relationship (x, y) is dissolved y then becomes free; the agency may either find a new pair for x from the dissolved pair (among free elements of Y not tried with x previously) or declare x hopeless and do not try to find a pair for x anymore (#free in Y incremented) the refusals appear (and are processed by the agency) one at a time each element can produce < N refusals (parameter of the game), but no restrictions for #(being refused)
  • 73. . . . . . . Dating agency and its task two countable sets X and Y game starts with a perfect matching, i.e., one to one correspondence between X and Y. An element of X or Y can refuse the current partner, then the current relationship (x, y) is dissolved y then becomes free; the agency may either find a new pair for x from the dissolved pair (among free elements of Y not tried with x previously) or declare x hopeless and do not try to find a pair for x anymore (#free in Y incremented) the refusals appear (and are processed by the agency) one at a time each element can produce < N refusals (parameter of the game), but no restrictions for #(being refused) agency obligations:
  • 74. . . . . . . Dating agency and its task two countable sets X and Y game starts with a perfect matching, i.e., one to one correspondence between X and Y. An element of X or Y can refuse the current partner, then the current relationship (x, y) is dissolved y then becomes free; the agency may either find a new pair for x from the dissolved pair (among free elements of Y not tried with x previously) or declare x hopeless and do not try to find a pair for x anymore (#free in Y incremented) the refusals appear (and are processed by the agency) one at a time each element can produce < N refusals (parameter of the game), but no restrictions for #(being refused) agency obligations: ≤ 2N attempts for each element
  • 75. . . . . . . Dating agency and its task two countable sets X and Y game starts with a perfect matching, i.e., one to one correspondence between X and Y. An element of X or Y can refuse the current partner, then the current relationship (x, y) is dissolved y then becomes free; the agency may either find a new pair for x from the dissolved pair (among free elements of Y not tried with x previously) or declare x hopeless and do not try to find a pair for x anymore (#free in Y incremented) the refusals appear (and are processed by the agency) one at a time each element can produce < N refusals (parameter of the game), but no restrictions for #(being refused) agency obligations: ≤ 2N attempts for each element ≤ 2N3 hopeless elements; all others in X are ultimately connected to some y ∈ Y and this connection lasts forever
  • 76. . . . . . . Why computable winning strategy is enough
  • 77. . . . . . . Why computable winning strategy is enough X = Y = B∗
  • 78. . . . . . . Why computable winning strategy is enough X = Y = B∗ initial matching: identity (x, x)
  • 79. . . . . . . Why computable winning strategy is enough X = Y = B∗ initial matching: identity (x, x) u refuses v if C(v|u) < n (here u may be in X or in Y)
  • 80. . . . . . . Why computable winning strategy is enough X = Y = B∗ initial matching: identity (x, x) u refuses v if C(v|u) < n (here u may be in X or in Y) less than N = 2n refusals for each u
  • 81. . . . . . . Why computable winning strategy is enough X = Y = B∗ initial matching: identity (x, x) u refuses v if C(v|u) < n (here u may be in X or in Y) less than N = 2n refusals for each u computable behavior
  • 82. . . . . . . Why computable winning strategy is enough X = Y = B∗ initial matching: identity (x, x) u refuses v if C(v|u) < n (here u may be in X or in Y) less than N = 2n refusals for each u computable behavior agency produces O(N3 ) = O(23n ) hopeless elements of complexity 3n + O(1) (identified by 3n + O(1) bit ordinal number)
  • 83. . . . . . . Why computable winning strategy is enough X = Y = B∗ initial matching: identity (x, x) u refuses v if C(v|u) < n (here u may be in X or in Y) less than N = 2n refusals for each u computable behavior agency produces O(N3 ) = O(23n ) hopeless elements of complexity 3n + O(1) (identified by 3n + O(1) bit ordinal number) for every x that is not hopeless its final partner y has C(y|x) and C(x|y) at most n + O(1): determined by a ordinal number that is O(N) = 2n+O(1)
  • 84. . . . . . . Why computable winning strategy is enough X = Y = B∗ initial matching: identity (x, x) u refuses v if C(v|u) < n (here u may be in X or in Y) less than N = 2n refusals for each u computable behavior agency produces O(N3 ) = O(23n ) hopeless elements of complexity 3n + O(1) (identified by 3n + O(1) bit ordinal number) for every x that is not hopeless its final partner y has C(y|x) and C(x|y) at most n + O(1): determined by a ordinal number that is O(N) = 2n+O(1) but both complexities are at least n, otherwise refused
  • 85. . . . . . . How to win the game
  • 86. . . . . . . How to win the game each element not currently matched keeps “experience”=(#refusals sent, #refusals received)
  • 87. . . . . . . How to win the game each element not currently matched keeps “experience”=(#refusals sent, #refusals received) the first is < N; the second a priori is unbounded, but also will be kept < N due to agency strategy
  • 88. . . . . . . How to win the game each element not currently matched keeps “experience”=(#refusals sent, #refusals received) the first is < N; the second a priori is unbounded, but also will be kept < N due to agency strategy when (x, y) is terminated, numbers updated
  • 89. . . . . . . How to win the game each element not currently matched keeps “experience”=(#refusals sent, #refusals received) the first is < N; the second a priori is unbounded, but also will be kept < N due to agency strategy when (x, y) is terminated, numbers updated invariant: in all pairs people have matching experiences (#sent = #received for the other)
  • 90. . . . . . . How to win the game each element not currently matched keeps “experience”=(#refusals sent, #refusals received) the first is < N; the second a priori is unbounded, but also will be kept < N due to agency strategy when (x, y) is terminated, numbers updated invariant: in all pairs people have matching experiences (#sent = #received for the other) corollary: #refusals received < N
  • 91. . . . . . . How to win the game each element not currently matched keeps “experience”=(#refusals sent, #refusals received) the first is < N; the second a priori is unbounded, but also will be kept < N due to agency strategy when (x, y) is terminated, numbers updated invariant: in all pairs people have matching experiences (#sent = #received for the other) corollary: #refusals received < N new partner for x is found if possible (=there is y ∈ Y with matching experience not tried earlier with x)
  • 92. . . . . . . How to win the game each element not currently matched keeps “experience”=(#refusals sent, #refusals received) the first is < N; the second a priori is unbounded, but also will be kept < N due to agency strategy when (x, y) is terminated, numbers updated invariant: in all pairs people have matching experiences (#sent = #received for the other) corollary: #refusals received < N new partner for x is found if possible (=there is y ∈ Y with matching experience not tried earlier with x) otherwise x is declared hopeless
  • 93. . . . . . . How to win the game each element not currently matched keeps “experience”=(#refusals sent, #refusals received) the first is < N; the second a priori is unbounded, but also will be kept < N due to agency strategy when (x, y) is terminated, numbers updated invariant: in all pairs people have matching experiences (#sent = #received for the other) corollary: #refusals received < N new partner for x is found if possible (=there is y ∈ Y with matching experience not tried earlier with x) otherwise x is declared hopeless invariant: for matching experiences the number of non-matched people in X and Y are the same
  • 94. . . . . . . How to win the game each element not currently matched keeps “experience”=(#refusals sent, #refusals received) the first is < N; the second a priori is unbounded, but also will be kept < N due to agency strategy when (x, y) is terminated, numbers updated invariant: in all pairs people have matching experiences (#sent = #received for the other) corollary: #refusals received < N new partner for x is found if possible (=there is y ∈ Y with matching experience not tried earlier with x) otherwise x is declared hopeless invariant: for matching experiences the number of non-matched people in X and Y are the same ≤ 2N attempts for each (experience increases each time)
  • 95. . . . . . . How to win the game each element not currently matched keeps “experience”=(#refusals sent, #refusals received) the first is < N; the second a priori is unbounded, but also will be kept < N due to agency strategy when (x, y) is terminated, numbers updated invariant: in all pairs people have matching experiences (#sent = #received for the other) corollary: #refusals received < N new partner for x is found if possible (=there is y ∈ Y with matching experience not tried earlier with x) otherwise x is declared hopeless invariant: for matching experiences the number of non-matched people in X and Y are the same ≤ 2N attempts for each (experience increases each time) there are N2 experience classes; if class reaches 2N, it stops growing since y can be always found in the class (< 2N are tried earlier with given x), so O(N3 ) hopeless
  • 96. . . . . . . Thanks
  • 97. . . . . . . Thanks to the organizers who accepted to consider these arguments
  • 98. . . . . . . Thanks to the organizers who accepted to consider these arguments to Misha Vyugin and Andrej Muchnik who invented the game argument and its generalization for several strings yi
  • 99. . . . . . . Thanks to the organizers who accepted to consider these arguments to Misha Vyugin and Andrej Muchnik who invented the game argument and its generalization for several strings yi to Laurent Bienvenu who convinced us to write this simple argument down
  • 100. . . . . . . Thanks to the organizers who accepted to consider these arguments to Misha Vyugin and Andrej Muchnik who invented the game argument and its generalization for several strings yi to Laurent Bienvenu who convinced us to write this simple argument down to all colleagues (ESCAPE team in Marseille and Montpellier, participants of Kolmogorov seminar in Moscow)
  • 101. . . . . . . Thanks to the organizers who accepted to consider these arguments to Misha Vyugin and Andrej Muchnik who invented the game argument and its generalization for several strings yi to Laurent Bienvenu who convinced us to write this simple argument down to all colleagues (ESCAPE team in Marseille and Montpellier, participants of Kolmogorov seminar in Moscow) to the audience for following the talk to that point :-)