Efficient Memoization for Approximate Function Evaluation over Sequence Arguments AAIM 2014

advertisement
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
Efficient Memoization for Approximate Function
Evaluation over Sequence Arguments
AAIM 2014
Tamal Biswas and Kenneth W. Regan
University at Buffalo (SUNY)
9 July 2014
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
The Problem
1
Space of points x
= (x1 ; : : : ; xN ),
where N is not small (N
50).
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
The Problem
= (x1 ; : : : ; xN ),
1
Space of points x
2
Need to evaluate y
=
f (x ) for M
where N is not small (N
=
millions of x .
50).
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
The Problem
= (x1 ; : : : ; xN ),
1
Space of points x
2
Need to evaluate y
3
Each eval of f is expensive. Many repetitive evals.
=
f (x ) for M
where N is not small (N
=
millions of x .
50).
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
The Problem
= (x1 ; : : : ; xN ),
1
Space of points x
2
Need to evaluate y
3
Each eval of f is expensive. Many repetitive evals.
4
=
f (x ) for M
where N is not small (N
=
millions of x .
However, the target function (y1 ; : : : ; yM ) tolerates
approximation:
50).
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
The Problem
= (x1 ; : : : ; xN ),
1
Space of points x
2
Need to evaluate y
3
Each eval of f is expensive. Many repetitive evals.
4
=
f (x ) for M
where N is not small (N
=
millions of x .
However, the target function (y1 ; : : : ; yM ) tolerates
approximation:
Could be linear:
50).
= sumj aj yj . For mean or quantile statistics.
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
The Problem
= (x1 ; : : : ; xN ),
1
Space of points x
2
Need to evaluate y
3
Each eval of f is expensive. Many repetitive evals.
4
=
f (x ) for M
where N is not small (N
=
50).
millions of x .
However, the target function (y1 ; : : : ; yM ) tolerates
approximation:
Could be linear: = sumj aj yj . For mean or quantile statistics.
Could be non-linear but well-behaved, e.g., logistic regression.
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
The Problem
= (x1 ; : : : ; xN ),
1
Space of points x
2
Need to evaluate y
3
Each eval of f is expensive. Many repetitive evals.
4
=
f (x ) for M
where N is not small (N
=
50).
millions of x .
However, the target function (y1 ; : : : ; yM ) tolerates
approximation:
Could be linear: = sumj aj yj . For mean or quantile statistics.
Could be non-linear but well-behaved, e.g., logistic regression.
5
Two other helps: f is smooth and bounded.
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
The Problem
= (x1 ; : : : ; xN ),
1
Space of points x
2
Need to evaluate y
3
Each eval of f is expensive. Many repetitive evals.
4
=
f (x ) for M
where N is not small (N
=
50).
millions of x .
However, the target function (y1 ; : : : ; yM ) tolerates
approximation:
Could be linear: = sumj aj yj . For mean or quantile statistics.
Could be non-linear but well-behaved, e.g., logistic regression.
5
6
Two other helps: f is smooth and bounded.
And we need good approximation to ( ) (only) under
distributions D (x ) controlled by a few model-specific parameters,
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
The Euclidean Grid Case
Pre-compute—or memoize—f (u ) for gridpoints u. Given x not in the
grid, several ideas:
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
The Euclidean Grid Case
Pre-compute—or memoize—f (u ) for gridpoints u. Given x not in the
grid, several ideas:
1
Find nearest neighbor u, use f (u ) as y. Not good enough
approximation.
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
The Euclidean Grid Case
Pre-compute—or memoize—f (u ) for gridpoints u. Given x not in the
grid, several ideas:
1
2
Find nearest neighbor u, use f (u ) as y. Not good enough
approximation.
Write x = k bk uk , use y = k bk f (uk ).
P
P
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
The Euclidean Grid Case
Pre-compute—or memoize—f (u ) for gridpoints u. Given x not in the
grid, several ideas:
1
2
Find nearest neighbor u, use f (u ) as y. Not good enough
approximation.
Write x = k bk uk , use y = k bk f (uk ). Seems better. But N is
not small.
P
P
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
The Euclidean Grid Case
Pre-compute—or memoize—f (u ) for gridpoints u. Given x not in the
grid, several ideas:
1
2
3
Find nearest neighbor u, use f (u ) as y. Not good enough
approximation.
Write x = k bk uk , use y = k bk f (uk ). Seems better. But N is
not small.
Use any neighbor u and do Taylor expansion.
P
P
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
The Euclidean Grid Case
Pre-compute—or memoize—f (u ) for gridpoints u. Given x not in the
grid, several ideas:
1
2
3
Find nearest neighbor u, use f (u ) as y. Not good enough
approximation.
Write x = k bk uk , use y = k bk f (uk ). Seems better. But N is
not small.
Use any neighbor u and do Taylor expansion.
P
P
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
Taylor Expansion
f (x ) = f (u ) +
X̀(x
i =1
i
ui )
@f
@ xi
(u ) +
1
2
X(x
i ;j
i
ui )(xj
uj )
@2f
@ ui @ uj
+
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
Taylor Expansion
f (x ) = f (u ) +
X̀(x
i =1
1
i
ui )
@f
@ xi
(u ) +
1
2
X(x
i ;j
i
ui )(xj
uj )
@2f
@ ui @ uj
+
Given that f is fairly smooth as well as bounded, and the grid is
fine enough, we can ignore quadratic and higher terms.
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
Taylor Expansion
f (x ) = f (u ) +
X̀(x
i =1
i
ui )
@f
@ xi
(u ) +
1
2
X(x
i
ui )(xj
uj )
i ;j
@2f
@ ui @ uj
+
1
Given that f is fairly smooth as well as bounded, and the grid is
fine enough, we can ignore quadratic and higher terms.
2
Problem is that now we need to memoize all fi (u ) =
data!
@f
(u ).
@ xi
50x
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
Taylor Expansion
f (x ) = f (u ) +
X̀(x
i =1
i
ui )
@f
@ xi
(u ) +
1
2
X(x
i
ui )(xj
uj )
i ;j
@2f
@ ui @ uj
+
1
Given that f is fairly smooth as well as bounded, and the grid is
fine enough, we can ignore quadratic and higher terms.
2
Problem is that now we need to memoize all fi (u ) =
data!
3
Main Question: Can we “cheat” by shortcutting the partials?
@f
(u ).
@ xi
50x
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
Taylor Expansion
f (x ) = f (u ) +
X̀(x
i =1
i
ui )
@f
@ xi
(u ) +
1
2
X(x
i
ui )(xj
uj )
i ;j
@2f
@ ui @ uj
+
1
Given that f is fairly smooth as well as bounded, and the grid is
fine enough, we can ignore quadratic and higher terms.
2
Problem is that now we need to memoize all fi (u ) =
data!
3
Main Question: Can we “cheat” by shortcutting the partials?
4
If f were linear, obviously
@f
=
@ xi
constant.
@f
(u ).
@ xi
50x
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
Taylor Expansion
f (x ) = f (u ) +
X̀(x
i =1
i
ui )
@f
@ xi
(u ) +
1
2
X(x
i
ui )(xj
uj )
i ;j
@2f
@ ui @ uj
+
1
Given that f is fairly smooth as well as bounded, and the grid is
fine enough, we can ignore quadratic and higher terms.
2
Problem is that now we need to memoize all fi (u ) =
data!
3
Main Question: Can we “cheat” by shortcutting the partials?
4
If f were linear, obviously
5
What if the grid is warped “similarly” to f ?
@f
=
@ xi
constant.
@f
(u ).
@ xi
50x
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
Context: Decision-Making Model at Chess
1
Domain: A set of decision-making situations t .
Chess game turns
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
Context: Decision-Making Model at Chess
1
Domain: A set of decision-making situations t .
Chess game turns
2
Inputs: Values vi for every option at turn t .
Computer values of moves mi
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
Context: Decision-Making Model at Chess
1
Domain: A set of decision-making situations t .
Chess game turns
2
Inputs: Values vi for every option at turn t .
Computer values of moves mi
3
Parameters: s ; c ; : : : denoting skills and levels.
Trained correspondence to chess Elo rating E
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
Context: Decision-Making Model at Chess
1
Domain: A set of decision-making situations t .
Chess game turns
2
Inputs: Values vi for every option at turn t .
Computer values of moves mi
3
4
Parameters: s ; c ; : : : denoting skills and levels.
Trained correspondence to chess Elo rating E
Defines fallible agent P (s ; c ; : : : ).
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
Context: Decision-Making Model at Chess
1
Domain: A set of decision-making situations t .
Chess game turns
2
Inputs: Values vi for every option at turn t .
Computer values of moves mi
3
4
5
Parameters: s ; c ; : : : denoting skills and levels.
Trained correspondence to chess Elo rating E
Defines fallible agent P (s ; c ; : : : ).
Main Output: Probabilities pt ;i for P (s ; c ; : : : ) to select option i at
time t .
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
Context: Decision-Making Model at Chess
1
Domain: A set of decision-making situations t .
Chess game turns
2
Inputs: Values vi for every option at turn t .
Computer values of moves mi
3
4
5
6
Parameters: s ; c ; : : : denoting skills and levels.
Trained correspondence to chess Elo rating E
Defines fallible agent P (s ; c ; : : : ).
Main Output: Probabilities pt ;i for P (s ; c ; : : : ) to select option i at
time t .
Derived Outputs:
Aggregate statistics: move-match MM, average error AE, . . .
Projected confidence intervals for those statistics.
“Intrinsic Performance Ratings” (IPR’s).
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
How the Model Operates
1
Use analysis data and parameters s ; c ; : : : to compute “perceived
inferiorities” xi 2 [0:0; 1:0] of each of N possible moves. Let
ai = 1 xi .
( x1 =
0:0 x2
x3 xN ) (a1 = 1:0 a2 aN 0)
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
How the Model Operates
1
Use analysis data and parameters s ; c ; : : : to compute “perceived
inferiorities” xi 2 [0:0; 1:0] of each of N possible moves. Let
ai = 1 xi .
( x1 =
2
0:0 x2
x3 xN ) (a1 = 1:0 a2 aN 0)
For a fixed function h, solve
h (pi )
h (p1 ) =
ai subject to
P
N
i =1 pi =
1:
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
How the Model Operates
1
Use analysis data and parameters s ; c ; : : : to compute “perceived
inferiorities” xi 2 [0:0; 1:0] of each of N possible moves. Let
ai = 1 xi .
( x1 =
2
3
0:0 x2
x3 xN ) (a1 = 1:0 a2 aN 0)
For a fixed function h, solve
h (pi )
h (p1 ) =
ai subject to
=
1 (a h (p ))
i
1
It suffices to compute p1 ; then pi
h
P
N
i =1 pi =
1:
is relatively easy.
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
How the Model Operates
1
Use analysis data and parameters s ; c ; : : : to compute “perceived
inferiorities” xi 2 [0:0; 1:0] of each of N possible moves. Let
ai = 1 xi .
( x1 =
2
3
4
0:0 x2
x3 xN ) (a1 = 1:0 a2 aN 0)
For a fixed function h, solve
h (pi )
h (p1 ) =
ai subject to
=
1 (a h (p ))
i
1
It suffices to compute p1 ; then pi
( si )c
h
P
N
i =1 pi =
1:
is relatively easy.
Model uses ai = e
, where i is the scaled difference in value
between the best move and the i -th best move. Also fairly cheap.
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
How the Model Operates
1
Use analysis data and parameters s ; c ; : : : to compute “perceived
inferiorities” xi 2 [0:0; 1:0] of each of N possible moves. Let
ai = 1 xi .
( x1 =
2
3
4
5
0:0 x2
x3 xN ) (a1 = 1:0 a2 aN 0)
For a fixed function h, solve
h (pi )
h (p1 ) =
ai subject to
=
1 (a h (p ))
i
1
It suffices to compute p1 ; then pi
h
P
N
i =1 pi =
1:
is relatively easy.
( si )c
Model uses ai = e
, where i is the scaled difference in value
between the best move and the i -th best move. Also fairly cheap.
But y
=
p1
=
f (x ) may require expensive iterative approximation.
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
How the Model Operates
1
Use analysis data and parameters s ; c ; : : : to compute “perceived
inferiorities” xi 2 [0:0; 1:0] of each of N possible moves. Let
ai = 1 xi .
( x1 =
2
3
4
0:0 x2
x3 xN ) (a1 = 1:0 a2 aN 0)
For a fixed function h, solve
h (pi )
h (p1 ) =
ai subject to
=
1 (a h (p ))
i
1
It suffices to compute p1 ; then pi
h
P
N
i =1 pi =
1:
is relatively easy.
( si )c
Model uses ai = e
, where i is the scaled difference in value
between the best move and the i -th best move. Also fairly cheap.
=
p1
=
f (x ) may require expensive iterative approximation.
5
But y
6
Note f is symmetric, so x can be an ordered sequence.
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
Side Note and Pure-Math Problem
1
The simple function h (p ) = p, so pi
=
P
ai
i
ai
, works poorly.
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
Side Note and Pure-Math Problem
1
2
The simple function h (p ) = p, so pi
Much better is h (p ) =
1
log(1=p ) .
=
P
ai
i
ai
, works poorly.
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
Side Note and Pure-Math Problem
1
The simple function h (p ) = p, so pi
2
Much better is h (p ) =
3
Gives pi
=
=
P
1
log(1=p ) .
p1bi , where bi
1
= 1=ai = 1 x .
i
ai
i
ai
, works poorly.
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
Side Note and Pure-Math Problem
1
The simple function h (p ) = p, so pi
=
P
ai
i
ai
, works poorly.
1
log(1=p ) .
2
Much better is h (p ) =
3
Gives pi
4
Problem: Given y and b1 ; : : : ; bN , find p such that
=
p1bi , where bi
p b1
1
= 1=ai = 1 x .
i
+p
b2
+
+ pb
N
=
y:
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
Side Note and Pure-Math Problem
1
The simple function h (p ) = p, so pi
=
P
ai
i
ai
, works poorly.
1
log(1=p ) .
2
Much better is h (p ) =
3
Gives pi
4
Problem: Given y and b1 ; : : : ; bN , find p such that
=
p1bi , where bi
p b1
5
For N
=
1, simply p
=
1
= 1=ai = 1 x .
i
+p
b2
+
+ pb
N
=
y:
py. So this generalizes taking roots.
b
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
Side Note and Pure-Math Problem
1
The simple function h (p ) = p, so pi
=
P
ai
i
ai
, works poorly.
1
log(1=p ) .
2
Much better is h (p ) =
3
Gives pi
4
Problem: Given y and b1 ; : : : ; bN , find p such that
=
p1bi , where bi
1
= 1=ai = 1 x .
i
p b1
=
5
For N
1, simply p
6
We have y
=
=
1 and b1
+p
b2
+
+ pb
N
=
y:
py. So this generalizes taking roots.
b
=
1. Can this be solved without iteration?
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
Side Note and Pure-Math Problem
1
The simple function h (p ) = p, so pi
=
P
ai
i
ai
, works poorly.
1
log(1=p ) .
2
Much better is h (p ) =
3
Gives pi
4
Problem: Given y and b1 ; : : : ; bN , find p such that
=
p1bi , where bi
1
= 1=ai = 1 x .
i
p b1
=
1, simply p
=
+p
b2
+
+ pb
N
=
y:
py. So this generalizes taking roots.
5
For N
6
We have y
7
Also: Current Expansion uses data for each depth d.
=
1 and b1
b
=
1. Can this be solved without iteration?
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
Axioms and Properties
1
2
Suppose x = (0:0; 0:0; 0:0; 0:0; 1:0; 1:0; : : : ; 1:0).
This means four equal-optimal moves, all others lose instantly.
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
Axioms and Properties
1
2
3
Suppose x = (0:0; 0:0; 0:0; 0:0; 1:0; 1:0; : : : ; 1:0).
This means four equal-optimal moves, all others lose instantly.
The model will give p1 = p2 = p3 = p4 = 0:25, all other pi = 0.
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
Axioms and Properties
1
2
3
4
Suppose x = (0:0; 0:0; 0:0; 0:0; 1:0; 1:0; : : : ; 1:0).
This means four equal-optimal moves, all others lose instantly.
The model will give p1 = p2 = p3 = p4 = 0:25, all other pi = 0.
Axiom: Influence of poor moves tapers off:
@f
As xi ! 1:0;
! 0:
@ xi
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
Axioms and Properties
1
2
3
4
5
Suppose x = (0:0; 0:0; 0:0; 0:0; 1:0; 1:0; : : : ; 1:0).
This means four equal-optimal moves, all others lose instantly.
The model will give p1 = p2 = p3 = p4 = 0:25, all other pi = 0.
Axiom: Influence of poor moves tapers off:
@f
As xi ! 1:0;
! 0:
@ xi
Axiom: Influence of lower-ranked moves becomes less:
@f
@f
For i < j ;
<
:
@ xj @ xi
(Not quite what was meant. . . )
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
Axioms and Properties
1
2
3
4
5
6
Suppose x = (0:0; 0:0; 0:0; 0:0; 1:0; 1:0; : : : ; 1:0).
This means four equal-optimal moves, all others lose instantly.
The model will give p1 = p2 = p3 = p4 = 0:25, all other pi = 0.
Axiom: Influence of poor moves tapers off:
@f
As xi ! 1:0;
! 0:
@ xi
Axiom: Influence of lower-ranked moves becomes less:
@f
@f
For i < j ;
<
:
@ xj @ xi
(Not quite what was meant. . . )
“Universal Guess”: In the first Taylor term, use
@f
1
1
ai = (1 xi ):
@ xi
i
i
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
The Tapered Grid
1
Grid needs higher precision near 0.0 in any coordinate, less near 1.0.
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
The Tapered Grid
1
Grid needs higher precision near 0.0 in any coordinate, less near 1.0.
2
Grid needs less precision also for higher coordinates i .
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
The Tapered Grid
1
Grid needs higher precision near 0.0 in any coordinate, less near 1.0.
2
Grid needs less precision also for higher coordinates i .
3
Given x = (x1 ; : : : ; xN ), how to define “nearest” gridpoint
u = (u1 ; : : : ; uN )?
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
The Tapered Grid
1
Grid needs higher precision near 0.0 in any coordinate, less near 1.0.
2
Grid needs less precision also for higher coordinates i .
3
4
Given x = (x1 ; : : : ; xN ), how to define “nearest” gridpoint
u = (u1 ; : : : ; uN )?
How to define a good bounding set u ; v ; : : : ?
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
The Tapered Grid
1
Grid needs higher precision near 0.0 in any coordinate, less near 1.0.
2
Grid needs less precision also for higher coordinates i .
3
Given x = (x1 ; : : : ; xN ), how to define “nearest” gridpoint
u = (u1 ; : : : ; uN )?
4
How to define a good bounding set u ; v ; : : : ?
5
How to make the computation of nearby gridpoints efficient?
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
Strategies
Given x
1
= (x1 ; x2 ; : : : ; xN ),
Bounds x + and x are well-defined by rounding each coordinate
up/down to a gridpoint.
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
Strategies
Given x
1
2
= (x1 ; x2 ; : : : ; xN ),
Bounds x + and x are well-defined by rounding each coordinate
up/down to a gridpoint.
“Nearest Neighbor” is defined by a nondecreasing sequence
using only values from x + and x . Always u1 = 0:0 = x1+ = x1 .
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
Strategies
Given x
1
= (x1 ; x2 ; : : : ; xN ),
Bounds x + and x are well-defined by rounding each coordinate
up/down to a gridpoint.
2
“Nearest Neighbor” is defined by a nondecreasing sequence
using only values from x + and x . Always u1 = 0:0 = x1+ = x1 .
3
Start with x , but “round up” when the rounding-down deficiency
exceeds some weighted threshold.
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
Strategies
Given x
1
= (x1 ; x2 ; : : : ; xN ),
Bounds x + and x are well-defined by rounding each coordinate
up/down to a gridpoint.
2
“Nearest Neighbor” is defined by a nondecreasing sequence
using only values from x + and x . Always u1 = 0:0 = x1+ = x1 .
3
Start with x , but “round up” when the rounding-down deficiency
exceeds some weighted threshold.
4
Once you have “rounded up,” you can use same gridpoint value, but
cannot “round down” again until x values come above it.
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
Strategies
Given x
1
= (x1 ; x2 ; : : : ; xN ),
Bounds x + and x are well-defined by rounding each coordinate
up/down to a gridpoint.
2
“Nearest Neighbor” is defined by a nondecreasing sequence
using only values from x + and x . Always u1 = 0:0 = x1+ = x1 .
3
Start with x , but “round up” when the rounding-down deficiency
exceeds some weighted threshold.
4
Once you have “rounded up,” you can use same gridpoint value, but
cannot “round down” again until x values come above it.
5
Like a heuristic for solving Knapsack problems.
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
Strategies
Given x
1
= (x1 ; x2 ; : : : ; xN ),
Bounds x + and x are well-defined by rounding each coordinate
up/down to a gridpoint.
2
“Nearest Neighbor” is defined by a nondecreasing sequence
using only values from x + and x . Always u1 = 0:0 = x1+ = x1 .
3
Start with x , but “round up” when the rounding-down deficiency
exceeds some weighted threshold.
4
Once you have “rounded up,” you can use same gridpoint value, but
cannot “round down” again until x values come above it.
5
Like a heuristic for solving Knapsack problems.
6
Refinements which we have not yet fully explored include working
backward from i = N (too).
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
Strategies
Given x
1
= (x1 ; x2 ; : : : ; xN ),
Bounds x + and x are well-defined by rounding each coordinate
up/down to a gridpoint.
2
“Nearest Neighbor” is defined by a nondecreasing sequence
using only values from x + and x . Always u1 = 0:0 = x1+ = x1 .
3
Start with x , but “round up” when the rounding-down deficiency
exceeds some weighted threshold.
4
Once you have “rounded up,” you can use same gridpoint value, but
cannot “round down” again until x values come above it.
5
Like a heuristic for solving Knapsack problems.
6
Refinements which we have not yet fully explored include working
backward from i = N (too).
7
Combine with “universal gradient” idea, or even ignore said idea.
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
Results So Far. . .
1
We ran experiments under a randomized distribution D in which
r 2 [xi 1 ; 1] is sampled uniformly and
xi
= xi 1 + (r
xi
1)
(capped at xi
= 1:0):
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
Results So Far. . .
1
We ran experiments under a randomized distribution D in which
r 2 [xi 1 ; 1] is sampled uniformly and
xi
2
= xi 1 + (r
xi
1)
(capped at xi
= 1:0):
That is, we make each move randomly slightly inferior to the
previous one. We choose according to N , to make expectation
xi 1:0 as i nears N .
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
Results So Far. . .
1
We ran experiments under a randomized distribution D in which
r 2 [xi 1 ; 1] is sampled uniformly and
xi
2
3
= xi 1 + (r
xi
1)
(capped at xi
= 1:0):
That is, we make each move randomly slightly inferior to the
previous one. We choose according to N , to make expectation
xi 1:0 as i nears N .
Results under D are good: 3-place precision on (: : : ) given
2-place to 1-place precision on grid.
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
Results So Far. . .
1
We ran experiments under a randomized distribution D in which
r 2 [xi 1 ; 1] is sampled uniformly and
xi
2
3
4
= xi 1 + (r
xi
1)
(capped at xi
= 1:0):
That is, we make each move randomly slightly inferior to the
previous one. We choose according to N , to make expectation
xi 1:0 as i nears N .
Results under D are good: 3-place precision on (: : : ) given
2-place to 1-place precision on grid.
Results on real chess data. . .
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
Results So Far. . .
1
We ran experiments under a randomized distribution D in which
r 2 [xi 1 ; 1] is sampled uniformly and
xi
2
3
4
= xi 1 + (r
xi
1)
(capped at xi
= 1:0):
That is, we make each move randomly slightly inferior to the
previous one. We choose according to N , to make expectation
xi 1:0 as i nears N .
Results under D are good: 3-place precision on (: : : ) given
2-place to 1-place precision on grid.
Results on real chess data. . . still a work in progress.
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
Results for NN+UG
Efficient Memoization for Approximate Function Evaluation over Sequence Arguments
Results for Just NN
Download