Results 1  10
of
62
Traversals of object structures: Specification and efficient implementation
 ACM Trans. Program. Lang. Syst
, 1997
"... Separation of concerns and loose coupling of concerns are important issues in software enginnering. In this paper we show how to separate traversalrelated concerns from other concerns, how to loosely couple traversalrelated concerns to the structural concern, and how to efficiently implement trave ..."
Abstract

Cited by 51 (15 self)
 Add to MetaCart
(Show Context)
Separation of concerns and loose coupling of concerns are important issues in software enginnering. In this paper we show how to separate traversalrelated concerns from other concerns, how to loosely couple traversalrelated concerns to the structural concern, and how to efficiently implement traversalrelated concerns. The stress is on the detailed description of our algorithms and the traversal specifications they operate on. Traversal of object structures is a ubiquitous routine in most types of information processing. Ad hoc implementations of traversals lead to scattered and tangled code and in this paper we present a new approach, called traversal strategies, to succinctly modularize traversals. In our approach traversals are defined using a highlevel directed graph description, which is compiled into a dynamic road map to assist runtime traversals. The complexity of the compilation algorithm is polynomial in the size of the traversal strategy graph and the class graph of the given application. Prototypes of the system have been developed and are being successfully used to implement traversals for Java and AspectJ [Kiczales et al. 2001] and for generating adapters for software components. Our previous approach, called traversal specifications [Lieberherr 1992; Palsberg et al. 1995], was less general and less succinct, and its compilation algorithm was of exponential complexity in some cases. In an additional result we show that this bad behavior is inherent to the static traversal code generated by previous implementations, where traversals are carried out by invoking methods without parameters.
Compact Encodings of Planar Graphs via Canonical Orderings and Multiple Parentheses
, 1998
"... . We consider the problem of coding planar graphs by binary strings. Depending on whether O(1)time queries for adjacency and degree are supported, we present three sets of coding schemes which all take linear time for encoding and decoding. The encoding lengths are significantly shorter than th ..."
Abstract

Cited by 47 (11 self)
 Add to MetaCart
(Show Context)
. We consider the problem of coding planar graphs by binary strings. Depending on whether O(1)time queries for adjacency and degree are supported, we present three sets of coding schemes which all take linear time for encoding and decoding. The encoding lengths are significantly shorter than the previously known results in each case. 1 Introduction This paper investigates the problem of encoding a graph G with n nodes and m edges into a binary string S. This problem has been extensively studied with three objectives: (1) minimizing the length of S, (2) minimizing the time needed to compute and decode S, and (3) supporting queries efficiently. A number of coding schemes with different tradeoffs have been proposed. The adjacencylist encoding of a graph is widely useful but requires 2mdlog ne bits. (All logarithms are of base 2.) A folklore scheme uses 2n bits to encode a rooted nnode tree into a string of n pairs of balanced parentheses. Since the total number of such trees is...
Model checking and the Mucalculus
 DIMACS Series in Discrete Mathematics
, 1997
"... There is a growing recognition of the need to apply formal mathematical methods in the design of "high confidence" computing systems. Such systems operate in safety critical contexts (e.g., air traffic control systems) or where errors could have major adverse economic consequences (e.g., ..."
Abstract

Cited by 37 (0 self)
 Add to MetaCart
(Show Context)
There is a growing recognition of the need to apply formal mathematical methods in the design of "high confidence" computing systems. Such systems operate in safety critical contexts (e.g., air traffic control systems) or where errors could have major adverse economic consequences (e.g., banking networks). The problem is especially acute in the design of many reactive systems which must exhibit correct ongoing behavior, yet are not amenable to thorough testing due to their inherently nondeterministic nature. One useful approach for specifying and reasoning about correctness of such systems is temporal logic model checking, which can provide an efficient and expressive tool for automatic verification that a finite state system meets a correctness specification formulated in temporal logic. We describe model checking algorithms and discuss their application. To do this, we focus attention on a particularly important type of temporal logic known as the Mucalculus.
A Fast General Methodology For InformationTheoretically Optimal Encodings Of Graphs
, 1999
"... . We propose a fast methodology for encoding graphs with informationtheoretically minimum numbers of bits. Specifically, a graph with property is called a graph. If satisfies certain properties, then an nnode medge graph G can be encoded by a binary string X such that (1) G and X can be obtai ..."
Abstract

Cited by 23 (3 self)
 Add to MetaCart
(Show Context)
. We propose a fast methodology for encoding graphs with informationtheoretically minimum numbers of bits. Specifically, a graph with property is called a graph. If satisfies certain properties, then an nnode medge graph G can be encoded by a binary string X such that (1) G and X can be obtained from each other in O(n log n) time, and (2) X has at most fi(n)+o(fi(n)) bits for any continuous superadditive function fi(n) so that there are at most 2 fi(n)+o(fi(n)) distinct nnode graphs. The methodology is applicable to general classes of graphs; this paper focuses on planar graphs. Examples of such include all conjunctions over the following groups of properties: (1) G is a planar graph or a plane graph; (2) G is directed or undirected; (3) G is triangulated, triconnected, biconnected, merely connected, or not required to be connected; (4) the nodes of G are labeled with labels from f1; : : : ; ` 1 g for ` 1 n; (5) the edges of G are labeled with labels from f1; : : : ; ` 2 ...
Lineartime succinct encodings of planar graphs via canonical orderings
 SIAM Journal on Discrete Mathematics
, 1999
"... Abstract. Let G be an embedded planar undirected graph that has n vertices, m edges, and f faces but has no selfloop or multiple edge. If G is triangulated, we can encode it using 4 m − 1 bits, improving on the best previous bound of about 1.53m bits. In case exponential time 3 is acceptable, rough ..."
Abstract

Cited by 21 (6 self)
 Add to MetaCart
(Show Context)
Abstract. Let G be an embedded planar undirected graph that has n vertices, m edges, and f faces but has no selfloop or multiple edge. If G is triangulated, we can encode it using 4 m − 1 bits, improving on the best previous bound of about 1.53m bits. In case exponential time 3 is acceptable, roughly 1.08m bits have been known to suffice. If G is triconnected, we use at most (2.5 + 2 log 3) min{n, f} −7 bits, which is at most 2.835m bits and smaller than the best previous bound of 3m bits. Both of our schemes take O(n) time for encoding and decoding.
On The Computational Complexity of Inferring Evolutionary Trees
, 1993
"... The process of reconstructing evolutionary trees can be viewed formally as an optimization problem. Recently, decision problems associated with the most commonly used approaches to reconstructing such trees have been shown to be NPcomplete [Day87, DJS86, DS86, DS87, GF82, Kri88, KM86]. In this t ..."
Abstract

Cited by 20 (5 self)
 Add to MetaCart
The process of reconstructing evolutionary trees can be viewed formally as an optimization problem. Recently, decision problems associated with the most commonly used approaches to reconstructing such trees have been shown to be NPcomplete [Day87, DJS86, DS86, DS87, GF82, Kri88, KM86]. In this thesis, a framework is established that incorporates all such problems studied to date. Within this framework, the NPcompleteness results for decision problems are extended by applying theorems from [CT91, Gas86, GKR92, JVV86, KST89, Kre88, Sel91] to derive bounds on the computational complexity of several functions associated with each of these problems, namely ffl evaluation functions, which return the cost of the optimal tree(s), ffl solution functions, which return an optimal tree, ffl spanning functions, which return the number of optimal trees, ffl enumeration functions, which systematically enumerate all optimal trees, and ffl randomselection functions, which return a random...
Complexity of Problems on Graphs Represented as OBDDs
, 1999
"... To analyze the complexity of decision problems on graphs, one normally assumes that the input size is polynomial in the number of vertices. Galperin and Wigderson [GW83] and, later, Papadimitriou and Yannakakis [PY86] investigated the complexity of these problems when the input graph is represented ..."
Abstract

Cited by 17 (1 self)
 Add to MetaCart
To analyze the complexity of decision problems on graphs, one normally assumes that the input size is polynomial in the number of vertices. Galperin and Wigderson [GW83] and, later, Papadimitriou and Yannakakis [PY86] investigated the complexity of these problems when the input graph is represented by a polylogarithmically succinct circuit. They showed that, under such a representation, certain trivial problems become intractable and that, in general, there is an exponential blow up in problem complexity. Later, Balc'azar, Lozan, and Tor'an [Bal96, BL89, BLT92, Tor88] extended these results to problems whose inputs were structures other than graphs. In this paper, we show that, when the input graph is represented by a ordered binary decision diagram (OBDD), there is an exponential blow up in the complexity of most graph problems. In particular, we show that the GAP and AGAP problems become complete for PSPACE and EXP, respectively, when the graphs are succinctly represented by OBDDs. 1...
Complexity Issues in Markov Decision Processes
 In Proc. IEEE conference on Computational Complexity
, 1998
"... We survey the complexity of computational problems about Markov decision processes: evaluating policies, finding good and best policies, approximating best policies, and related decision problems. 1 Introduction Partiallyobservable Markov decision processes (POMDPs) model sequential decision maki ..."
Abstract

Cited by 15 (2 self)
 Add to MetaCart
We survey the complexity of computational problems about Markov decision processes: evaluating policies, finding good and best policies, approximating best policies, and related decision problems. 1 Introduction Partiallyobservable Markov decision processes (POMDPs) model sequential decision making when outcomes are uncertain and the state of the system cannot be completely observed. They consist of decision epochs, states, observations, actions, transition probabilities, and rewards. At each decision epoch, the process is in some state, from which a "signal" is sent out which can be observed from outside. (Note that different states may send equal signals.) Choosing an action in a state generates a reward or possibly a cost (negative reward) and determines the state at the next decision epoch through a transition probability function. Policies are prescriptions of which action to take under any eventuality (i.e. any sequence of observations made in the previous decision epochs). De...
Complexity, appeal and challenges of combinatorial games
 Proc. of Dagstuhl Seminar “Algorithmic Combinatorial Game Theory”, Theoret. Comp. Sci 313 (2004) 393–415, special issue on Algorithmic Combinatorial Game Theory
, 2004
"... Abstract Studying the precise nature of the complexity of games enables gamesters to attain a deeper understanding of the difficulties involved in certain new and old open game problems, which is a key to their solution. For algorithmicians, such studies provide new interesting algorithmic challenge ..."
Abstract

Cited by 14 (4 self)
 Add to MetaCart
(Show Context)
Abstract Studying the precise nature of the complexity of games enables gamesters to attain a deeper understanding of the difficulties involved in certain new and old open game problems, which is a key to their solution. For algorithmicians, such studies provide new interesting algorithmic challenges. Substantiations of these claims are illustrated on hand of many sample games, leading to a definition of the tractability, polynomiality and efficiency of subsets of games. In particular, there are tractable games that are not polynomial, polynomial games that are not efficient. We also define and explore the nature of the subclasses PlayGames and MathGames.