Ground reducibility is EXPTIME-complete We prove that ground reducibilic is EXPTIME-complete in the general case. EXPTIME-hardness is proved by encoding the computations of an altemating Turing machine whose space is polynomially bounded. It is more difJicult to show that ground reducibility belongs to DEXPTIME. We associate3rst an automaton with disequality constraints 0 ( 2~l R l~x l l t~~) and AR,t to a rewrite system R and a term t. This automaton is deterministic and accepts a term U i f and only i f t is not ground reducible by R. The number of states of AR,t is Ground reducibility of a term t w.r.t. a term rewriting system R expresses that all ground instances (instances without variables) of t are reducible by 72. This property is fundamental in automating inductive proofs in equational theories without constructors [IO] . It is also related to sujficient completeness in algebraic specifications (see e.g. [ 121) . Roughly, it expresses that all cases have been covered by 'R and that t will be reducible for any inputs. The algorithm is however quite complex: a tower of 9 exponentials though there is no explicit complexity analysis in the paper. D. Kapur proposed by E. Kounalis in [ 131. The result is generalized to co-ground reducibility and the expected complexity is 5 exponentials, though there is no explicit complexity analysis in the paper. These three algorithms use combinatorial arguments and some "pumping property": if there is a deep enough irreducible instance o f t , then there is also a smaller instance which is also irreducible. This yielded the idea of making explicit the pumping argument as a pumping lemma in some tree language. In support of this idea, when both t and the left members of R are linear, i.e. each variable appears only once, then the set of reducible instances of t is accepted by a finite tree automaton [8] . Hence the set of irreducible ground instances is also accepted by a tree automaton, by complement. This easily gives a simply exponential algorithm in the linear case. (As we will see this algorithm is optimal).. H. Comon expressed first the problem of ground reducibility as a n emptiness problem for some tree language [3] . He also gave a decision proof whose complexity is even worse than the former ones. A.-C Caron, J.-L. Coquidi and M. Dauchet proved a very beautiful result in 1993 [ 2 , 51, enlighting the pumping properties and their difficulty. They actually show a more general result: the first-order theory of unary encompassment predicates is decidable. And it turns out that ground reducibility can be expressed as a simple formula in this logic. Their technique consists in associating an automaton with each formula. in the spirit of Buchi's and Rabin's method. The kind of automata which is appropriate here is what they call reduction automata, a particular case of automata with constraints introduced by M. Dauchet in 1981. Such tree automata have the ability to check for equality or disequality of some subtrees before applying a transition rule. In general, emptiness of languages recognized by such automata is undecidable. However, when we only allow a fixed number of equality tests on each computation branch, then emptiness becomes decidable. Unfortunately, their result does not give any information about possible efficient algorithms. The complexity which results from their proof is not better than Plaisted's bound. We tried to specialize the tree automata technique for ground reducibility and we got in this way a triple exponential bound [4] . This is better than previous methods, but still far from the lower bound.. The problem in all works about ground reducibility is that they give a bound on the depth of a minimal irreducible instance o f t (or a minimal term accepted by the automaton). However, after establishing carefully such an upper bound, they use a brute-force algorithm, checking the reducibility of all terms of depth smaller than the bound, which increases the complexity by a double exponential.. We use here a different approach. We still rely on automata with disequality constraints. However, we do not try to give a bound on the depth of an accepted term. Rather, we show a stronger result: with an appropriate notion of minimality, a minimal term accepted by the automaton contains at most an exponential number of distinct subterms. To prove this, we use a generalization of pumping to arbitrary replacements for which the term is decreasing according to some well chosen well founded ordering. With a few more ingredients, this yields an algorithm for deciding the emptiness of an automaton with disequality constraints which runs in polynomial time w.r.t. the number of states and in exponential time w.r.t. the size of the constraints.. On the other hand. we show that ground reducibility of t w.r.t. 72 can be reduced to the emptiness problem for an automaton A with disequality constraints whose number of states is an exponential in the size of R and t and whose constraints are polynomial in size. Altogether, we have a simply exponential algorithm for ground reducibility.. This result is optimal since ground reducibility is EXPTIME-hard, already for linear rewrite systems and linear t. A 0(2*) lower bound was proved by Kapur et ai [ 1 I] . We give here a simple proof of EXPTIME-hardness: the computations of alternating Turing machines with polynomially bounded space can be encoded (in polynomial time) into ?round reducibility. Hence, quite surprisingly, ground reducibility is not (at least in theory) harder in the general case than in the linear case.. In section 2 we recall the definition of automata with disequality constraints. In section 3, WG show how to construct an automaton with disequality constraints whose emptiness is equivalent to the ground reducibility o f t w.r.t. R and we analyse carefuly the complexity of such a construction. Section 4 is devoted to pumpings lemmas for automata with disequality constraints. These lemmas are applied in section 5 to derive an optimal algorithm which checks the emptiness of (the language recognized by) an automaton with disequality constraints. Finally, we study the lower bound of ground reducibility in section 6.. Some proofs are long and technical, hence not included in the present abstract. Except for a small combinatorial argument due to B. Reed, the complete proofs can be found in E Jacquemard's thesis [9] (in French). A complete version of the paper is also available on the Web (http://www.mpi-sb.de/-florent/art/). We proved that ground reducibility is EXPTIMEcomplete for both the linear and the non-linear case. This closes a pending question. However, we do not claim that this result in itself gives any hint on how to implement a ground reducibility test. As we have seen, it is not tractable in general. A possible way to implement these techniques as efficiently as possible was suggested in [ 11. On the average, some algorithms may behave well. In any case, we claim that tree automata help both in theory and in practice.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O


Efficient Solutions to Factored MDPs with Imprecise Transition Probabilities When modeling real-world decision-theoretic planning problems in the Markov decision process (MDP) framework, it is often impossible to obtain a completely accurate estimate of transition probabilities. For example, natural uncertainty arises in the transition specification due to elicitation of MDP transition models from an expert or data, or non-stationary transition distributions arising from insufficient state knowledge. In the interest of obtaining the most robust policy under transition uncertainty, the Markov Decision Process with Imprecise Transition Probabilities (MDP-IPs) has been introduced to model such scenarios. Unfortunately, while solutions to the MDP-IP are well-known, they require nonlinear optimization and are extremely time-consuming in practice. To address this deficiency, we propose efficient dynamic programming methods to exploit the structure of factored MDPIPs. Noting that the key computational bottleneck in the solution of MDP-IPs is the need to repeatedly solve nonlinear constrained optimization problems, we show how to target approximation techniques to drastically reduce the computational overhead of the nonlinear solver while producing bounded, approximately optimal solutions. Our results show up to two orders of magnitude speedup in comparison to traditional "flat" dynamic programming approaches and up to an order of magnitude speedup over the extension of factored MDP approximate value iteration techniques to MDP-IPs. Markov decision processes (MDP) (Puterman 1994 ) have become the de facto standard model for decision-theoretic planning problems and a great deal of research in recent years has aimed to exploit structure in order to compactly represent and efficiently solve factored MDPs (Boutilier, Hanks, and Dean 1999; Hoey et al. 1999; St-Aubin, Hoey, and Boutilier 2000; Guestrin et al. 2003) . However, in many real-world problems, it is simply impossible to obtain a precise representation of the transition probabilities in an MDP. This may occur for many reasons, including (a) imprecise or conflicting elicitations from experts, (b) insufficient data from which to estimate precise transition models, or (c) nonstationary transition probabilities due to insufficient state information. For example, in an MDP for traffic light control, it is difficult to estimate the turn probabilities for each traffic lane that has the option of going straight or turning. These laneturning probabilities may change during the day or throughout the year, as a function of traffic at other intersections, and based on holidays and special events; in general it is impossible to accurately model all of these complex dependencies. In this case it would be ideal to have a traffic control policy optimized over a range of turn probabilities in order to be robust to inherent non-stationarity in the turn probabilities.. To accommodate optimal models of sequential decisionmaking in the presence of strict uncertainty over the transition model, the MDP with imprecise transition probabilities (MDP-IP) was introduced (Satia and Lave Jr. 1970; White III and El-Deib 1994) . While the MDP-IP poses a robust framework for the real-world application of decisiontheoretic planning, its solution requires nonlinear optimization, which is extremely time-consuming in practice.. To address this computational deficiency, we extend the factored MDP model to MDP-IPs and propose efficient, scalable algorithms for solving these factored MDP-IPs. This leads to the following novel contributions in this work:. • We propose to replace the usual dynamic Bayes net (DBN) (Dean and Kanazawa 1990) used in factored MDPs, with dynamic credal nets (DCNs) (Cozman 2000) to support compact factored structure in the imprecise transition model of factored MDP-IPs.. • We extend the decision-diagram based SPUDD and APRICODD algorithms for MDPs (Hoey et al. 1999; St-Aubin, Hoey, and Boutilier 2000) to MDP-IP algorithms capable of exploiting DCN structure. For this, we introduce the parameterized ADD (PADD) with polynomial expressions at its leaves and explain how to extend ADD operations to PADDs.. • As shown in the experiments, the generalization of SPUDD and APRICODD to MDP-IPs using PADDs is just the first step in obtaining efficient solutions. Observing that the key computational bottleneck in the solution of MDP-IPs is the need to repeatedly solve nonlinear constrained optimization problems, we show how to target our approximations to drastically reduce the computational overhead of the nonlinear solver while producing bounded, approximately optimal solutions.. As our results will demonstrate, using the above contributions we can obtain up to two orders of magnitude speedup in comparison to traditional "flat" dynamic programming approaches and up to an order of magnitude speedup over the generalization of state-of-the-art approximate factored MDP solvers to accommodate MDP-IPs. Motivated by the real-world need to solve MDPs with transition uncertainty, we proposed the compact factored MDP-IP model and developed a decision diagram-based factored value iteration extension of the SPUDD algorithm. We contributed the parameterized ADD (PADD) data structure and operations and used PADDs in novel inference algorithms with compact factored MDP-IP transition credal sets represented as Dynamic Credal Networks (DCNs). The resulting SPUDD-IP algorithm yielded up to two orders of magnitude speedup over pre-existing value iteration techniques. Seeking to scale SPUDD-IP further, we contributed two novel approximate value iteration extensions: APRICODD-IP and Objective-IP. While APRICODD-IP is the obvious extension based on previous work, it did not specifically target the main source of time complexity for solving MDP-IPs -calls to the nonlinear solver during MDP-IP value iteration. Based on this observation, we developed an alternate and novel approximation method that directly approximated the objective of nonlinear solver calls, proving the theoretical correctness of this approach and substantially reducing the number of nonlinear solver calls and thus running time of approximate value iteration. Altogether these novel extensions enable the modeling and (bounded approximate) solution of factored MDP-IPs that can scale orders of magnitude beyond existing flat value iteration approaches to MDP-IPs. The Bounded-parameter Markov Decision Process (BMDP) (Givan, Leach, and Dean 2000 ) is a special case of an MDP-IP, where the probabilities and rewards are specified by constant intervals. Recent solutions to BMDPs include robust versions of real-time dynamic programming (Buffet and Aberdeen 2005) . The Markov Decision Process with Setvalued Transitions (MDPSTs) (Trevizan, Cozman, and de Barros 2007) is another subclass of MDP-IPs where probability distributions are given over finite sets of states. The algorithms defined in this paper clearly apply to both BMDPs and MDPSTs, however all of the above techniques do not generalize to the MDP-IPs we examined in this paper that use linear constraints on a DCN probability specification. This representation was used in all of our MDP-IP domains.

O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Some scheduling problems with sum-of-processing-times-based and job-position-based learning effects In this paper we introduce a new scheduling model with learning effects in which the actual processing time of a job is a function of the total normal processing times of the jobs already processed and of the job's scheduled position. We show that the single-machine problems to minimize makespan and total completion time are polynomially solvable. In addition, we show that the problems to minimize total weighted completion time and maximum lateness are polynomially solvable under certain agreeable conditions. Finally, we present polynomial-time optimal solutions for some special cases of the m-machine flowshop problems to minimize makespan and total completion time. Learning effects in scheduling problems have recently received growing attention from the scheduling research community. For instance, Biskup [1] pointed out that repeated processing of similar tasks improves workers' skills, e.g., workers are able to perform setups, deal with machine operations or software, or handle raw materials and components at a faster pace. Heizer and Render [9] , and Russell and Taylor [18] demonstrated through empirical studies in several industries that unit costs decline as firms produce more of a product and gain knowledge or experience. Besides, Lee et al. [12] utilized the genetic learning mechanism to elicit participants' meeting behavior.. Chen and Hsiang [5] pointed out that corporations have felt the pressure of fast-paced innovations and knowledge transfer as major driving forces in raising their sustainable competitive advantage and organizational total productivity. Thus, the development of the knowledge community through e-learning is an important strategy in implementing knowledge management policy.. The impact of learning on productivity in manufacturing in the aircraft industry was first discovered by Wright [25] , and it was subsequently confirmed in many industries in both the manufacturing and service sectors [27] . Although the learning effect had been investigated in a variety of industries, it had not been unexplored in the field of scheduling until Biskup's [1] study. He introduced a scheduling model with learning effects in which the actual processing time of a job is a function of its position in the schedule. He showed that the single-machine problems to minimize total deviations of job completion times from a common due date and to minimize the sum of job completion times are polynomially solvable. Mosheiov [15] found that under Biskup's learning effect model the optimal schedules for some classical scheduling problems remain valid, but they require much greater computational effort to obtain. Mosheiov and Sidney [16] extended the model in which the learning effects gained from doing some jobs are stronger than those from the other jobs, i.e., the so-called job-dependent learning model. Lee et al. [13] studied a bi-criterion scheduling problem on a single machine. Chen et al. [3] considered a two-machine flowshop scheduling problem in which the objective is to minimize the weighted sum of total completion time and maximum tardiness. Eren and G ner [6] applied the 0-1 integer programming approach to derive the optimal solution, and used a random search, the tabu search, and simulated annealing to obtain near-optimal solutions for the total tardiness problem. Cheng et al. [4] considered some permutation flowshop scheduling problems with learning effects on no-idle dominant machines. Eren and G u ner [7] further considered a bi-criterion flowshop scheduling problem. Cheng [21] considered a single-machine scheduling problem with a volume-dependent, piecewise linear processing time function to model the learning effect. They showed that the maximum lateness problem is NP-hard in the strong sense and identified two special cases that are polynomially solvable. Wang and Xia [24] studied the flowshop problems when the learning effect is present. They provided the worst-case bound for the shortest processing time (SPT) rule for the problems to minimize makespan and total completion time. They also showed that the problems remain polynomially solvable for two special cases. Wang [22] studied a model in which the job processing times are functions of their starting times and positions in the sequence. Recently, Koulamas and Kyparisis [11] introduced a general sum-of-job-processing-times-based learning effect scheduling model in which employees learn more if they perform a job with a longer processing time. Bikup [2] provided a comprehensive review of the scheduling models and problems with considerations of the learning effect. Moreover, he gave detailed descriptions of the models and the authors' works. Janiak and Rudek [10] proposed a new approach to studying the learning effect in scheduling. Wang et al. [23] studied several single-machine scheduling problems with a time-dependent learning effect. Xu et al. [26] provided the worst case analysis for some flowshop problems.. Biskup [2] classified learning models into two types, namely position-based learning and sum-of-processing-time-based learning. He further claimed that position-based learning assumes that learning takes place by processing time independent operations like setting up of machines. This seems to be a realistic assumption for the case where the actual processing time of a job is mainly machine-driven and has (or is near to) none human interference. On the other hand, sum-of-processing-time-based learning takes into account the experience workers have gained from producing the same or similar jobs over time. This might, for example, be the case for offset printing, where running the press itself is a highly complicated and error-prone process.. In this paper we study a new learning effect scheduling model in which the learning effects of machines and humans are both present, i.e., the actual processing time of a job is a function not only of the total normal processing times of the jobs already processed, but also of the job's scheduled position. The remainder of this paper is organized as follows. The solution procedures for the single-machine problems to minimize makespan, total completion time, total weighted completion time, and maximum lateness minimization under the proposed model are presented in the next section. In Section 3 we consider special cases of the flowshop problems to minimize makespan and total completion time. We conclude the paper in the last section. Scheduling problems with learning effects have captured many scheduling researchers' attention in recent years. However, most of the research assumed that the learning effects depend on job positions. Recently, a sum-of-processing-times-based learning effect has been proposed by Koulamas and Kyparisis [11] . In this paper we considered a new learning model in which the actual processing time of a job depends not only on the job's scheduled position, but also on the processing times of the jobs already processed. In particular, we showed that the single-machine makespan and total completion time problems are polynomially solvable under the proposed learning model. In addition, we showed that the total weighted completion time and the maximum lateness problems are polynomially solvable under certain agreeable conditions. Finally, we presented polynomial-time optimal solutions for two flowshop problems to minimize makespan and total completion time under the assumption of identical processing times on all the machines. For large-size problems, the normal processing time will be shortened significantly due to the two learning effects. Thus, to develop new learning models when both learning effects are present will be an interesting issue for future research. . . Thus, this implies that is a non-decreasing function on . Using the fact that ) (λ g′ is a non-decreasing function for. Therefore, it also implies that ) (λ g is a non-decreasing function for. . This completes the proof. Since ,. This implies that is a non-decreasing function for The proof is completed.

O B O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O B O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O B O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B B O O O O O O O O O O O O O O O O O O B B O O O O O B B O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I B O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O B I O B O O O O O O B B O O O O B I O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Scheduling on Unrelated Machines under Tree-Like Precedence Constraints We present polylogarithmic approximations for the R|prec|C max and R|prec| j w j C j problems, when the precedence constraints are "treelike"-i.e., when the undirected graph underlying the precedences is a forest. These are the first non-trivial generalizations of the job shop scheduling problem to scheduling with precedence constraints that are not just chains. These are also the first non-trivial results for the weighted completion time objective on unrelated machines with precedence constraints of any kind. We obtain improved bounds for the weighted completion time and flow time for the case of chains with restricted assignment-this generalizes the job shop problem to these objective functions. We use the same lower bound of "congestion + dilation", as in other job shop scheduling approaches (e.g. Shmoys, Stein and Wein, SIAM J. Comput. 23, 617-632, 1994). The first step in our algorithm for the R|prec|C max problem with treelike precedences involves using the algorithm of Lenstra, Shmoys and Tardos to obtain a processor assignment with the congestion + dilation value within a constant factor of the optimal. We then show how to generalize the random-delays technique of Leighton, Maggs and Rao to the case of trees. For the special case of chains, we show a dependent rounding technique which leads to a bicriteria approximation algorithm for minimizing the flow time, a notoriously hard objective function. A very general type of scheduling problem involves unrelated parallel machines and precedence constraints, i.e., we are given: (i) a set of n jobs with precedence constraints that induce a partial order on the jobs; (ii) a set of m machines, each of which can process at most one job at any time, and (iii) an arbitrary set of integer values {p i,j }, where p i,j denotes the time to process job j on machine i. Thus, we need to decide which machine to schedule each job on, and then run the jobs in some order consistent with the precedence constraints. Let C j denote the completion time of job j . Subject to the above constraints, two commonly studied versions are (i) minimize the makespan, or the maximum time any job takes, i.e. max j {C j }-this is denoted by R|prec|C max , and (ii) minimize the weighted completion time-this is denoted by R|prec| j w j C j . Numerous other variants, involving release dates or other objectives have been studied (see e.g. [8] ). Most such variants are NP-hard; thus, we will focus throughout on approximation algorithms with improved approximation guarantees. Recall that a ρ-approximation algorithm for a minimization problem is a polynomial-time algorithm which always produces a feasible solution with objective function value at most ρ times optimal; ρ is called the approximation guarantee or approximation ratio of such an algorithm.. Almost-optimal upper and lower bounds on the approximation ratio are known for the versions of the above problems without precedence constraints (i.e., the R C max and R j w j C j problems) [3, 15, 23] , but very little is known in the presence of precedence constraints. The only case of the general R|prec|C max problem for which non-trivial approximations are known is the case where the precedence constraints are a collection of node-disjoint chains-this is the job shop scheduling problem [22] , which itself has a long history. The first result for job shop scheduling was the breakthrough work of Leighton et al. [13, 14] for packet scheduling, which implied a logarithmic approximation for the case of unit processing costs. Leighton et al. [13, 14] introduced the "random delays" technique, and almost all the results on the job shop scheduling problem are based on variants of this technique. The result of [13, 14] was generalized to nonuniform processing costs by Shmoys et al. [22] , who obtained an approximation factor of O(log (mμ) log (min{mμ, p max })/ log log (mμ)), where p max is the maximum processing time of any job, and μ is the maximum length of any chain in the given precedence constraints. These bounds were improved by an additional log log (mμ) factor by Goldberg et al. [7] ; see [6] for additional relevant work. Shmoys et al. [22] also generalize job-shop scheduling to DAG-shop scheduling, where the operations of each job form a DAG, instead of a chain, with the additional constraint that the operations within a job can be done only one at a time. They show how the results for the case of a chain extend to this case also.. The only results known for the case of arbitrary number of processors (i.e., machines) with more general precedence constraints are for identical parallel machines (denoted by P |prec|C max ) [8] , or for uniformly-related parallel machines (denoted by Q|prec|C max ) [2, 5] . The weighted completion time objective has also been studied for these variants [3, 5, 9] . When the number of machines is constant, polynomialtime approximation schemes are known [10, 12] . Note that all the discussion here relates to non-preemptive schedules, i.e., once the processing of a job is started, it cannot be stopped until it is completely processed; preemptive variants of these problems have also been well studied (see e.g. [21] ). Less is known for the weighted completion time objective in the same setting, as compared to the makespan. The known approximations are either for the case of no precedence constraints [23] , or for precedence constraints with parallel/related processors [5, 9, 20] . To the best of our knowledge, no non-trivial bound is known on the weighted completion time on unrelated machines, in the presence of precedence constraints of any kind.. Here, motivated by applications such as evaluating large expression-trees and tree-shaped parallel processes, we consider the special case of the R|prec|C max and R|prec| j w j C j problems, where the precedences form a forest, i.e., the undirected graph underlying the precedences is a forest. Thus, this naturally generalizes the job shop scheduling problem, where the precedence constraints form a collection of disjoint chains.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


A 4.31-approximation for the geometric unique coverage problem on unit disks AbstractWe give an improved approximation algorithm for the unique unit-disk coverage problem: Given a set of points and a set of unit disks, both in the plane, we wish to find a subset of disks that maximizes the number of points contained in exactly one disk in the subset. Erlebach and van Leeuwen (2008) introduced this problem as the geometric version of the unique coverage problem, and gave a polynomial-time 18-approximation algorithm. In this paper, we improve this approximation ratio 18 to 2 + 4/ √ 3 + ε (< 4.3095 + ε) for any fixed constant ε > 0. Our algorithm runs in polynomial time which depends exponentially on 1/ε. The algorithm can be generalized to the budgeted unique unit-disk coverage problem in which each point has a profit, each disk has a cost, and we wish to maximize the total profit of the uniquely covered points under the condition that the total cost is at most a given bound. To prove Lemma 5.5, we need a thorough preparation.

O O O O O B I I O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Unifying Views of Tail-Biting Trellis Constructions for Linear Block Codes Abstract-In this paper, we present new ways of describing and constructing linear tail-biting trellises for block codes. We extend the well-known Bahl-Cocke-Jelinek-Raviv (BCJR) construction for conventional trellises to tail-biting trellises. The BCJR-like labeling scheme yields a simple specification for the tail-biting trellis for the dual code, with the dual trellis having the same state-complexity profile as that of the primal code . Finally, we show that the algebraic specification of Forney for state spaces of conventional trellises has a natural extension to tail-biting trellises. We have given a specification for tail-biting trellises which is a generalization of the BCJR construction for conventional trellises for linear block codes. The generalized BCJR construction begins with an arbitrary parity check matrix and a matrix which we term the displacement matrix, and proceeds to produce a labeled tail-biting trellis whose state spaces are vector spaces. It is easy to get dual trellises using this specification; these have state-complexity profiles which are identical to those of the primal trellises. Adaptation of the algebraic Forney construction which views trellis state spaces as quotient spaces with respect to a coset decomposition is also shown to be possible with a redefinition of "pasts" and "futures." The most interesting problem which to our knowledge is as yet open, is that of finding a polynomial time algorithm for obtaining a minimal trellis which minimizes the maximum state-complexity over all time indices.

O O O O O O O O B I O O O O O O O O O O O O B I O B I O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O B I O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Synthesis of networks of custom processing elements for real-time physical system emulation Emulating a physical system in real-time or faster has numerous applications in cyber-physical system design and deployment. For example, testing of a cyber-device's software (e.g., a medical ventilator) can be done via interaction with a real-time digital emulation of the target physical system (e.g., a human's respiratory system). Physical system emulation typically involves iteratively solving thousands of ordinary differential equations (ODEs) that model the physical system. We describe an approach that creates custom processing elements (PEs) specialized to the ODEs of a particular model while maintaining some programmability, targeting implementation on field-programmable gate arrays (FPGAs). We detail the PE micro-architecture and accompanying automated compilation and synthesis techniques. Furthermore, we describe our efforts to use a high-level synthesis approach that incorporates regularity extraction techniques as an alternative FPGA-based solution, and also describe an approach using graphics processing units (GPUs). We perform experiments with five models: a Weibel lung model, a Lutchen lung model, an atrial heart model, a neuron model, and a wave model; each model consists of several thousand ODEs and targets a Xilinx Virtex 6 FPGA. Results of the experiments show that the custom PE approach achieves 4X-9X speedups (average 6.7X) versus our previous general ODE-solver PE approach, and 7X-10X speedups (average 8.7X) versus highlevel synthesis, while using approximately the same or fewer FPGA resources. Furthermore, the approach achieves speedups of 18X-32X (average 26X) versus an Nvidia GTX 460 GPU, and average speedups of more than 100X compared to a six-core TI DSP processor or a four-core ARM processor, and 24X versus an Intel I7 quad core processor running at 3.06 GHz. While an FPGA implementation costs about 3X-5X more than the non-FPGA approaches, a speedup/dollar analysis shows 10X improvement versus the next best approach, with the trend of decreasing FPGA costs improving speedup/dollar in the future. In cyber-physical systems [Lee 2008 ], computers or other computing devices interact with physical systems. Fast accurate digital models that emulate physical systems can assist in designing cyber-physical systems. For example, a digital model of human lungs can be interfaced with a ventilator for testing during ventilator development (in real-time or faster), or for training clinicians on ventilator use across a variety of lung conditions. Furthermore, the model's parameters can be modified to reflect varied lung pathologies more easily than typical lung emulation approaches (e.g., using physical balloons). Such use cases motivate our work.. Accurate physical system emulation requires complex physical models. A physical model is often captured as a system of ordinary differential equations (ODEs) having thousands of state variables (or dimensions). The ODEs are often solved by iterative ODE solvers, which may compute each equation in the system 1000 times per second, or even faster if greater accuracy is required. Modern desktop processors may not be able to emulate complex physical models in real-time, because the mostly-serial program execution on a processor does not match the massively-parallel nature of a physical model.. To accelerate physical model emulation, we previously introduced an approach using a network of processing elements (PEs) optimized for ODE solving [Huang et al. 2012] . We first created a lightweight programmable ODE-solver PE for a field-programmable gate array (FPGA), where the PE was optimized for solving tens of ODEs [Huang et al. 2011] . We then developed a synthesis tool to automatically map thousands of These tools usually aim to produce accurate results rather than real-time emulation. Many efforts seek to speed up emulation using multicore processors and GPUs [ATI 2011; Nvidia 2011] . For instance, a 768-core SGI machine executed a 2 billion equation heart model, simulating 0.4 ms in 2 hours [MedGadget 2008 ]. An Nvidia GTX 295 GPU was used to execute a Flaim heart model 30x faster than OpenMP running on an Intel I7 quad core processor at 2.93 GHz. Executing one heartbeat (300 ms) required 7.7 minutes [Lionetti 2010 ]. The main bottleneck of multicore processors and GPUs is the centralized memory architecture, which commonly does not match the localneighbor communication pattern of a physical model.. Many case studies using FPGAs to speed up physical model emulation have been conducted. For example, Yoshimi et al. [2004] obtained 100x speedups of a fine-grained biological emulation compared to a single-core processor, and showed why multicore processors were not suitable. Pimentel et al. [2006] proposed an FPGA solution to emulate a heart-lung system model in real-time, while a PC required 1.5 hours to simulate 60 seconds of the same model. Their FPGA performance was estimated by a theoretical optimal formula, rather than via an implementation. Osana et al. [2004] developed the ReCSiP tool to generate chemical models on FPGAs using the SBML language. The crossbar communication structure used in ReCSiP may not scale to larger models. Those previous efforts mostly used manual design approaches to implement the models on FPGAs.. A common automated design approach for implementing applications on FPGAs uses high-level synthesis (HLS). Recently, tools have evolved to synthesize from C code rather than hardware description language (HDL) code, such as Streams-C [Gokhale et al. 2000] , SPARK [SPARK 2005] , ROCCC [Villarreal et al. 2010] , Celoxica [Celoxica 2011 ], SynphonyC [SynphonyC 2011 ], Impulse C [Impulse C 2011] , and AutoESL [AutoESL 2011] . We compare our approach to a commercial C HLS tool to generate ODE datapaths, and due to the regularity of physical models, we incorporate the idea of regularity extraction [Rao and Kurdahi 1993 ], as will be described in Section 6. 21:4 C. Huang et al. We described an approach for fast execution of physical models consisting of thousands of ordinary differential equations. The approach consists of synthesizing a network of processing elements customized to the model's particular ODEs, and is fully automatable. The experiments on five models, each model consisting of several thousand ODEs, and targeting a Xilinx Virtex 6 FPGA, show the custom PE approach achieves 4X-10X speedups versus previous general PEs and high-level synthesis, while using approximately the same or fewer FPGA resources. Furthermore, the approach achieves speedups of 20-30X compared to a quad-core I7-950 CPU and an Nvidia GTX460 GPU. Thus, the approach presently appears to yield the fastest execution of physical models on moderately-priced programmable platforms (excluding high-cost supercomputer platforms), and the approach appears to be robust across different types of models. Future work includes automatically synthesizing and mapping to heterogeneous PEs (especially for more comprehensive models with heterogeneous ODEs), and further comparisons with high-level synthesis, GPUs, and other evolving compute platforms.

O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O B O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O


Toward a programming theory for rational agents Abstract An important problem in agent verification is a lack of proper understanding of the relation between agent programs on the one hand and agent logics on the other. Understanding this relation would help to establish that an agent programming language is both conceptually well-founded and well-behaved, as well as yield a way to reason about agent programs by means of agent logics. As a step toward bridging this gap, we study several issues that need to be resolved in order to establish a precise mathematical relation between a modal agent logic and an agent programming language specified by means of an operational semantics. In this paper, we present an agent programming theory that provides both an agent programming language as well as a corresponding agent verification logic to verify agent programs. The theory is developed in stages to show, first, how a modal semantics can be grounded in a state-based semantics, and, second, how denotational semantics can be used to define the mathematical relation connecting the logic and agent programming language. Additionally, it is shown how to integrate declarative goals and add precompiled plans to the programming theory. In particular, we discuss the use of the concept of higher-order goals in our theory. Other issues such as a complete axiomatization and the complexity of decision procedures for the verification logic are not the focus of this paper and remain for future investigation. As has been argued in [42] , the proper tools for verifying agents are still lacking due to the fact that there is no clear relationship between agent logics on the one hand and concrete computational models used to implement agents on the other hand. One particularly appealing approach to implementing agents is to use an agent programming language and the question becomes how to relate agent programs and agent logics. Though progress has been made [4, 5, 8, 16, 19, 24] , the relation between rational agent programs and agent logics including declarative goals is still insufficiently understood. Establishing a proper relation between the semantics of such agent programs and agent logics will provide several benefits, due to the fact that such a connection:. -Indicates that the agent programming language is well-behaved. In particular, this is where denotational semantics, a type of mathematical semantics that abstracts from procedural aspects and concentrates on the effects of a program, is useful. The hallmark of denotiational semantics is that semantic definitions are defined compositionally [15] , which provides the basis for a verification logic to verify agent programs and compositional verification tools. -Indicates that the agent programming language is conceptually well-founded, i.e. based on a set of clearly defined concepts which facilitate understanding rather than complicate the understanding of agent programs. In particular, by providing an elegant denotiational semantics one ensures that a programming framework does not incorporate programming constructs that are hard to understand due to e.g. detailed procedural or operational aspects-from which such a semantics abstracts-and which might be consequently hard to apply in the design and development of agent programs.. In line with these motivations, we see the work reported in this paper as contributing to the design of a well-behaved agent programming language, as well as a contribution to the study of the conceptual foundations of agent programming. To this end, we discuss and present an agent programming theory, that consists of two components: an agent programming language and a corresponding verification logic that can be used to axiomatically verify programs written in the programming language (cf. [15] ).. The aim of this paper is to define an agent programming theory for rational agents. Intuitively, rational agents derive their choice of action from their knowledge and goals and these core concepts need to be incorporated into an agent programming theory. 1 These concepts are key concepts in any account of agency, as is also reflected in some of the best known agent logics [12, 37, 41] . Typically, these logics also include additional concepts such as commitment and intention, derived from the work of e.g. Bratman [10] . In agent programming languages, additionally, constructs for representing the plans of agents are incorporated. Summarizing, our programming theory should include an informational component, a motivational component, and a planning or means-ends component.. For our purposes, it is essential to incorporate the core concepts defining a rational agent into the programming theory but there is also a pragmatic motivation to start with a minimal theory. We take a somewhat pragmatic stance on what is to be included and start with a theory based on the concepts of action, knowledge, goals, and plans covering each of the components of a rational agent programming theory and the fundamental notion of action.. For the purpose of developing an agent programming theory, we illustrate how these concepts can be operationalized in an agent programming language and how the operational semantics can be formally related to the semantics of an associated agent logic. In our approach to agent programming, knowledge and goals are explicit computational resources (i.e. databases with associated operations) and the operational semantics defines how agents compute with these resources. The corresponding agent logic provides for a declarative formalism to specify and reason about agents (cf. [15] ).. The programming theory discussed in this paper is presented in stages, starting with the most basic concepts of action and knowledge and the consecutive incorporation of the other core concepts. Our primary objective is to demonstrate how a programming theory can be constructed for rational agents and to show how traditional techniques from programming language semantics can be useful here. The approach in stages corresponds with our aim, which is only achieved to a limited extent here, to construct various parts of the programming theory in a more or less modular way, in line with the idea that each of these parts (e.g. a theory of action) could be supplanted with another one (e.g. the reader's preferred theory of action). As a first step, a simple programming language based on action and knowledge is introduced and a verification logic for this language based on a modal dynamic logic extended with an epistemic operator is presented. The main issue dealt with here is demonstrating that the state-based semantics for the programming language is equivalent with the modal semantics using techniques from denotational semantics [15] . More precisely, we will be concerned with showing that a state-based semantics that provides the ingredients for defining an operational semantics is equivalent to a denotational semantics that provides the semantics for a modal logic of agent programs. Second, the programming language is extended with a motivational component, i.e. a database of goals. Rational agents perform actions to pursue their goals. Goals are achievement goals in this paper, but also include higher-order goals which usefully can be interpreted as dispositions to adopt goals (see below). Accordingly, the verification logic is extended with a motivational operator. Some constraints are discussed that need to be imposed on the modal semantics to be able to demonstrate that the thus extended logic is a verification logic for the programming language with goals. Third, the programming language is extended with a precompiled plan library. The semantics for this programming language as well as its verification logic is defined using techniques from denotational semantics, which demonstrates the use of such techniques for agent programming. Fourth, and finally, so-called goal adoption rules are introduced as a means to program the adoption of new goals. The goal adoption mechanism presented is based on the concept of second-order goals or dispositions to adopt a goal, and defines an interesting alternative to some other mechanisms present in the literature for goal adoption. In this paper, a programming theory for rational agents has been presented. Such a theory consists of an agent programming language and a corresponding verification logic to prove the correctness of agent programs. The verification logic presented is a modal logic for rational agents that incorporates the core agent concepts of action, knowledge, goals and precompiled plans. A precise correspondence of the modal semantics of the logic and the operational semantics of the programming language has been established by providing a state-based semantics that grounds the modal agent logic. Additionally, a mechanism for adopting goals has been introduced based on a dispositional view of second-order goals. It has been argued that second-order goals viewed as dispositions to adopt goals can be used by the agent to self-generate goals and provide a means to the programmer to adjust the autonomy of the agent.. As discussed, the agent programming language presented is in many ways similar to other languages in the literature. Our main objective in this paper has been to establish a precise correspondence of the programming language with a modal verification logic for rational agents. The programming language presented is most similar to AgentSpeak(L) [36] and 3APL [7] , but there are some differences. It has been our aim to present a programming theory for rational agents, which we believe should include the concept of a declarative goal, a difference with AgentSpeak(L) which does not include such goals explicitly. One of the differences with 3APL is the way goals are used to invoke plans. In 3APL plans can be invoked by conditions on the current state of the agent only, whereas in the programming language presented in this paper plans are invoked by statements referring to goals in a plan of the agent itself. Another difference our programming language provides goal adoption rules which are absent from 3APL.. The work reported in this paper builds on and extends earlier work of the authors [24, 25] in various ways. Whereas [24] provided an agent logic for a restricted version of 3APL, we here significantly extend the scope of applicability of the logic to include now also precompiled plans and declarative goals. In [25] , we aimed at establishing a connection between the KARO logic [41] and a programming language. The results obtained show partial success in establishing a corresponding programming language, but, as reported, require quite a number of restrictions on the KARO logic due to its comprehensiveness and associated complexity. In contrast, here we have taken a different approach starting with a programming language and showing how a verification logic fitting for this language can be obtained.. Other related research that shares our objective of providing a verification framework for rational agents have addressed the issue mainly by investigating model checking techniques or techniques for directly executing agent logics. The latter aims at finding useful fragments of agent logics that can be executed efficiently. Relevant work in this area is, for example, that of [19, 26] . A drawback, however, is that these techniques are applicable only to relatively small fragments of agent logics. Instead, the work on verification of AgentSpeak(L) agents is based on model checking techniques [8] . The main problem faced in applying such techniques consists in computing finite models as input for the model checker as well as finding an appropriate agent logic to specify the properties to be verified. The verification logic for rational agents of this paper goes beyond the one presented in [8] in various ways, in particular with regards to the logical properties of the knowledge and goals of an agent. Moreover, in contrast with the rather syntactic definition of the semantics presented in [8] our semantics is firmly based on standard modal semantics. This fact is important since it allows us to reuse many of the standard results of modal logic and apply them to the theory presented, for example, in the construction of an axiomatization of the verification logic which remains for future work.. Although the benefits of model checking as used in [8] are that it allows for automated verification, our main concern has not been to provide an agent programming theory that can be used in combination with such techniques. Our main goal has been to provide a verification logic that, possibly supported by theorem proving tools, can be used to prove properties of agent programs, while taking into account that it should be possible to execute agent programs efficiently. Our approach toward the construction of such a theory, however, does not preclude the use of model checking techniques per se, although this would require a more detailed investigation of the complexity of the verification logic.. One important issue that remains for future research concerns the revision of goals. In the agent programming theory, a mechanism for goal expansion has been incorporated but not yet one for goal revision. An approach based on the introduction of an axiom like Kϕ → ¬Gϕ combined with an axiom to capture goal persistence Gϕ → (Gϕ ∨ Kϕ) does not work:. There is a simple counterexample to the goal persistence axiom with ϕ = ( p∧q) a conjunctive goal and the assumption that at the next time only p is achieved. In [39] an interesting approach for goal change has been proposed and we would like to study such proposals for goal revision in our programming theory as well.

O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O B I O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O B I O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O B I O O O O O O O O O O O O B I O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O B I O O O O O O O O B I O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O


Routing vertex disjoint Steiner-trees in a cubic grid and connections to VLSI Consider a planar grid of size w × n. The vertices of the grid are called terminals and pairwise disjoint sets of terminals are called nets. We aim at routing all nets in a cubic grid (above the original grid holding the terminals) in a vertex-disjoint way. However, to ensure solvability, it is allowed to extend the length and the width of the original grid to w = sw and n = sn by introducing s − 1 pieces of empty rows and columns between every two consecutive rows and columns containing the terminals. Hence the routing is to be realized in a cubic grid of size (s · n) × (s · w) × h. The objective is to minimize the height h. It is easy to show that the required height can be as large as h = (max(n, w)) in the worst case. In this paper we show that if s ≥ 2 then a routing with height h = 6 max(n, w) can always be found in polynomial time. Furthermore, the constant factor '6' can be improved either by increasing the value of s or by limiting the number of terminals in a net. Possible trade-offs between s and h are discussed and the various constructions presented are compared by measuring the volumes of the routings obtained. Traditionally, the detailed routing phase of the design of VLSI (very large scale integrated) circuits was considered as a two-dimensional problem, gradually extended to 2, 3, . . . layers. Even within this problem single row routing and channel routing (where the terminals to be interconnected are on one side, or on two opposite sides, respectively, of a rectangle) are the better understood subproblems, where the inputs are essentially one-dimensional (one or two lists of terminals of length n, also called the length of the channel). Here, the main aim is to realize the routing, and since its 'horizontal' size is given, its 'vertical' size, or width, w should be minimized. An important quantity is the density of the problem: the maximum number d so that there exists a vertical straight line cutting d nets into two.. A much investigated restriction of single row routing and channel routing is to look at these problems in the Manhattan model. Here, it is assumed that each layer contains either horizontal (that is, parallel with the length) or vertical (that is, parallel with the width) wire segments and consecutive layers contain wire segments of different directions. (The Manhattan model is preferable for certain technologies, because in such a routing wires do not bend within a layer and no parallel wire segments arise on consecutive layers.) In case of the 2-layer Manhattan model (1) single row routing is always possible in O(n) time with w = d, see [12, 18] ; (2) channel routing is NP-hard [19, 30] ; (3) however, if it is allowed to extend the length of the channel by introducing additional columns, then the latter becomes solvable in O(nd) time such that width of the obtained solution is at most constant times the optimum [3, 6, 14] . In fact, the number of additional columns that have to be added may be as large as O( √ n), see [3, pp. 212-213] .. In spite of (2) , there are plenty of practically effective algorithms available, which can solve 'difficult' problems (of length 150 . . . 200) with width around 20 [10, 18] . In case of switchbox routing (where the terminals are on all the four sides of a rectangle-a real two-dimensional problem) instances with length 23 and width 15 . . . 16 are already 'difficult' problems on two layers [5, 8, 16, 23] .. If more than two layers are permitted, both channel and switchbox routing become easier, see for example [7, 4, 29] , respectively.. As technology permits more and more layers, a 'real' three-dimensional approach becomes reasonable. There are plenty of deep results in this area, see [1, 2, 9, 11, 13, [20] [21] [22] 26, 28] , for example. Most of them embed certain 'universalpurpose' graphs (like n-permuters, n-rearrangeable permutation networks, shuffle-exchange graphs) into the threedimensional grid, ensuring that pairs of terminals can be connected, moreover, in some papers along edge-disjoint paths. Our results below are of much simpler structure but they allow multiterminal nets as well, and ensure vertex disjoint paths (or Steiner-trees) for the interconnections of the terminals within each net.. In this paper we consider the single active layer routing problem where the terminals occupy certain vertices of a w × n planar grid and the third dimension above this plane (with height h) is for interconnections only. The objective is to minimize the height h. One can easily see even in small instances like 4 × 1 or 2 × 2 that a routing is usually impossible (with an arbitrary height). Therefore, it is allowed to extend the length and the width of the original grid containing the terminals to w = s w · w and n = s n · n, respectively (compare with (3) above). s w and s n , called the spacing, are given constants. Extending the dimensions of the grid is done by introducing empty rows and columns into the planar grid holding the terminals. Hence the final routing is realized in a cubic grid of size. If s w 2 and s n 2 (that is, both dimensions of the grid can be at least doubled) then there is a trivial upper bound of h = O(wn) for the height of the routing; see Lemma 2. The truth of the same statement is not at all clear if s n is restricted to be 1 (that is, the length of the circuit board is fixed). However, in a previous paper [25] we proved that for any fixed value of w a routing of height O(n) can be attained even if the new length n satisfies n n n + 1 and only w is extended to w = s w · w, where s w is a suitably chosen constant. In view of Lemma 1, this linear bound is best possible. Moreover, our algorithm realized this in O(n) time, which is also essentially best possible. In that paper we considered w as fixed and obtained bounds for the height as a function of n only.. In this paper we consider the case where s w , s n 2 is assumed, that is, both horizontal dimensions w and n can be at least doubled. We prove that every problem instance can be solved with height h = O(max(n, w)), even in linear time (see Section 5). Furthermore, the constant factor hidden inside the O sign will not be too high. For example, in the most general case, a routing with height h = 6 max(n, w) will be obtained (see Corollary 10) . We will show, however, that this constant factor can be reduced either by increasing one of the values s w and s n or by limiting the number of terminals in a net. In Section 6 we compare the constructions presented by measuring the volumes of the obtained routings. The main tool of the constructions of this paper, the (edge-)coloring of a suitably defined conflict graph, is a well-known technique; see e.g. [15] .. As mentioned above, our work is motivated by the research of VLSI design, where three-dimensional routing and, in particular, single active layer routing have been much investigated topics in the past two decades. However, as it is very often the case with algorithms having provably good performance in VLSI routing, our constructions are not intended for designing specific, ready-to-use routing patterns for given specifications. Contrarily, we rather aim at understanding the nature of the problem, exploring the capacity of the three-dimensional grid for solving such problems and thus helping heuristics to be designed and tested. All the results of this paper show that if s w , s n 2 then the three-dimensional single active layer routing problem can be solved with linear height in max(n, w). However, the exact height of the routings provided by the various constructions depend on different conditions: whether we restrict ourselves to 2-terminal nets or we allow multiterminal nets, the width w and length n of the routing problem and the spacing s w and s n .. An obvious measure to compare various solutions of the same routing problem is the volume of the routing, that is, the product (w · s w ) · (n · s n ) · h. Assume w n and denote the ratio w/n by m. The following table shows the volume of the routings provided by the constructions of this paper (in each case, the solution with the smaller volume is shown in bold letters).

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


A self-stabilizing algorithm for the shortest path problem assuming the distributed demon Shortest path finding has a variety of applications in the areas of transportation and communication in distributed systems. In this paper, we design and prove the correctness of a self-stabilizing algorithm that solves the single-source shortest path problem for a distributed system. Unlike all previous works on this topic, the model of computation employed by the system in this paper assumes the separate read/write atomicity introduced by Dolev et al. instead of the commonly used composite read/write atomicity introduced by Dijkstra. We would like to point out that correctness proofs for self-stabilizing algorithms under the Dolev model have a quite different flavor from those under Dijkstra's central demon model (one can compare the above proof with those proofs in [2, 8, 9] ). Also from the above proof, one can see that verifying the correctness of a self-stabilizing algorithms under the Dolev model may not be a trivial work. Finally, there may be a natural question arising in the readers' minds: If a self-stabilizing algorithm under the central demon model is modified into a version that can operate in the system of the Dolev type, will the modified version definitely be self-stabilizing under the Dolev model? We have recently given the answer to the question in [10] . The answer is negative, and the following counterexample can show this. Consider Dijkstra's K-state mutual exclusion algorithm in a ring network of n nodes. We call it Algorithm A.. InAlgorithmA, S i stands for the shared register of node i and its value is in the range {0, 1, 2, . . . , K−1}. It is well-known that the algorithm is self-stabilizing when K n − 1. Thus, for n = K = 3, Algorithm A is self-stabilizing under the Dijkstra model. Now we modify Algorithm A, in a natural way, into a version that can operate in a system of the Dolev type as follows: Legitimate configurations are defined to be those configurations in each of which there is at most one node privileged (to make a write action). In the above algorithm, S i is the register of node i (cf. Fig. 3 ), in Table 2 An execution of Algorithm B for n = 3 and K = 3 which node i writes and from which node i + 1 (mod n) reads; r i is a local variable (cf. Fig. 3) , in which i stores the value that it reads from the shared register S i−1 of the neighbor i − 1 (mod n). Table 2 exhibits an execution of Algorithm B for n = 3 and K = 3. In each configuration in Table 2 , the shaded part indicates the execution of a single atomic step by the unique processor selected by the central demon. One can see in this execution that Configuration 19 is exactly the same as Configuration 1 and therefore the execution is to be understood as infinitely cyclic with a period of 18. Note that in Configuration 1, both nodes 0 and 2 are privileged. Hence, Configuration 1 is not a legitimate configuration. Therefore, for n = K = 3, Algorithm B is not self-stabilizing under the Dolev model.. The above counterexample example implies that one cannot take it for granted that a self-stabilizing algorithm under the central demon model can be easily transformed into a self-stabilizing algorithm under the Dolev model. A modified version of a self-stabilizing algorithm under the central demon model needs to be verified carefully before it can be claimed as a self-stabilizing algorithm under the Dolev model. We suspect that in some cases, a modified version may require an even further and more suitable modification in order to become self-stabilizing under the Dolev model. In conclusion, we believe "self-stabilizing algorithms under the Dolev model" is a good direction for research and it deserves more investigation.

O B I O O B I I O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O B I O O O O O O O O O B I O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Point Counting in Families of Hyperelliptic Curves Let EΓ be a family of hyperelliptic curves defined by Y 2 =Q(X, Γ), whereQ is defined over a small finite field of odd characteristic. Then withγ in an extension degree n field over this small field, we present a deterministic algorithm for computing the zeta function of the curve Eγ by using Dwork deformation in rigid cohomology. The time complexity of the algorithm is O(n 2.667 ) and it needs O(n 2.5 ) bits of memory. A slight adaptation requires only O(n 2 ) space, but costs time e O(n 3 ). An implementation of this last result turns out to be quite efficient for n big enough. The idea that it might be interesting to compute the number of solutions to an algebraic equation over a finite field without actually trying to find these solutions is an old one, as Gauss already introduced his so called Gauss sums for it. In later times this topic led to wonderful theoretical results as for example the Weil conjectures, the pursuit of a proof of which had a very big influence on number theory and algebraic geometry. In those days computers did not yet exist as everyday objects, hence there was no real interest in computing the number of points on very concrete varieties, and for example the ℓ-adic theory that led to the final proof of the Weil conjectures seems especially unsuited for implementations (except in the elliptic curve case).. In the eighties the idea of Koblitz [18] and Miller [24] to use elliptic curves for cryptography created a new interest in the subject, but now on this more concrete level. Later on came also the suggestion of using jacobians of hyperelliptic, C ab and other kinds of curves. Besides these concrete reasons the matter should of course be interesting already in itself: given a very big but finite object with an easy defining relation and lots of structure: what is its size? But there are even more reasons for investing in point counting algorithms, e.g. in [1] a one-way function is constructed which uses such an algorithm, and [30] describes how to use jacobians in the context of sphere packing.. The first interesting general algorithm that saw the light was Schoof's algorithm for calculating the number of points on an elliptic curve. This algorithm has a time complexity polynomial in the logarithm of the field size, and was optimized by Elkies and Atkin, thus resulting in the well known SEA-algorithm, see [27] . It is possible to generalize this approach to higher genus curves, but the complexity is then exponential in the genus, and this has only been done for genus equal to 2.. As higher genus curves came into view more algorithms emerged. In practice we can distinguish two kinds of problems: for a field size p n (p prime), give an algorithm that works polynomially in log(p n ) for small n, or one that works in time O(np), hence for small p. The p-adic approach started with Satoh's canonical lift method for elliptic curves [26] . It was Kedlaya's famous paper [15] that introduced the Monsky-Washnitzer cohomology in the computational world by giving a general algorithm for hyperelliptic curves in odd characteristic. These p-adic algorithms solve problems of the second kind, namely they are polynomial in np instead of n log p. But for large fields with small characteristic they have proven to be very efficient. Denef and Vercauteren generalized this algorithm to even characteristic [6] .. In the meantime Lauder and Wan presented an approach [21] that led to an algorithm for very general varieties, and although not very practical, it works polynomially in the extension degree of the field (but exponentially in the number of variables involved). Afterwards Lauder [22] used Dwork's deformation theory to reduce the dependency on the dimension of hypersurfaces. 1 The idea is to consider a family of hypersurfaces in one parameter Γ, such that for example Γ = 1 gives the original problem, and Γ = 0 gives a special but easy case. Dwork's theory allows then to recover the necessary information in an efficient way by enabling to skip the most elaborate steps in Kedlaya's algorithm. We will make this more precise further on in this paper. Indeed, we develop a suggestion of Lauder to combine the Monsky-Washnitzer cohomologyà la Kedlaya with a deformation. Although for curves the dependency on the dimension cannot decrease, for certain hyperelliptic curves the dependency on the extension degree n will. Namely, Kedlaya's algorithm results in a time complexity 2 of O(n 3 ) bit operations and O(n 3 ) as bit space requirements, whereas our algorithm requires respectively O(n 2.667 ) and O(n 2.5 ), or with a small adjustment O(n 3 ) respectively O(n 2 ). It is worth noting that we can find the matrix of the pth power Frobenius automorphism in essentially quadratic time, and only the final step, taking the characteristic polynomial of the norm of this matrix, requires the above time estimates. As we consider only odd p, a next project is the even characteristic case, these results can be found in [13] . In [9] Gerkmann has followed roughly the same kind of ideas for the elliptic curve case, including a short description for characteristic two. An implementation for Magma of this method is available on his website 3 .. The paper is structured as follows. We start in Section 2 with a rough sketch of the method, and a formulation of our results, Theorems 1 and 2. Then we will construct the analytic setting in which the Monsky-Washnitzer cohomology with deformation lives, along with all the theoretical proofs. This theory implies the correctness of the algorithm, which is explained in Section 4, if we should work with infinite p-adic precision. As this is impossible, Section 5 proves that our chosen precision suffices. Section 6 computes the complexity of the algorithm and hence proves Theorems 1 and 2. We then give some remarks and special interesting cases, and the final section presents results achieved with an implementation of the algorithm.. The author wishes to thank very much Jan Denef and Alan Lauder for proposing the topic. He also wants to thank Lauder for providing some crucial suggestions, Wouter Castryck and Joost van Hamel for the helpful discussions, Denef for the thorough reading of the paper and the correction of many small mistakes, and the anonymous referees for their many valuable suggestions and comments.. 2 Overview of the method and results The main result of this paper is a 'subcubic' time algorithm for the computation of the zeta function of certain families of hyperelliptic curves. Here we consider the extension degree n to be the crucial parameter. In the formulation of these results we use the O-notation as defined e.g. in [34] , which means that we ignore logarithmic factors. The relevant examples are that O(n log n) and O(n log n log log n) are both O(n). Note that we ignore the dependency on p, and all complexities are to be seen bitwise: for time requirements we mean bit operations, and space is also meant as number of bits. In these results the reader may take into account that a linear deformation will be most practical, which has κ = 1.. Theorem 1 Let p be an odd prime and letĒγ be a hyperelliptic curve over F p an obtained by a deformation of the kind described above: Y 2 =Q(X,γ) withQ defined over F p a . There exists a deterministic algorithm that calculates the zeta function ofĒγ in time. The proof of these theorems will be given in Section 6, after the complexity analysis.

B I O O O B I O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O