ࡱ> z{|}~` bjbjss t%ZZZj$4/:::P<0 ,:2D~8$$h.f1E@N,E@E@.^^^E@>1^E@^^t( ԝ:BPj0DhZm,;:<^=p>;;;^;;;E@E@E@E@0$T$$>0TxDzn: Progressive Parametric Query Optimization Pedro Bizarro Nicolas Bruno David J. DeWitt University of WisconsinMadison Microsoft Research University of WisconsinMadison pedro@cs.wisc.edu nicolasb@microsoft.com dewitt@cs.wisc.edu Abstract Many commercial applications rely on pre-compiled parameterized procedures to interact with a database. Unfortunately, executing a procedure with a set of parameters different from those used at compilation may be arbitrarily sub-optimal. Parametric query optimization (PQO) attempts to solve this problem by exhaustively determining the optimal plans in each point of the parameter space at compile time. However, PQO is likely not cost-effective if the query is executed infrequently or if it is executed with values only within a subset of the parameter space. In this chapter we propose instead to progressively explore the parameter space and build a parametric plan during several executions of the same query. We introduce algorithms that, as parametric plans are populated, are able to frequently bypass the optimizer but still execute optimal or near-optimal plans. Introduction There are two trivial alternatives to deal with the optimization and execution of parameterized queries. One approach, termed Optimize-Always, is to call the optimizer and generate a new execution plan every time the query is invoked. Another trivial approach, termed Optimize-Once, is to optimize the query just once with some set of parameter values and reuse the resulting physical plan for any other set of parameters. Both approaches have disadvantages. Optimize-Always requires an optimization call for each execution. The optimization call may be a significant part of the total execution time especially for simple queries. In addition, Optimize-Always may limit the number of concurrent queries in the system, as the optimization process itself may consume too much memory and may limit throughput. On the other hand, Optimize-Once returns a single plan that is used for all points in the parameter space. The problem is that the chosen plan may be arbitrarily sub-optimal in all points of the parameter space other then the point for which the query was optimized for. Parametric Query Optimization An alternative to Optimize-Always and Optimize-Once is Parametric Query Optimization (PQO). At optimization time, PQO determines a set of plans such that, for each point in the parameter space, there is at least one plan in the set that it is optimal. The regions of optimality of each plan are also computed. PQO proposals often assume that the cost formulas of physical plans are linear or piece-wise linear with respect to the cost parameters or that the regions of optimality are connected and convex. However, in reality, the cost functions of physical plans are not necessarily linear or piece-wise linear and the regions of optimality are not necessarily connected nor convex. In addition, PQO has a much higher cost than optimizing a query a single time (e.g., PQO may require multiple invocations of the optimizer with different parameters [ REF Hulgeri_PQO \h 4,  REF Hulgeri_Parametric \h 5]). Thus, from the database perspective, when a parametric query execution request arrives, it is not clear if PQO should be used or not: it may not be cost-effective to solve the PQO problem if the procedure is not executed frequently or if it is executed with values only within a sub-space of the entire parameter space. Contributions The main contributions of this paper are: In Section  REF _Ref139825388 \r \h 2 we propose Progressive Parametric Query Optimization (PPQO), a new technique to improve the performance of processing parameterized queries. We also propose the Parametric Plan Interface as a way to incorporate PPQO in a DBMS with minimal changes to query processing. In Section  REF _Ref132773607 \r \h  \* MERGEFORMAT 3 we propose Bounded, an implementation of PPQO with proven guarantees of optimality. In Section  REF _Ref135801421 \r \h 4 we propose Ellipse, another implementation of PPQO with higher hit rates and better scalability than Bounded. Finally, in Section  REF _Ref140411350 \r \h 5 we present an extensive performance evaluation of PPQO using a prototype implementation and Microsofts SQL Server 2005 DBMS. Progressive Parametric Query Optimization We propose a new technique called Progressive Parametric Query Optimization (PPQO) that addresses the shortcomings of PQO listed in Section  REF _Ref132446316 \r \h  \* MERGEFORMAT 1.1. In essence, we want to progressively solve or approximate the solution to the PQO problem (formalized in Section  REF _Ref136321942 \r \h  \* MERGEFORMAT 2.1) as successive query execution calls, with potentially different input parameters, are submitted. Given a query and its parameter values, an optimization call returns the optimal physical plan and the estimated cost of executing it. PPQO intercepts the inputs and outputs to and from the optimizer and registers which plans are estimated to be optimal for which points in the parameter space in a structure called Parametric Plan (PP), as described in Section  REF _Ref140410691 \r \h  \* MERGEFORMAT 2.2. Eventually, as parametric plans are populated, PPQO may be able to bypass the optimization process. Instead, when a query execution request arrives, PPQO uses its parametric plan to infer which plan to use for a particular set of parameter values. If it is able to find a plan, then optimization is avoided. Otherwise, an optimization call is made and its estimated optimal plan and cost is added to the querys parametric plan for future use. Due to the size of the parameter space, parametric plans cannot be implemented simply as an exact lookup against a cache of plans as there would be too many cache misses. Also, due to the non-linear and discontinuous nature of cost functions, parametric plans should not be implemented as nearest neighbor lookup structures as there will be no guarantee that the optimal plan of the nearest neighbor is optimal or close to optimal for the parameter point being considered. The PQO Problem A formal description of the PQO problem (adapted from other work [ REF Ganguly_PQO \h  \* MERGEFORMAT 2,  REF Hulgeri_PQO \h  \* MERGEFORMAT 4]) is presented below: A (parametric) query Q is a text representation of a relational query with placeholders for m values vpt=(v1, , vm). Vector vpt is called a ValuePoint. Let plan p be some execution plan that evaluates query Q for vpt. The cost function of p, p(cpt), is a function of n cost parameters, cpt=(s1, , sn). Vector cpt is called a CostPoint and each si is a cost parameter with an ordered domain. For every legal value of the parameters, there is some plan that is optimal. Given a parametric query Q, the maximum parametric set of plans (MPSP) is the set of plans, each of which is optimal for some point in the n-dimensional cost-based parameter space. MPSP = {p | p is optimal for some point in the cost-based parameter space}. The region of optimality for plan p is denoted r(p), r(p) = {(t1, , tn) | p is optimal at (c1=t1, , cn=tn)}. A parametric optimal set of plans (POSP) is a minimal subset of MPSP that includes at least one optimal plan for each point in the parameter space. The parametric query optimization (PQO) problem is to find a POSP and the region of optimality for each plan in POSP. The Parametric Plan Interface The Parametric Plan (PP) interface has two operations, addPlan and getPlan described below. PP is used during query processing as shown in  REF _Ref132446263 \h  \* MERGEFORMAT Figure 1. addPlan(Q, cpt, p, cost) registers that plan p, with estimated cost cost, is optimal for query Q at CostPoint cpt. getPlan(Q, cpt) returns the plan that should be used for query Q and CostPoint cpt or returns null. processQuery ( inputs: Query Q, ValuePoint vpt inputs/outputs: PP pp) { CostPoint cpt!(Q, vpt); // Convert ValuePoint to CostPoint Plan p!pp.getPlan(Q, cpt); // what plan to use? if (p == NULL) { Cost cost; // cost is output parameter in call below p!optimize(Q, vpt, cost); // calls optimizer pp.addPlan(Q, cpt, p, cost); // stores info in PP }; execute(p); }; Figure  SEQ Figure \* ARABIC 1  Using Parametric Plans Function  consults the database catalog and query Q, and transforms ValuePoint vpt into CostPoint cpt. Function  is optimizer specific. Section  REF _Ref132773684 \r 2.4 justifies why  is needed. Besides PPQO, strategies Optimize-Always and Optimize-Once can also be coded with simple implementations of the PP interface. For Optimize-Always, addPlan is an empty method and getPlan simply returns null, forcing an optimization for every query, as shown in  REF _Ref142121296 \h Figure 2. For Optimize-Once, as shown in  REF _Ref142121637 \h Figure 3, addPlan saves the plan it is given as input the first time it is called and getPlan returns that plan in all calls. 01: class Optimize-Always implements PP // Implements PP interface 02: begin-class 03: addPlan(inputs: Query Q, CostPoint cpt, Plan p, Cost cost) {}; // do nothing 04: getPlan(inputs: Query Q, CostPoint cpt; outputs: Plan p) { 05: return null; // always returns null 06: }; 07: end-class; Figure  SEQ Figure \* ARABIC 2 Implementation of Optimize-Always 01: class Optimize-Once implements PP // Implements PP interface 02: begin-class 03: Plan p; 04: Optimize-Once() {p==null;} // constructor 05: addPlan(inputs: Query Q, CostPoint cpt, Plan p, Cost cost) { 06: if (!this.p) {this.p=p;} // saves first plan it gets 07: }; 08: getPlan(inputs: Query Q, Cost-Point cpt; outputs: Plan p) { 09: return this.p; // returns first plan 10: } 11: end-class; Figure  SEQ Figure \* ARABIC 3 Implementation of Optimize-Once Requirements and Goals With PPQO we want to avoid as many optimization calls as possible and we are willing to execute sub-optimal plans if they have costs close to the cost of the optimal plan. Thus, PP implementations must obey the Inference Requirement below. INFERENCE REQUERIMENT: After a number of addPlan calls, there must be cases where PP.getPlan(Q, cpt) returns a (near-)optimal plan p for query Q and CostPoint cpt, even if PP.addPlan(Q, cpt, p, cost) was never called. Given a sequence of execution requests of the same query with potentially different input parameters, PPQO has two conflicting goals: GOAL 1: Minimize the number of optimization calls; and GOAL 2: Execute plans with costs as close to the cost of the optimal plan as possible. Note that a cache implementation of the PP interfacestoring (Q, cpt) pairs as the lookup key and (p, cost) as the inserted valuecannot fulfill the inference requirement because it would returns hits only for previously inserted (Q, cpt) pairs. Instead, we propose two PPQO implementations, each giving priority to one of the above goals: Boundeddescribed in Section  REF _Ref132773607 \r \h  \* MERGEFORMAT 3gives priority to Goal 2; Ellipsedescribed in Section  REF _Ref132773608 \r \h  \* MERGEFORMAT 4gives priority to Goal 1. The Parameter Transformation Function  This section justifies why  is needed and how is it implemented. A value parameter refers to an input parameter of a parametric SQL query to be executed. A cost parameter is an input parameter in formulas used by the optimizer to estimate the cost of a query plan. Cost parameters are estimated during query optimization from value parameters and from information in the database catalog. (Physical characteristics that affect the cost of query plans but do not depend on the query parameterse.g., the average size of tuples in a table or the cost of a random I/Oare considered physical constants, not cost parameters.) An important type of cost parameter used during optimization is the estimated number of tuples in (intermediate) relations processed by the query plan: most query plans have cost formulas that are monotonic with the number of tuples processed by the query. On the other hand, there is no obvious relationship between the value parameters and the cost of the query plans. Thus, it becomes much easier to characterize the regions of optimality using a cost-based parameter space than using a value-based parameter space. In Example  REF Eg_PPQO_01 \h  \* MERGEFORMAT 1, below, and in what follows, we use a cost-based parameter space whose dimensions are (predicate or join) selectivities. (The estimated number of tuples of each relation processed by a query is typically derived from selectivities of sub-expressions computed during query optimization.) Example  SEQ PPQO_Examples \* MERGEFORMAT 1: Relation freshmen(name, age) describes 1st-year graduate students. The age distribution of students is showed in  REF _Ref133382029 \h  \* MERGEFORMAT Figure 4. Consider different queries of the form SELECT * FROM freshmen WHERE age=$X$ OR age=$Y$. Assume that the optimal plan for queries that retrieve less than 5% of freshmen tuples is PIDX, a plan using an index on column age. For all other queries, the optimal plan is PFS, a full-table scan on freshmen. The parameters of this query can be represented as the absolute values used for parameters $X$ and $Y$ or as the selectivities of predicate age=$X$ and predicate age=$Y$. Accordingly, the costs of physical PIDX and PFS can be represented in value-based parameter spaces or in selectivity-based parameter spaces as seen in  REF _Ref135726406 \h Figure 5.  Figure  SEQ Figure \* ARABIC 4 Age distribution in table freshmen  SHAPE \* MERGEFORMAT    Value-based parameter space Selectivity-based parameter space Figure  SEQ Figure \* ARABIC 5 Value-based and selectivity-based parameter space In our implementation, function  takes query Q and its SQL parameters the ValuePoint vpt and returns cpt as a vector of selectivities. Computing the selectivities in cpt corresponds to selectivity estimation, a sub-task of query optimization. Other components of query optimization e.g., plan enumeration, rule transformation, plan costing, and plan pruning are not executed by function . (Note that the arity of the value-based parameter space and of the selectivity-based parameter space are not necessarily the same.) For range predicates and equality predicates, computing selectivity values from actual values the task of  can be done efficiently by lookups on cumulative histograms. The Bounded PPQO Implementation The first of the two proposed PPQO implementations, termed Bounded, is described in this section. This implementation provides guarantees on the quality of the plans returned by getPlan(Q, cpt), thus focusing on Goal 2 of PPQO (see Section  REF _Ref142296234 \r \h 2.3). Either the returned plan p is nullmeaning that an optimization call cannot be avoidedor plan p has a cost guaranteed to be within a bound (specified by the user) of the cost of the optimal plan. Preliminaries and Definitions Relationship equal ((): Given cpt1=(c1,1, , c1,n) and cpt2=(c2,1, , c2,n), cpt1(cpt2 iff c1,i=c2,i, (i. Relationships below (() and above ((): Given cpt1=(c1,1, & , c1,n) and cpt2=(c2,1, & , c2,n), cpt1(cpt2 (cpt1(cpt2) iff c1,i(c2,i (c1,ie"c2,i), (i and (i, c1,i(c2,i. Transitive property of ( and (. From the definitions it follows that if cpt1(cpt2 (cpt1(cpt2) and cpt2(cpt3 (cpt2(cpt3) then cpt1(cpt3 (cpt1(cpt3). Monotonic Assumption (MA): Given plan p and CostPoints cpt1 and cpt2, if cpt1 ( cpt2 then p(cpt1)(p(cpt2). Opt(cpt): It is the cost of an optimal plan at cpt. Theorem 1: If ((ti=(cpti, plani, costi), (tj=(cptj, planj, costj), such that plan plani (planj) is an optimal plan at cpti (cptj) with cost costi (costj), cpti ( cpt ( cptj and costj([costi, costi*M+A], then planj(cpt)([Opt(cpt), Opt(cpt)*M+A]. Proof: See Section  REF _Ref141627986 \r \h 8  REF Math_Theorem_Bounded \h  \* MERGEFORMAT Theorem 1 states that the difference between the cost of planj at cptj and the cost of plani at cpti can be used to bound the cost of planj at cpt, as long as costs are monotonic and cpti( cpt ( cptj. Implementation of addPlan Function addPlan(Q, cpt, p, cost)shown in associates with each parametric query Q a list, TQ, of triples (cpt, p, cost) ordered by cost, where p is an optimal plan at CostPoint cpt with an estimated execution cost of cost. addPlan (inputs: Query Q, CostPoint cpt, Plan p, Cost cost) { List TQ!getList(Q); // Get the list of triples for this query if (TQ ==null) { TQ = new List(); // If there is no list, create one } TQ.insert(cpt, p, cost); // Inserts triple in cost order setList(Q, TQ) // adds or replaces list TQ into catalog } Figure  SEQ Figure \* ARABIC 6 Boundeds addPlan Quality Guarantees of getPlan Boundeds getPlan(Q, cpt) is guaranteed to either return null or to return a plan with an estimated cost as close to the estimated optimal cost as desired. Specifically, for any constants Me"1 and Ae"0, Bounded s getPlan guarantees that, after calling p=getPlan(Q, cpt) one of the following holds: p is null or p(cpt)([Opt(cpt), Opt(cpt)*M+A]. Definition of bounding pair and bounded plan: Given two triples t1=(cpt1, p1, cost1) and t2=(cpt2, p2, cost2), where cpt1 and cpt2 are CostPoints, cost1 (cost2) is the positive cost of optimal plan p1 (p2) at cpt1 (cpt2), and any constants Me"1 and Ae"0. If cpt1(cpt(cpt2 and cost2([cost1, cost1*M+A] then we say that: (t1, t2) bound cpt. Plan p2 is bounded at cpt. Note that, by  REF Math_Theorem_Bounded \h  \* MERGEFORMAT Theorem 1, if p2 is bounded at cpt then p2(cpt)([Opt(cpt), Opt(cpt)*M+A]. Given Me"1, Ae"0, query Q and CostPoint cpt, Bounded s getPlan (see Section  REF _Ref136332731 \r \h  \* MERGEFORMAT 3.4) searches for a (t1, t2) pair that bounds cpt and returns p2, a bounded plan at cpt, fulfilling point ii) above. If no (t1, t2) bounding pair for cpt exists, getPlan returns null, fulfilling point i) above. Example  SEQ PPQO_Examples \* MERGEFORMAT 2: For some query Q, assume that Bounded.addPlan was already called for the triples showed in  REF _Ref136321767 \h  \* MERGEFORMAT Figure 7 (i.e., TQ=(t1, t2, t3, t4, t5, t6, t7).  SHAPE \* MERGEFORMAT  Figure  SEQ Figure \* ARABIC 7 Triples stored in Bounded Given, cptshowed as a black circlein the cost-based parameter space, M=1.5, and A=0, what plan will Bounded.getPlan(Q, cpt) return? There are six pairs (cpti, cptj) such that cpti ( cpt ( cptj: (cpt1, cpt5), (cpt1, cpt6), (cpt1, cpt7), (cpt3, cpt5), (cpt3, cpt6), and (cpt3, cpt7). From those pairs, only two triples bound cpt: pair (t3, t5), because c5([c3, c3*1.5+0](8([6, 9], and pair (t3, t6), because c6([c3, c3*1.5+0](9([6, 9]. Thus, both plan p5 and plan p6 are bounded at cpt and either of them can be returned by getPlan. Implementation of getPlan Consider TQ, the list containing k triples (cpti, pi, costi) maintained by method addPlan. A nave implementation of getPlan enumerates all pairs of tuples (ti, tj), ti(TQ, tj(TQ, ti(tj and tests if any pair bounds cpt. If some pair (ti, tj) bounds cpt, then plan pj can be returned as the answer to getPlan. To avoid the enumeration of all of pairs of triples that have to be checked, getPlan divides TQ into two lists. Then, given the properties of the two lists (described below), it is possible to trivially select a single triple, t1, from one list and a single triple, t2, from the other list such that only pair (t1, t2) needs to be checked. Definition of ( (below) operator and ( (above) operator: Consider a list, TQ, containing k triples (cpti, pi, costi) ordered by costi, with i=0...k-1, where cpti is a CostPoint and costi represents the cost of executing the optimal plan pi at cpti. Given cpt, another CostPoint, TQ(cpt is the list of triples (cpti, pi, costi) from TQ, ordered by costi, such that cpti(cpt. Similarly, TQ(cpt is the list of triples (cpti, pi, costi) from TQ ordered by costi, such that cpti(cpt. TQ(cpt and TQ(cpt are trivially constructed from a single pass over TQ. Note that, by definition, cptb(cpt(cpta, (cptb:tb=(cptb, pb, costb) ( TQ(cpt, (cpta:ta=(cpta, pa, costba)(TQ(cpt. Example  SEQ PPQO_Examples \* MERGEFORMAT 3: Let TQ=(t1, t2, t3, t4, t5, t6,), where the ti are the triples shown in  REF _Ref136321767 \h  \* MERGEFORMAT Figure 7. Then TQ(cpt=(t1, t3) (the triples in the light gray area) and TQ(cpt=(t5, t6, t7) (the triples in the dark gray area). Theorem 2: If (cptb:tb=(cptb, pb, costb), tb(T(cpt, (cpta:ta=(cpta, pa, costa), ta(T(cpt, such that costa([costb, costb*M+A], then costfirst([costlast, costlast*M+A], where costfirst is the cost of the first triple in T(cpt and costlast is the cost of the last triple in T( cpt. Proof: See Section  REF _Ref141627986 \r \h 8  REF Math_Theorem_FirstLast \h  \* MERGEFORMAT Theorem 2 states that when searching list T for a pair of triples that bound cpt, we only need to test the pair composed by the last triple from T(cpt and the first triple from T(cpt. As shown in Example  REF Eg_PPQO_02 \h  \* MERGEFORMAT 2 in Section  REF _Ref134900303 \r \h 3.3, there is potentially more than one possible solution to getPlan(Q, cpt). However, if there is a solution, by  REF Math_Theorem_FirstLast \h  \* MERGEFORMAT Theorem 2, we need only to check if costfirst([costlast, costlast*M+A], where cfirst is the cost of the first triple in TQ(cpt and clast is the cost of the last triple in TQ(cpt. If costfirst([costlast, costlast*M+A], then pfirst, the plan in the first triple of TQ(cpt, is returned. Before addPlan is called the first time, any getPlan call returns null. As new triples are added, the hit rate of getPlan is expected to increase. Intuitively, as more triples are added, the more likely it is that getPlan returns a plan because it is more likely that any two triples fulfill the requirements of the  REF Math_Theorem_FirstLast \h  \* MERGEFORMAT Theorem 2. Note also that the lower the values of M and A, the less likely it is to find pairs of triples that fulfill the requirements of  REF Math_Theorem_FirstLast \h  \* MERGEFORMAT Theorem 2, and thus, more added triples are needed to obtain higher hit rates. getPlan (inputs: Query Q, CostPoint cpt; outputs: Plan p) { List TQ !getList(Q); // gets list of triples for Q if (TQ ==null) { return null; } Triple last=null; // last triple of TQ(cpt for Triple t in TQ { // in cost order if (t.cpt ( cpt) {return t.p;} // exact match? if (t.cpt ( cpt) {last = t;} // keep track of last triple of TQ(cpt if (t.cpt ( cpt) { // first triple of TQ(cpt if (last == null) { return null; } if (t.c([last.c, last.c*M+A]) { return t.p; } } } } Figure  SEQ Figure \* ARABIC 8 Boundeds getPlan Note that getPlan, shown in  REF _Ref135543788 \h  \* MERGEFORMAT Figure 8, makes at most a single pass over TQ; thus, it has O(|TQ|) time complexity, where |TQ| is the number of elements in TQ. The Ellipse PPQO Implementation Boundeds getPlan provides strong guarantees on the cost of plans returned. However, we expect low hit rates of Boundeds getPlan for small values of M and A or before Boundeds TQ has been populated. In this section we propose Ellipse, another PPQO implementation of the PP interface, designed to address PPQOs Goal 1: to have higher hit rates. To have higher hit rates, Ellipse drops the guarantee of only returning plans with near-optimal costs. Instead, Ellipses getPlan returns (-acceptable plans. Definition of (-Acceptable Plans: For (([0, 1], if plan p is optimal at points cpt1 and cpt2 in the cost-based parameter space, then plan p is (-acceptable at point cpt in the cost-based parameter space iff distance(cpt1, cpt2)/(distance(cpt, cpt1) + distance(cpt, cpt2)) e" (, where the function distance returns the Euclidian distance between two points in an n-dimensional space. It follows from the definition of (-acceptable that if p is optimal at cpt1 and cpt2, then p is 1-acceptable only on points between cpt1 and cpt2 and p is 0-acceptable at all points. Note that in a 2-dimentional space, the area where p is (acceptable is equivalent to the definition of an ellipse; if p is optimal for cpt1 and cpt2, then p is (-acceptable at cpt if cpt is on or inside an ellipse of foci cpt1 and cpt2 such that the distance between the foci, distance(cpt1, cpt2), over the sum of the distances between cpt and the foci, distance(cpt, cpt1) + distance(cpt, cpt2), is (.  REF _Ref135562516 \h  \* MERGEFORMAT Figure 9 shows the areas where p is 0.5-acceptable, 0.8-acceptable, and 1-acceptable if p is optimal at cpt1 and cpt2.  SHAPE \* MERGEFORMAT  Figure  SEQ Figure \* ARABIC 9 Examples of (-acceptable plans Implementation of addPlan For each query Q and for each plan p that is optimal in some point of the parameter space, Ellipses addPlan(Q, cpt, p, cost) functionshown in  REF _Ref142126287 \h Figure 10maintains a list of (cpt, cost) pairs where p is optimal for Q. addPlan(inputs: Query Q, CostPoint cpt, Plan p, Cost cost) { PointList L!getPointList(Q, p); // where is p optimal? if (L==null) { // if there are no points were p is optimal for Q& L = new PointList(); // & create new PointList PlanList P!getPlanList(Q); // optimal plans for Q if (P==null) { P=new PlanList(p); } else { P.insert(p); // add new optimal plan to list } setPlanList(Q, P); // adds or replaces list P in catalog } L.insert(cpt, cost); // Adds the new (cpt, cost) information about plan p to L. setPointList(Q, p, L) // adds or replaces list L in catalog } Figure  SEQ Figure \* ARABIC 10 Ellipses addPlan Implementation of getPlan The implementation of Ellipse.getPlan consists of, for each optimal plan plan, iterating over pairs of points where plan is optimal for the given query, Q. For each pair of points (cpt1, cpt2), we test if plan is (-acceptable at the given point cpt. If it is, getPlan returns plan, otherwise getPlan continues trying other points and other plans. If all pairs of points of all plans for Q are exhausted without an (-acceptable plan being found, Ellipse.getPlan returns null. The algorithm is shown in  REF _Ref135587710 \h  \* MERGEFORMAT Figure 11. getPlan (inputs: Query Q, CostPoint cpt; outputs: Plan p) { PlanList P !getPlanList(Q); // gets optimal plans if (P ==null) {return null;} // tests for empty list for Plan plan in P { PointList L!getPointList(Q, plan); // gets list of points for PointPair (cpt1, cpt2) in L { // enumerates point pairs if (dist(cpt1, cpt2) / (dist(cpt, cpt1) + dist(cpt, cpt2))e"() { return plan; // found an (-acceptable plan } } } return null; } Figure  SEQ Figure \* ARABIC 11  Ellipse s getPlan Experimental Evaluation In this section we describe an experimental evaluation of PPQO using Microsofts SQL Server 2005. The client application implements the pseudo-code described in Sections  REF _Ref139825388 \r \h  \* MERGEFORMAT 2,  REF _Ref132773607 \r \h  \* MERGEFORMAT 3, and  REF _Ref135801421 \r \h  \* MERGEFORMAT 4; SQL Server is used only to obtain estimated optimal plans and estimated costs of plans and to implement function  (lines 7 and 3 in  REF _Ref132446263 \h  \* MERGEFORMAT Figure 1). Dataset, Metrics, and Setup The TPC-H benchmark [ REF TPCH \h  \* MERGEFORMAT 12] was used to evaluate the PPQO implementations.  REF _Ref139868205 \h  \* MERGEFORMAT Table 1, below, shows which tables are joined by each query. (The queries full SQL text, too large to show here, is shown in section  REF _Ref142126972 \r \h 10.) The tables are lineitem (L), orders (O), customer (C), supplier (S), part (P), partsupp (T), nation (N), and region (R). As in Reddy and Haritsa [ REF Reddy_PlanDiagrams \h  \* MERGEFORMAT 10], and unless otherwise noted, we added two extra selections to the TPC-H queries to more easily explore the parameter space. The two selections are of the form coli(vali, i=1,2, where, for each query, coli is one of the two columns shown in  REF _Ref139868205 \h  \* MERGEFORMAT Table 1 and vali is a random value from the domain of the column. Table  SEQ Table \* ARABIC 1 Description of TPC-H queries used QueryTables JoinedColumn 1Column 27LOCSNNc_acctbalo_totalprice8LOCPSNNRs_acctball_extendedprice9LOTPSNs_acctball_extendedprice18LLOCc_acctball_extendedprice21LLLOSNs_acctball_extendedprice For each query tested, we generated 10,000 random val1 and val2 values. (A (val1, val2) pair is a ValuePoint.) To guarantee that random parameter values uniformly explore the parameter space, we altered the values in the columns subject to the extra selections to enforce uniform distributions. For each query and each ValuePoint vpt we make a PP.getPlan lookup call (see  REF _Ref132446263 \h Figure 1 in page  PAGEREF _Ref142195898 \h 3), where PP is an Optimize-Once, Optimize-Always, Bounded, or Ellipse object. If getPlan returns a plan we call it a hit and check if the plan is optimal; if it is not optimal we check how its estimated cost compares with the estimated optimal cost. These give rise to the following metrics: HitRate: The percentage of PP.getPlan(Q, cpt) calls that return a plan. OptRate: The percentage of such plans that are optimal. HitSubOpt: How sub-optimal a returned plan is: phit(cpt)/Opt(cpt), with phit=PP.getPlan(Q, cpt). HitSubOpte"1. AvgHitSubOpt: The average of all HitSubOpt MaxHitSubOpt: The maximum of all HitSubOpt; reflects how risky a PP implementation can be. #Points: Number of (cpt, plan, cost) triples stored in a ParametricPlan. Equal to the number of misses. #Plans: Number of distinct optimal plans observed. QP: Number of queries processed. The experiments were run on a lightly loaded PentiumM at 1.73GHz with 1GB of RAM and using TPC-H scale factor 1. Indexes and statistics were built on all columns subject to selections and on all primary and foreign key columns. The optimizer cache was emptied before each optimization call. To compute some of the metrics above, the cost of sub-optimal plans (returned by PPQO) also had to be estimated. To estimate those costs, each sub-optimal plan was forcibly costed by SQL Server [ REF Microsoft_ForcePlan \h 8]. Unless stated otherwise, Bounded was run with M=1.1, A=0 and Ellipse was run with (=0.95. Variation on HitRate and OptRate The first experiment consisted of processing 10,000 queries using different random ValuePoints (i.e., 10,000 different random sets of SQL parameter values) for each query and observing how HitRate and OptRate varied for Bounded and Ellipse. This experiment was performed for five TPC-H queries and the results are shown in  REF _Ref142213646 \h Figure 12. Several trends can be observed: Ellipse always has a higher HitRate than Bounded. Except for Query 8 (more on this below), Bounded always has a higher OptRate than Ellipse. HitRate converges quickly, but OptRate converges slightly faster. HitRate monotonically increases as a function of QP because more queries processed imply a monotonically increasing number of misses and each miss adds more information to the ParametricPlan, therefore increasing the likelihood of future hits. OptRate naturally varies up and down, as the initial random (cpt, plan, cost) triples are added to the ParametricPlan object, until it converges. #Plans, #Points, Space, and Time  REF _Ref139956779 \h  \* MERGEFORMAT Figure 13 shows the #plans and #points for the experiments of the previous section. Bounded has higher #plans and #points because it has a lower HitRate; for every miss there will be a new point stored in the ParametricPlan object.  REF _Ref140093981 \h  \* MERGEFORMAT Figure 14 reports the time and space taken by the Bounded and Ellipse. Time (in seconds) includes time elapsed during optimization (if there is a miss), during addPlan, and during getPlan, but not query execution time. For comparison purposes, the time taken for Optimize-Once and Optimize-Always is also included. After 10,000 queries have been processed, Optimize-Always took between 5.2 and 13.6 times longer than Bounded and between 10.7 and 18.5 times longer than Ellipse. Ellipse was always faster than Bounded because it had fewer optimize and addPlan calls (due to higher HitRates) and faster getPlan calls (because it has less information stored in its parametric plans). Storing the plans within the ParametricPlan objects took only between ~600Kbytes to ~1300Kbytes using the original uncompressed XML plan representations provided by SQL Server. Storing zip-compressed XML plans instead would decrease the size of the plan representation by a factor of 10.  SHAPE \* MERGEFORMAT  Figure  SEQ Figure \* ARABIC 12 HitRate, OptRate (Y axis) as a function of the number of queries processed   Figure  SEQ Figure \* ARABIC 13 #Plan and #points for 10,000 QP   Figure  SEQ Figure \* ARABIC 14 Time and space for 10,000 QP MaxHitSubOpt and AvgHitSubOpt  REF _Ref139979877 \h  \* MERGEFORMAT Figure 15 shows the MaxHitSubOpt and AvgHitSubOpt for Bounded, Ellipse, and Optimize-Once (OptOnce in the graphs) for the same experiments as in the previous two sections.   Figure  SEQ Figure \* ARABIC 15 MaxHitSubOpt and AvgHitSubOpt Bounded is a very safe strategy; its most sub-optimal plan was only 5 times worse than the optimal plan, while the most sub-optimal plan chosen by Ellipse was 412 times more costly than the optimal plan (MaxHitSubOpt graph of  REF _Ref139979877 \h  \* MERGEFORMAT Figure 15). Ellipse is also generally safer than Optimize-Once, but, as shown in the bars for Q9 and Q18 on the left side of  REF _Ref139979877 \h  \* MERGEFORMAT Figure 15, its most sub-optimal plan can be as costly as Optimize-Onces most sub-optimal plan. An interesting observation is that although Bounded (with M=1.1) is supposedly guaranteed to return plans no more than 110% the cost of the optimal plan, in some experiments that guarantee was violated. Indeed, for queries 7, 8, 9, and 21, the most sub-optimal plan returned by Bounded was, respectively, 155%, 499%, 172%, and 177% the cost of the corresponding optimal plan. Further analysis showed that the problem lied with the tool that forces plans and that obtains the estimated cost of those plans. In some very rare cases, for a specific CostPoint cpt, the tool returned a plan, say, p1 with cost c1 at cpt, as if it was optimal, but some other plan, say, p2, had an estimated cost c2 at cpt lower than c1. This lead to two problems: 1) Bounded stored plans and costs in its data structures that were not optimal; 2) the costs of the (presumed) optimal plan appeared non-monotonic. Other than those very rare occasions, Bounded guaranteed its sub-optimality specifications. Thus, Bounded is even safer than what the previous graphs suggested, with costs at most M times the cost of optimal (the default value for M was 1.1). Another surprise was how well Optimize-Once did in the AvgHitSubOpt metric. On average, across all queries, Optimize-Once returned plans with costs ~140% the cost of optimal (the same average was ~101% for Bounded and ~106% for Ellipse). One possible explanation is the following. Optimize-Once obtains the optimal plan for the first of the 10,000 random parameter values and reuses that plan for all other values. If that first plan happens to be the plan with the minimal cost variation in the plan space, then there is a significant chance that that plan will do well in many other points in the space. Consider  REF _Ref140056165 \h  \* MERGEFORMAT Figure 16, which shows a conceptual representation of the costs of four different plans, each optimal in different regions of the parametric space.  SHAPE \* MERGEFORMAT  Figure  SEQ Figure \* ARABIC 16 Typical costs of optimal plans Executing either plan p3 or plan p4 for all points of the parameter space would yield costs, on average, not much higher than the cost of optimal. Coincidently, the likelihood that any given point lies in the space where either p3 or p4 are optimal is very high, and thus, by random chance, Optimize-Once is likely to use a plan that is not catastrophic. We will explore this issue further in Section  REF _Ref140056650 \n \h 5.6. Vary Bounded s M and Vary Ellipse s  In this experiment the value M of Bounded was varied from 1.1 to 4, for query 21 (to avoid clutter, and because its line is similar to the line of M=3, M=4 is not shown). The values of OptRate and HitRate are shown in  REF _Ref139983185 \h  \* MERGEFORMAT Figure 17 and  REF _Ref139983870 \h  \* MERGEFORMAT Figure 18. As expected, a lower value for M (tighter optimality bound) results in a higher OptRate but a lower HitRate. The same query 21 with the same random parameter values was run using Ellipse while varying  from 0.85 to 0.99 ((=0.85 not shown). As expected, a higher  results in a higher OptRate but a lower HitRate. These results appear in Figures  REF Fig_OptRate_VaryEllipse \h  \* MERGEFORMAT 19 and  REF Fig_HitRate_VaryEllipse \h  \* MERGEFORMAT 20.  Figure  SEQ Figure \* ARABIC 17 OptRate for Bounded, Q21  Figure  SEQ Figure \* ARABIC 18 HitRate for Bounded, Q21  Figure  SEQ Figure \* ARABIC 19 OptRate for Ellipse, Q21  Figure  SEQ Figure \* ARABIC 20 HitRate for Ellipse, Q21 Vary Query Order This experiment assessed the impact of the order of the incoming queries on the performance of the algorithms. The same 10,000 random values used for Query 21 were used again, but the order in which those 10,000 queries were processed was chosen randomly. Six random orders were generated and processed with Bounded (M=1.1, A=0), Ellipse (=0.9), and Optimize-Once. The results are shown in Figures  REF Fig_PPQO_Vary1 \h 21  REF Fig_PPQO_Vary4 \h 24 and summarized in  REF _Ref140385102 \h  \* MERGEFORMAT Table 2.  Figure  SEQ Figure \* ARABIC 21 Boundeds OptRate, 6 random query orders, Query 21  Figure  SEQ Figure \* ARABIC 22 Boundeds HitRate, 6 random query orders, Query 21  Figure  SEQ Figure \* ARABIC 23 Ellipses OptRate, 6 random query orders, Query 21  Figure  SEQ Figure \* ARABIC 24 Ellipses HitRate, 6 random query orders, Query 21 Table  SEQ Table \* ARABIC 2 Effects of Different Query Orders OptRateHitRateMaxMinAvgMaxMinAvgBounded89.0%86.0%87.8%86.0%85.0%85.8%Ellipse71.0%59.0%65.7%99.0%99.0%99.0%OptOnce48.0%3.0%35.2%--- Query order had essentially no effect on the final values of Boundeds OptRate, Boundeds HitRate, and Ellipses HitRate but it had a medium impact on the final value of Ellipses OptRate. On the other hand, for Optimize-Once, query order had a very significant impact on OptRate, with values between 3% and 48%. An interesting observation is that the performance of Optimize-Once was exactly the same for four out of those six random orders. Further analysis showed that, although the very first value of each of the six random orders were all different, for four of them, the corresponding optimal plan was the same. This follows the observation (Section  REF _Ref140278501 \r \h  \* MERGEFORMAT 5.4,  REF _Ref140056165 \h  \* MERGEFORMAT Figure 16, and [ REF Reddy_PlanDiagrams \h  \* MERGEFORMAT 10]) that some plans have very large optimality areas. Vary Number of Dimensions In all the experiments so far, the parameter space was 2-dimensional. The next experiment varies the number of dimensions, from 1 to 4. Query 8 is used (with extra parametric selections as needed) because it was the one with the largest number of plans and thus, more likely to suffer from the curse of dimensionality: an exponential growth of complexity with a linear increase in the number of dimensions. The query was then run for 10,000 random values for Bounded (M=1.1, A=0) and Ellipse ((=0.95).  REF _Ref140389882 \h  \* MERGEFORMAT Table 3 summarizes the results. Table  SEQ Table \* ARABIC 3 Variation of Number of Dimensions OptRateHitRate1-D2-D3-D4-D1-D2-D3-D4-DBounded77%65%65%56%100%94%88%49%Ellipse99%74%62%58%100%98%96%88% The results clearly indicate that as the number of dimensions in the parameter space increases, the lower the OptRate and HitRate. Some of the reasons that contribute to this effect are: Given a point cpt centered in the middle of the parameter space, the percentage of space ( cpt (or (cpt) decreases exponentially with the number of dimensions (affects Bounded). The number of unique optimal plans increases exponentially (affects Ellipse). Even though the number of plans and number of points increase exponentially for both Bounded and Ellipse, they increase slower for Ellipse; see Figures  REF Fig_PPQO_NumDim1 \h 25 and  REF Fig_PPQO_NumDim2 \h 26.   Figure  SEQ Figure \* ARABIC 25 #Plans and #Points, Bounded, Q8   Figure  SEQ Figure \* ARABIC 26 #Plans and #Points, Ellipse, Q8 Related Work Parametric query optimization was first mentioned by Graefe [ REF Graefe_ChoosePlan \h 3] and Lohman [ REF Lohman_1989 \h  \* MERGEFORMAT 7]. This pioneering early work also proposed dynamic query plans and a new meta-operator, the choose-plan [ REF Graefe_ChoosePlan \h 3]. Dynamic query plans include more than one physical plan choice. The plan to use is determined at run-time by the choose-plan operator after it costs the multiple alternatives given the now known parameter values. How to enumerate dynamic query plans was proposed only later [ REF Cole_ChoosePlan \h 1] with the concept of incomparability of costs: in the presence of unbound parameters at optimization-time, plan costs are represented as intervals; if intervals of alternative plans overlap, none is pruned. At run-time, when parameters are bound to values, the choose-plan selects the right plan to use. This approach may enumerate a very large number of plans, as shown by [ REF Rao_PQO_NonGeo \h  \* MERGEFORMAT 11], and all those plans may have to be re-cost at run-time by the choose-plan operator. Ioannidis et al [ REF Ioannidis2_Parametric \h 6] coined the term Parametric Query Optimization and proposed using randomized algorithms to optimize in parallel the parametric query for all possible values of unknown variables. This approach is unfeasible for continuous parameters, gives no guarantees on finding the optimal plan for a query, and places no bounds on the optimality of the plans produced. Ganguly [ REF Ganguly_PQO \h 2] uses a geometric approach to solve the PQO problem for one and two parameters under the assumption that cost functions are linear and that regions of optimality of plans are convex. Ganguly also solved PQO for restricted forms of non-linear, one-parameter, cost functions. Prasad [ REF Prasad_PQO_NonGeo \h 9] extended the geometric approach to solve PQO for ternary linear cost functions and binary non-linear functions. Hulgeri and Sudarshan [ REF Hulgeri_PQO \h 4] propose a solution to PQO that handles piecewise linear cost functions for an arbitrarily number of parameters but requires substantial changes to the query optimizer. AniPQO [ REF Hulgeri_Parametric \h 5] is a recent technique that approximates the solution to PQO for non-linear functions and for an arbitrary number of parameters. AniPQO approximates optimality regions to n-dimensional convex polytopes and finds its solution to PQO by calling the optimizer multiple times and evaluating plan costs up to thousands of times. Unlike AniPQO, PPQO never calls the optimizer or costs plans more often than what a traditional non-PQO approach would. Conclusions Progressive Parametric Query Optimization (PPQO) improves the performance of processing parameterized queries by combining the benefits of competing strategies. Like Optimize-Always and PQO, most of the times, PPQO selects plans that are estimated to be optimal or near-optimal. Like Optimize-Once, PPQO is able to avoid optimization calls in up to 99% of the queries. Like other PQO proposals, PPQO discovers most optimal plans and approximated optimality areas. In addition, unlike PQO, PPQO does not perform extra optimizer calls or extra plan-cost evaluation calls. At execution time, PPQO can select which plan to execute by using only the input cost parameters; there is no need to re-cost any plan. Finally, recent work [ REF Reddy_PlanDiagrams \h  \* MERGEFORMAT 10] shows that assumptions commonly held by PQO (plan convexity, plan uniqueness, and plan homogeneity) do not hold. These discoveries do not affect PPQO. The only assumption taken by PPQO is the monotonicity of plan costs. PPQO is also amenable to be implemented in a complex commercial database system as it requires minimal changes to the optimization or execution processes. PPQO was evaluated in a variety of settings, with queries joining up to eight tables, with multiple sub-queries, up to four parameters, and in plan spaces with close to 400 different optimal plans. PPQO yielded good results in all scenarios except for the Bounded algorithm in complex queries using a 4-D parameter space. However, even in this challenging scenario, Ellipse was on average executing plans just 3% more costly than the optimal, while avoiding 87% of all optimization calls. Proofs of  REF Math_Theorem_Bounded \h  \* MERGEFORMAT Theorem 1 and  REF Math_Theorem_FirstLast \h  \* MERGEFORMAT Theorem 2 This section uses the three Lemmas below to prove  REF Math_Theorem_Bounded \h  \* MERGEFORMAT Theorem 1 and  REF Math_Theorem_FirstLast \h  \* MERGEFORMAT Theorem 2.  REF Math_LemmaMonotonic \h  \* MERGEFORMAT Lemma 1 states that if the Monotonic Assumption holds for every plan considered, than the cost of the optimal plan at any point (regardless of what the optimal plan is at any single point) also increases monotonically with the parameters. This result is used later to bound the cost of some plan p in points where plan p was never executed. Lemma 1: If cpt1( cpt2, cost1=p1(cpt1)=Opt(cpt1), and cost2=p2(cpt2)=Opt (cpt2) then cost1 ( cost2. ( SEQ Math \* MERGEFORMAT 1) Proof: There are only two cases: either p2 is optimal at cpt1 or p2 is not optimal at cpt1. If p2 is optimal at cpt1, then cost1=p2(cpt1). ( SEQ Math \* MERGEFORMAT 2) If p2 is not optimal at cpt1, then cost1< p2(cpt1). ( SEQ Math \* MERGEFORMAT 3) By ( REF Math_Lemma_MonotonicCost1 \h  \* MERGEFORMAT 2) and ( REF Math_Lemma_MonotonicCost2 \h  \* MERGEFORMAT 3), cost1( p2(cpt1). ( SEQ Math \* MERGEFORMAT 4) Because cpt1 ( cpt2 then, by the Monotonic Assumption, p2(cpt1)( p2(cpt2)=cost2. ( SEQ Math \* MERGEFORMAT 5) By ( REF Math_Lemma_MonotonicCost2b \h 4), ( REF Math_Lemma_MonotonicCost3 \h  \* MERGEFORMAT 5), cost1(cost2. QED  REF Math_LemmaYX \h  \* MERGEFORMAT Lemma 2 and  REF Math_LemmaZY \h  \* MERGEFORMAT Lemma 3 together state that if Me"1, costz([costx,costx*M+A] and costx(costy(costz, then both costz([costy,costy*M+A] and costy([costx,costx*M+A]. Lemma 2: If costz([costx,costx*M+A] and costx(costy(costz, then costy([costx,costx*M+A]. ( SEQ Math \* MERGEFORMAT 6) Proof: costz([costx,costx*M+A] ( costx(costy(costz ( ( costx(costz(costx*M+A ( costx(costy(costz ( costx(costy(costx*M+A ( costy([costx,costx*M+A] QED Lemma 3: If Me"1, costz([costx,costx*M+A], and costx(costy(costz, then costz([costy,costy*M+A]. ( SEQ Math \* MERGEFORMAT 7) Proof: Since Me"1, it follows that costx(costy(costx*M+A(costy*M+A ( SEQ Math \* MERGEFORMAT 8) By costz([costx,costx*M+A] and ( REF Math_Lemma_ZY1 \h  \* MERGEFORMAT 8) it follows that costz(costx*M+A (costy*M+A ( SEQ Math \* MERGEFORMAT 9) By costx(costy(costz and ( REF Math_Lemma_ZY2 \h  \* MERGEFORMAT 9) it follows that costy(costz( costy*M+A ( SEQ Math \* MERGEFORMAT 10) ( REF Math_Lemma_ZY3 \h  \* MERGEFORMAT 10) is equivalent to costz([costy,costy*M+A]. QED  REF Math_Theorem_Bounded \h Theorem 1: If ((ti=(cpti, plani, costi), (tj=(cptj, planj, costj), such that plan plani (planj) is an optimal plan at cpti (cptj) with cost costi (costj), cpti ( cpt ( cptj and costj([costi, costi*M+A], then planj(cpt)([Opt(cpt), Opt(cpt)*M+A]. Proof: By  REF Math_LemmaMonotonic \h  \* MERGEFORMAT Lemma 1 and cpti ( cpt ( cptj it follows that costi(Opt(cpt)(costj. ( SEQ Math \* MERGEFORMAT 11) By ( REF Math_Theorem_Bounded1 \h  \* MERGEFORMAT 11),  REF Math_LemmaZY \h  \* MERGEFORMAT Lemma 3, and costj([costi, costi*M+A] ( costj([Opt(cpt), Opt(cpt)*M+A]. QED Definition of ( (below) operator and ( (above) operator [Reprint from page  PAGEREF DEF_below_above_ops \h 9]: Given a list, T, of k triples (cpti, pi, costi) ordered by costi, with i=0...k-1, where cpti is a CostPoint and costi represents the cost of executing the optimal plan pi at cpti and given cpt, another CostPoint we define the following two operations: T(cpt is the list of triples (cpti, pi, costi) from T, ordered by costi, such that cpti(cpt. T(cpt is the list of triples (cpti, pi, costi) from T ordered by costi, such that cpti(cpt. Note that, by definition, cptb(cpt(cpta, (cptb:tb=(cptb, pb, costb) ( T(cpt, (cpta:ta=(cpta, pa, costba)(T(cpt.  REF Math_Theorem_FirstLast \h Theorem 2: If (cptb:tb=(cptb, pb, costb), tb(T(cpt, (cpta:ta=(cpta, pa, costa), ta(T(cpt, such that costa([costb, costb*M+A], then costfirst([costlast, costlast*M+A], where costfirst is the cost of the first triple in T(cpt and costlast is the cost of the last triple in T( cpt. Proof: By the definitions of T(cpt and T(cpt, and  REF Math_LemmaMonotonic \h  \* MERGEFORMAT Lemma 1: costb(costlast(Opt(cpt)(costfirst(costa. ( SEQ Math \* MERGEFORMAT 12) By costa([costb, costb*M+A], ( REF Math_Theorem_FirstLast3 \h  \* MERGEFORMAT 12) and  REF Math_LemmaZY \h  \* MERGEFORMAT Lemma 3, it follows that costa([costlast, costlast*M+A] ( SEQ Math \* MERGEFORMAT 13) Finally, by ( REF Math_Theorem_FirstLast3 \h  \* MERGEFORMAT 12), ( REF Math_Theorem_FirstLast4 \h  \* MERGEFORMAT 13), and  REF Math_LemmaYX \h  \* MERGEFORMAT Lemma 2, it follows that costfirst([costlast, costlast*M+A]. QED References [ AUTONUMLGL \e ] R. L. Cole and G. Graefe. Optimization of dynamic query evaluation plans. In Proc. of the ACM Intl. Conf. on Management of Data (SIGMOD1994), Jun 1994. [ AUTONUMLGL \e ] S. Ganguly. Design and Analysis of Parametric Query Optimization Algorithms. In Proc. of the Intl. Conf. on Very Large Data Bases (VLDB1998), August 1998. [ AUTONUMLGL \e ] G. Graefe and K. Ward. Dynamic Query Evaluation Plans. In Proc. of the ACM Intl. Conf. on Management of Data (SIGMOD1989), June 1989. [ AUTONUMLGL \e *Y 5 T n 0 7 ^ _ k l rsy01Żpg\g\g\g\hRh0r6NHaJhRh0r6aJ&hAh0r66CJOJQJmHnHuh0hRh0r6NH h[9h0r6 h[9hXqB hRh0r6hYmHnHuh6h0r6mHnHuh[9h0r6:CJ h[9hHr7:CJ h[9aJmHsHh[9h[9aJh[9h[9aJmHsHh[9h[95CJ aJ mHsH$*+X_ l &LgdXgdigdHr7Xgdcgd[9XgdY [$da$gd[9E$ Kzda$gd[9$ Kzda$gd[9 $da$gd[9,dgd[9PlRR./()*+,./JKLMN~12HIɼqjhRh0r6UjhRh0r6Uh[9h} hEt hRh0r6 h}9aJjyhRh:UZUaJhRh:UZaJjhRh:UZUaJ heaJjhRh0r6UaJjhRh0r6UaJhRh0r6NHaJhRh0r6aJ+(  %&6789ELZ[:;TUVWXst#žꎇhn h[9h0r6 h[9h HhQ6jwhRh0r6UjhRh0r6UhRh0r6NH hRhj}hRh0r6U-hAh0r656CJOJQJaJmHnHu hRh0r6jhRh0r6Uhe/&_ J!:"##$%%%S&&&&'^(((j))Q gdiF+ Q gdPXgd)gdHr7YgdXgdYcgd[9Lgd#L 01JK[\_`>?üѸ寤~xc)hAh0r66CJOJQJ]mHnHu heaJhRhYaJjqhRh0r6UaJjhRh0r6UaJhRh0r6NHaJhRh0r6aJhe hRhYjhRh0r6UjhRh0r6UhRh0r6NH hRh0r6&hAh0r66CJOJQJmHnHu '(-.GHXY\]^DETW_`tw  ' ( yyyyuyqqmyyyiyh \hO+ h[hPihRh0r6NH hRh0r6 heaJhRhYaJjhRh0r6UaJjhRh0r6UaJhRh0r6NHaJhRh0r6aJhRh0r6]aJ)hAh0r66CJOJQJ]mHnHu-hAh0r66CJNHOJQJ]mHnHu)( : E F G [ \ l m n o q r !!!!!!!"!#!$!.!1!>!@!zc-hAh0r656CJOJQJaJmHnHuhu6mHnHu.hAh0r60JUCJH*OJQJaJmHnHuhRh0r6NH+hAh0r60JUCJOJQJaJmHnHuh \jhRh0r6UheheaJ hRhYjkhRh0r6UjhRh0r6Uhp^ hRh0r6&@!A!H!S!T!u!v!!!!!!!!!!!!!!!!!!!!!!!!!!" " " """"""""""##D#E#H#ȲȩȲȲȲȲȲȲȲȲȩȲȲȩȲ~ȲȲhRh0r60JU6hu6mHnHu.hAh0r60JUCJH*OJQJaJmHnHuhRh0r6NH+hAh0r60JUCJOJQJaJmHnHu hRh0r6-hAh0r656CJOJQJaJmHnHu1hAh0r656CJNHOJQJaJmHnHu1H#I#w#x########################################${$|$$$N%O%%%%馝馝jhRh0r6Uhu6mHnHu.hAh0r60JUCJH*OJQJaJmHnHu-hAh0r656CJOJQJaJmHnHuh>DhRh0r6NH hRh0r6+hAh0r60JUCJOJQJaJmHnHu4%%%%%%%%%%%%%%%%% &&$&(&?&@&G&H&N&Q&S&Z&[&\&^&a&&&&&&&&&&&&&&&&&ȿȩȩȩȩȩȩȩȠȩȿȩȩȩȜȩȘȍ{hAh0r66CJOJQJhiF+hP hRh)h0r6h>DhRh0r6NH+hAh0r60JUCJOJQJaJmHnHuhRh0r60JW hRh0r6hemHnHu hRhejhRh0r6U hRhYj]hRh0r6U0&&&&&&'((( ((((.(^(p(r((((((((( ))z)|))))))))))))))** **** *H*p*r*********+hRh0r6aJhemHnHujhRh0r6U h%bh0r6 hjaJhRh0r6aJhAh0r66CJOJQJhAhP6CJOJQJhP hRh0r6=)J*X*x*~***,$/%/h/x//0<0F0U000000-1Q 4gdYgd=:{gd|Q 4gdP Q 4xgd YgdgdzUeQ gdiF++ +\+^+++++++,,H,J,P,R,p,r,,,D-F-....;.I.J.`.a.b.i.j.k.......㸮~n~jWh1h1UaJjh1UaJ h1aJhemHnHu h|hejhOmhOmUaJjhOmUaJ hOmaJhRh0r6NHaJ hRh0r6 heaJjhRh0r6UaJhRh0r6aJ&hAh0r66CJOJQJmHnHu(.....#/$/%/)/./?/I/l/w/////////////////////////// 0 0 0 0ļļļļĸĦĦĞļĸĦĦvrh&hAh116CJOJQJh11hPhAh?l6CJOJQJh?lhjhj]hAhj6CJOJQJhzWhjhjhj\ hjhj h HaJ h0r6aJhRh0r6aJ h1aJjh1UaJhemHnHu hhe+ 00$0%0;0C0E0F0H0J0S0U0\0]0s0t0u0v0x0000000000111,1-141;1<1D1J1K1W1Z1[1\1a1b1i1ÿû}h?lhh]aJ h%baJhAh6CJOJQJhx[haJhh\aJhhaJh=:{hch|hemHnHujh|h|U h|h|hjhj\ hjhphp hjhjh-i1m1111111111111111112,2:2C2E2L2M2c2d2e2f222s3333333344ϵϫ褙qiqqqhRh0r65&hAh0r66CJOJQJmHnHu hRh0r6hhemHnHujhhU hhhh]aJ h1aJ h|aJhAh6CJOJQJ h%baJhh\aJhx[haJhhaJhAh?l6CJOJQJ)-1q1111-262E22233l4m44*55578q;>>4BY`gd/YgdLgdXgdzUegdHr7gdQ 4gd4 4!4&4+40434G4H4I4K4N4O4Q4S4W4Y44455*5055555555555V6W6i6j6l6o66666 7777 7!7<7C7Y7Z7s7t77jQhRh0r6Uhe hRhzUejhRh0r6UjhRh0r6UhRh0r65hRh0r6NHhRh0r60JWhRh0r6aJh &hAh0r66CJOJQJmHnHu hRh0r67777788:8<8888888 9&94969>9Z9R;S;q;r;;; <========鍄yngYgnjh/h/U h/h/jh/h/UhRh0r6NHaJhRh0r6aJ jhRh0r6UmHnHuhCh6:hRh0r6NHhah0r656CJOJQJ&hAh0r66CJOJQJmHnHu*hAh0r66CJOJQJaJmHnHu hRh0r6hejhRh0r6U"===>>>>>>>>>>?????%?'?Z?[?n?o????????????A@I@U@X@ʺԶ{tkchRh0r6H*hemHnHu hkhe hRhzUejEhRh0r6UjhRh0r6UhRh0r6NHhRh0r6H*hRh0r6:aJh|rhe5mHnHu h_5jh_5UhRh0r65 hRh@h0r6 hRh0r6jh/h/U hehe&X@z@}@@@@@A ATAUAZAbApAwAAAAABBB'B(B)B0B1B2B3B4B5B=B>BTBUBVBWBtB|B}B~BBBBBBBúwjh4t5Ujh4t5UmHnHuhkhkhk:jhkhkU hkhkj? hkh!RqUh0r6hemHnHuhejhkUjh4t5Uh4t5hRh0r6NHhRh0r6H*hRh0r6:aJ hRh0r6.4B6B}B~BBBBB=C>C(IhIKK,LvMUNNNNLgdgdHr7cgd[9XgdzUe$gd( X$$ $ lgd(X$$gd!Rq X$$$da$gd!RqYgdgdk Y$`a$gd!RqBBBBBBBBBBBCCCCCDDDDjDlDrDtDDDEEEE4E`EEEFFHH(IfIhIII󯨡yr h[9h0r6 h[9h HhRh0r6NHh[&hAh0r66CJOJQJmHnHu hRh0r6 hRh4t5 h8h4t5hemHnHujhsUmHnHuj'hHh!RqUjh(Yh!RqUjh!RqUaJmHnHuh4t5jh4t5U,IHJIJfJnJoJqJtJJJJJJJJJJJJJ&K'KKKKKKKKKKKKKK¸¨w`w`Ww`hu6mHnHu-hAh0r66CJH*OJQJaJmHnHu*hAh0r66CJOJQJaJmHnHu jhRh0r60JWhRh0r60JW heaJj=6h!Rqh!RqUaJjh!RqUaJ h!RqaJhRh0r6NHaJ&hAh0r66CJOJQJmHnHuhRh0r6aJhRh0r6NH hRh0r6"KKKKKKKKKKKKKKKKLL LLLLLL L$L&L(L,LRLVLXLrLtLvLLLLLLLLLLLLLLLLLLLL jhRh0r65 jhRh0r60JWhRh0r65 j"hRh0r6hRh0r60JW jhRh0r6hu6mHnHu-hAh0r66CJH*OJQJaJmHnHu*hAh0r66CJOJQJaJmHnHu hRh0r65LLLLLLLLMMMMMMMMM$M&M(M.M2M4M:MMDMJMLMNMXMZM\M`MbMhMjMlMrMvMMMMM¸¯ӥ›‘Ӈ¯{o jhRh0r60JW jhRh0r60JW jhRh0r6 j$hRh0r6 j"hRh0r6 jhRh0r6hRh0r60JW jhRh0r6 hRh0r6 jhRh0r6-hAh0r66CJH*OJQJaJmHnHu*hAh0r66CJOJQJaJmHnHu+MMMNNNN N N NNNNNNNNN"N#N$N%N(N)N+N.N/N0N1N4N5NP?POPPPYPZPP㸴㬴{m{f hehej77hShSU hShSjhShSUhSh0r6hej6h|Ujh|Uh|h|5h|jhRh0r60JU jhRh0r6&hAh0r66CJOJQJmHnHu hRh0r6)hAh0r66CJH*OJQJmHnHu'NOP PQ5Q,R.RR,STSSS%T`TbTTTVV2W4WYYLgdXgdzUegdQ  gdbgQgdWXgdUgdHr7YgdSXgd|X$gd>vPPPPPPPPPPPPPPPPPQ Q Q QQQQQQQQQ/Q3Q4Q5QFQGQIQLQNQOQQQUQWQ`QQQQQQQQQQQQQQQQQQïïïïëïïïïïïïï)hAhU6CJH*OJQJmHnHuhU&hAhU6CJOJQJmHnHu hRhUh5h hvh jhShShAhS6CJH*OJQJhAhS6CJOJQJ;Q R(R*R,R.RS`SbSdSSSSSSSSSSSTT TTT0T1T3T4T5TPTѷѷѷѷ˱ѷѷћѷѷћѷѷѷѷѕяѷѷ hpSaJ hMaJ h5 aJhAhW6CJH*OJQJ h37aJhAhW6CJOJQJ hlaJ hWaJhWhWaJ hRh>vhU&hAhU6CJOJQJmHnHu hRhU8PTQTRT`TaTbTiTjTTTTTTTTTTTXUYUrUVVV0V2VzV|VVVVVVVVVVVVVWƽιuuh jhRh0r60JU6hRh0r60JU6+hAh0r60JUCJOJQJaJmHnHuhRh0r6NH&hAh0r66CJOJQJmHnHu hRh0r6hg`hemHnHujhUh h37aJhWhWaJhAhW6CJH*OJQJhAhW6CJOJQJ(WWW$W&W(W*W,W4WWWWWWWWWWWWWWWWWWWWWWWX X XX$X&X0X6X8XZXbXdXhXpXrXXXXXXXXXXXXXYY$Y&YⰛⰛⰛⰛⰛⰛⰛⰛⰛⰛⰛⰛⰛⰛⰛⰛ)hAh0r66CJH*OJQJmHnHu&hAh0r66CJOJQJmHnHuhRh0r65+hAh0r60JUCJOJQJaJmHnHu hRh0r6+hph0r60JUCJOJQJaJmHnHu=&Y4Y:YY@YFYHYJYPYRY\YdYfYhYjYrYtYxYYYYYYYYYYYYYYYYYYYYYYYZ Z.ZмvnvhRh0r65.hAh0r60JU5CJOJQJaJmHnHu.hAh0r60JUCJH*OJQJaJmHnHu+hAh0r60JUCJOJQJaJmHnHu jhRh0r6 jhRh0r6)hAh0r66CJH*OJQJmHnHu&hAh0r66CJOJQJmHnHu hRh0r6+YZZ\\]]]^ ^5`P`abb|e}effggXgduqY`gdhY`gd_XgdiigdHr7Ygdgd Y$`a$gdiiXgdzUeYgdiiYgdLgd.Z0ZjZlZZZZZZZZZZZZZZZZZZZZ[[ [[[[[[[0[2[:[<[P[R[p[v[[[[[[[\\ \ \\\įį펇he hRhzUejM8hRh0r6UhRh0r6NH jhRh0r6)hAh0r66CJH*OJQJmHnHu&hAh0r66CJOJQJmHnHu hehej7hRh0r6U hRh0r6jhRh0r6U3\ \"\#\$\7\:\G\H\I\]\`\d\e\\\\\\\\\\\\\] ] ] ]]]h]i]]]]]]]]]]]]]㿷}themHnHu hhej8hRh0r6UjhRh0r6Uhe5mHnHu h*~5jh*~5UhRh0r65 hRhzUehRh0r6NH&hAh0r66CJOJQJmHnHu hRh0r6)hAh0r66CJH*OJQJmHnHu-]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^ ^^ ^'^*^ķwwnwjfhGhEnhemHnHujhhU hh hiiaJjG9hRhUaJ#jhRh0r65UmHnHuhRh0r6aJjhRh0r6UaJ hRh Hh0r6&hAh0r66CJOJQJmHnHu hRh0r6)hAh0r66CJH*OJQJmHnHu(*^g^h^r^s^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____ _ ________ _!_#_&_'_/_2_3_5_8_9_e_h_p_q_r_t_u_v___ jhRh0r6)hAh0r66CJH*OJQJmHnHuhRh0r6aJ&hAh0r66CJOJQJmHnHu hRh0r6J_________________________________________``!`"`5`N`Y`Z`[`q`r`|`````````````````ٻٲٻٲٮٲٲh4)hRh0r6NH jhRh0r6&hAh0r66CJOJQJmHnHu hRh0r6 jhRh0r6)hAh0r66CJH*OJQJmHnHuD````````````aaaaaaaa a'a*a:a;aa?a@aIaLaXaYaZacadaaaaa#b$bhbibjbbbbbbbbbbbbb׼гЪתתתתת hRh( h0r6aJhRh0r6NHaJhRh0r6aJhRh0r6NH jhRh0r6 jhRh0r6 hRh0r6)hAh0r66CJH*OJQJmHnHu&hAh0r66CJOJQJmHnHu8bbbbc c cc$c%c&c3c4c>cAcBcDcEcFcHcLcMcZc^c_cfcocwczc{ccccccccccccccccccccмммммммммОмммОм jhRh0r6CJEHaJhRh0r6NH)hAh0r66CJH*OJQJmHnHu&hAh0r66CJOJQJmHnHu hRh0r6hRh0r65NH jhRh0r65 jhRh0r65hRh0r650cccddddddddd&d'd(d+d,d5d9d:dFdIdJdKdLdMdPd]d^d`daddd}ddddddddddddddddddd­­­­֤­­֚­­­­­­­ jhRh0r6CJEHaJ jhRh0r6hRh0r6NH)hAh0r66CJH*OJQJmHnHu&hAh0r66CJOJQJmHnHu hRh0r6hRh0r6CJEHaJ*hAh0r66CJEHOJQJmHnHu2ddddddddddddddeee e#e$e%e&e'e*e+e,e-e0e1e3e4e7e8e9e:e;e=e@eAeCeDeEeGeKeLeNeƶƐ| j"hRh0r6 jhRh0r6 jhRh0r6CJEHaJ*hAh0r66CJEHOJQJmHnHu jhRh0r6CJEHaJ)hAh0r66CJH*OJQJmHnHu&hAh0r66CJOJQJmHnHu hRh0r6 jhRh0r6-NeOePeQeReSeVeXeYe\e]e^e_e`ebeeefeheiejelepereseteueveweze{e|e}eeeeeeƶƆ{sndndjhh5U hh5hRh0r65 hRh(h0r6 jhRh0r6CJEHaJ j"hRh0r6*hAh0r66CJEHOJQJmHnHu jhRh0r6CJEHaJ)hAh0r66CJH*OJQJmHnHu&hAh0r66CJOJQJmHnHu hRh0r6 jhRh0r6$eeeeeeeeeeeeeeeeeeeeeeeeeeeee f fff%f&f'f.f/f0f1f4f6f7fлллллллл䰛лl*hAh0r66CJEHOJQJmHnHu jhRh0r6CJEHaJhemHnHu hhej9hRh0r6UjhRh0r6U)hAh0r66CJH*OJQJmHnHu&hAh0r66CJOJQJmHnHu hRh0r6jhh5Uhe5mHnHu*7f8f:f;fgBgCgDgEgFgOgRgSgXg|g}g~ggggggggggggg۰|l_|[Sh|huq5h0r6hRh0r6CJEHaJ jhRh0r6CJEHaJ*hAh0r66CJEHOJQJmHnHu jhRh0r6CJEHaJhAh0r66CJOJQJ*hAh0r66CJNHOJQJmHnHu)hAh0r66CJH*OJQJmHnHu&hAh0r66CJOJQJmHnHu hRh0r6 jhRh0r6ggggggggggg h hhh'h(h5hDhIhJhKhLhkhlhohhhhhhhhhȺϳϯ{m] jhRhaf!CJEHaJhAhaf!6CJOJQJhaf!hB/hjhAhj6CJOJQJhZhAh+6CJOJQJh+hjh&>P hehej:h&>Ph&>PU h&>Ph&>Pjh&>Ph&>PUh0r6 hRhuqhejT:huqUjhuqUhuq!gghhj{m|mmXnnnn"otoo9plpppppppqqq>qgdzUeQ  gdZQxgd>vYgdhhhhhhhhhhhhiiiiii!i"i;iPhVhW+ jhRhaf!CJEHaJhAhaf!6CJOJQJhaf!*hAhaf!6CJEHOJQJmHnHuhRhaf!CJEHaJiiiiiiiiiiij jjjjjjj j$j%j&j'j(j1j2j7j[j\j]j^jajfjgjkjjjjjjjjjj尦尖p尦 jhRh0r6CJEHaJ*hAh0r66CJEHOJQJmHnHu jhRh0r6CJEHaJ jhRh0r6)hAh0r66CJH*OJQJmHnHu hehejT<hRh0r6UjhRh0r6U&hAh0r66CJOJQJmHnHu hRh0r6,jjjjjjjjjjjjjjjjjjjkkll;lo@oHoJoLoRotoooooooooooooooooooopppp pppp2p3p4p5p8p9pCpDpɲ¨¨“¨uhAh76CJH*OJQJhAh76CJOJQJ jhRh0r6 jhRh0r65hW;h0r6]aJhAh0r66CJH*OJQJ hRh0r6hAh0r66CJOJQJh7h0r6CJ ]aJ hAh76CJEHOJQJ jh7CJEHaJ.DpEpHpIpJpKpNpRpepfpgphpkplpyp}ppppppppppppppppppppppppppppppppqɹ|xhyh0r6 jhRh0r6hZhRh0r6CJaJhAh76CJEHOJQJ jhRh7CJEHaJhAh76CJH*OJQJhAh76CJOJQJhW;h0r6]aJ jhRh0r6hAh0r66CJOJQJ hRh0r6/qqqqq&q'q(q)q=q>q?q[q\qrqsqqqqqqqqqqqqqqqqqrrrr%r&rr˲˓~˓~u˓~˓~ng h[9h0r6 h[9h HhRh>vNH)hAh>v6CJH*OJQJmHnHu&hAh>v6CJOJQJmHnHuhe hRhej>hRh>vUjhRh>vU hRh>vh Hh0r6hemHnHujhRh0r6U hRh0r6hy hRhy&>q?qr&rst tvv\z]zzzzz{{||}|}} ~Q gd{g Q  xgdeXgd{ggdHr7gdH Y$`a$gdP YgdXgdiicgd[9Ygd>vrrrrrrr's(sXs_sssusss t tt t.t/t@tFtGtHtXtYtotrtstxt{t|tttttttttttttuuuuuu堕勁 jhRh0r6 jDhRh0r6 jDhRh0r65hRh0r65, jDhAh0r66CJOJQJmHnHuhhahRh0r6NH)hAh0r66CJH*OJQJmHnHu hRh0r6&hAh0r66CJOJQJmHnHu2uu$u'u)u,u-uvvvv"w$wLwNwlwrwtw~wwwwwwwwwwxxxYxZx^x_xxxxxxxxxxxxxxxxxyy yyyyEyHyIyKyNyOyxy{yyyyyyyyyyyhRh0r6NH jDhRh0r6&hAh0r66CJOJQJmHnHu hRh0r6)hAh0r66CJH*OJQJmHnHuJyyyyyyyyyyyyyyzz=z>zMzPzQzVzYzZz[z\z]z^zuzvzwzxzyzzzzлЭлЙ}l_X h hHj>hRhP 5U jhRh0r6UmHnHuhRh0r65jhRh0r65U hRh[9h0r6hemHnHu h hej~>hRh0r6UjhRh0r6U jDhRh0r6 hRh0r6)hAh0r66CJH*OJQJmHnHu&hAh0r66CJOJQJmHnHu"zzzzzzzzzzzzzzzD{E{G{J{L{M{O{S{c{g{h{~{{{{{{{{{{{{{{{{{{{{{´´´´´´°´´´´•Ɋ|hAh{g6CJOJQJ h8h{gh Hh0r6hej?heUjheUhehAh0r66CJOJQJ hRh0r6h{gh hHmHnHu jDhYzhYzhemHnHu h hHjh hHU.{{{{{{{| |||.|0|L|N|R|T|Z|r|t||||||||| }}}}} }H}|}}}}}}}}}~~~~#~$~&~-~.~?~@~H~I~K~L~M~l~Ⱥȱh{ghf+aJhf+ hf+hf+hFUbhf+h{gaJhAhf+6CJOJQJ hf+aJh{gh{gaJhAh{g6CJOJQJ]hAh{g6CJOJQJh{g hsgh{g< ~'~6~m~u~~~ KMɁʁ v2BLQ Pgd}t Q Pxgd}tXgdiigdHr7gduSQ gd{gl~s~t~u~~~~~~~~~~~~~~~~~~~~~~~~~    "#%>?KLMTUklnoɻɻ hRh0r6h 9V hRh{ghemHnHujhuSUhuSh"hAh <6CJOJQJ h <aJhAh[X6CJOJQJh[XhAh{g6CJOJQJh{gh{gaJh{ghFUb789TWXZ]^lptu"#)*=>āƁǁȁɁʁӁہ夝厊h}t h[sh0r6h Hh0r6he hRhe hRhiij@hRh0r6UjhRh0r6UhRh0r6NH jDhRh0r6)hAh0r66CJH*OJQJmHnHu hRh0r6&hAh0r66CJOJQJmHnHu, $&BDJvz|&8:VX\djƒȃʃ΃ԃփ.@HLThnrzƄ jDh[sh0r6hAh0r66CJH*OJQJh+h0r60JCJaJhAh}t6CJOJQJh}th}th}t0JCJaJ h[sh0r6hAh0r66CJOJQJ@ƄԄ܄.0>@HLRp~ޅ89LXuvˆ̆܆݆ކ߆ øøèØÔØøÆ{ømjAhRh0r6Uhe hRhiij@hRh0r6Uh7O-hRh0r6NH h[9h0r6 h[9h HhemHnHujhRh0r6U hRh0r6h}t jDh+h0r60JCJaJh+h0r60JCJaJhAh0r66CJOJQJ h[sh0r6*LlpޅʈŒÌ $- R$$Ifa$gdiiYgdgdHr7Xgdiicgd[9gdzUeQ Pgd}t /0@ABCjk "(*VXxzȈ248:ʉü~ hehejyBhRh0r6U hRhRhemHnHu hRhejAhRh0r6UhuZ hRh*h*h]hRh0r6NH hRhiijAhRh0r6U hRh0r6hejhRh0r6U-ʉ̉56~يڊ23NO_`bc ¾¾ߐ|g]|g jhRh0r6)hAh0r66CJH*OJQJmHnHu&hAh0r66CJOJQJmHnHuheheaJjChRh0r6UhejaChIUjhIUhIh-2KhRh0r6NHhemHnHu hRhejhRh0r6U hRh0r6jBhRh0r6U$ -01UVlm}~ŒÌɌʌߌ0OQdsuwЍߍ !.12478HŰŧhRh0r6\hRh0r65 hRhiihemHnHu hRhejeDhRh0r6UjhRh0r6U)hAh0r66CJH*OJQJmHnHu&hAh0r66CJOJQJmHnHu hRh0r68-.07ANZNEEE R$Ifgdii R$$Ifa$gdiikdD$$IfTH\+ ~ t0644 HaTNOQZdtZNEEE R$Ifgdii R$$Ifa$gdiikdE$$IfTH\+ ~ t0644 HaTtuw~ZNEEE R$Ifgdii R$$Ifa$gdiikddF$$IfTH\+ ~ t0644 HaTZNEEE R$Ifgdii R$$Ifa$gdiikdG$$IfTH\+ ~ t0644 HaTƍЍZNEEE R$Ifgdii R$$Ifa$gdiikdG$$IfTH\+ ~ t0644 HaT Đ Dj ZUUUPPPPPLgdYgdkd}H$$IfTH\+ ~ t0644 HaT HI,/:DVWmnovwxĐː 27ȳȦ{eeah[+hAh0r60JUCJOJQJaJmHnHuhRh0r6\hRh0r60JW hRh70jIh_nUjh_nUh_nhemHnHu hRhej0IhRh0r6UjhRh0r6UhRh0r6aJ&hAh0r66CJOJQJmHnHu hRh0r6hRh0r6NH%7:DMstwx{},Z\j’ .HNRZ^fГғ"#+-LM|}1pq4־־h{Yh% hRhiihknhRh0r6NHhRh0r6\.hAh0r60JUCJH*OJQJaJmHnHu+hAh0r60JUCJOJQJaJmHnHuhRh0r60JW hRh0r6h$}: +LMXӖ[*њH֟ן؟ٟfggd)Xgd?{YgdC7Xgd)LgdCLgd(XgdiigdHr7YgdYgdnLgd45QRSTUefo3mΗϗڗۗ-./689R{pi`hemHnHu h)hejJhxUhxjhxUhRh0r6NHh} hRhu4hu4, jDhAh0r66CJOJQJmHnHuhn&hAh0r66CJOJQJmHnHu hRh{Yh{Y heaJj*JhRh0r6U hRh0r6jhRh0r6U%RSl [^`dfjњҚ+,cdno͛ΛѻѻѻѲѲѮ~uqquh)hRh)NHhemHnHu hRhej0KhRh)UjhRh)U hRh)hChRhCNH*hAhC6CJOJQJaJmHnHu hRhChRh(NH hRh(h0r6h( hRh0r6hRh0r6NH,Λ _`Ȝ?@GH\f!&RSžȞ՟؟ٟڟü h)h?{ h?{0J]j*Lh?{h?{0J]Uh?{h?{0J]jh?{h?{0J]UhRhC7NHhC7 hRhC7h)hRh)NHhemHnHu hRhejKhRh)UjhRh)U hRh)1$FSfgklmstu|} àĠˠ̠%&'=>NOĽ䜽䜽qjohRh0r6U hRh'qjhgh0h0Uj+^h0h0UjhRh0r6U h0h0r6jxUh0h0Uh; hRh0r6jLh0h0UhC7h?{h?{aJh)h$?OhemHnHu h)h?{jh)h?{U)ghijkuĠ&HI\ɨ OPRݰXgdiigdHr7Y$a$gdiiYgdgdzUe Y$`a$gdiiOVXYz{ #$&'Gݢޢ+,BCST[]^ңӣ89ƻޟޑރhAh0r66CJOJQJjnhRh0r6UjhRh0r6U hRhD hDh0r6jzhDhDUh;johDhDUhRh0r6NH hRh0r6jhRh0r6UhemHnHu hRhe.¦#$%;< 1Ȩbc{ժ01GÿññjhRh0r6UhzU8hh/fhAhD6CJOJQJhMhD)hAh0r66CJH*OJQJmHnHuhRh0r6NH hRh0r6&hAh0r66CJOJQJmHnHu7GHXY`bc )*,-ghrs56;<Эѭ^`xz~߾ߐ|xx|xhX&hAh0r66CJOJQJmHnHuhejhRh0r6UhRh0r6NHhRh0r6H*jhhRh;U jhRh0r6UmHnHuhemHnHu hRhejhRh0r6U hRh0r6jhRh0r6U/+,356;<RScdkmntu°ܰݰnpϺڣϺښچښڂ{q{h{h{hRhC7NH jDhRhC7 hRhC7h0r6&hAh0r66CJOJQJmHnHuhRh0r6NHjhRh0r6UhemHnHu hRhejuhRh0r6UjhRh0r6U hRh0r6hX hRhX&hAhX6CJOJQJmHnHu%ҳԳ$%5689;<=>?FG]^`a~ȴɴߴ֜֜x֜ hh0r6jphhU hh0r6j hhUjhRh0r6U hRh0r6 h`^h0r6jh`^h`^Uhf% hC7jhRhC7UhemHnHujohRhC7U hRhC7jhRhC7U-ݰ;<=?}~@Qabdgd+j*X$a$gd\Jgd4gd% X$$a$gd\JgdHr7gdzUe Y$`a$gdiiXgdiiYgdC7 !#$ٵڵ*,fh·./EFVW]^_`汩ҩҩ~w hRhe hRhiijhRh0r6Uj9h "uUjh "uUjh "uUh "u&hAh0r66CJOJQJmHnHuhRh0r6NHhemHnHujhRh0r6U hRh0r6 hh0r6jFhhU-`abcklƸǸݸ޸!"89;<rstu|}̹üհՋyumummujh "uUh "u h "uh+j*j9h "uh "uUjh\JUh\J h\Jh%jVh\Jh\JU h]_h]_jh+j*Uh+j* h+j*h%jqh+j*h\JU h4h4hemHnHujh%Uh%j5h%h\JU hRh[9h0r6)rsu͹ι#R$$a&`#$/Ifa$gdiigdzUegd "uX$a$gd "uXgd%gd\JX$a$gd\JXgd]_ ̹͹ιԹչ#$=>Fks JKdeuvyz|}ҽӽheheaJj0hRh0r6U hRhejhRh0r6Uhej6hRh0r6UhRh0r6NHhRh0r65\hemHnHujhRh0r6U hRh0r6 hRh "u h%h "u4#$%)-159=nnnnnnnR$$a&`#$/Ifa$gdii}kdh$$IfFa$%%% 6`a6    44 ap=>!kd4$$If֞a? $%%%%%%% 6`a644 apF>FLRX^djR$a&`#$/IfgdiiR$$a&`#$/Ifa$gdiijk!kd$$If֞a? $%%%%%%% 6`a644 apFksyR$a&`#$/IfgdiiR$$a&`#$/Ifa$gdii!kdJ$$If֞a? $%%%%%%% 6`a644 apFR$a&`#$/IfgdiiR$$a&`#$/Ifa$gdiiv!Ygdkd$$If֞a? $%%%%%%% 6`a644 apFv6xyookd4$$IfF$$%%@%@6    4ap R$$Ifa$gdiigdzUeXgdiigdHr7Ygd - %&./EFVW]^_de#Fy23Z[\_çÞzpz jhRh0r6+hAh0r60JUCJOJQJaJmHnHuhOhRh0r65\hemHnHu hRhe hRhiijhRh0r6UjhRh0r6U jDhRh0r6&hAh0r66CJOJQJmHnHuhRh0r6NH hRh0r6h]_, #'+/38<@DFf R$IfgdiiFf R$$Ifa$gdiiDEF./9~q u/Xgd% cgd[9XgdiigdHr7gdzUe Y$`a$gd'LgdYgdFf _defi'1DE_dknxtijRh.*h'Uh^vjh\1lh'Ujh'UhemHnHujh'Ujh'U hRh'hBQh'-hAh0r66CJOJQJ]aJmHnHuhRh0r6NH+hAh0r60JUCJOJQJaJmHnHu jhRh0r6 hRh0r6) /06789@AWXZ[ DEKĽ򪣕zqhhRh0r6NHheheaJ hRhiijghRh0r6U heaJjhRh[U hRh[jhRh[UhRh[9; h'h0r6jh'h'Uh^vjzh'h'UhemHnHujhRh0r6U hRh0r6 h.*h0r6'K^| !78STkl|}갩İ{rihRh0r6aJheheaJ hRhiijhRh0r6UjhRh0r6UjehRhDU hRhDjhRhDUhRh0r6NH heaJjhRh[U hRh[jhRh[U hRh0r6hAh0r60JCJOJQJ) ?\]ijz{!"#$VWklmno!"=ооообСٱобБٱообЁٱооjhRh0r6UaJjkhRh0r6UaJjhRh0r6UaJjhRh0r6UaJhRh0r6NHaJ hRh0r6hRh0r6aJ heaJjehgs hgs UaJ hgs aJjhgs UaJ2=>?@ARS\] Z[ '(RSְַ֌|sjheheaJhRhiiaJjhRh0r6UaJjhRh0r6UaJhRh0r6NH hRh0r6 h[9h0r6 h[9h H&hAh0r66CJOJQJmHnHuhRh0r6NHaJhRh0r6aJ heaJjhgs UaJjihgs hgs UaJ)\]HIPW`cbchituof_ h% h% h[9h% CJ jh[9hiNCJ U he0J;hehe;CJ jwh[9hiNCJ Uh[9hiNCJ jh[9hiNCJ Uh[9h[90J;hqhh1hRh0r6NH hRh0r6 h4"aJhRh0r6NHaJhRh0r6aJjhRh0r6UaJ%,-.KL\]fglm/08<}qh@??h% mHnHuh@??h% 5mHnHuh.hAh% 6CJOJQJhTheheaJmHnHujh% h% Ujh% h% Ujhj,U hehejhj,Uhj,jhj,Uh/ h% h% h% '/0_`LMV !$hd^hgd(X $gdR8XgdaQL $gduL $gd(Xgd(X $gd(Ygd%$<?@ABEFHLMNOPQTUWZ[^_bfjklmnorsuxz}~ȼ׳׳׳׳׳׳׳׼{׼ jh@??h% mHnHu)hAhu6CJH*OJQJmHnHu&hAhu6CJOJQJmHnHuhumHnHuh@??h% mHnHu jh@??h% mHnHu)hAh% 6CJH*OJQJmHnHu&hAh% 6CJOJQJmHnHu- $'(/345㭘㭘㭘㭘ygygyg#hAh% 0JUCJH*OJQJaJ hAh% 0JUCJOJQJaJh@??h% aJmHnHu)hAh% 6CJH*OJQJmHnHu&hAh% 6CJOJQJmHnHuhu5mHnHuh@??h% 5mHnHuhemHnHuh@??h% mHnHu jh@??h% UmHnHu5678;<=@AZ[\]^_bcdwz{Ⱥ}lZ}lZ}lZ}lZOlZ}huaJmHnHu#hAhu0JUCJH*OJQJaJ hAhu0JUCJOJQJaJh@??huaJmHnHu hAh% 0JUCJOJQJaJheaJmHnHu$jh@??h% UaJmHnHuh@??h% aJmHnHuhv1aJmHnHu-hAhv16CJH*OJQJaJmHnHu*hAhv16CJOJQJaJmHnHu)*+,-./345789<=AB[\]øߢ߸ߌ߸zlzz jhuaJmHnHu#hAhu0JUCJH*OJQJaJ*j h@??huUaJmHnHu*j4 h@??huUaJmHnHuhuaJmHnHu hAhu0JUCJOJQJaJheaJmHnHuh@??huaJmHnHu$jh@??huUaJmHnHu*]^_`hklmnors|p_||_M#hAh?z0JUCJH*OJQJaJ hAh?z0JUCJOJQJaJ jh@??h% aJ h?zaJ hp\waJ jhh% aJh@??h% aJ#hAh% 0JUCJH*OJQJaJ hAh% 0JUCJOJQJaJh@??h% aJmHnHu hAhu0JUCJOJQJaJh@??huaJmHnHu$jh@??huUaJmHnHu$%5678;?@⳨☍wĘaO#hAh% 0JUCJH*OJQJaJ*j h@??h% UaJmHnHu*j^ hrhrUaJmHnHuhraJmHnHujhrUaJmHnHuhC aJmHnHu hAh% 0JUCJOJQJaJheaJmHnHu$jh@??h% UaJmHnHuh@??h% aJmHnHuh?z0JU6CJOJQJaJ@AEFHKLMNcdtu|}஝}q]qI&hAh?!6CJOJQJmHnHu&j h@??h!UmHnHuhehemHnHu&j h@??h!UmHnHuh@??h!mHnHu jh@??h!UmHnHuh% h(h% aJmHnHuh@??h% aJmHnHu#hAh% 0JUCJH*OJQJaJ hAh% 0JUCJOJQJaJ jhraJmHnHu $,.02468BJLNVXZbd|ĸģĔٯً||ģhS)hAh6CJH*OJQJmHnHu&hAh6CJOJQJmHnHu jh@??h!mHnHuhKmHnHuh!CJOJQJmHnHuh@??h!mHnHuh!mHnHu jh!mHnHu)hAh!6CJH*OJQJmHnHu&hAh!6CJOJQJmHnHuhmmHnHuh?!mHnHu ꚑseYh@??h% mHnHuh@??h% 5mHnHuh@??hemHnHuhemHnHuh HmHnHuh% mHnHuh@??h!mHnHuhCJOJQJmHnHuh@??hmHnHu)hAh6CJH*OJQJmHnHu&hAh6CJOJQJmHnHuhmHnHu jhmHnHu"  "&.02468:DLNPXZ\dft|~׶ק›rcrcr׶ק jh@??h% mHnHu)hAh% 6CJH*OJQJmHnHu&hAh% 6CJOJQJmHnHuh@??h% mHnHuhR8CJOJQJmHnHuh@??hR8mHnHuhR8mHnHu jhR8mHnHu)hAhR86CJH*OJQJmHnHu&hAhR86CJOJQJmHnHu&  "$&(*,.¬tetWFW! jh@??h% aJmHnHuh@??h% aJmHnHuhCJOJQJmHnHuh@??hmHnHuhmHnHu jhmHnHu-hAh6CJH*OJQJaJmHnHu*hAh6CJOJQJaJmHnHuh@??h% 5mHnHuhemHnHu jh@??h% UmHnHuh@??h% mHnHuhEc mHnHu.68:BDFNPRTVXZbdfnprz|~ӴӴ{ӴӴ! jh@??h% aJmHnHu-hAh% 6CJOJQJ]aJmHnHu! jh@??h% aJmHnHuh@??h% aJmHnHu! jh@??h% aJmHnHu-hAh% 6CJH*OJQJaJmHnHu*hAh% 6CJOJQJaJmHnHu0  ܵ}ncUN h>vh% h(h% aJmHnHuhaQaJmHnHuhCJOJQJmHnHuh@??hmHnHuhmHnHu jhmHnHu-hAh6CJH*OJQJaJmHnHu*hAh6CJOJQJaJmHnHu! jh@??h% aJmHnHuh@??h% aJmHnHu*hAh% 6CJOJQJaJmHnHu "0cd2AHXgdqhL $gd0Y`gdLYgd.L $gd(Xgd(X $gd Ygd>v 08BJLNPXZ^fhjlnprt~ɴɴɴɟɟ{gRCgRCg jh@??h% mHnHu)hAh% 6CJH*OJQJmHnHu&hAh% 6CJOJQJmHnHuhmHnHuh CJOJQJmHnHuh@??h mHnHuh mHnHu jh mHnHu)hAh 6CJH*OJQJmHnHu&hAh 6CJOJQJmHnHuhotmHnHuh@??h% mHnHuh@??h% 5mHnHu "0ʵʵʵʠʠ|n]]T]nnhemHnHu jh@??h% UmHnHuh@??h% 5mHnHuhEc mHnHuh CJOJQJmHnHuh@??h mHnHuh mHnHu jh mHnHu)hAh 6CJH*OJQJmHnHu&hAh 6CJOJQJmHnHuh@??h% mHnHu)hAh% 6CJH*OJQJmHnHu0<>fnprz|~ڰ񌁌s]*hAh&mh6CJOJQJaJmHnHuh@??h&mhaJmHnHuheaJmHnHu$jh@??h% UaJmHnHu! jh@??h% aJmHnHu! jh@??h% aJmHnHu0hAh% 6CJH*OJQJ]aJmHnHu-hAh% 6CJOJQJ]aJmHnHuh@??h% aJmHnHu (*XZz|~ӽ豽袽ӽӔk`U>-hAh&mh6CJOJQJ]aJmHnHuh&mhaJmHnHuheaJmHnHu*j h@??h&mhUaJmHnHu$jh@??h&mhUaJmHnHuh@??h&mhaJmHnHuh&mhCJOJQJmHnHuh@??h&mhmHnHu*hAh&mh6CJOJQJaJmHnHuh&mhmHnHu jh&mhmHnHu-hAh&mh6CJH*OJQJaJmHnHu ֿ籿ֿ籿nX*hAh&mh6CJOJQJaJmHnHu-hAh% 6CJOJQJ]aJmHnHuheaJmHnHu$jh@??h% UaJmHnHuh@??h% aJmHnHuh@??h&mhaJmHnHu-hAh&mh6CJOJQJ]aJmHnHu! jh@??h&mhaJmHnHu0hAh&mh6CJH*OJQJ]aJmHnHu!"()@AQRSTejkl赢~s\C2! jh@??h% aJmHnHu0hAh% 6CJH*OJQJ]aJmHnHu-hAh% 6CJOJQJ]aJmHnHuheaJmHnHuh@??h@??aJmHnHu*j h@??h% UaJmHnHu$jh@??h% UaJmHnHuh@??h% aJmHnHu*hAh&mh6CJOJQJaJmHnHu jh@??h&mhmHnHu-hAh&mh6CJH*OJQJaJmHnHulpqrswxyz{|~Ͼϙ虆{虆eW{Lh&mhaJmHnHuh@??h@??aJmHnHu*j~ h@??h% UaJmHnHuheaJmHnHu$jh@??h% UaJmHnHuh@??h% aJmHnHu-hAh&mh6CJOJQJ]aJmHnHu! jh@??h% aJmHnHu0hAh% 6CJH*OJQJ]aJmHnHu-hAh% 6CJOJQJ]aJmHnHu'(ǾӲӣ꾕|e[VF[>[hRhe5j h3+h3+5U h3+5jh3+5U-hAh% 6CJOJQJ]aJmHnHuhaQh% aJmHnHuh(aJmHnHuh@??h% aJmHnHuh&mhCJOJQJmHnHuh@??h&mhmHnHuh&mhmHnHu jh&mhmHnHu-hAh&mh6CJH*OJQJaJmHnHu*hAh&mh6CJOJQJaJmHnHu(*-./013679=>@DEHIJKMPQSWXZ^_quvx|}ȳȳȳȳȳȳȳȳȳȳȳȳȳȳȳȳȳ jhRh* jhRh*)hAh*6CJH*OJQJmHnHu&hAh*6CJOJQJmHnHu j$hRh* j hRh* hRh*h@??h% 5> ;<LMTUZrheheaJmHnHu*jh@??h% UaJmHnHu$jh@??h% UaJmHnHuh@??h% aJmHnHuh(h% 5 h@??h%  jhRh*)hAh*6CJH*OJQJmHnHu&hAh*6CJOJQJmHnHu hRh**Z]^_`adefgjk{|ϥϔ~s`MM$jh@??h% UaJmHnHu$hCJOJQJ]aJmHnHuhaJmHnHu*hAh6CJOJQJaJmHnHu! jh@??h% aJmHnHuhAaJmHnHu! jh@??h% aJmHnHuh@??h% aJmHnHu0hAh% 6CJH*OJQJ]aJmHnHu-hAh% 6CJOJQJ]aJmHnHu$()*+/0ӼӦӂtdRKGdRh+ jh+"hAh+6CJH*OJQJaJhAh+6CJOJQJaJheheaJmHnHu*jh@??h% UaJmHnHuh@??h@??aJmHnHu*jh@??h% UaJmHnHu-hAh% 6CJOJQJ]aJmHnHuh@??h% aJmHnHu$jh@??h% UaJmHnHuheaJmHnHu026789:;<=>?CDEFIJMNPSTͿk`I;k`h@??haJmHnHu-hAh6CJOJQJ]aJmHnHuhaJmHnHu*hAh6CJOJQJaJmHnHuh jh"hAh6CJH*OJQJaJhAh6CJOJQJaJ! jh@??h% aJmHnHuh@??h% aJmHnHuh`Xh+CJOJQJ"hAh+6CJH*OJQJaJhAh+6CJOJQJaJh+TWXYZ[\]_bcdrsƹ{shs]sSsNDNjh05U h05hRhL5NH jhRhL5 jhRhL5hRhL5h.h% CJaJ-hAh% 6CJOJQJ]aJmHnHuhaQh% aJmHnHuh@??h% aJmHnHuh`XhCJOJQJhAh6CJOJQJaJhh@??haJmHnHu-hAh6CJOJQJ]aJmHnHu'/23GKLij˷˷ϷϷϷϷϷϷϷϙϷϷϕzqhRh0NH hRh0&hAh06CJOJQJmHnHuh0hRhLNH)hAhL6CJH*OJQJmHnHu&hAhL6CJOJQJmHnHuhL hRhL h05he5mHnHujh05Ujh0h05U, &)*+,-0123458Ϸߌߌߌߣߌߌykߌ[ jhRhLCJEHaJh0h0aJmHnHu jhRhLhRhLNH-hAhL6CJH*OJQJaJmHnHu hRhLhRhLCJEHaJ.hAhL6CJEHOJQJaJmHnHu jhRhLCJEHaJ*hAhL6CJOJQJaJmHnHuh0 hRh0#8QTUWXY[_`ghtxy㾰}}s j"hRhL jhRhL)hAhL6CJH*OJQJmHnHu&hAhL6CJOJQJmHnHuh0h0aJmHnHuh0 jhRhL-hAhL6CJH*OJQJaJmHnHu*hAhL6CJOJQJaJmHnHu hRhL-&嶠冠wmih3+jh3+5Uh.hLCJaJhL jhRhLCJEHaJ j"hRhL*hAhL6CJEHOJQJmHnHu jhRhLCJEHaJ jhRhL)hAhL6CJH*OJQJmHnHu&hAhL6CJOJQJmHnHu hRhL&&'(12478;<=>?ADEGHIKOPSTUVWXY\^_bƲвввввuhRƲ*hAh V6CJEHOJQJmHnHuhRh VCJEHaJ jhRh VCJEHaJhAh V6CJOJQJ jhRh V)hAh V6CJH*OJQJmHnHu&hAh V6CJOJQJmHnHu j$hRh V hRh V h@??h% hRhe5jh3+5Ujh3+h3+5U bcdefhklnoprvwz{|}~ŷh V*hAh V6CJEHOJQJmHnHu jhRh VCJEHaJhAh V6CJOJQJ jhRh V&hAh V6CJOJQJmHnHu hRh V)hAh V6CJH*OJQJmHnHu4 9:;<?AFHK^ΆvibZbLAhaJmHnHuh@??h% aJmHnHuh@??h% 5 h@??h% hRh VCJEHaJ jhRh VCJEHaJ&hAh V6CJOJQJmHnHu*hAh V6CJEHOJQJmHnHu jhRh VCJEHaJhAh V6CJOJQJ hRh V)hAh V6CJH*OJQJmHnHu*hAh V6CJNHOJQJmHnHu^_`adijknoptuҺr_Q;Q_-heheaJmHnHu*j1h@??hUaJmHnHuh@??haJmHnHu$jh@??hUaJmHnHuhhMuhhMuaJmHnHuhhMuhaJmHnHu!hCJEHOJQJmHnHu jhRhCJEHaJhaJmHnHu.hAh6CJEHOJQJaJmHnHuhRhCJEHaJ jhRhCJEHaJhAh6CJOJQJaJȯȯ}}oȯȯ\\Q\FhP%aJmHnHuheaJmHnHu$jh@??h% UaJmHnHu jhKaJmHnHuhKaJmHnHu*hAhK6CJOJQJaJmHnHu! jh@??h% aJmHnHu0hAh% 6CJH*OJQJ]aJmHnHu-hAh% 6CJOJQJ]aJmHnHuh@??h% aJmHnHu$jh@??hUaJmHnHu 67GHJKQRghxyĺijij۳۳|q[MheheaJmHnHu*jKh@??h% UaJmHnHuheaJmHnHuh@??h@??aJmHnHu*jh@??h% UaJmHnHu$jh@??h% UaJmHnHu hRh/ jhRh/-hAh/6CJH*OJQJaJmHnHu*hAh/6CJOJQJaJmHnHuh@??h% aJmHnHuư}fP*jh@??h% UaJmHnHu-hAh% 6CJOJQJ]aJmHnHuheaJmHnHu hRhCP jhRhCP-hAhCP6CJH*OJQJaJmHnHu*hAhCP6CJOJQJaJmHnHuh@??h% aJmHnHuhZ}aJmHnHuhaQh% aJmHnHu$jh@??h% UaJmHnHu;<LMOPWXmn~ůřދŀu_H-hAhJ6CJH*OJQJaJmHnHu*hAhJ6CJOJQJaJmHnHuhZ}aJmHnHuhP%aJmHnHuheheaJmHnHu*jh@??h% UaJmHnHu*jWh@??h% UaJmHnHuh@??h% aJmHnHuheaJmHnHu$jh@??h% UaJmHnHuh@??h@??aJmHnHu0p}~./?@﷩zqdqdqZqdqdqZqdqdh.ih9 6aJjh.ih9 UaJh.ih9 aJ hRh9 h9 hx hqhmHnHu-hqhh% 6CJOJQJ]aJmHnHuhaQh% aJmHnHuhaQaJmHnHu-hAhJ6CJH*OJQJaJmHnHu*hAhJ6CJOJQJaJmHnHu hRhJ jhRhJ#|-89P:;;x<1==R>[>g@AAAAAABBB(BQgd]gdHr7Ygd* Xgd pcgd[9gd9 cgd9 @|8p888888J999999:A:Q:R:b:c:::::;;;;};;;;<<O<^<y<z<<<<=2=3=C=D===========>>>>?>R>Z>[>h> h ph p h[9hI h[9h Hh.ih9 NHaJh.ih9 6NHaJUjh.ih9 UaJh.ih9 6aJh.ih9 aJE] A. Hulgeri and S. Sudarshan. Parametric Query Optimization for Linear and Piecewise Linear Cost Functions. In Proc. of the Intl. Conf. on Very Large Data Bases (VLDB2002), August 2002. [ AUTONUMLGL \e ] A. Hulgeri and S. Sudarshan. AniPQO: Almost Non-intrusive Parametric Query Optimization for Nonlinear Cost Functions. In Proc. of the ACM Intl. Conf. on Management of Data (SIGMOD2003), June 2003. [ AUTONUMLGL \e ] Y. E. Ioannidis, R. T. Ng, K. Shim, and T. K. Sellis. Parametric Query Optimization. In Proc. of the Intl. Conf. on Very Large Data Bases (VLDB1992), August 1992. [ AUTONUMLGL \e ] G. M. Lohman. Is Query Optimization a 'Solved' Problem? Workshop on Database Query Optimization. Oregon Graduate Center Comp. Sci. Tech. Rep. 89-005, May 1989. [ AUTONUMLGL \e ] Microsoft Corporation. Plan Forcing Scenario: Create a Plan Guide That Uses a USE PLAN Query Hint. SQL Server 2005 Books Online. Available at http://msdn2.microsoft.com/en-us/library/ms190454.aspx. Accessed July 2006. [ AUTONUMLGL \e ] V. G. V. Prasad. Parametric Query Optimization: A Geometric Approach. Master Thesis. IIT, Kampur, India, 1999. [ AUTONUMLGL \e ] N. Reddy and J. R. Haritsa. Analyzing Plan Diagrams of Database Query Optimizers. In Proc. of the Intl. Conf. on Very Large Data Bases (VLDB2005), September 2005. [ AUTONUMLGL \e ] S. V. U. Maheswara Rao. Parametric Query Optimization: A Non-Geometric Approach. Master Thesis, IIT, Kampur, India, 1999. [ AUTONUMLGL \e ] Transaction Processing Performance Council. The TPC-H Benchmark. Available at http://www.tpc.org/tpch/. Accessed March 2006. Queries This section contains the 5 queries used in the experiments of Section  REF _Ref140411350 \r \h 5. The queries, originally from the TPCH benchmark, were altered with additional selection predicates to allow the exploration of a 2-D parameter space. The queries in this format were first used by Reddy and Haritsa [ REF Reddy_PlanDiagrams \h 10] and were shared to us by Haritsa. Query 8 was subsequently altered with additional selection predicates to allow the exploration of 3-D and 4-D parameter spaces as well. The additional selection predicates are of the form column ( $Vx$, with x taking a value between 0 and 3. In the experiments, the values for the $Vx$ parameters were randomly generated within the domain of column. For each column subject to these additional selection predicates, the values in the relations were changed to force a uniform distribution. Query 7 select supp_nation, cust_nation, l_year, sum(volume) as revenue from ( select n1.n_name as supp_nation, n2.n_name as cust_nation, YEAR (l_shipdate) as l_year, l_extendedprice * (1 - l_discount) as volume from supplier, lineitem, orders, customer, nation n1, nation n2 where s_suppkey = l_suppkey and o_orderkey = l_orderkey and c_custkey = o_custkey and s_nationkey = n1.n_nationkey and c_nationkey = n2.n_nationkey and ( (n1.n_name = 'FRANCE' and n2.n_name = 'GERMANY') or (n1.n_name = 'GERMANY' and n2.n_name = 'FRANCE') ) and l_shipdate between '1995-01-01' and '1996-12-31' and orders.o_totalprice <= $V0$ and customer.c_acctbal <= $V1$ ) as shipping group by supp_nation, cust_nation, l_year order by supp_nation, cust_nation, l_year; Query 8 select o_year, sum(case when nation = 'BRAZIL' then volume else 0 end) / sum(volume) as mkt_share from ( select YEAR(o_orderdate) as o_year, l_extendedprice * (1 - l_discount) as volume, n2.n_name as nation from part, supplier, lineitem2, orders, customer, nation n1, nation n2, region where p_partkey = l_partkey and s_suppkey = l_suppkey and l_orderkey = o_orderkey and o_custkey = c_custkey and c_nationkey = n1.n_nationkey and n1.n_regionkey = r_regionkey and r_name = 'AMERICA' and s_nationkey = n2.n_nationkey and o_orderdate between '1995-01-01' and '1996-12-31' and p_type = 'ECONOMY ANODIZED STEEL' and lineitem2.l_extendedprice <= $V0$ and supplier.s_acctbal <= $V1$ and orders.o_totalprice <= $V2$ // Used only in 3-D and 4-D spaces and customer.c_acctbal <= $V3$ // Used only in 4-D spaces ) as all_nations group by o_year order by o_year Query 9 select n_name, o_year, sum(amount) as sum_profit from ( select n_name, YEAR(o_orderdate) as o_year, l_extendedprice * (1 - l_discount) - ps_supplycost * l_quantity as amount from part, supplier, lineitem, partsupp, orders, nation where s_suppkey = l_suppkey and ps_suppkey = l_suppkey and ps_partkey = l_partkey and p_partkey = l_partkey and o_orderkey = l_orderkey and s_nationkey = n_nationkey and p_name like '%green%' and supplier.s_acctbal <= $V0$ and partsupp.ps_supplycost <= $V1$ ) as profit group by n_name, o_year order by n_name, o_year desc; Query 18 select c_name, c_custkey, o_orderkey, o_orderdate, o_totalprice, sum(l_quantity) from customer, orders, lineitem2 where o_orderkey in ( select l_orderkey from lineitem2 where lineitem2.l_extendedprice <= $V0$ group by l_orderkey having sum(l_quantity) > 300 ) and c_custkey = o_custkey and o_orderkey = l_orderkey and customer.c_acctbal <= $V1$ group by c_name, c_custkey, o_orderkey, o_orderdate, o_totalprice order by o_totalprice desc, o_orderdate Query 21 select s_name, count(*) as numwait from supplier, lineitem2, orders, nation where s_suppkey = lineitem2.l_suppkey and o_orderkey = lineitem2.l_orderkey and o_orderstatus = 'F' and exists ( select * from lineitem2 l2 where l2.l_orderkey = lineitem2.l_orderkey and l2.l_suppkey <> lineitem2.l_suppkey ) and not exists ( select * from lineitem2 l3 where l3.l_orderkey = lineitem2.l_orderkey and l3.l_suppkey <> lineitem2.l_suppkey and l3.l_receiptdate > l3.l_commitdate ) and s_nationkey = n_nationkey and supplier.s_acctbal <= $V0$ and lineitem2.l_extendedprice <= $V1$ and n_name = 'SAUDI ARABIA' group by s_name order by numwait desc, s_name;  All cost parameters we use are selectivities. Since higher selectivities imply more tuples to process, the monotonic assumption follows the intuition that plans that process more tuples likely cost more than plans that process less tuples. Although not true for all queriese.g., queries using SQL clause NOT EXISTS may have non-monotonic costsplans with non-monotonic costs are less common than plans with costs monotonic with the number of processed tuples.  M is the multiplicative factor and A is the additive factor specified by the user.      PAGE 28 Selectivity of age=$Y$ Selectivity of age=$X$ Values of $X$ Values of $Y$ PIDX is optimal Selectivity    % t1=(cpt1, p1, c1=3) cpt t2=(cpt2, p2, c2=5) t4=(cpt4, p4, c4=7) t5=(cpt5, p5, c5=8) t6=(cpt6, p6, c6=9) t3=(cpt3, p3, c3=6) t7=(cpt7, p7, c7=13) 0.8-acceptable cpt1 cpt2 1-acceptable optimal 0.5-acceptable Cost 1-dim parameter space p1 p2 p3 p4 MJoin S.a R.a MJoin SHARP PFS is optimal h>u>>>>>>>>>>>>>>>>>??Y??????????????f@g@@@@@AAAAA E EѺѯѥ{whYC+ h]h/h8hBjhw$) jh* h* hIhhQUQh , heaJjh1Ujh1U h%A1h1hmh$h1h/h/hejchUjhUhhKqh p.(BEBbBBBBBBBBBCC'CFCcCCCCC!D&D^DDDDDDDDQgd]DDDE EEE%E/ETE]E~EEEEEEEEFF"F-F:FHFVF`FhFFQgdgdHr7Qgd] E EE/HVHxHHHHHHHCKEKGKHKIKQKRKBMCMFMGMOMPMPPPPPPQQQQ R R:RhRjRlRnRtRvRŸ{soshx jhx Uh| hE hx h-Xhx 0JhAhx 0J6OJQJaJjhx 0JUhjwhx 0J hx 0Jjhjwhx 0JU hdh;hd,h* hEnvh;1h[9h]hYC+h!Bh9 hEEthh=h p+FFFFF"GUBUCUGUHUTUXUYU]UgUUUV hdh;h_"Uha]hx H* hghx h\hx h;hx H*aJh;hx aJhx  U U U UUUUUUUUUUUUUUUUUUU U!U"U#U$U%U&U'U'U(U)U*U+U,U-U.U/U5U6U7U8U9U:U;UUBUCUGUHUIUJUKULUMUNU $da$gdv_NUTUUUVUWUXUYUZU[U\U]U^U_U`UaUgUhUiUjUkUlUmUnUoUpU $da$gd\ * gdzUeY`gdv_ $da$gdv_pUqUrUsUtUuUvUwUxUyUzU{U|U}U~UUUUUUUUUUUUUUU!gd UUUUUUUUUUUUUUUUUUUUUUUUUUUUU!gd gd UUUUUUUUUUUUUUUUUUUUUUUUUUUUUgd4t5UUUUUUUUUUUUUUUUUUUUUUUUUUUUU $dxa$gdYUUUUUUUUUUUUUUUUUUV       !"#$%&'(()*+,-./0123456789:;<=>?@ABCDEEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abbcdefghijklmnopqrstuvwxyz{|}~ŒÌČŌƌnjȌɌʌˌ̌͌ΌόЌьҌӌԌՌ$a$gdI Ռ֌׌،ٌڌی܌݌ތߌgde8 000&P:pC</ =!"#$% h8 000&P:p3/ =!"#$% hyDyK  Hulgeri_PQODyK Hulgeri_Parametric}DyK _Ref139825388}DyK _Ref132773607}DyK _Ref135801421}DyK _Ref140411350}DyK _Ref132446316}DyK _Ref136321942}DyK _Ref140410691yDyK  Ganguly_PQOyDyK  Hulgeri_PQO}DyK _Ref132446263}DyK _Ref142121296}DyK _Ref142121637}DyK _Ref132773607}DyK _Ref132773608wDyK  Eg_PPQO_01}DyK _Ref133382029}DyK _Ref135726406 Dd J  C @@AT"`"$ TOG啹 @= TOG啹GTrL/E1 xml͞=Bb+!qA'Js%%#vjlqP#UT*$ J(B@䔒P J(M[%8Vmv܍v{ݭny3͛7ٝNJX+ 0{>@-[L XƺGu HD (n@9">fc _fޫ6 ~5ʐx*mز*\hV\Y1x tq81cneq|$چڶ^Q$4.rkhr_ |P(ʽ&v SʶDAr0$;#ف6@/ ]? xeR'o47iXYLt=&jzT~yHNe?3͛4HM@^jO嚔ԤVvBek_6ovy,dkC yswgw2YcCK"#jS!` ։S-mIDqK;#Cr}ӕo"ӻ1>2LO`\+伡{ Ý96lĔʀmH8n?ǔHi4P@|ύϒ8~PNwXjQ&l\co;wTc,3_k5Ai3~pرǶ,$p{4^3HUB fNϮc_@>>Pp1?&a BMCw6 C䓼^M?,w#q+Z?=(_+LWs Hv?oOwwlZw֙`*p*@ս"K7W4{)S;Sl݊!__U~7Aɹ*/c`!ny5'QBܲjm.C4OKԠg7ge|pgiRJ*}Pj>7jI7i}T6T4@^j^Gi4FWtʫ}F}Fߥi}F?iUz|(C|C#!~;A]iwdޅ$G$'fm!42-Cki4?{6Y4wV>~@ZE&]=:] aDJGfWIkcٮӝBc /o`]%/..ߢ^Lo` [A8=%ϞMe{MW3<ۅOMgDGw4fOI_GS"Cd:η]im_{]%Ϯߏ~ r}%,u+UޏN;0rߏN}ߏ.~ϛn$4?L7Cܷ5KZuw\|Vd?s3x/X~uU&d]'_<{I]W-ЉH>w*c )w"wG`M9r\>Xǹ],9G\r?,wqy©E]#w5׽ErvX9rws\,\,9r]۬T{aߝ˷tNDp;}ѽWJaְر):6^6bIWH]'zwr:{R}U1KϹɖрw VhÙ܅~GTiX1TRTg|Z/c#W_W*}26N\_ @_1l0DdD # 3 @@"? Dd V  c $%AU"`"`z:ذD̆3< @=4z:ذD̆3Z4QC9x\l!"lMQa vY-ZͦѲ~"Xf+8IV(I:@EX$lX ( $u!D  -s^~t^rs9s5#J0 ǘ_[Ub㣌)umXiLMbBA?cރol`?C X"Rw%pj& Dw3ʲ\sоtH,u\M#.de&h50nwuuK=;ܦ0#Ete ەڅ싼} = vb{Kˠ_crT;2wCoNZ_qu_*qttý^@sl~)'hb4ML4޼EΛnJ4Є])znrpY5čߙlJ =0ͱS6|)q~hp6%n ,K ͵TU?bFM|vgQw>\mny.Q?ռf-j/a|g~p72F{IluΜuU ]؂X!#SsbȽath3G\la]5|&ݱ.mo7l=_[GgK1K>$lҞvjXv+mmm8Hc轓O8N[g} :_K י;+$\54H-}5E)_xo|>d[t>$"|9WrPrvo衖i_7!/r{??K{G)YĔ4Ȱv 6tO3~MI0&-9*Ɵ0Y>xLS{#En^7OM-twuw>܏ȱv.Pr); .>E÷3W=^3[폛/9kG|I|?U=1/PT?|;>,_zeS5{_&McرhÁ I ^f9q 7sw-&JE-P%USIvqzq /lGǗxk1Dyiэ#ע4Ff,rzWZch#=?Wbo+fZ1mXS \+'`V;>Ŭ{y9\O_uVr9F >>垟ܯgus2:QkEu<:us{sA0f/\jN-`E^lUڃОl2G~cd/x#t`gk^HÍ ^s9F?Zz ^k۩ 7/xg+v#n?Z ?p`3x2~0"n9>uZ mrRvM'yy;I׫ϡ3~]0bނ|^g3,-=9#smP}2>y^֍+SvQ a3Q>~2%_>a"7}q+=<7_N>/bg&/z3Y0?d>zVv ozi#V6až >,m޾{mP޳H}]Ǖ7u$ӵڽONjTrK<}qxN܎Kxsowg 0=ŴLj5i.kE3@6.KU? wmiPT?|;;KޅvY]hܷ_gtVpfmctzN_nW;$>W0t3~]07C t[RJM/r|lKkA6BQ C{Ǥ̖cl"l՛K E|?3@6.- 0?Βٜ5{wD}9#'v|dR6^R~{  u;4l])٥Y]K=Y=Ÿ=HZ/ rmPT>gbo:cNo2mfZt|Mɗxo^}u&ܵc#~v_"oguu`Y'x͝-oco3ְ?D52tl$M7u;xO~]0f?ll3#ڠ+d|&s?qo {Q;$ow߷d}yەԓzrw8`yv kQ}m Ubj c7p~`OAٯ͹"b_?o9:>ӏK U%9MA\ר~vTbM ^Ir uKZl{: ,.u?(|ߛ7+^4˾8{&^S5E箵;0>RVk|[7ysůo" |#|#uqW _;gֱބ Q R<ͳR{DqY)m{s/Y5Ƶ8u_UgNx,γR >OǿyEu\Ʌ<ބk Oΰ ^1rAk Kr2GXVtRs`Q_;:#5:ڠ'"t*~Kr?t^ &@67Yog&7gc^jѨ}Y{ߍKo:s俗t/w5&]&{IG2ck6mC^l}jXrt٢Dd \  s *!AV"`" p]b"7$FX[i '@= p]b"7$FX[i84QC9 xݛ}l)51EuZ(+"Sq :BTU(KWD Q8#'01JQ.Fqs{-69=={~aҫe~Jwί][*VX7hе]n{vlƄsLenc\W3a~kK֛fZnir ;4]jZ̽G|g44x7Î؋QniVAVz{xv {c=ݟźĽ&OΕ \yPvCͮEy7Y?^lbm(1v<wyk_4F^wX IqQ}'gދ}zT?2"Q=~'FUQTo<էE}0?y+G-Dߢ5Ӥܥϳ Z o@:t41gسev{KvcJI]+99}IܧLܮj6X"DVv9 :'vn@N QZ_[c[]oosD>(v]1QsDTQ}KCu_wVB}ץב+Ξ񺚧,^T+~[=kQ'cmRΐk>6/QSrDVWݺ}Hcޮe} HK]+4ϑ,՛9?-_'rx̕'rxl\scŚ?]GI7}͡SX_|㿐Ryj;{($"ˮWX0]åq@,  QUwܤ|X0/ko|k3):``u7}8תJ``?GRʝ/ v+ uϩ;0W}GY+ğ4F7|< ,_3LO3nƣՁ+``(t}` :wh<;uυ- ,N[o _ſ],XtkPhKĂE7|yDro mG'Yr?C˃oHS|z?7?Ay>gXt7+]W~Xt7Sϙbۧ߭4>``m_:E& ,m߮`z_Xt7~y`f?Xt7faƣ}\oTZӃoy:Oy0ɧ,s{`` :FOGqMynOwa n]Qi D_ߣg>Mb~Wƹ2 ̣_, ,Ncm4F7|'<4G`` Q:Ez۸Ht2kNۭXU3Ԧ ߣ?1 Onos\v`` ?^ƹ !0ob^)0hol]_D]No4w/ ,?NA)~y`` Ջ}eSm2}zTuڥ?Y'bUO\y"< ,}>;mQ~X0o:6KٚY[ƣS\g?^ Fˣկ ,8CE7|G<ϸcE7|<('??Xt7\V ,NƹR,Xt7ƹW@,XtBy\YvL{lJ]\ms[z7<׿9>y0ϟ;Ģw~7. #k[KB0zk;^maշ~W=l5Vz;WoqV_#X $R5^_z䫷~8^Y}B#ߪy=:-K7~ťY ,y9:?LԼӹ*.01|ҼxϞ %_yqϞNK7K= /y+nr!6[{zR~vCss3߸Ǒž/4ǹoI+}0~oDzWLέB$3ERR)ոs4Rib:iozV$q%l=pN/}᳟,BK5_ʯOo|s"0EsU/snXc5_}/.[K~Ï']%k5%ڱM|l>)>Z~Ww~Wi{~}]8ؗ"a~_Y9{bQC-?v,_kέB$߳FRR5VMrhbT:(k۟$Ne[Ų@~7%='|,HwK/;>y{_# oƯ|g$Gߞ"͗wy5107|㛴ݕriߧ%˅>" ;07|4_阧?_XN*'3v):hql Vz;k8{k5weX Ff#+YWR|>_p(w;oǚ?>kw˾o.G?߮# ,{#~4T9~w?^Y|m{qujfŽ\%9zwFsgƗK7ۓu]Ewi=N*}DyK _Ref142296234}DyK _Ref141627986DyK Math_Theorem_BoundedDyK Math_Theorem_Bounded}DyK _Ref136332731}DyK _Ref136321767Dd D $ 3 @@"?}DyK _Ref136321767}DyK _Ref141627986DyK Math_Theorem_FirstLastwDyK  Eg_PPQO_02}DyK _Ref134900303DyK Math_Theorem_FirstLastDyK Math_Theorem_FirstLastDyK Math_Theorem_FirstLast}DyK _Ref135543788}DyK _Ref135562516Dd D % 3 @@"?}DyK _Ref142126287}DyK _Ref135587710}DyK _Ref139825388}DyK _Ref132773607}DyK _Ref135801421}DyK _Ref132446263kDyK TPCH}DyK _Ref139868205}DyK _Ref142126972DyK Reddy_PlanDiagrams}DyK _Ref139868205$$If!vh555]5S#v#v#v]#vS:VAH t065/ 4 HT$$If!vh555]5S#v#v#v]#vS:VAH t065/ 4 HT$$If!vh555]5S#v#v#v]#vS:VAH t0654 HT$$If!vh555]5S#v#v#v]#vS:VAH t0654 HT$$If!vh555]5S#v#v#v]#vS:VAH t0654 HT$$If!vh555]5S#v#v#v]#vS:VAH t0654 HT}DyK _Ref132446263}DyK _Ref142195898DyK Microsoft_ForcePlan}DyK _Ref142213646}DyK _Ref139956779}DyK _Ref140093981Dd$H%D & 3 @@"?Dd >  # AW"`",Ty [1h?{ZL@=Ty [1h?{Z89,t+='x[mhSg>7G=%ju**i;?6*Z&A(؜~lnSPD¾~IvΛ󦧯7魦M^xyssO=Da̱5M< bJ aG c>"kpю!<] wA馧9LyOg/{ ؓrēlPa"9oΩ/cћGC[/X |yig~6N}Z~a$ω*waֈ;G/c:Hl_y fll7o.m0m|y.'?? BA?a~ 8bEwAyHxm^HM}ρvFAJfeݴFo|a=P7pdfD1ij vD~SrRZQ7XO'3%~rܖI\$GȜȼ;2Иd\2b1?1> c%c1ekbNzt-[ѱQM)Ú4etv Vu2q)D.4CǶҞ6oF\I <4͈ M~J? >W@'M!oc48_c7ӵqX7ѕ A<;xzunnNVr1^OYd~wW{,SѶU[:: jk^GsjYG4EBG.o. dwyMG2nس[FV(=sѿ5## u3`<"WdZGDZ笂ڕыm^׵OZjYGq[(Ά3x4! WdZGװ綂ڕѻ\MQvl6dg>qkǞEѶU[ƪtQ1O 1rko"aT{6OV]{2hc1(}a5FYĜzhE9,z|I՞ړqk-Þ ϩ=9lhm#m;yb!@ ;3t$:ڍ=i[ԮҳZ؀ c_M#m .R!˓Sjӑ[,\PU}Nu׵XK-jBGH&BuyO@v&Rm:qkƞ~[ԮRf5=kO(]uHƭuNc`N<'ޓU݂X?pgXSy|CHc .n?eOÆ1=wVj 1r~m4 Q_2 =SW=eh={ʥ& ~ùx7-W[WzƷ.jPkڎ׽- {!|j77sޓy ڑ}|uk1dAkx(^WyG雩b1V;~k?Z='ge2;  # AX"`"!̱(D~UxU@=̱(D~Ux9-+c'x[]lU>tjG)JEKb-MAGѬ>`i"!TF ' 1&9wݞ^fwN6 ̜soΜk4R ޜoj ueaGcϘHF`9"@s |1/6xܦVD(0 %hCˉO Vea2`L(b9e*,DT#;WcћG1/͋eL#/G:-ԧ2MX=tij(w[s?Bs_NW.脉o3᳿!e i0 {'_'BUsk ]!P& @d!lG U)tuwYORLZ߹[y 9"Ρ~rB\7Xv-H7;O9y*|CcqxLUw8S $w#QSQU8@r[(j]6V9޿}~@|'+7o 7yrq-lCg>eSзC`̡_)0?6 2 uCO^q߱-N߱Cp+⼽sm-qkVδq-hb耝?7n2>B\",:r5KZgR^*J d{æ $;+jB&~'scʰu"RjD>>򱲠zDž<>6>6򱲨f񴃏f>]c1xbW>q;wL  # AY"` "0[jo^@=0[j<B u.k)Mx[]lTE>wOn(%UWPOmT01x` $kEBO PM\jL^4&jPb.$̞=/=sg̙oΙ;3Xc#bBڧXpEO_D 3a/EeFAx" *ۍK6Xݝ܊:Ox.[kZl<r<4f9hb - bIl,n~tY[g RXF7reBN(>7=Vk[}'sA?Xx1i{؏ҏ'+Fx*?u!/ĉAH\ O>;oVãVf?e'QktO4 $o_fhgM'&M5lq9,ư&?dB\L"ooQ2&-1e-(o^!}2۫PkrCjKڛ?{~nԖմE*۲c[-W-:z #W3yfs97$\{46u.|MAQi]pR7'o8P\k}NkR\f '`EzuGЇYct>]Do;:u/> >*WF-'S/Ƶ^+ҟT2%.mWcx8]h`x"F pSz02G}?^[OL]][rQΥulsS]e9نozOJK[GɶN ̣ӚG4"RG/Ro䤯x$<:oR [*Ro#a͙E<) O@rc =Z'н]J k{e}f%8nuCv#=|- ~C ).Sy?j`OkDd 8nm>  # AZ"` "%GvHmWg@=GvHmW.I!/)xZoTU?w޸omwFWKYQ41Eķ&eGBVqtҭ/>%B@D\(,  ,P \j b;ι3gルy;Ü{}{{y vLc*VRy(]P2u|Qf=g~R[0BC%g>.p -}1b=E4VTu =`zP@Qb e&TXHXv$(o:}8c7򙴓߽;n8!Z1\  # A["` " U"=>CK o@= U"=>CK֠@.Q+P'y x[}l[y;vvKE- Tw,b[*%4Ɗ~Uah !?iE 4?VtZJR&:Z 415&ue\k>',^tsν=K)$R* b}R;VRRJpr8>iQ`@u$@m4=M]`= )j{cv2wӖ׀ 'eRfj'l+T^_IȗIi)vޫ.D}1iïͯ$~q\,1xZja3F2X%^k=0 ;rj1C~5?s*m3@Rݑ P{?&WϋVoq*9@GLO$X3_nx*o=5= _.LZؾ,_ߨlud#zzrc:3cnq5zƵ~'?޸}˓qΥR|r|b=u .Ov=^(;<|); :Es:!]ɗ[X]fBGCK9Hj}UR/#oﵖx٨4N@9n1+ogubk IVY:ysv=[lO}}]ι'x| 5Z\]].=E)ƣTMPPjx6<:5\_=NƣAN3Ca'#)99ˣW#mw 23vmxtj\-ϱ\W9Cn530e,71/O} T{mxk=Aٹ¼f|z;s≮ j< ˦=z=Ʋikj긋eޥ{ k-.̵DZ{p,Q\=Xw[<y}_^o2"7#kgӯM}ڹ۩\ G |R?#3Co|LcY/  ?#?*#?"?(? GCO |P;*"-$M .su_w.s &.r^qO |ZW~Usϋ|Xn0{Q^r㔗ik>9^Sz A=4,wRTn#ЯƶD_RK)rr *ŎMM$gMLjdw({T5XK $=;z[W>?w<~pN VKas*|ݓtݓ-]4YYֵ Vt,0rbq1{.굗ZoSp2~ZPx $eje}"~ ت{-}弔k4Vu` _=0g>ևEYK>/Yel(MchûxDl{im>6X|ZPbLZSml@s xĆĆ'!BtIX<@` :;߱T©nԝK1l+]e߮Uq#%֘Z@k_5γi|_sD1>F1{9 bǣX_q}J{^z'KuѷGSL{nosk6o(غ5L3%3V Dd >  # A\"` "Z βS _kD6 Iz@=. βS _kD(>0 ,'x[oT?0 t0[ho?qQbL]Z—MH!ilB,A`hBBLcj5!Qby&B~Qs;sfMwgg%'s=w{νq)8J d?-x~ ?p{zA=X9>}[.O*!P* /E>fJy&* i`OV]1*ܷOTd1*"򋙟O!-`EZԇtkdXn}ln>hKm\dwp[\~Y|V}w!azw= m8?o6"= a F' [0Q@Lܗ-iϋNRN OXI OeLz-q9wpҦOCNݻ,\~5lMkNlCM-7~c_C)0jO5@<Ői*!`LZɏ)j~O=M-+?a1&LGT?y3Lj j]_)NB†E⽋6KWqH;7ԶO%76jJHu6b<ټi \F\uHY㴒VSJ~Jɏ)1%?䇕P1%SJ]7+f%_gr^7n=tEs:i@mYG3ZCWU,ʹ{O߭ي ^ .X/#NNNOΩam^ ;7p ;D?LIM+Ԏ_!=+b m- {Bֵh;/=c׉w -;|zIx- ۜmYN;K1i3GO0|6qOv {|:KDu8v[=9 &Q208Y"?i-pI? |dxp$8*bCIwG⏾yt8:3KO3Dw?v[}9I(@>0ii{:!gxwzub aiNm06x|^i<C҇f=U2D|ՇS^|'0gP`U^}Xs83JG^|/T.AD0h=sqֶwX39.\5iQҹi)v"^Ԯy#LԞZhmvi ,a&CYQږ9Q~/ە|oVJ^ yoRoq+ߢ[R7M%JɿRrr+pWBSpǑEMk9qs.5sa"+ǘ9+n >x#o0? uh˳.Hr}d͝(P֖F8cK3+sծ=^5:`w>~\/~Puj&c}B/Dz^w%Dxdj 赲z͞&8]hV\fY{_lw{ISE83ۈCdlw^=c-!8EC%o7>yvViĥyM5 |7qH7ws:1)ҝY3;Y5+m Naϥ+sng0Ӫopf7[|ΧpwAP 1AIuEop}vw&gQ0u'cj:#Ϸ|q2ʧcyH=Dn]c8dKL\llRG}q3SnVb5ͳQSw#S!C!*ZftO抸,';@j}DyK _Ref139979877}DyK _Ref139979877}DyK _Ref140056165Dd D ' 3 @@"? }DyK _Ref140056650}DyK _Ref139983185}DyK _Ref139983870DyK Fig_OptRate_VaryEllipseDyK Fig_HitRate_VaryEllipsey Dd  0  # A]"h`u8x] 1,LՈ@=h`u8x] 1,L0DJ<xZoT?wvvʆ)+YmEϛ7AY%@5,`-/f1&j&&imVJۤhM51WPty羹̬kosvs=w̽)" ]TD/Qz,QRD. ε `IfPu(/GjkJ .v]9n :tHUt+w=99I_"icZY[ sї1mM{.|r\]y9,sI 2)|VWm;N1ki^C-=q hFAó9zrT:h^Rʙ.rA?ɰL -,t9PO;>WKq8}LzB-` ʅ ~?,gv}cyz?<-$Kmt.d#ty|xj{f'seߑx<;}oܼL7>b6ڋ5HKL33OtN[j 5v0fv<֑7ʙ3ܶq|/g֜ p`l+t6cFldh5bߖP#4׈fc6F|~$͠F=Ytm._N~.V{JS>n_ѽ Wk4B;fm̰{Cyypg4tFY32M>H8`ލ96r7–wlY_%ſ{߳K,k*l?m;Uick`:ib\/Ͱ/:g/rj-vK+i@}_6I} !ulX0-HNIwX0 Ik`îi+>`[#Z]ظȻ+(pEp'C\xE.1)q+UL &.0GνPe3Co.ƅ+C\xȻ+C\x{f9?h̐cl 6<_"DkM$#Ca\H` 1~ q7G0q~`z#qH/0#y`W0⇵C/Wp6ĉxA!R;򂓵a(PEaEpGp N!N|OpR  Fa?R?il5Ʃޞ/IlMu~o[ҜٟU CfPNn`my4&:K_1z&AC.<44e\.AU(Ui!s-r6zzz} .O~0|j-֑ƣ}77 ɷmr6,GB剗&b[X}[~?2;cgx|to~(OI}ۆǤ/}o]I9r~H~'pTV|H1.ܸ5J@+ht^+1ƹ'0dzW>[\+:犎)W[Os'l2br˕%o0sni\$EkpY|CH76ka_#~,Fu~z2h5sX]W:Vo7 zC7fC7~z|_CACv}ܨC/-. z\ƧΠ>s,2GW$F y˼M^׹m(KP"xvY-砕(Oq.I6x B;iO'kQIgn۔=Pvc{kΣq[>QsHZ6GiB9rcAϯ8w56'%h즣\{)^TZp3z1G٬BL?"RsِG)E*EN5`l4g D^= kTgMcA{ &JMjJH"WG|$Xg1GQ|D>f qW|T#1T~b#6.ʙ"\LüW*lG\D؎s#6B̆#}+UlG|TQz4;b$ȌH;a l$ȜT(Nx03'K'#-(MA8fNqoYQ#GGm|*G Ӑ  Q(G>˜#>2lGX zʌ#Ad$ m1#aH QƌlGRGseFH{EsR\80kcvuz=_S,,7u<3)yL=1^c%jHK߆x(x79>::ok\}Q(+;M]pߘMVɬv`r X#K]n5XekX`"{: k'9RyZb`r:ֿoy:O.X;Ry+i,<4gwwɊ=ou_f7Do6^0~jAQG>wT?1r"u"XHAy+_Of qP똟Hi됺lu,R&PǦXz/ڡ+P:5Vz|y:rwZH|1h/D$`I\1g;93;[vmϕlR֔4(g$A4' %; qX G9HUi3> cB_frben[7ݗ(} >4VQd\vaIcQk3/Ԩ9j>G(ІQ_:3 >8FvO\w{ 8> k4s|pbJ9@M25P='>\A(&`a& ۃ\tS1;4=Fگ*ַ&FYpէeqMvm|ߛݞr%lR?&ߞ3žvG*&_Jh9r2\PXqL"7f]oT,ac߆' ߼{'-:}A0>Ri<~;#[\W)R_1?bpq%h@y t0=<\ssSɏ#ϣ5_WiT͟j(cr:J:4#?ð3͚Y5\NmuksCi˗MSK}üޱBΏ@SnZM+Jp/7+a`հY/>z 5|hWk녿y tyjzl{ {¿QJoH}6])NJ,/Î^ћ4ZQސ^<_ Z`Wa7Y+ka O1z~t ~ G~U߇nE'`͊nN*:N(~Ttq z璯VU&U0GOI\0S,=Ch38zlp9jmG;Qt QstPrh/8/Yp9jy#t#-!m3tq89tX UԸI 3Ld&f`"`aLL,̴33%30 &-t23%3`Lt˾.:GnwG܏0#s/˙w1e1Y]Vt?QtXwχj0PkaԂZ0P+J0R͌|ߨQ|I>jG-,.֝Tb EϚ ,^B%1r/O K`0Yd9 d~6x^ϱpbN%'9\p]8(pϜx$'78p[8)bN<78q^TĜ{`Ń{Q xZx0//x ᵰaVJ%+^൰aVJ%+^ ^ +fT ^ +fTŹW[ρۖHߛo-sc1-[ PGJ>';GÿEܟ$_- /~q/|,?_obFEk9;Жh {7 isb(sR$ews>/<%8I1q~1g1r1qr9L_1rl869ę0J}g0}Ӣ ם+4ӵbk%s朹s~sܽkci,YD)?|MDTE[Ed\Ӱ)"@爗(YSwe^jD pqrѕaC6m4QDPbjC +==5+JjWx1e;@J!q1s3Z!mzl=^۷cu+2Qe;mL}RKB1F}yXH7 2`syTѓ MtG}zg$!Ј5˞+rvxO`[h NS(.|ƬTلs[=c7EPcvTt\x&yloiXnKIBR#Ⱥ} NF'x>,q6y]~kE" -Z5s.0+ C_a+k,g|qx aC_0S_kgU\y3+$Ekt|se4 y 3bk>õA@ZJ2z<-2ŭA!BI[M=+M`'5Aip;ۊǏĕ=;05 AS?)[W#trR 뿘#?)iwĄV_]9 V%e7Jۭ9kzCֲ] f;+ߧecl^cf#)YG; gxr<tyQD`Q|􁇍*{_&C`%Ƭ*VJ4Na:şԁ(8;83'508 ?sRIT2'!II%sR8898dN'>p0k/| Ί*/fݡdsq̮1iPRes) z /e*v`ҪA ㋃F/1e4:/^R^b!%¼/QQ/A%xx;x 2/50x ?Rx x8ꋟy @} \=M>zǒ98RZԔxqMiagW:/;:~񯖯}w.w!v⿽mYߟ'dÿWPl);0\ i~aD9R-+.>._ib/Wzy@=r-4M7.>ib/WP#1H.,@x]lTE.Qh(vwv;R(v)HA VyD7C|"?Ѥc$M5$Dc'IΝWs9sܙߜ{v:Dt2wȅ7Aty-Qj$z0Y:וeu?)SYFp@ H\kЮNʰX>6d´ݭ&Pm cD.!ݮJnOMM2nWBr;T@mr][ec0c`-/űQof;SmLjGRƗˏS`s-?YP] ȓh?ddtjcg9:JhG5}eDd%Ȳ'"W8961rԭ̓#̜rI¹ayOrpJjp#J>agGҏY(?kZ~=wiKOX KwҏXqK+˳M=>䱨925g'ޘ~čbG|Fg=JM)iXzi i|I}?$C[ڌ(P 6vP>2?xrR=F{/跇k5#yð;4y8W m<'R.aw&9/o,n=uRvRrvMv s.q&6O6R?lbW 1l_0lcqF!vW\MY,5x(I!A@l`s9_ ,P'xIxpĘŅ̋^4/x^⁅iKl3iHasm$'FC`D0#)͈#IiF<0HJ3{c(3"ԟ\0$'IDIGN9hʛo3׬b5iZk&X|Dyͤ>Xm y>-`LDDk 0:# &D;\rH`"CrH"jqѭswrH'ѭsHrHNNd'~$v n\-}N'=fXQRr#F}#ԟ\`;[:n[pޕ7U0$Z楅ڃi)|)Q%i2)}Î$"0W阑WDμW)WV^՜ȼRY j4]Gd-sZfQ3R FjHFjf4F0 ZϚ&fϚ,G+Ѧ8 Ѧs7H̨K`$khڤk9TX41]>i )&^0Чk4AS3҇罨k7\v `&aԴYfi$ &f3J$L;3Jy\$$Os7BI27F.DVI27UZEO*bV9)EE)E5ʃaX}Xc)='!{!!8V:y5Y҅8wX ǐ{d}^_++wϻ9`do]$ y?#.dk,J.wPnY,0B{a7?WF J u~ç҅UlƸ~~Z1REbrxn1XEba?q Đ7~n戡t ث׺܊S1G]w:ş]/TbϮ]4_0Gd.S7l`~-64}߂Ի"|w&򽻑k{nQ~$55\Tqb7jg?Dd [UJ  C Ab"`"G$@0}Ilp#@=$@0}Ilp$1H.,xklTEl,Eb!)H!-V"XaR(-HyYyJ%(`XC"jQ/  SEbB $H4bb ?gsw*xӝ3͙+)H2OD? JS@EKxu$ t'lE/S?$wyti; 2m{t7'+[hDOA4jjwvcc#uv ^n{ !lu{Q106s2/l'uxX'6̦CGĸ_ݓ_a쇔ndG7;?B3i|ZH h6H?] aH IY{ˈ![:b֭~|7ిhrޟoܨZQ>ّX6&},YY:K/y>ҧZT+f'3~yC[o[K`鳄Se_e,IKD&wcQ.XNYcl2{4CQYy[\7l; _(@W!h8ېb }U=*ھP/?g,iq>NǮj:1RynG#u 3|/)w:?eWb~ {-6W8btnW:o_f=B,Zgp}ϴ҉s-e|6JM`ɿ8}`?W\8`&"~rD>Λ|G%yޥȍч~0ΥK$=ngӾο}[Kc ޔ5U_ωwU4_.XhcI[Zg|rWK4}to[;[Z do`#i~ tk<^:X/J Dd QJ  C ##Ac"`"E ml! @= ml<&/aI+x[SEt E.q%BTUU(,-Kquu-CYEEYV4f٠!>}$F B4˃h`&hQ 9f:3Os;Lg~ʹ=c.$-VJt3fՌ==̌7/c, hj߄YtFCv-l -8_lXh_jq߭.] K(TY^ yJmٸ0Z/p\V.ϣ83`R9[[T6>8ZZZ_gb_,Kɏkz;!HXU= 8a=(kg~rٛYaX5GG01E?6ϼaBvk lK)eY9̚x_,Oc#7?yC0kY3mvWYq&熼aR31 rCJlJ~lgV~58y8`eǹɒO")ܩ/Yɋ ^\/Yɋ ^\j8KNₗm_e񒓼~P[Bl#^r4\?""R` dLk4NV'Qׁ$Z5N"Il'7/e&q)9IA\$FtKN$4N:$NzAR㤇8IIN$ '=ĉ-9I;AJ$I%')p')$-9 lq8I'iɉsb>2U5(B~\X6z+kb@K;hX f:L^]8_L$4f:d&fL7I?c8+׏rXS>y`!#}8+}ĊK>\8($qs.YbHN[w\wrXw@^[wv#q-_e?,l&N:d>{aĵ|#?[8]g)$H6R`Ƙ/;d#62`# 60l'dž}2ZN#F\S2)[唌I)8)NEV\Gc%C8`IX| \xJ^\W)9Ź[1ܣ4*9u+gūtşJX ?,+2 YqJ`!=ʠ\{r$ 'ydPrR'pPI8 #ybdP2ReH>\O(>O3D>GV|OQzv~!ϵ-~-z[Ѣ؟onuB+/˛K2C_EWZ]I&O&S_y_h@T"@k?H_0@U5R'}FAOk9⯩wo m)*_W!~LW0x :\ЖjOp*}_lRY5sib辧|b - e:ޣ8^:Vըr:ju8Ա3`kx|S&UÖF=S&iWhk>Kt5?mDΧް̋[Hvkjx.V|PXNO]-}gKFO#j鞐L^H M/Dd QJ  C ##Ad"`"hd wFh6m}@=ehd wFh6p$/,I+3xhVUǟ;珆+w?ܴsml75tHVH-yYH$bd#DS+M0P "IJ?*2(+=}}{{<|s}wuB, :z Y8H2סqrȂGp/UA!pW)`<\'kٵ,v5d ێ|4ZCr|rؾ"KY)Z~!#쁔@!㢶nrYԡl6B\OYc-ΣoS;ʒߏOQH=y!>4@$Ϸ2}WX}~2^$:˱񾂊AecF.3,NvAB,YWDƧQ4HW!gҶ0r"_ޢ}_lz ʍB|zĩYYV"Z=Z:hvvC@ӰW ̭ )DWF=TJ"] ;qTJpRoAN2vrKymk6RT96B̵L\㼗Y㾯G5b48yŶa3GBl^AݝhHx̴NTfh9בV-y ~fW~j~jdSyďHs2\t ,xyPZ1wCO'Gcuֱm~: US ;̎v43lT:㠳3A{䊛sSqgnNΗ!}OO )?E0W~'~#j~:x|֦fre6ܡ\.i.R,q%XNCa$6f逓 `iXz/+cZV9h%|,S`j67ŭgY Z3f*y.*trQK.r.rШ;{yʅx7]9h `[cqX:V n*M(Y Rg+sBtea'v__>^$ pǕ7{P9p nprD2T} \>=FR1Šј13{ 7nѯջﲙƒw{ƒE|7 jM;r.я~>ay٧"F/6iFcRo`.?3[P?tl!hN3o!dsّBOƜS:dL𚖭OK5Sq9cmq|ƅ4ۨIFm(/|Nǥ4ۨK҆KJO*gޅ2n/?C? ι)q;7q1R<)RZb}2_x>u+6uC\[T>7%mqY_9s3ъ[4sy_utΝsg}[Y=s7`FF$8;RPu+,HEr]ܔ(A<s SS_39zH?j.-{|K>g\pXx/P=❀xӈF-iOwwMu1Ru[][͏Ŏ"VD ҇(Q(Q|t /oX*X$*E:_D_~grݛٙI d—9sϹ{Ϲ?sgܥ:}D)!fe.D.xgl/IPQAV9 '6;"`]":Rԭu35zth&|]Tj<ǥMuzjV (t@) eAe}iӆi۴W8~/^EywJ[cL Sлn =*=fju~׽O~ w9;[52=K{12._nez2Ua'SWQ{}xPg|vNq*2eo ξ\좶K~-sjnj/5QIG_VUҠ;x_r;LJ.`_)wdsy۰ɼcs^ 6@J}}_Q}ұȾ H{Pѣ׬^E_ k.&ώiggef8Ӳ8+1,Z~?90eGɔ?kic!?s><О/؎PV/$h^Ș:VIܯG~{?2[dߡ,g6rQy㟰',ş,>?bG,~,~~1ۗWc-~G-şυswbfgd?$ k2~C6ǬP65N +uڥ}_/>|i<4}w3?Ƚa` =Kb䦭6,Z |xNEsD7V<5/<\DL.CGqSO%j>m trlWۿ}۹يE>ĶK8KX8hJTzYuyovLttj^.mּmdaX64/FHؘoؘac a;p 1llll5mF_| XW7~9܌E>Rb7rqZ}tL+RoJL-Kaߠ.tX~%̑fLVliiqzKYPR{V)} 8cpWG"22gc|7r*7qM9ӿy-ћ}7Y[dN* 6Dj,NmAV e6CDd wJ  C   Ag"`"zezc;e s`@=yzezc;e s`,"/+c'GxZ]hU>wwn&ںm]Mi *hڄDh,iJESO}1XZСR% "5SYϙ=w̤nv=s;=sϹ?3 "cd@ C^ # 6t\Rźdr%7c VVDugjvAuEoom첗~5=tSj?7&!I^VUܰx/D'~PnkgZg}ƻ2ީ'?)?*?(! ~ O} >+[Ue1v ~O g?#x碏O"qן{=dM'g- wW4 O>F6|ۋaz(z^C(> 9ʗ C|%rNsgerRy ixBG8%⩹xn(و9bxdwD<5vo|kG# ~/F,njݟq\X\!=FL}޾ʼnp#tO"NS!9q5 s4tx.~,t5e\aa>G"t}Ƅ]o??⣿3 o}sϰFL^sϵ=[p_М ݛǚη}SAiT_,_N`mKr[4'`XN%Dd rJ  C   Ah"`""Мc9| S#c@=["Мc9| S#`!0 ,P')xZ]hU>wvMu1Ru[][iK SXc+*U(QPJ4R7`ЇHZ`"B(޽iess9gk*om Юaˢ*P"7k~qL*{9*Pv'{'2[d^,뻰m5zP;R+C=~s}P3]T`ӝvdH!z법vn*JFyL߄߅Wf#y_q4:z7mm#"jWFWUG, _+9:˧N> (A K CDO$8`I!}o8&2\NsDҔ_h_ߧ̫.h"oQ>tsK{ ooOeZݩ{)|r+yE|xM;55;DdD]*d!@:S9ȯb#}.]rf&hQ32S?lh `?o޾hl/EdK?i '.ky֏!~oYInġЁlţxpN|q8ϴs-i/BgOj%_Z5u4iڟb'#WF){?JS+,VB<_t"o(x*^""#mX ,:y=z\/.rXu:AbJG!ބj;3xnL\A KTw@Q~4bx"fxӾЩxe|l㝐夅>16^ 1nabcƀA+Ơ,lƶ9 ۛX7Cxp=&7)mΣ!:Zrg7Es߄| H@[:sRcTk_Ua>3 '`>=.DyK Graefe_ChoosePlanyDyK  Lohman_1989DyK Graefe_ChoosePlanDyK Cole_ChoosePlanDyK Rao_PQO_NonGeoDyK Ioannidis2_ParametricyDyK  Ganguly_PQODyK Prasad_PQO_NonGeoyDyK  Hulgeri_PQODyK Hulgeri_ParametricDyK Reddy_PlanDiagramsDyK Math_Theorem_BoundedDyK Math_Theorem_FirstLastDyK Math_Theorem_BoundedDyK Math_Theorem_FirstLastDyK Math_LemmaMonotonicDyK Math_Lemma_MonotonicCost1DyK Math_Lemma_MonotonicCost2DyK Math_Lemma_MonotonicCost2bDyK Math_Lemma_MonotonicCost3{DyK  Math_LemmaYX{DyK  Math_LemmaZYDyK Math_Lemma_ZY1DyK Math_Lemma_ZY2DyK Math_Lemma_ZY3DyK Math_Theorem_BoundedDyK Math_LemmaMonotonicDyK Math_Theorem_Bounded1{DyK  Math_LemmaZYDyK DEF_below_above_opsDyK Math_Theorem_FirstLastDyK Math_LemmaMonotonicDyK Math_Theorem_FirstLast3{DyK  Math_LemmaZYDyK Math_Theorem_FirstLast3DyK Math_Theorem_FirstLast4{DyK  Math_LemmaYX}DyK _Ref140411350DyK Reddy_PlanDiagrams Dd  R5P  S Ai"`2s < x,dC㋗O `!G < x,dC㋗\=5J, xݛmlǟ98>84䌹@ݨԇIR(U,5TM\}>gǵ㸍jƤ"X 4R]FAZPFV|BrҴTP]6;wc^A-hsgofvFUD/%4l U:bXT4UDTHP05vaoVV(甲0-͈V_g9V&zWh2pj2$K0rE̿p3~jf7&5x84ޒ8zpgՠ_=JSs>ݱXQWr.,5R*M-Ψ6Kٹ.)Xg%Ĵ{W\㯍['m?,.ʹ끑!6|1h6,qMq[mܶ6sSQlWw:]fؚyy6m ̭7Li%=I?D$1N&x=L15e̫0 414mFZc pa\mn~>Fzuaur>:hyFzRjr8'-JU+XAK` ha4 .XmHBw0K\`8Fq0\HHO >Fyf/s2.{6 !1YXҋb&1NY`'yᧆaI|$F 6]zX’8Hr>L]jsZw~jH `Kbng%ZfنO S’8D_El$sksb>6_~jHd; K# Lz[eoؼ~SC$z,SI̭Ͳ?5$؍%눖HEfٺU/?5$$t1;Iһ̭Ͳe>6_+Ԑ"p'N"wMX}h[9-*.wKG{DG~~xƫc7 Zh 4I3`:([이WgwTq{@S UU:]X {E5:=Wǝ ;5U::Gi2RAǜ"uձc FGrVNOw;}?U k? ^ƴ.)֪ѡK˘!h)ґ1m1E::%륱7?^yFdi&vSo(&Y/cZ>")zTǒTTh (*Y/cZbU#)Y/cZ 71/*t\TE^4#:OU㴽$,}\%w n[f:'u)m"Iixq2rx<"1 tdqc/tqcx4nCܘ)3n,u)e:dqc/tqc9"7fʌ/1=tLKu< 阗x :Xx:Yq+U|~25LqͮDCj>)k?n۷;l>nɴ#{FVrYqt̖~H4wFHSOS"klj؝>9f}Bz;W0N$N^TOFϞ٤og"շP HFiPLy_=] E⋂rX(ŞCFNR%[ꋅx22{Ϝ;N 礓T#lۼ~%1Q}1cmpg,|}VAi UjkU+AU}#"LKn3|LcP=vTt+ƀlu{ɒ^Ѽ0b ^h. K' .Tq^,r:oZob/ڳn^|Žs-s\ce̵oJ%i/^xIҋ-ًb.2\/Ew.FÔﮫ$]W#Euyk֊?^C6BX Dd -L3P  S Aj"`2# ( gpΰ `! ( gpΰ$=6J, xݛmlǟ9_ &r1;lr1- $sq_*q%Ŋ"!U+J)VEIEOQPe"TUS}ٱo{=~33;(FTvh)Qel "-<hb"|{Pk_,禲,$43oYi#exn:U<3^[Xk5"_̜W?6;ؓ{.>>7BvQ/ߋ;9R"}gNm߉R7WX\ܲR:.No?'7Wy Rniq[m3}˜Tź힧Pmey+<$Tyx9†E-\"h")|6h)Hq]Ea [NغKV *ass2vC~7hZئN:Ez6)l7LE j)ݫO&hq+iϢgJޖG;_ `ɲ( zqy^ft̲[AMR_6z"mAhq<&۔q|LE><ϲƒ8f$DkRjFq Ops7uK~Qī 6W +?M`8%A&qjV/1zpՃpIH`(F pIH`TFmz&/99 K0>Qe( FYpJ`,e%+1ʂapH2`(.Q2e0d%FЂcR4n<-զ .$A& h/7۶l6!ъkXX?a<}h5)7FoT 3Cb#aIџh=}X4&HͶmk6կ ~fH4a KI͢I47Rnm#}`Sg:aIXIb^nVT$̐h<%, sEh6կ~H @b$ ϼRT!ļ4,y&&3/7۶.T53EbWAJo1/7T53CAg*z ϊ&QGי;&|`Sgĸ"Kwbw,|VGSP.iTіɊ;;+*UO`dFGQu/FN^7zOxg/`x:2VǷ1%ױ*fJGV`ӵA1q:1teLǬVqݐ df܆%~\|R#  Үucx=uX7*q^GvݸGK\7ױWnL݊;eE-T*e݋nlizl[@i+]Yļo=aT* q.X/#RYTbko$~8-u=koDCPʛ?sȪ|oZzW}޽gS;YBsҳbȘ1KD~g?"ުkV}60|l47Kl?~jh(KwAi%UJq(J+uI|{mShmbJ)M}o'"fh׫_#CCǞ=Sji9Rh. QK'nK.ɵJ-vO~u]qj¾_]UQW5owؼX}Ea_9pqj~{q==t- acDd -XX>  # Ak"`";t[@e23 +@=t[@e23e6J, x]}pUFC5||D #@ "! iémj1N[fcg3:N@SZLdS@Uq:P'm8mӳ˽{ycN};=ݻwbm&)b,J">Kg2Vf,Rl!clfl 1CGӵ',><6$BBYR-=LLбml+_E ;pp]RK??is_s~уEl!7nWᰶd;~E9Oz1 :ElXǵ‡ߕTPElgλI-^ד7/HZ~=er!+L#!=6'VE}AB[ɺW=OuʵRuWp餫mSONsfŵḍ|N^&XwO.3q_/r[7s'K._܌/H 3bfQ Ci 95Tao)0UW+a߫{Y}QMGk[;I/'r.P@{mjF)d]Ҋ5d&uYN҂k il=kǽwa}WCҁ iYGD[>wj=* 锝땓uɴu6˓eЙvVxq8|)!PZ/K eE\|/K".×J _ė0]| a/aKl1L ̬o;+d=IÕē dJz@W7Qª}qŕ*JqRE\H? %}&yYnIE+$}rNaN]@>6g*3ĉJ?X %9SI|Hh:%ǬT~߀Nʏ+HZ$['xdyCn}$xDSا܂tۈ3\<)Of9xʨ 2_}c$ֽr"ˎQ.F,^1mc$t>r@G-scZb.bTuzG1e\=rs:7r_conA}d@ Q#EJgys?sf:Ϝth~V{?r\>R^u _2c/-Xs d6bRc/s\݉ytN/=r3/&K/e}|sqO4ԗ/`_ľ>ٲhD_4}y?ᾌ%\Rk/-4 Kӗ='ңkM}Ihr|l/̽}嚫~͵ՉV?ǣ34VbmuX[m/;X'Ε/\.0ԗ/ Gkj7:k5X[]d/1.Dgm5ŦɨgZ.5ԗ.Գ.3ԗԳB.7ԗ/gy}1,L">;Q*,_gv';OyλsWrmjRh݀a׊]奱2L!ԉagװ_` ?a9+aN|oF~b_`+Ⱦ}H2,JEn厉fqރ)|vq8;YWqN3ʀmzJzf+eHqo:쪴%r[ܗ/>cg);Pg`09weݝi[G(q0k9H,ꞽƞ=5{P,~\V_+/1PȂ:s_N곇g[Vl^4}ۚ[ܷyo<1^KT98 {þoդk kWLm -d?dž_;ׅXCq{_g N|!Q&O?}kŤ& Dd <*YY>  # Al"`"a :\U7t= V:@=5 :\U7tDe7J.- x]{l=1g{>y9S+uPI` vHPܔvI"E *ThX[%&A2mMըnG7wٛ1>aR7o-X+I!cU$ӰU kcidScÔ\VX=,5v I ء)$)oWmLrlSq6q|!XW<"WO1w$~d.X_Y1Kb2],vgf`A61i.ݡ+iu;v8XCӖhSdMY˶Y#{m]-l'Le=c_uP/[Ժaoשȏ'U7SΓ,Tޢ -S}̋,y<1wNec’/R`HbmF5ۧq^[qӥiݕ_kX$Ý'yJ[^i3gY'xL^MI۰;67WEݶ-V~sm2w'n\(o{SPǥR_)WlOyXQ3vZc'/b%;;` 8FW+mc1/>9.9ޠ)E0x~̊Q c!B+y>[T:2_N/)~E_oS}Jѧm=-o\|]K*AE烲>ߩ;}񏔣12G>]eXV9N&;BeU٩SGԇk$ujiosT^M5I)Hкc9Uq| eլUV}t=>R {-b Oyn]X?xl;I{a;mAM2( b}5q}5\;/C,B섾Y$Ͱ/;{֗uKId ua9TʜyR ,uy8$WzxR. ÓJB*+$<)'%O.ቃ'\$'ēRC:Ǎ Ce#8q#9r!P .GlMe#68`#6rĦﶇ#68`#6e} }IEۆQ0/a-հd#ƹv%;L;F} vn a7l}Q?/sc$H!xoza7l}RA)&^./Vn5[ħaCljmKؼ*O`KDL 3TN$<(;NDCp(率68p9'Cp(率68/Cp/Rx!8a ޱ12cC9w< rx8a q¡;NDC9w< 8P'lp"r!N8suM#,d->k\ݏA0y$kDLz~{ D_~#_%oe[MH^Ve-$!G"*6a+H F79j99ʯe5/ M ſ#W[ȄXH~Wlys"tVd_yއ^)tq~y胟ֵuiQQGSS5[Xmş6:#˧+ cnU1}ޕ62|,ѿ֐,R*tcCy/kd_eY4ՉoR-{0az\;-g,}{=-1‡{&=r}RFsl`f>B{C3" :&.'Wh{ʼWOnrȘ9q'N5l HJR;|٘>g2;.\xO9?T3ƒr_<2±~h)=P bgǂסA}?}DZf5 1FγF#E}n/ܞ=xsq_5C[} ~Oھg587;j̞`m4f[yU=Q83j]<οq8mr87Oh&]=9FuCPí_1$HNFP?#*\GT|c!1R'a cqr Dd K9N8P  S Am"`2: >0݊r#i.i] IH`! >0݊r#i.i]&=8$K4- xݛ}l9Ć0p9?{^.J $mBS`bchmJ~*#Hq$4? U42mD+%JgcvvǾ=D-|sϾ;ofvfQ1?Ƨͣj|ׄSP'⩈XP(aU;fjd/w_7?'yTHibDs|/Geot'Ś˲p6ߡ 2k<4?,shpa*gi1lj{Zӕ? xrxЊO>s|sr򪮀RMNmbs([?+jN9ԇ[C) Wn)n- McCT3˒P=0oYz1NzYڸƅvVhgv@hZNhuBS/wY IsnЋB{QhSBZ9Z^7*QM2 5.1inenAAﳥboGVGk)O-mQ|']]>#tzM/^kӏotLlo~ݢ,5J@_˴+׫uچsxKw-B&vTNh< D!4>β&DULON'YG7yuN>fyz/jz%'1ʁQVpi5g(FIpi5:0JZᗧA>$.{L8'>10I|b`'&S]ˁ]|f%>-HHl`$#!IMlց:O_πERj;I$x$%6IME| bk?&O I |>.` p1$F`FYpJ`( F]bH 02y7O{<\MYgk8~g>Nq<y.Nř 8tE[tK=x{5o;->[e^%3nF:Ϋ/Z.q,7Gϡ%:^lϢYϼ7Y!q =<(o7(=Q6anivѼqÈCb7gAIѯazl4KG|4o.!羠$ͲIl,KtGmCa JbV$z4KNh޸!#vPSm%\9Z,m+Ѽq9!\%({i+(F$ ,m uh8qzH[P!z&I}-ͩ׉8=$%6:S6v:,mGƵ#NNȃLX M^aniNGƵ"Nq|,CMcniE7}4o\ 8- i;*ߡ *9Hm隬]|d{G/Vڻn#gg>i|4۫ vX3h>/3v=>3i$]U/`c>#Z٪q{\QG||dwaǨ|cB"|k1gxW:y,xDFN;wxg1``Di{(P8/?FWJO1M>Te}8Eh GR1^և*%-m>>>4H)Zi)# 81}|4)p3VIuPx >^cR&| kһ<ƻ+\72٦\7fnLWn PX7vTnqS&Yq3֍m+qY|^6ucƎ ׍+}AA.JcqF 1t[պq3֍mSΓ<3٥)n>ɕNDiVf9L:q4J~[Kz{jB_` z9K֑L7bm3gi[Iֱ[hniْ4{lϖ[:--5ﰀq:wE5qĞϰX]bJ 93x'eT QZ79W x7w*;6ӻi=sW0'3ݫ? a'L,zғ\raiOSGƝwxz2Fv3>́ZkysA};"H3=nCocMImPΙ^kͩ~J(ڀjuk陒Z8tdSKEjf*žRހӇ+k鼨r-j>ΜVO~ 릯ZҾp_c#%}풲/ZEw|vf7_-/\Rn_ۙWI9^Q&@ž ɡ|\@\ Normal$ !da$ @CJOJQJ_HmH sH tH ^@^ XqB Heading 1$$ & Fd@&5;@ CJ(KHaJ f@f S H Heading 2)$ & F 8dh@&^5@CJaJR@R JHr7 Heading 3$$ & Fh@&5@KHaJV@V Hr7 Heading 4"$$$ & Fdh@&a$5KHF@F Heading 5$dha$ 6@KHHH  Heading 6$xPa$ :@KHFF  Heading 7 $P< ;@KH2@! 2d, Heading 8@&V @V (* Heading 9 $$$dh@&a$5:CJ(KHaJ(DA@D Default Paragraph FontVi@V  Table Normal :V 44 la (k@(No List 8B@8 x Body Text dh>'@> Comment ReferenceCJN@N  Comment Text d$x^`E6O"6 Authorda$T2T 0 Bibliography"$hd^h`a$0@B0 JHeader  BRB  Professor$ !0a$N"@N  PCaption$ !da$5@^JaJ,Lr, Date 0a$^^ 83|!Information Lines" !dh]^>*> Endnote ReferenceH*R+R  Endnote Text d$x^`ECJ6 @6 Footer$ a$HH 0r6Bullets & F !@CJOJQJ@&@@ Footnote ReferenceH*\@\ -X Footnote Text$ Ed$x^`ECJHH Glossary Definitiond88 Glossary Entry58O8 o List Headings6]B @"B KIndex 1" x ^`0a$CJB 2B Index 2# x ^`0a$CJB @BB Index 3$ x ^8`0@CJF RF Index 4% x ^8`0 6@CJFbF Index 5& x ^8`0 6@CJF!"F  Index Heading '$CJKHJ1J o List Number( & F ! dhF-F  Macro Text )dx OJQJkH.)@. Page Number:J: Subtitle +d;0>@0 -5wTitle ,$a$JOJ Subtitle Cover-$0]^a$T,T Table of Authorities. !J^h`L#L /Table of Figures/ !$Bdbb o Title Cover&0$$$ ]^a$ ;@KHH.H  TOA Heading1$$a$5KHX@"XmTOC 12 & F !$BBd5CJaJmHnHuF@2FETOC 23 !$@Bd mHnHuJ@BJ1~TOC 34 !$Bd^ mHnHu2R2 TOC 45 !J^82b2 TOC 56 !J^:r: F Information 7]dOd 3|!Information Lines Char @CJOJQJ_HmH sH tH :: 3|!Program90]FF 0r6Style1:$ !a$@CJOJQJFF 0r6Style2;$ !a$@CJOJQJJJ 0r6Style3<$ !a$@CJOJQJaJHH 0r6 Bullets 2= & F ^zjz 0r6Comment Subject+>$ !d^`a$5@CJOJQJ\ZZ 0r6 Balloon Text?$ !a$@CJOJQJ^JaJ`O` ' References&@ !Bdx^`B @CJaJj@j 0r6 Table Grid7:VA0A6U@!6 0r6 Hyperlink >*B*phT0@2T 0r6 List BulletC$ !a$@CJOJQJaJ^qB^ 0r6 Abstract Text"D$d^`a$6aJPORP 0r6 AffiliationE$ !a$6@OJQJVbV 0r6Abstract TitleF$ !a$5@OJQJtRrt 0r6Body Text Indent 2!G$ !hdx^ha$@CJOJQJaJ^O^ \0r6Style JustifiedH !`@CJOJQJaJ~1~ K0r6!Style Heading 3 + (Complex) 10 pt!I$$ & F !a$jOj Hr7Heading 3 Char Char+5@CJKHOJQJ_HaJmH sH tH dOd I0r6&Style Heading 3 + (Complex) 10 pt CharnOn M HBullet1)L$ & F hh^h`a$CJOJQJ_HmH sH tH VOV L HBullet1 Char CharCJOJQJ_HmH sH tH a 0r6Style Caption + Centered#N$ !]^a$5CJOJQJ\\O\ jwFootnote*O ! @ dG$H$^ `@CJLL 0r6Style References + 10 ptPhOhfCode:Qd$d&dNP]` mHnHu>O"> ii Text-TableRd`bO1b  HHeading 2 Char Char#5CJOJQJ_HaJmH sH tH NOBN U0r6Style Bullet1 + ItalicT6]TOQT T0r6Style Bullet1 + Italic Char6]JObJ W0r6Style Bullet1 + BoldV5\POqP V0r6Style Bullet1 + Bold Char5\JOJ ]XqBText-1stXd`CJOJQJaJ6O6 zUe Text-Next Yh`h _"?Style Heading 1 + Times New Roman Bold Justified Before: 35 ptZ5CJ OJQJNON (*Heading 1 - Next[5:@ CJ(aJ TOT HYStyle Justified Char_HaJmH sH tH BOB XXqB Text-1st CharCJOJQJaJL@Ln7TOC 9^ !-dx5CJmHnHuHCH  Body Text Indent_hx^hXOX n  Paragraph` !dP`@CJOJQJtBt  Abstract Heading)a$ !eedhP]e^ea$5@OJQJNN  Addressb$ !dPa$ @OJQJ2oB2 [9Headingc;CJ FF l Initial Paragraph d`VO"V (* Paper Titlee$ !dhPa$ 5@CJ$@1B@ Hr7 Subheading f & FCJBABB  CopyrightNoticeg6CJXX  Bullets1&h hdP^`CJaJ^^  Bullets2+i & F hhLdP^h`LCJaJn6n   List Bullet 2)j !dP^`@CJOJQJj7j   List Bullet 3&k !dP^`@CJOJQJXOX d Initial Paragraph CharCJ_HmH sH tH ll  Sub-subheading&m !hhdP^h`@CJOJQJHOH ` Paragraph CharCJ_HmH sH tH a  (Style Caption + Centered First line: 0"oP5CJOJQJ\^JaJtH ^^   Paper-Titlep$ !dxa$5@CJ$OJQJdd  Abstract'q$$ & F !dx@& 5;@CJaJ\"\   Affiliationsr$ !dPa$@CJOJQJ2  Bullets & F !pdP>T hTf^`p@CJOJQJnBn  Captions/t$ !dPH#$+Dp/0$a$5@CJOJQJjYRj   Document Map$u !dP-D M @CJOJQJ^JF!bF  E-Mailv !d< @OJQJ;r   List Number 3w & F !8dP>Th.Tf^8`@CJOJQJTOT  Body Text Char @CJOJQJ_HmH sH tH ZZ I Bullet_L2y & F !d@CJOJQJ^J_H VV I Bullet_L1z & F !d@CJOJQJ_H ^^ I Bullet_L3{ & F !d@CJOJQJ_H mHsHXX I Heading 1N | & FKHOJQJ\^J_H aJZ!Z I Heading 2N } & FCJOJQJ\]^J_H aJb1b I Heading 3N ~ & F%56CJKHOJQJ\^J_H aJbTb I Block Text# !dx]^@CJOJQJNPN I Body Text 2 !x@CJOJQJXQX I Body Text 3 !dx@CJOJQJaJrM"r I Body Text First Indent !dx`@CJOJQJzN2z I Body Text First Indent 2 !d^`@CJOJQJnSBn I Body Text Indent 3 !dx^@CJOJQJaJT?RT I Closing !dP^@CJOJQJ^[b^ I E-mail Signature !dP@CJOJQJ$@r I Envelope Address2 !@ dP&+D/^@ @OJQJ^JaJ`%` I Envelope Return !dP@CJOJQJ^J\`\ I HTML Address !dP6@CJOJQJ]ded I HTML Preformatted !dP@CJOJQJ^J\\ I Index 6# !8LdP^8`L@CJOJQJ\\ I Index 7# !LdP^`L@CJOJQJ\\ I Index 8# !LdP^`L@CJOJQJ\\ I Index 9# !TLdP^T`L@CJOJQJV/@V I List# !dP^`@CJOJQJZ2 Z I List 2# !6dP^6`@CJOJQJZ3 Z I List 3# !QdP^Q`@CJOJQJZ4" Z I List 4# !ldP^l`@CJOJQJZ52 Z I List 5# !dP^`@CJOJQJj8B j I List Bullet 4& !dP^`@CJOJQJj9R j I List Bullet 5& !dP^`@CJOJQJ`Db ` I List Continue !dx^@CJOJQJdEr d I List Continue 2 !6dx^6@CJOJQJdF d I List Continue 3 !Qdx^Q@CJOJQJdG d I List Continue 4 !ldx^l@CJOJQJdH d I List Continue 5 !dx^@CJOJQJj: j I List Number 2& !dP^`@CJOJQJj< j I List Number 4& !dP^`@CJOJQJj= j I List Number 5& !dP^`@CJOJQJI I Message Headerx !ndP$d%d&d'd-DM NOPQ^n`@OJQJ^JaJV^ V I Normal (Web) !dP@OJQJaJ`@ ` I Normal Indent !dP^@CJOJQJVOV I Note Heading !dP@CJOJQJVZ" V I Plain Text !dP@CJOJQJ^JRKR I Salutation !dP@CJOJQJX@B X I Signature !dP^@CJOJQJS  I Table 3D effects 1m:Vj#j#j#j#j.j.j.j.  $Pa$55\5B* \`J phB* `J ph@c @ I Table 3D effects 2:Vj.@j#j9jj 4 $Pa$5\5\~s ~ I Table 3D effects 3:Vj.@j j j#j9jj44 $Pa$:B*`Jph B*`Jph5\5\lr l I Table Classic 1:V0  j#j#j#jj $Pa$9B*`Jph6]5\56\]s  I Table Classic 2#:V0  j% j#j0 jjj%  $Pa$:5\B*`JphB* `J ph5\^t ^ I Table Classic 3:V0    jj0  j0   $Pa$QB* ph5B*\`JphB* `J ph56B*\]`Jphu  I Table Classic 4:V0  jj0 j0 jj $Pa$X5\B* `J ph56B*\]`JphB* `J ph5\\v \ I Table Colorful 1:V0    j% j% jj%   $Pa$<B*ph56\]56\]56\]^w ^ I Table Colorful 2:V0 j% jj0  j  $Pa$@56\]56B*\]`Jph56\]>x > I Table Colorful 3:V0j;$ j0 j%   $Pa$5B*\`Jphy  I Table Columns 1 :V0    j j jjjj#jj4 $Pa$l5\B*`Jph B*`Jph5\5\5\5\5\5\z  I Table Columns 2:Vj j jjjj% jj4 $Pa$5\B*`Jph B*`Jph5\5B*\`Jph5\B*`Jph5\5\{  I Table Columns 3:V0j j jjj#j% j4 $Pa$h5\B*`Jph B*`Jph5\5\5\B*`Jph5\|#  I Table Columns 4:Vj j jjj% 4 $Pa$LB*`Jph B*`Jph5\5\B*`Jphj}3 j I Table Columns 5:V0    j jjj#j#4 $Pa$VB*`Jph B*`Jph5\5\5\56\]:C : I Table Contemporary:V0j%@ j% j% 4 $Pa$<@B*`JphB*`Jph5B*\`JphS I Table Elegant_:V0j $Pa$;B*`Jph~c I Table Grid 1z:V0jj $Pa$6]6](s ( I Table Grid 2:V0jjj#j $Pa$,5\5\5\5\  I Table Grid 3:V0  jjj0  $Pa$5\5\H H I Table Grid 4:V0  jj0 j0  $Pa$B5B*\`Jph5B*\`JphB*`Jph  I Table Grid 5:V0    jjj# j $Pa$5\5\. . I Table Grid 6:V0    jj#j#j $Pa$(5\B*`Jph5\T T I Table Grid 7:V0    jjj#j# j $Pa$25\5\5\5\5\* * I Table Grid 8:V0jjj%  $Pa$H5B*\`Jph5B*\`Jph5B*\`Jph  I Table List 1:V0  j%@ jj#j0 j4 $Pa$M@B*`JphB*`Jph56B* \]`J ph5\z z I Table List 2:V0 j%@ jj#j0 j4 $Pa$G@B*`JphB*`Jph5B*\`Jph5\  I Table List 3:V0  j# j# j $Pa$05B* \`J ph6B* ]`J ph I Table List 4w:V0    j0   $Pa$5B*\`Jph# I Table List 5:V0jj#  $Pa$5\5\3  I Table List 6:V0j%@ j# j#  4 $Pa$5\5\C  I Table List 7:V0  j%@ j% jjj# j0  4 $Pa$>@B*`Jph5\5\5\5\S  I Table List 8:V0j%@ j% jjj#j0 4 $Pa$D@B*`Jph5\5\5\56\]c I Table Professionall:V0j%  $Pa$5B*\`Jphos I Table Simple 1:V0  j#j# $Pa$|p | I Table Simple 2:Vj#j# j#j# j#j# $Pa$O5\5\5B*\`Jph5\5\5\q I Table Simple 3l:V0    j%  $Pa$5B*\`Jphz z I Table Subtle 1 :Vj0@ j# j# j0  j. jj4 $Pa$5\5\z z I Table Subtle 2:V0j0  j0  j# j# jj $Pa$5\5\v v I Table Theme7:V0 $Pa$ I Table Web 1h:V03j $Pa$B*`Jph I Table Web 2h:V03j $Pa$B*`Jph I Table Web 3h:V03j $Pa$B*`JphPP I TOC 6 !dP^@CJOJQJPP I TOC 7 !8dP^8@CJOJQJT@Td,TOC 8 !$dx5@CJaJmHnHu<m1 <I 1 / 1.1 / 1.1.1 F0lA 0I 1 / a / i F@nQ @I Article / Section F.Xa . I Emphasis6]FVq F I FollowedHyperlink >*B* ph0_ 0 I HTML Acronym0a 0 I HTML Cite6]>b > I HTML CodeCJOJQJ^JaJ<c < I HTML Definition6]Fd F I HTML KeyboardCJOJQJ^JaJ:f : I HTML Sample OJQJ^JJg J I HTML TypewriterCJOJQJ^JaJ8h 8 I HTML Variable6]*W* I Strong5\FOF Bullet2 & F h^.(!. n7 Line NumberRO2Rd,Heading - Contents$a$ mHnHu4OA4 YPQ,Text-Next CharTORT =Formula$ F$`a$CJOJQJaJ<Ob< %"Number1 & FdVOarV `Style Number1 + Bold5CJOJQJ\0O0 ` Number1 Char\O\ `Style Number1 + Bold Char5CJOJQJ\^O^ o_Number1i$ d^`CJOJQJaJFOF 7b Text-Indent & Fh^hCJNON Number-i & FdCJOJQJaJO1 aBStyle Heading 3 + Garamond 11 pt Not Bold Not All caps Not Expa...5;@CJKHOJQJaJO aGStyle Heading 3 + Garamond 11 pt Not Bold Not All caps Not Expa... Char ;CJaJXOX -XFootnote Text Char@OJQJ_HmH sH tH 6O6 Ojw Footnote CharCJlOl j#Style Subtitle Cover + After: 0 pt dhO"h j$Style Subtitle Cover + After: 0 pt1TO12T 8Style Heading 3 + All caps\\OB\%A1Style References + 12 ptCJmHnHuVOQV @%A1References Char CJOJQJ_HaJmH sH tH bORab%A1Style References + 12 pt CharCJmHnHu|Or| | 'Style Text-1st + Times New Roman Italic6CJOJQJ]~O~ | (Style Text-1st + Times New Roman Italic16CJOJQJ]|O| | -Style Text-1st + Times New Roman Italic1 Char 6CJ]DOD % Bullet1 Char_HaJmH sH tH VOV{gCode + 8 pt,Italic  6CJ]aJ6OB6Q{g Code Char mHnHu^O^{gCode + 8 pt Char,Italic Char6CJ]aJdOd}tCode + Times New Roman,11 ptx CJOJQJhOh}t&Code + Times New Roman Char,11 pt CharCJLOL d,Heading 1 - Bibliographybob [9Heading 1 Char.5;@ CJ(KHOJQJ_HaJ mH sH tH 4o!4 c[9 Heading CharCJ <$>$'     $$$$$$$$$$$$$$$$$$$$$$$$' 234CRcdrstuvwxyz{|}~*AQW]ktu  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ }|~{    !"#$%&'()* +,- .!/"0#1$2%3&4'5(6)7*8+9"$&,:)+    3;;<456789==D>E?F@GAHBICkJDLEMFNGOHPIQJRKSLTMUNVOWPXQYRZS[T\U]V^W_X`YaZb[c\d]e^f_g`haibjcmdneofpgqhrisjtkxlymzn{o|p}q~rstuvwxyz{|}~K     z      !"#$%&'( ) * + , -./0123456789:;<=>? @!A"B#C$D%E&F'G(H)I*J+K,L-M.N/O0P1Q2R3S4T5U6V7W8X9Y:Z;[<\=]>^?_@`AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz[{\|]}^~_`abcdefghijklmnopqrstuvwxyz{|}~234CRcdrstuvwxyz{|}~*AQW]ktu  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~:AzAzAzAzAzAzAzAzA zA zA zA zA zAzAzAzAzAzAzAzAzAzAzAzAzAzAzAzAzAzCzw J9#+[5<FCK*W`|f8p{׀i~r/DtC(C< '    %  {   *+X_l &_J:SCw9 @ P S Y!8#9#|###"$P$Z$i$$$$%%A%%%%&A&J&Y&&&''(()>)))++M.1155Y5Z5[5x5556688::P;;<</=0='>Y>Z>T?o?P@Q@@@@A#A_AAAAAC%CFCGCDDDDFFpGqGGGGII2KLL)O*OMPNPfQQQRRT(W)WfWWWWWX*X_XXXXYYFY^YiYqYvYxYYYvZZ[\\^^``a]awakblbbb)c^ccccc ddTdYdddd$e?eigjgggh,hlhhh.i9iAiFiViXiiikkomoo]ocoqozooooooooooooooooooooppppp&p6p7p8p_qsbsst3ttt)uJuKuVwwwYyyy(z{{{F~ԀՀր׀defghis$FGZlj MN'ې;<=?}~@Qabdrsu͖Ζ#$%)-159=>FLRX^djksyv6xyƝΝϝНԝ؝ܝ #'+/38<@DEF./9~ץq u/0_`ѷLM@ABCDƹ";Z[ܺ>ٻiɼ߽~./\ Gc>grz )Y`mz .R[(JYbp~%*-6V(Ed@i?QZbks|9@IVcp{?\~ "0?PU`itz!<Yy!,8AIOp?BT]biy @g/>M_~ #%:<LRXfp]$|$$$$$$$| $$| $$Y  $$Y $$^ $$$$|$ $$Y $$$.$^ $$$$Y $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$Y $$$$$$0$0$$$Y $ $$ $$"$$$$)$$$$$$|$$Y $0$0$($0$0$$0$$$b$Y $$$$$$$$$$$$$$Y $$0$0$$^ $0$0$$^ $$$$8"$$$$Y $.$$$$$'$$ $$$mF$$ $$$$$$$$$$0$$$$$$0$$$$$$$$$$|$$ _$$Iw $$$$$0$Y $$$$$$$$$$$$$$$$$$$$$Y $ $$$$$$$$$0$0$$$$$$$$|$$Y $$^ $$vvvvvv$$$$0$0$$0$$$0$0$$$P$Y $$0$0$0$.$$Y $$$$$$$-U$$$$$$$%$$$%$$$$Y $$%$$$ $$$ $$$$Y $$.$$$<$$$<$$$$$$[$$Y $$$+#$$$+#$$$"$$$E"$$$SSSSS$$$Y $$$lg$$$$P$$$"$$$"$$$6\ $$ $$| $$$$|$$$0$$$P$P$0$0$0$$0$$$$$0$$0$0$0$0$$0$$0$0$0$0$0$$0$0$Y $& $)$)$)$Y $ $$)$0$0$$|$$$$$$$$$$$$$|$$^ $Y $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$Y $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$Y $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$Y $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$Y $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$e$$t;$t;$t;$t;$t;3t;G$}G$ıG$GJG$t;G$t;G$t;t;s::WW8h    t;000*+X_l &_J:SCw9 @ P S Y!8#9#|###"$P$Z$i$$$$%%A%%%%&A&J&Y&&&''(()>)))++M.1155Y5Z5[5x5556688::P;;<</=0='>Y>Z>T?o?P@Q@@@@A#A_AAAAAC%CFCGCDDDDFFpGqGGGGII2KLL)O*OMPNPfQQQRRT(W)WfWWWWWX*X_XXXXYYFY^YiYqYvYxYYYvZZ[\\^^``a]awakblbbb)c^ccccc ddTdYdddd$e?eigjgggh,hlhhh.i9iAiFiViXiiikkomoo]ocoqozooooooooooooooooooooppppp&p6p7p8p_qsbsst3ttt)uJuKuVwwwYyyy(z{{{F~ԀՀր׀defghis$FGZlj MN'ې;<=?}~@Qabdrsu͖Ζ#$%)-159=>FLRX^djksyv6xyƝΝϝНԝ؝ܝ #'+/38<@DEF./9~ץq u/0_`ѷLM@ABCDƹ";Z[ܺ>ٻiɼ߽~./\ Gc>grz )Y`mz .R[(JYbp~%*-6V(Ed@i?QZbks|9@IVcp{?\~ "0?PU`itz!<Yy!,8AIOp?BT]biy @g,-./=>LM]^_lmnopqrstuvwxyz{|}~ #$%:;<KLQRWXefnop !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]lmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~,000E0E000[0X0 c0X0_ 0__X0 0__X0  L0  L0  L0  L0  c0X0Y0 0X0 L0 L0 L0 L0 L0 L0  0X0 L0  L0 X0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q00Y0Y0Y0Y0Q0Q0Q0Q0Q0Q0Q00Y0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q00 0X0&X0&X0&X0&X0& L0 & L0 &Y0&X0& 0X0+Y0+Y0+Y0+Y0+0+Y0+Y0+X0+X0+X0+0+Y0+X0+ c0X08 088 L0: L0: L0: L0: L0:X0:X0:X0:Y0:Y0: 088X0T?X0T?Q0T?Q0T?Q0T?Q0T?Q0T?Q0T?Q0T?Q0T?0T? 088X0A L0A L0AX0AX0A L0A L0AY0AY0AX0AX0AX0AY0A0AY0AY0A 088X0IY0IY0IY0IY0IY0IY0IX0IX0IY0IY0IY0IY0IY0IY0IQ0IQ0IQ0IQ0IQ0IQ0IQ0IQ0IQ0IQ0IQ0IQ0IQ0IQ0IQ0IQ0IQ0IQ0IQ0I0IY0IY0I c0X0vZY0vZY0vZX0vZY0vZY0vZY0vZY0vZ0vZ 0vZvZX0]aX0]aQ0]aQ0]aQ0]aQ0]aQ0]aQ0]aQ0]aQ0]aQ0]aQ0]aQ0]aQ0]aQ0]aQ0]aQ0]a0]a 0vZvZX0$eX0$eQ0$eQ0$eQ0$eQ0$eQ0$eQ0$eQ0$eQ0$eQ0$eQ0$eQ0$eQ0$eQ0$e0$e c0X0i 0iiX0kY0kY0k0kR0k R0k R0k R0k 0k R0k R0k R0k R0k 0k R0k R0k R0k R0k 0k R0k R0k R0k R0k 0k R0k R0k R0k R0k 0k R0k R0k R0k R0k 0k Y0kY0kY0k L0k L0k L0k L0k L0k L0k L0k L0kY0kY0kY0k 0iiX0w L0w L0 w L0!w L0"w L0#w 0iiX0{Y0{Y0{Y0{Y0{Y0{X0{0{X0{Y0{Y0{Y0{Y0{Y0{0{Y0{Y0{0{Y0{Y0{ 0iiX0Y00Y0Y0Y0Y0Y00Y0Y0 0iiX0Y0X0X0Y00Y0Y00Y0Y00Y0Y00 0iiX0@X0@X0@0@0@X0@0@X0@X0@0@X0@X0@0@X0@0@R0@ R0@ R0@ 0@ R0@ R0@ R0@ R0@ R0@ R0@ R0@ 0@ R0@ R0@ R0@ R0@ R0@ R0@ R0@ 0@ R0@ R0@ R0@ R0@ R0@ R0@ R0@ 0@ R0@ R0@ R0@ R0@ R0@ R0@ R0@ 0@ Y0@Y0@Y0@ 0iiX0Y00R0 R0 R0 0 R0 R0 R0 R0 R0 R0 R0 R0 R0 0 R0 R0 R0 R0 R0 R0 R0 R0 R0 0 R0 R0 R0 R0 R0 R0 R0 R0 R0 0 Y0Y0 L0$ L0%Y0Y0Y00Y0Y00Y0 0X0Y0Y0 c0X0Y0Y0 0X0uY0uX0uX0uX0u L0&u L0'u L0(u L0)u L0*uY0uX0uX0uX0uX0uX0uX0uX0u L0+u0u0u0uY0uX0uX0u L0,u L0-u L0.u L0/uX0uX0u L00u L01uY0uY0u L02u L03uY0uY0uX0uX0u L04u L05u L06uX0u c0@0@0@0@0@0@0@0@0@0@0@0@0 c0 X0Y0 0Q0rQ0rQ0rQ0rQ0rQ0rQ0rQ0rQ0rQ0rQ0rQ0rQ0rQ0rQ0rQ0rQ0rQ0rQ0rQ0rQ0rQ0rQ0rQ0rQ0rQ0rQ0rQ0rQ0rQ0rQ0rQ0rQ0rQ0rQ0rQ0rQ0rQ0rQ0rQ0rQ0r 0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0 0Q0sQ0sQ0sQ0sQ0sQ0sQ0sQ0sQ0sQ0sQ0sQ0sQ0sQ0sQ0sQ0sQ0sQ0sQ0sQ0sQ0sQ0sQ0sQ0sQ0sQ0sQ0sQ0sQ0sQ0sQ0sQ0sQ0sQ0sX0sX0sX0sX0s 0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0X0X0X0 0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0X00O0O00h00000000000000000Y00Y0000Y00Y00000Y0000000000000000000000000000000000000000000Y00Y00Y0Y00Y0Y00Y0Y00Y0Y000Y0Y00Y0Y00Y00Y00Y00Y00Y000Y000Y00Y00Y00Y00Y00Y0000000000000000000000000000000000000000000000000000000000000000000Y0000000000000000000000000000000000000000!00000000000000000!000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000*+X_l &_J:SCw9 @ P S Y!9#|###"$P$Z$i$$$$%%A%%%%&A&J&Y&&&''(()>)))++M.1155Y5Z5[5x5556688::P;;<</=0='>Y>Z>T?o?Q@@@@A#A_AAAAAC%CFCGCDDDDFFqGGGGII2KLL)O*OMPNPfQQQRRTfWWWWWX*X_XXXXYYFY^YiYqYvYxYvZZ[\\^^`a]awalbbb)c^ccccc ddTdYdddd$e?ejgggh,hlhhh.i9iAiFiViXiiikkomoo]ocoqozooooooooooooooooooooppppp&p6p7p8p_qsbsst3ttt)uJuKuVwwwYyy(z{{{׀des$FGZlj MN';=?}~@Qbdrsu͖Ζ#$%)-159=>FLRX^djksyv6xyƝΝϝНԝ؝ܝ #'+/38<@DEF./9~ץq /0_`ѷLDƹ";Z[ܺ>ٻiɼ߽~./ Gc>gM@$0@0@#0@&0@&0@0@[0o@X0oA 0oo@X0*B 0@X0I*B 0@X0:@ L03:@ L04:@ L05:@ L06:A 0oo@X0@Y0*B 0@X0@ L07@ L08@ L09@ L0:@ L0;@ L0<*B 0@X0@ L0=@ L0>@Q0@Q0@Q0@Q0@Q0@Q0@Q0@Q0@Q0@Q0@Q0@0@Y0@Y0@Y0@Q0@Q0@Q0@Q0@Q0@Q0@Q0@0@Y0@Q0@Q0@Q0@Q0@Q0@Q0@Q0@Q0@Q0@Q0@Q0@0*B 0@X0]@X0]@X0]@X0]@X0]@ L0?]@ L0@]@Y0]@X0]*B 0@X0z@Y0z@Y0z@Y0z@Y0z@0z@Y0z@Y0z@X0z@X0z@X0z@0z@Y0z@X0zA 0oo@X0*B 0@ L0A@ L0B@ L0C@ L0D@ L0E@X0@X0@X0@Y0@Y0*B 0@X0(@Q0(@Q0(@Q0(@Q0(@Q0(@Q0(@Q0(@Q0(@0(*B 0@X0@ L0F@ L0G@X0@X0@ L0H@ L0I@Y0@Y0@X0@X0@Y0@0@Y0@Y0*B 0@X0@Y0@Y0@Y0@Y0@Y0@Y0@X0@X0@Y0@Y0@Y0@Y0@Q0@Q0@Q0@Q0@Q0@Q0@Q0@Q0@Q0@Q0@Q0@Q0@Q0@Q0@Q0@Q0@Q0@Q0@Q0@Y0A 0oo@X0d@Y0d@Y0d@X0d@Y0d@Y0d@Y0d@0d*B 0dd@X0M@Q0M@Q0M@Q0M@Q0M@Q0M@Q0M@Q0M@Q0M@Q0M@Q0M@Q0M@Q0M@Q0M@Q0M@Q0M@0M*B 0dd@X0@Q0@Q0@Q0@Q0@Q0@Q0@Q0@Q0@Q0@Q0@Q0@Q0@Q0@0A 0oo@X0*B 0@X0@Y0@Y0@0@R0@R0@R0@R0@0@R0@R0@R0@R0@0@R0@R0@R0@R0@0@R0@R0@R0@R0@0@R0@R0@R0@R0@0@R0@R0@R0@R0@0@Y0@Y0@Y0@ L0J@ L0K@ L0L@ L0M@ L0N@ L0O@ L0P@ L0Q@Y0@Y0@Y0"B 0@X02@ L0R2@ L0T2@ L0U2@ L0V2*B 0@Y0@X0@X02@02@X02@Y0@0@Y0@Y0@0@Y0@Y0*B 0@X0@Y0@0@Y0@Y0@Y0@Y0@Y0@0@Y0@Y0*B 0@Y0@X0@Y0@0@Y0@Y0@0@Y0@Y0@0@Y0@Y0@0*B 0@X0@X0@0@0@X0@0@X0@0@X0@X0@0@X0@0@R0@R0@R0@0@R0@R0@R0@R0@R0@R0@R0@0@R0@R0@R0@R0@R0@R0@R0@0@R0@R0@R0@R0@R0@R0@R0@0@R0@R0@R0@R0@R0@R0@R0@0@Y0@Y0@Y0*B 0@X0@Y0@0@R0@R0@R0@0@R0@R0@R0@R0@R0@R0@R0@R0@R0@0@R0@R0@R0@R0@R0@R0@R0@R0@R0@0@R0@R0@R0@R0@R0@R0@R0@R0@R0@0@Y0@Y0@ L0W@ L0X@Y0@Y0@Y0@0@Y0@Y0@0@Y0A 0@X0%@Y0%@Y0%A 0@X0r0@Y0r0A 0@X0/@H0/@X0/@X0/@ L0Y/@ L0Z/@ L0Z/@ L0[/@ L0]/@X0/@X0/@X0/@ L0^/@0/@0/@0/@0/@X0/@X0/@ L0_/@ L0`/@ L0a/@ L0b/@X0/@X0/@ L0c/@ L0h/@H0/@Y0?@X0/@X0/@ L0k/@ L0l/@ 0@0!@0!@0!@0!@0!@0!@0!@0!@0!@0!@0!@0!A 0??@0j05t|Vj05sj05q@08@08@08@08@0@0@0800@0 00n @0 @0j00  @0 @0j00 @0 @0j00 T @0 @0 00n00x$w@0@000x$w0H  #( @!H#%&+. 0i147=X@BIKLMNOOPQPTW&Y.Z\]*^_`bcdNee7ff.gghijmoDpqruyz{l~Ƅ ʉ H74RΛOG`̹_K=<5]@ . 0l(Z0T8&b^@h> EvRS=TTUwz{}~     +.58:;=&)-14BNYg>q ~L-Nt gݰ#=>jkvD/(BDFEIGKLNPSS TT U'UNUpUUUUU (EbՌx|,-/01234679<>?@ABCDEGHIJKLMNy ) + . K M 68:UW0[_-X\FlnqZ q s !!8!U>W>Z>>>AAADDDEEEFFFG=GFGqGGGGGG2OUOWOOOOyQQQQQQRRRRRR]SSSUV#VVVVYYYYYY[````aa!a8a:abb)bd ee4g\gfg_iviyiQj|j~jjjjjjjjkkkkkk$lLlTllllmmmnnno5o7oqqqqqq2wPwRwy,y6y{{|| }}׀zɁ$LV !$)Q[Є.V`'*ߎ)39akȑ58F]`Ȓߒ #.V^kƕݕ!8;|ԖJuy|.V^ڠݠ @WZɡأڣS| zʨ̨Vln!>@-\flس@Z\)+A[]̷ηշ57Mt|׺ٺ9;_ԻֻIcfjɼ^x{z?muCK~"IQHY du?P 1hyIdfA^a     _   _   _    %_    _                        %  5 5 5 5 5 5 5 5 5 5 5 5  !'0 0\]r$fL4³@1i"$I@/$"wŠ]2$|^0+\D6S- "$zbj22X{2$}y c#>4w-} /s"$S%Xͼ2$0iKC ㆞R$}:GS 9 R$ՄR^R$/A!3F~,f;"$h>pߦK!"$g6FU_J̗g"$l&u& z 6zS"`?*&B'  { 6 {S"`?''     )!4 3  s"*?n  c $X99?"` )!4N2  3 jJ)F2H2  # -%k.H2  #  -k.\2  3 jJ"` <,_0ZB  S DjJ'.t'.   67 S"`?-304 7fB  B s *Dg ]/}^3   08 S"`?%-'. 8   09 S"`?-t'. 9   0: S"`?$2-3 :fB B s *Dg '.2   BCDEF0 @h@  )'.   ;FBCDE(F v:<" 4"pD~ @   ) '.  0;S"`?-)* ;  0=S"`?V2U!$3 =fB  s *Dg  0(2   !" 3  s"*?n  c $X99?"` !"t  3 ___S"`?m! t  3 S"`? ZB  S D !"ZB  S D@P   "`T  0.S"`?eT .  0/S"`?C 2< /P   "`H};  00S"`?*  0P    "`PP !  "` }Z  " 01"S"`?   1P #  "`;   $ 02$S"`?2 m!  2P %  "`M  & 03&S"`?y(  3\ ' 3 "`3 A  ) 05)S"`? 5P *  "`l)t  + 06+S"`?2 !  6  ,3  s"*? ` - c $X99?ZB . S D@ZB / S DPPVTB 0 C DP bTB 1 C DP TB 2 C DPTB 3 C DP 4 0?4"`@` ? 5 0@5"``  @ 6 0A6"` v  A 7 0B7"` p B 8 0C8"`P C 9 0D9"` D  %   #  s"*? t  c $X99?#" ` %    B   ?"6@`NNN?N3 %i    6 "`   | 6|"`  } 6}"`  ~ 6~"`   6"` z  0"` B S  ?H0(  M.t5x5y5z5{55GaK/h744twt : t} ^ t| $ t~n ~ t#C$@tt t ` $U"`,t t _Toc132617232 _Hlt141532769 _Hlt140570589 _Toc142642036 _Ref132446316 _Toc132617233 _Toc142642037 _Toc142642038 _Hlt140568569 _Hlt140568570 _Ref139825388 _Hlt140568571 _Toc142642039 _Ref136321942 _Toc142642040 _Ref140410691 _Hlt140410766 _Toc142642041 _Hlt142126700 _Ref132446263 _Hlt142126719 _Ref142195898 _Toc142642140 _Ref135726566 _Ref142121296 _Hlt142296207 _Toc142642141 _Ref142121637 _Toc142642142 _Ref142296234 _Toc142642042 _Ref132773684 _Toc142642043 Eg_PPQO_01 _Ref133382029 _Toc142642143 _Ref135726402 _Ref135726406 _Toc142642144Fig_ValueSpace _Ref132773607 _Toc142642044 _Toc142642045Math_Theorem_Bounded _Hlt142210734 _Hlt142210747 _Toc142642046 _Toc142642145 _Hlt135724194 _Hlt135727662 _Ref134900303 _Toc142642047 Eg_PPQO_02 _Hlt141608087 _Ref136321767 _Hlt136321770 _Toc142642146 _Ref136332731 _Toc142642048DEF_below_above_ops Eg_PPQO_03Math_Theorem_FirstLast _Ref135543788 _Toc142642147 _Ref132773608 _Ref135801421 _Toc142642049 _Ref135562516 _Toc142642148 _Toc142642050 _Ref142126287 _Toc142642149 _Toc142642051 _Hlt136164790 _Ref135587710 _Hlt136164848 _Toc142642150 _Ref140411350 _Toc142642052 _Ref139992631 _Toc142642053 _Ref139868205 _Toc142642081 _Toc142642054 _Toc142642055 _Ref142213646 _Toc142642151 _Ref139956779 _Toc142642152 _Ref140093981 _Toc142642153 _Ref140278501 _Toc142642056 _Ref139979877 _Toc142642154 _Ref140056165 _Toc142642155 _Toc142642057 _Ref139983185 _Toc142642156 _Ref139983870 _Toc142642157 _Ref139985666 _Toc142642158Fig_OptRate_VaryEllipse _Ref139985668 _Toc142642159Fig_HitRate_VaryEllipse _Ref140056650 _Toc142642058 _Toc142642160Fig_PPQO_Vary1 _Toc142642161Fig_PPQO_Vary2 _Toc142642162Fig_PPQO_Vary3 _Toc142642163Fig_PPQO_Vary4 _Ref140385102 _Toc142642082 _Toc142642059 _Ref140389882 _Toc142642083 _Ref140047348 _Toc142642164Fig_PPQO_NumDim1 _Ref140389993 _Toc142642165Fig_PPQO_NumDim2 _Toc142642060 _Hlt141435112 _Toc142642061 _Ref141627986 _Hlt142368080 _Toc142642062Math_LemmaMonotonicMath_Lemma_MonotonicCostMath_Lemma_MonotonicCost1Math_Lemma_MonotonicCost2Math_Lemma_MonotonicCost2bMath_Lemma_MonotonicCost3 Math_LemmaYX Math_Lemma_YX Math_LemmaZY Math_Lemma_ZYMath_Lemma_ZY1Math_Lemma_ZY2Math_Lemma_ZY3 _Hlt136797979Math_Theorem_Bounded1Math_Theorem_FirstLast3Math_Theorem_FirstLast4 _Ref88038196 _Ref87971804 _Ref96763647Cole_ChoosePlan _Hlt127695818 _Hlt141533745 _Hlt141533939 Ganguly_PQO _Ref97270764Graefe_ChoosePlan _Hlt141533948 _Ref88035261 Hulgeri_PQO _Hlt141435084Hulgeri_Parametric _Hlt141435113 _Hlt141435116 _Hlt97049610 _Hlt97493445 _Ref88035258Ioannidis2_Parametric _Hlt141435138 _Hlt127177264 Lohman_1989 _Hlt141533925Microsoft_ForcePlan _Ref87971428 _Hlt127177215Prasad_PQO_NonGeo _Ref97526213Reddy_PlanDiagrams _Hlt142194750Rao_PQO_NonGeo _Ref87968884TPCH _Ref142126972 _Hlt142368192 _Toc142642063 _Hlt142195095 _Toc142642064 _Toc142642065 _Toc142642066 _Toc142642067 _Toc142642068 _Toc142642069 _Hlt142368302 _Hlt142368524 _Hlt142368414__ S S S S i$i$i$i$Y&Y&&&++155555588:0=0=0=T?AAAAAFqGGGGIIL2ONPxYxYvZvZvZaa]add$ehXiXiXiiikkoow{ss ??Ȓ @@dkƕ!u|ΖΖyy99@!uuu0@AD[Iɼ^~Hdd=>>>?? 4ghrs@@@ @ @ @@@@ !"#&$'%()*-+@,@./0@1@2345@76@8:9;<=>?@ABCDEFGHI@KJ@LMNOPQRSTUVWXYZ[\]^_`abcdefhgikjlmonqpsrutvwxyz{}|~@@@@@@@@@@@@@@@@@@@@@@_kkl S t i$$$z&&&&&++135X5556688:0=0=9=m?AAAAAFqGGGGIILXOWPYYZZZ;a\avae#e=ehXiziiiikk8o\ow{c##%E+L&a|$$?PP<q̖5 -[[}A u7]^ϷKbں<׻gɼ|GZ dv=>>>?Q 2Nggzy{, s ln- ,n. ,t0 lt s1 t3 ,u t4 lutm$um$ & wm$xm$$ ,& zm$ l& |ml$ & ~m$ l& mmt} RRZmvv     s|X__s  =*urn:schemas-microsoft-com:office:smarttags PlaceType= *urn:schemas-microsoft-com:office:smarttags PlaceName8*urn:schemas-microsoft-com:office:smarttagsCityB*urn:schemas-microsoft-com:office:smarttagscountry-region9*urn:schemas-microsoft-com:office:smarttagsplace 8!D   ):AQWDM :(C(@!@[EdE.M7MMM[[Uedef gm mmmoooopp&p5pttzz{{|||qxKRկ lu8?}MOrwxyzS['(1199<<<<BB%C'CCCMDVDE EQGSG3HCH`ObOOOaPdP(S0S9Z=Z2[6[__aa|ffjjMllhnjn5s@sssssivmvs69 ')fm:::::::::::::::::::::::::::::::::::::::::::::::@Crr,--../=>LM]^^__kllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~ #$$%%:;;<<JKKLLPQQRRVWWXXdeeffmnnoopp~ !!""##$$%%&&''(())**++,,--..//00112233445566778899::;;<<==>>??@@AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ[[\\]lmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~  !!""##$$%%&&''(())**++,,--..//00112233445566778899::;;<<==>>??@@AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ[[\\]]^^__``aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~RJsB,WLz$I# a (@?`$; M.$2AU.w0f>(u4 >l!~|}~YkElFkJ;WJ>jv-mYja  d OAj;suPpLlh=0*q'qq5܎zy{!tvb% uAynMVs|(@~A ^`o(hH. ^`o(hH.. ^`o(hH... ^`o(hH.... Bb^B`o(hH ..... :X^:`Xo(hH ...... 2  ^2 `o(hH.......  * 8 ^* `8o(hH........  j`^j``o(hH.........h%^`%OJQJo(hHh^`OJQJ^Jo(hHohpp^p`OJ QJ o(hHh@ @ ^@ `OJQJo(hHh^`OJQJ^Jo(hHoh^`OJ QJ o(hHh^`OJQJo(hHh^`OJQJ^Jo(hHohPP^P`OJ QJ o(hH 8^`hH Article . 8^`hH Section . P^`PhH() `p`^``phH() P^`PhH) P^`PhH) ^`hH) P^`PhH. 0p0^0`phH. 0^`0o(hH(C.) ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH.  v^v`o(hH Chapter  ^`o(hH.. ^`o(hH... ^`o(hH....  ^`o(hH .....  X@ ^ `Xo(hH ......  ^ `o(hH.......  8x^`8o(hH........  `H^``o(hH......... 0^`0o(hH ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH.3hh^h`56>*B*CJOJQJaJo(phsH hH./hh^h`56>*B*CJOJQJaJo(phhH..#hh^h`56CJOJQJaJo(hH...h ^ `5o(hH.  ^ `o(hH. xL^x`Lo(hH. H^H`o(hH. ^`o(hH. L^`Lo(hH. hh^h`hH) ^`hH) 88^8`hH) ^`hH() ^`hH() pp^p`hH()   ^ `hH. @ @ ^@ `hH.   ^ `hH. ^`o(hH. ^`o(hH.. ^`o(hH... ``^``o(hH... ^`o(hH .... ^`o(hH ..... ^`o(hH ......  `^``o(hH.......  00^0`o(hH........#hh^h`56CJOJQJaJo(hH.0^`0o(() pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH.  v^v`o(hH Chapter  ^`o(hH.. ^`o(hH... ^`o(hH....  ^`o(hH .....  X@ ^ `Xo(hH ......  ^ `o(hH.......  8x^`8o(hH........  `H^``o(hH......... 0^`0o(hH() ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH.hh^h`56o(hH() ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH. hh^h`hH) ^`hH) 88^8`hH) ^`hH() ^`hH() pp^p`hH()   ^ `hH. @ @ ^@ `hH.   ^ `hH. hh^h`hH. P^`PhH.. ^`hH... x^`xhH.... ^`hH .....  X ^ `XhH ......   ^ `hH.......  8^`8hH........  `^``hH.........  v^v`o(hH Chapter  ^`o(hH.. ^`o(hH... ^`o(hH....  ^`o(hH .....  X@ ^ `Xo(hH ......  ^ `o(hH.......  8x^`8o(hH........  `H^``o(hH.........hh^h`OJQJo(hH^`OJQJ^Jo(hHopp^p`OJ QJ o(hH@ @ ^@ `OJQJo(hH^`OJQJ^Jo(hHo^`OJ QJ o(hH^`OJQJo(hH^`OJQJ^Jo(hHoPP^P`OJ QJ o(hH@h^`.^`CJOJQJo(hH77^7`OJQJo(hHSS^S`OJ QJ o(hH^`OJQJo(hH^`OJQJo(hHpp^p`OJ QJ o(hH  ^ `OJ QJ o(hH@ @ ^@ `OJQJo(hH  ^ `OJQJo(hH 0^`0o(hH() ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH. 0^`0o(hH() ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH. 0^`0o(hH(C.) ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH. ^`o(hH ^`o(hH.. ^`o(hH... ^`o(hH.... Bb^B`o(hH ..... :X^:`Xo(hH ...... 2  ^2 `o(hH.......  * 8 ^* `8o(hH........  j`^j``o(hH.........0*q^ sBsuPpR M.AU.qq>Vs|a  uAy!tWJ d>(u4z$IYkE-mYYkE^ sBsBRRR?`$OAjFkJ~jaR^ @h^`.22"        x/        Xi        `Y|8               @        @        x/        U`        QLnR6       t1&8@          @2 F?W?4M%F?WF?WGh\F?WIgF?WGh  KDW\"ejt');nB C"OZ_s*yqi&-B/g;@^^| >%U)59=CQ^evx P "( :GLahi.jPAVnx(w.0VW_bk v~$03<LaM0Tlv xz27U^(fvhhntq:s~   6" $$ & 4 mE {\ h ~ P" O+ {2 ? I I P i y   X D # % f% ' C P U Z rr 4|  v J ' ^ )4 $; Q Ec gs  ! r4 Z Lj v ~ =G 0 '?=ESVNXYYeVs$}m S$4BH`cciKqr{"#KirWw{)!3 :>!Bap*uy"$&3R8IKT*Ujl2x{6aU8= Efdf1!)K5]>@Y\ad[o &3+5R<=GtMT^mgz{ ,d$$e2\NN]|af3m:rrUsz]| rK\"6B$OWW\en,v$k P,^1{xyPz|QSX#$3@G8JU=HR]g .A_ Pd #7Za w\:QFFLe5qs G LP X _Y _ ee p u ~ d!!^!! !?!S!W!_!`!af!Vn!dw!3|!""_"%"x("3)"a6":";"D"d"h"k"##'#hM#]#Ue#n$ $7$C$I$Q^$y$ z$%, %%%3%<%=%Y%[%w%&F#&I&U&~o&p&p&p&q&kv&'''#'=0'G'l'v'}( ((!(&(&)(2(7(=(A(yV(Z(c( ))w$)X&)0)/E)U)'Z)qq)q)t)** * **#*9*3O*D\*+j*n*/*^+J*+3+X6+YC+iF+G+H+J+M+N+W+^+ub+c+f+]t+~++* , ,; , ,)",M4,iE,mH,PQ,],bd,d,j,ly, -w/-@6- 7-7O-u-+..p.k;.C.R.5V.d.2o.B/*/0/?/.@/G/X/^m/$x/ 0 0" 00.0.0.02060704=0>0A0MP0S0U0_0n0,x0z0v|01! 111v1"1a-111U41<1%A1D\1Ot122 2$2)2,222=2P2Ii2{k2u2333fP3R3p3 x34K4m4"4,4QD4U4'U4\4j4v45 555#53585::5c<5=5G5:N5P5g5{h5j5Gm5s54t5666 6P6Q6V6^j60r6u6fx6}64 7r 7C7L*77?7s?7C7C7J7]7Hr78A8'8798I8zU8k8999~P9[9b9d9 g9l9;|9}9U::6:>:!B:I:L:P:d:x:t}:;;;%;G;TO;V;Y;_b;k;n;; <n<+<-<C<OF<lF<k<Bu<W|<G)=3=;=E=AX=~a=Th=Ft=F}=>v>>#>&>1>91>:C>S>l>J? ?)*?1?p9?=?W>?>?@??A?`?ux?O@ @#@@,@&@7/@6@P@u@AAA~,Ac7A;JAKQAO[Ax\AH^AjA{A{AArB B$B#)BGBEoBXqB~BCCC!CH)C@.C&3CCCWCuaCaCVuC%}C_DDnDDDDDD!D2D>Dh?DHDAJDK`D aD$dDXeDEEJ!E/E0E7EFEHEIEMEDSEYEydE FF\F9F]FFF:Fu1F(8FCFbTFVaFnGG-GG"GGG GH+GP]GmGoG~GH H-HHHH=Hz#H&Hw+H/Hh6H6OH\HCbHuHIMIXI J J!J'J,Jb/Jy2J3OJPJ`J`aJhJlJsJDxJWKKvK*K-2K6KD=K*FK[JKYK]KlK vK0L;L%?L%fLMXM!M#Mk)Mh@MCMIMXPMUMzMzMNNN NN"NB2NPCPqDPEUP`PmPaQ$Q'Q4Q;QL=QQAQBQFQOQSQQUQkQ|lQNqQRmR9R=RHR+IR\NRFaR S$ S;S(ISNSVS4[SaS eSLgSvjSpSTJTKTQTUT`TiTVsTyTU U+UZ.U7DUjUVvU{U9VVV+V.V 9V HVPVUVZeVupVzVcW,3WCWUW[WjW9xW`XX-X+X:XMXvXXY Yt Y-Y9Y>YOY{`YhYlYqYrYxYYZ*ZUZ&#Z,Z3ZMZ:UZZZhZhZ.iZuZvZK[k[Y%[-[0[_3[9[<[&>[@[G[K[{e[g[x[X[\\Z\ \\ \\R\)&\*(\.\^=\=\O\P\yx\]y\ ] *]J.]{D]`]3 ^B3^6^A:^R=^C^P^_^*f^i^?r^x^ _)__B_S_*W_Z_]_v_H ```#`4`A`H`K`a`s`&v`%a:aWaa@axEaVaWajanabb]b-blb%b%b|BbFUbtkbHmbsob{pbc c7ccjc-crdxd=~d e)e*e+3e98ezUezse f!f&f/f;fMfmfggS g7*g2g2g6g7g@g'EgGgLg@Xgaggxg{gh/h/2hl?l0OlOl7^ljlrlm m m m4m]@mOm`mptmn"n%nAnwInKnuLn\n_nbndnlnYqnvnio>oCoa;oDoJolNo9SoVoYboiokoW p pp"p =pXpZpcpuqU qL qJq0q'q.qH8qP?q!RqTqbq mq{sqNr\ryrTr rPrQror(uriss%scs.srNsOs[syfsnsusXt "t5t9tv"JvKvSvA]v5^vEnv}vwtww*w/w-5w88w_AwBwXwp\wjwmmw,xx/x=)x)x\\x|cx wx+y)yydy'yIyNyshynyryzzz(z:Az/Cz aztz!{*{{e{?{%#{=:{wQ{h{j{|T|||%|d|]i|_i|n|~|}}j}@}D}pF}HL}P}Z}e_}j}'p}|}~}@#~o/~0~C~K~[~t~t~ j"k()1=]EEVFL'T`}opSu4d7l8<MNXabny[d#^+YMgeYC57'A],f/q<*?$ErGItUVwbj}xoz;1JfLR_fFMG a Ax@VGMO0O'V \cQlCux"~ %&2+5W;GKON`mFq, 799;JL V`b:fM3%$%(6;;IIf,("WW]_+`2fy (**+s1>5 :;<NSYa ';]swN(3#@C\p^ilHy< } _*!6jMU`iwpu.85CmF,JNUtzs.*$+9:FJLRnqx |*F.G_jte}I!39@ao|rHu[[+V"lF|Ct7 4"-35bczYz 5/O/KAFo_`q%x9L@k^c;ffjdkyx* &f,=H\JpNOccoVx;v"4'-0o)p}A,,:b<?AXKnz!k)bLgUj{X$&f0HTaddk6u!yyD)06J^* F**-KPZhTiiBj}<-l]d%ffp}Y%/'.JKM1Xjv12Xeb%qup3n4?EJMUWWg 8$0'L7:@[9cgEijtxz| L/9fILPWx|4^>%(2bQ?S#W[2~ p(-V\][qw"$+ <fGew_a+1GG`z}}F+|?oM;Z=`mq|F )@GC#WCZfso3@KVVmo\sE_+;LJX[Xk_{~Nzo">2MRyV#dG :6d8>HR!_eG x >/8SeioZ}X;m&2&:AK` c(dq"D)/1E]g 3CW`^~ceOq}} *$' CMT\~ E$$$)<>DU[cd#-$\%u7'A;EFQ_W{~38Ap\\C^btx~Ar Pl: j/ KU dbgk}tzJC#t-7 F1QQR`jr&(HH[R\ ^ucempXz~18c4rr "6/}TT n?zg-/3#4KjP\]_a1~$T'(*E+9c=chO{}~ 5 --6x9o<]]dlpz9#~r45KaNSWo?w z{)e:B=]mpss^u|Z#/0:VENU)Y7bj#V34kXw%&0>FkOVl-o]sGvvw-E"P%+DFR[[aoo}SOr ; S9=HUiVn{|^!U'378b;IRZg``odqOw'p ,7?STU]rb%z/ ;#%)9a<&BzJN[`hjZ<>R/(-Q@W]Iivez{gD#-78J:~DDyQ`gFlI r(;_4`Bo-&8*ikmMtx{S:kq:|)F~#2+Y6@=A CtEE["L*_008@X,^ruwxDL om)?/6'>KKakrrrv  !0o66=[in_rvxN~~ )$011789C]Ge0mo{} #'e48uul/0>$UVt ~^ 10x>PNwxg<f>VV;yf ct"[2OMzW\fk"m~puc| &GUZcngL*rH@O{Yb}isuxy 3(+P2W:tFLMonp*H-078f=Ja:ekm}; s$5D?FH[amh|xYz1!3F.XX]6aSq`yQ )%04FQPT \r 223>AJuSS]am &28]XZ]Id}`.>44Hhlpus4<==YLSIow*~i%.n7=@DE[chj|i\!%@__mu|N m $7039cGJ^il#~;eBCGccN (MOxl ])@Dko1$IU-U [*4Vm}8Um :/&4)*4@!TTV^8j)j+-6;~<(QWegTHWR^lzps*+7@_D[KMeq\ ya"!'+ABees^vy{G i'A'UDXN\kadl&+l0C\\y|x23#HQKbjkNmxy}F d!!&9&Rflmt0yz 1 %/;v<AR9SZaz 4 A6LfPa4klt~ 5"<JS]_c2mpu{. h3$ (F3JYVWiux1UCuGHNOR_knp6 V.:8Y`&fm}a, &!"k-;1@RB+REnsv N3&{/:k=#IIWYY; )V-/7;Em\iCux|| $.1#6pSYdjus%)/*6U<+HUWX!]c{0 y-@A5FG^&(AGP;RhMwl, N 9X`]o =!"&5++01|2X5699X>k]ocoqozooooooooooooooooooooppppp&p6p7p8pqSw#$%)-159=>FLRX^djksyvƝΝϝНԝ؝ܝ #'+/38<@DEtug],^Ϸ8}ں<׻g |vLRgb+,-./<=>KLM]^_lmnopqrstuvwxyz{|}~%"4"4"4"4"4"4"4"4"4"4"4"4"4"4"4"4"4"4"4"4"4"4"4"4"4"4"4"4"4/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0Q0Q0Q0Q0Q0Q011111111111111111111@ , !"+,:6:7:8:9:;:<:@:ABCDEpWpX]^bcghiVkVlst˸˹˺˻P@P(P*P,P\@P8Pt@PDPFPHP@PLP@PRP@PVPXPZP@PnP@PvP@P|P@PPP @PP@PP(@PP`@PPh@PPp@PPPP@Pp@PRP@P@Unknown Gz Times New Roman5Symbol3& z Arial?Wingdings 39Garamond;" Helvetica?5 z Courier New5& zaTahomaU MiriamTimes New Roman3Times;Wingdings" h 443 d!Trd!Tr!>4dFF%X 7qHX)xd28C:\DOCUME~1\PEDROB~1\LOCALS~1\Temp\TCD4A3.tmp\Thesis.dotLADAPTIVE QUERY PROCESSING IN THE PRESENCE OF UNKNOWN AND CHANGING STATISTICS Pedro Bizarro Pedro Bizarroh               Oh+'0(4H `l    PADAPTIVE QUERY PROCESSING IN THE PRESENCE OF UNKNOWN AND CHANGING STATISTICSPedro Bizarro Thesis.dotPedro Bizarro12Microsoft Office Word@vA@M^@@td˝d!T՜.+,D՜.+,   aMicrosoft CorporationrF MADAPTIVE QUERY PROCESSING IN THE PRESENCE OF UNKNOWN AND CHANGING STATISTICS TitleX 8@ _TemplateIDTC010183631033  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghiklmnopqstuvwxyRoot Entry FpԝData PR1TableWordDocumenttSummaryInformation(jDocumentSummaryInformation8rCompObjq  FMicrosoft Office Word Document MSWordDocWord.Document.89q