Proximity Inversion Functions on the Non
Download
Report
Transcript Proximity Inversion Functions on the Non
Proximity Inversion Functions
on the Non-Negative Integers
Presented By
Brendan Lucier
June 5, 2005
CMS Summer 2005 Meeting
Automatic Sequences and
Related Topics
To be seen
Introduction and Problem Statement
A Solution
Proving Correctness
Future Work
To be seen
Introduction and Problem Statement
A Solution
Proving Correctness
Future Work
Our Problem
Consider a puzzle where we must place points labeled (0,
1, 2, …, n) on the real number line.
The points must be placed so that, given distinct points
labeled (k) and (k+a), the distance between the points is
at least 1/a. Denote the position of point k by f(k).
We want to know: what is the optimal (smallest) total
amount of space required to place all of the points?
Example: First Six Values
Non-negative real number line:
Example: First Six Values
0
f(0) = 1
Place point 0 somewhere; let’s say f(0) = 1
Example: First Six Values
0
1
f(0) = 1
f(1) = 2
Place point 0 somewhere; let’s say f(0) = 1
Distance between point 0 and point 1 must be at least 1/1 = 1; take f(1) = 2
Example: First Six Values
2
f(2) = 1/2
0
1
f(0) = 1
f(1) = 2
Place point 0 somewhere; let’s say f(0) = 1
Distance between point 0 and point 1 must be at least 1/1 = 1; take f(1) = 2
Point 2 must be 1 away from point 1 and 1/2 away from point 0. Try f(2) = 1/2
Example: First Six Values
2
f(2) = 1/2
0
f(0) = 1
3
f(3) = 3/2
1
f(1) = 2
Place point 0 somewhere; let’s say f(0) = 1
Distance between point 0 and point 1 must be at least 1/1 = 1; take f(1) = 2
Point 2 must be 1 away from point 1 and 1/2 away from point 0. Try f(2) = 1/2
Continue in this fashion, placing six points
Example: First Six Values
4
f(4) = 0
2
f(2) = 1/2
0
f(0) = 1
3
f(3) = 3/2
1
f(1) = 2
Place point 0 somewhere; let’s say f(0) = 1
Distance between point 0 and point 1 must be at least 1/1 = 1; take f(1) = 2
Point 2 must be 1 away from point 1 and 1/2 away from point 0. Try f(2) = 1/2
Continue in this fashion, placing six points
Example: First Six Values
4
f(4) = 0
2
f(2) = 1/2
0
f(0) = 1
3
f(3) = 3/2
1
f(1) = 2
5
f(5) = 7/3
Place point 0 somewhere; let’s say f(0) = 1
Distance between point 0 and point 1 must be at least 1/1 = 1; take f(1) = 2
Point 2 must be 1 away from point 1 and 1/2 away from point 0. Try f(2) = 1/2
Continue in this fashion, placing six points
We have achieved a maximum of 7/3. Is this optimal for six values?
Example: First Six Values
4
f(4) = 0
2
f(2) = 1/2
0
f(0) = 1
3
f(3) = 3/2
1
f(1) = 2
5
f(5) = 7/3
Place point 0 somewhere; let’s say f(0) = 1
Distance between point 0 and point 1 must be at least 1/1 = 1; take f(1) = 2
Point 2 must be 1 away from point 1 and 1/2 away from point 0. Try f(2) = 1/2
Continue in this fashion, placing six points
We have achieved a maximum of 7/3. Is this optimal for six values?
No, there is a better solution:
3
f(3) = 0
1
f(1) = 1/2
4
f(4) = 1
2
f(2) = 3/2
5
0
f(5) = 2 f(0) = 11/5
The Full Problem
Suppose now we wish to place an infinite
number of points
We wish to find a way to do so in a
bounded amount of space. What is the
smallest amount of space required?
Problem History
Motivated by the Constraint Satisfaction Problem
Given a set V of variables and a set C of constraints, find an
assignment that satisfies all the constraints
Binary Constraint Problem
each constraint affects two variables
Metric Space Binary Constraint Problem
Generalization: variables take values from a metric space
Constraints are of the form “Variables p and q must be assigned
values that have distance at least cp,q from each other”
The Metric Space generalization is due to D. G. Fon-Der-Flaass,
“Real-valued Frequency Assignment,” 1998.
A Metric Space BCP
Our problem is a particular instance of the MSBCP:
The variables are the natural numbers N = {0, 1, 2, …}.
The metric space is the set of non-negative real numbers R+.
Each number n is assigned a value f(n).
Our constraints are cp,q = 1/|p-q|.
If a function f satisfies these constraints, we say that f is
a proximity inversion function.
Our goal is to find such a function f that minimizes
supn(f(n)); that is, uses the least amount of space on
the real number line.
To be seen
Introduction and Problem Statement
A Solution
Proving Correctness
Future Work
Numeration Systems
A Numeration System is a method of representing non-negative integers. It
corresponds to a sequence S = { s1, s2, … } of ascending positive integers.
A value v can be expressed with respect to S as a string x = x1x2…xn over
the alphabet of natural numbers, where v =
Σsixi .
Example: the decimal numeration system is S = { 1, 10, 100, … }
The representation is unique when we require certain properties to hold.
The most basic property is that xi < si+1/si for all i.
There are more general properties as well, due to A. Fraenkel, “Systems of
Numeration,” 1985.
When a string meets these properties, we say that it is a valid
representation for an integer with respect to S.
We’ll skip the general results and simply claim the properties for our
particular numeration system.
Our Numeration System
Let Fi denote the ith Fibonacci number. F0 = 0, F1 = 1, F2 = 1, etc.
Take S = { F2i : i ≥ 1 } = { 1, 3, 8, 21, … }
We express an integer n as a string x corresponding to digits of n
over basis S. That is, n = ΣxiF2i
Example: if n = 38, then n = 1*21 + 2*8 + 0*3 + 2*1, so the
representation of n is the string 2021
Note that for any k,
3F2k > 2F2k + F2k-1
= F2k + F2k+1
= F2(k+1)
Thus xk < F2k / F2(k+1) < 3 for all k, so the set of valid
representations with respect to S is over the alphabet {0,1,2}
It turns out that a string x in {0,1,2}* is a valid representation if
and only if it does not contain any subwords of the form 21*2
The Solution
Given an integer n, suppose its representation in S is
x = x1x2…xk
We define our function f by f(n) := Σ(xi/F2i)
That is, we take our digits for representation over basis
{ F2i }, then apply them to the basis { 1/F2i }
Example: if n = 38 then x = 2021, so f(n) = 2/1 + 0/3 + 2/8 +
1/21 = 193/84 ≈ 2.2976
The supremum for this particular f is 1 + Σ(1/F2i)
≈2.5353…
Example
Our solution f() places the first ten values as follows
0
8
0 1/8
3
6
1/3
2/3
1
9
1 9/8
4
7
2
5
4/3
5/3
2
7/3
To be seen
Introduction and Problem Statement
A Solution
Proving Correctness
Future Work
Proving the Result
We need to prove that f is a proximity inversion
function; that is, |f(p) - f(q)| ≥ 1/|p-q| holds for
all natural numbers p and q
We shall consider what this means in terms of
the representations for p and q with respect to
our numeration system
In most cases, the required property for strings
will reduce to a problem that is easier and more
intuitive to solve
Relative Order
Suppose we have two natural numbers, p and q, represented w.r.t.
S by strings x and y, padded with zeros to be the same length.
Example: if p = 38, q = 12, then we can take x = 2021, y = 1120
We can determine which of p or q is larger by scanning the digits of
x and y from right to left. Whenever the strings first differ, the string
with the larger digit corresponds to the larger number.
Example: if x = 101, y = 211, then y corresponds to the larger value
because after the common suffix 1, y has the larger digit 1 > 0.
A similar property holds for f(p) and f(q). If we scan the two
representations x and y from left to right we get the relative
ordering of f(p) and f(q). This is not obvious, and the proof depends
on our particular numeration system S.
Example: if x = 2021, y = 1120, then since x1 = 2 > 1 = y1 we
conclude that f(38) > f(12).
Intermediate Values
Consider two nonequal natural numbers p and q.
An intermediate value for p and q is an integer t such that
t lies between p and q, and
f(t) lies between f(p) and f(q).
Example: both 4 and 6 are intermediate values for 3 and 7.
0
8
0 1/8
3
6
1/3
2/3
1
9
1 9/8
4
7
2
5
4/3
5/3
2
7/3
Intermediate Values (cont.)
Lemma: if our function f is not a valid proximity inversion function, then there is a
pair of integers (p’, q’) such that
|f(p’) - f(q’)| > 1/|p’-q’|, and
there is no intermediate value for p’ and q’
Proof: Suppose f is not a proximity inversion function. That is, there exist distinct
natural numbers p and q such that |f(p) - f(q)| > 1/|p-q|.
If p and q do not have an intermediate value, we are done. Otherwise, let t be an
intermediate value.
Then |p-t| < |p-q| since t is between p and q, and |f(p) - f(t)| < |f(p) - f(q)| since
f(t) is between f(p) and f(q).
We conclude that |f(p) - f(t)| > 1/|p-t|.
If p and t have an intermediate value t’, then by the same argument
|f(p) - f(t’)| > 1/|p-t’|. We continue this process until we are left with two integers
with no intermediate value.
This process must terminate, since there are only finitely many integers between p
and q.
Intermediate Values (cont.)
To prove that f is a proximity inversion function, it now suffices to show
that our constraint holds for integers p and q that do not admit an
intermediate value.
But we have an easy way to characterize precisely when an intermediate
value exists, using valid representations!
Given two valid representations x and y, they will correspond to integers
with an intermediate value precisely if exists a representation z that is
lexicographically between x and y when read both forward and backward.
Example: for x = 2021, y = 1120, we can take z = 1211. Then 1120 < 1211 <
2021 and 0211 < 1121 < 1202, so z is an intermediate value for x and y.
Finding such an intermediate string z is easy, so a simple case analysis
eliminates almost all possible strings x and y.
Strings with no
Intermediate Values
Example: suppose one of the strings ends in 00, say y.
Then x must be of the form wc21k and y must be of the
form wc’0k+1 where (c,c’) is either (0,1) or (1,2)
This is one of only five cases in which x and y do not
have an intermediate string z
This reduction makes the problem much more
manageable. we can prove directly that strings of these
forms correspond to integers that do not violate our
constraints
To be seen
Introduction and Problem Statement
A Solution
Proving Correctness
Future Work
Optimality of Solution
We have not yet proved that the solution is optimal
It turns out that our function f, limited to a finite set of
integers {0,…,n}, is not optimal for that subset
It appears that the optimal solution fn for {0,…,F2n} is
related to f():
0
3
6
1
4
7
2
5
0
1/3
2/3
1
4/3
5/3
2
7/3
Optimality of Solution
We have not yet proved that the solution is optimal
It turns out that our function f, limited to a finite set of
integers {0,…,n}, is not optimal for that subset
It appears that the optimal solution fn for {0,…,F2n} is
related to f():
Set fn(0) = f(F2n-1) + 1/F2n-1
3
6
1
4
7
2
5
0
1/3
2/3
1
4/3
5/3
2
7/3
38/15
Optimality of Solution
We have not yet proved that the solution is optimal
It turns out that our function f, limited to a finite set of
integers {0,…,n}, is not optimal for that subset
It appears that the optimal solution fn for {0,…,F2n} is
related to f():
Set fn(0) = f(F2n-1) + 1/F2n-1
Shift all other values so that mink{fn(k)} = 0
3
6
0
1/3
1
4
7
2/3
1
4/3
2
5
0
5/3
2
38/15
If this were true, this would imply that f is optimal, as
maxk{fn(k)} converges to supn{f(n)}
Extending to Other Problems
The method outlined here is only a solution to a
particular instance of a constraint satisfaction problem.
Our approach was to take a function f and express it as
A numeration system S
A (simpler) function f* to perform on the basis elements of S
We would like to generalize the results of this approach,
so it can be used to solve different constraint problems.
In particular, can all metric space BSPs be solved this
way? If not, what are the necessary and sufficient
conditions on the distance constraints for such a solution
to exist?
Questions?