proximity inversion functions on the non-negative integers presented by brendan lucier june 5, 2005...
TRANSCRIPT
Proximity Inversion Functions on the Non-Negative Integers
Presented By
Brendan LucierJune 5, 2005 CMS Summer 2005 MeetingAutomatic Sequences and Related Topics
To be seen
Introduction and Problem StatementA SolutionProving CorrectnessFuture Work
To be seen
Introduction and Problem Statement
A SolutionProving CorrectnessFuture 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
f(0) = 1
Place point 0 somewhere; let’s say f(0) = 1
0
Example: First Six Values
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
0 1
Example: First Six Values
f(0) = 1 f(1) = 2f(2) = 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
2 0 1
Example: First Six Values
f(0) = 1 f(1) = 2f(2) = 1/2 f(3) = 3/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
2 30 1
Example: First Six Values
f(0) = 1 f(1) = 2f(2) = 1/2 f(3) = 3/2f(4) = 0
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
2 30 14
Example: First Six Values
f(0) = 1 f(1) = 2f(2) = 1/2 f(3) = 3/2f(4) = 0 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?
2 30 514
Example: First Six Values
f(0) = 1 f(1) = 2f(2) = 1/2 f(3) = 3/2f(4) = 0 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:
f(1) = 1/2 f(2) = 3/2f(3) = 0 f(4) = 1 f(0) = 11/5f(5) = 2
2 30 514
1 23 4 05
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 StatementA SolutionProving CorrectnessFuture 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
1 21/3 4/30 7/3
Our solution f() places the first ten values as follows
3 41 520
2/3
6
5/3
7
1/8
8
9/8
9
To be seen
Introduction and Problem StatementA SolutionProving CorrectnessFuture 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.
1 21/3 4/30 7/3
3 41 520
2/3
6
5/3
7
1/8
8
9/8
9
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 StatementA SolutionProving CorrectnessFuture 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():
1 21/3 4/3 7/3
3 41 52
2/3
6
5/3
7
0
0
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
1 21/3 4/3 7/3
3 41 52
2/3
6
5/3
7
38/15
0
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
2/3 5/30 1 2
3 41 52
1/3
6
4/3
7
38/15
0
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?