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