Results 1 -
7 of
7
Selecting Forwarding Neighbors in Wireless Ad Hoc Networks
, 2001
"... Broadcasting is a fundamental operation which is frequent in wireless ad hoc networks. A simple broadcasting mechanism, known as flooding, is to let every node retransmit the message to all its 1-hop neighbors when receiving the first copy of the message. Despite its simplicity, flooding is very in ..."
Abstract
-
Cited by 46 (3 self)
- Add to MetaCart
Broadcasting is a fundamental operation which is frequent in wireless ad hoc networks. A simple broadcasting mechanism, known as flooding, is to let every node retransmit the message to all its 1-hop neighbors when receiving the first copy of the message. Despite its simplicity, flooding is very inefficient and can result in high redundancy, contention, and collision. One approach to reducing the redundancy is to let each node forward the message only to a small subset of 1-hop neighbors that cover all of the node's 2-hop neighbors. In this paper, we propose two practical heuristics for selecting the minimum number of forwarding neighbors: an O(n log n) time algorithm that selects at most 6 times more forwarding neighbors than the optimum, and an O(n²) time algorithm with an improved approximation ratio of 3, where n is the number of 1- and 2-hop neighbors. The best previously known algorithm, due to Bronnimann and Goodrich [2], guarantees O(1) approximation in O(n³ log n) time.
Parallel Program Archetypes
- In Proceedings of the Scalable Parallel Library Conference
, 1997
"... A parallel program archetype is an abstraction that captures the common features of a class of problems with similar computational structure and combines them with a parallelization strategy to produce a pattern of dataflow and communication. Such abstractions are useful in application developme ..."
Abstract
-
Cited by 18 (0 self)
- Add to MetaCart
A parallel program archetype is an abstraction that captures the common features of a class of problems with similar computational structure and combines them with a parallelization strategy to produce a pattern of dataflow and communication. Such abstractions are useful in application development, both as a conceptual framework and as a basis for tools and techniques. This paper describes an approach to parallel application development based on archetypes and presents two example archetypes with applications. 1 Introduction This paper proposes a specific method of exploiting computational and dataflow patterns to help in developing reliable parallel programs. A great deal of work has been done on methods of exploiting design patterns in program development. This paper restricts attention to one kind of pattern that is relevant in parallel programming: the pattern of the parallel computation and communication structure. Methods of exploiting design patterns in program develop...
Greedy Algorithms in Datalog with Choice and Negation
, 1998
"... In the design of algorithms, the greedy paradigm provides a powerful tool for solving efficiently classical computational problems, within the framework of procedural languages. However, expressing these algorithms within the declarative framework of logic-based languages has proven a difficult rese ..."
Abstract
-
Cited by 13 (8 self)
- Add to MetaCart
In the design of algorithms, the greedy paradigm provides a powerful tool for solving efficiently classical computational problems, within the framework of procedural languages. However, expressing these algorithms within the declarative framework of logic-based languages has proven a difficult research challenge. In this paper, we extend the framework of Datalog-like languages to obtain simple declarative formulations for such problems, and propose effective implementation techniques to ensure computational complexities comparable to those of procedural formulations. These advances are achieved through the use of the choice construct, extended with preference annotations to effect the selection of alternative stable-models and nondeterministic fixpoints. We show that, with suitable storage structures, the differential fixpoint computation of our programs matches the complexity of procedural algorithms in classical search and optimization problems. 1 Introduction The problem of findin...
Greedy Algorithms in Datalog
- In Computational Logic: From Logic Programming into the Future, Kakas A., Sadri F. (edrs
, 2001
"... In the design of algorithms, the greedy paradigm provides a powerful tool ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
In the design of algorithms, the greedy paradigm provides a powerful tool
An Optimal Deadlock Resolution Algorithm in Multidatabase Systems
- In Proceedings of the 1996 International Conference on Parallel and Distributed Systems
, 1996
"... In this paper, we propose a novel deadlock resolution algorithm. In the presence of global deadlocks in a multidatabase system, this algorithm always selects an optimal set of victims for removing deadlocks. It makes the use of network flow techniques, and runs in time O(n 3 ), where n is the numb ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
In this paper, we propose a novel deadlock resolution algorithm. In the presence of global deadlocks in a multidatabase system, this algorithm always selects an optimal set of victims for removing deadlocks. It makes the use of network flow techniques, and runs in time O(n 3 ), where n is the number of the deadlocked global transactions. Furthermore, the proposed deadlock resolution algorithm dose not have livelock and transaction processing starvation problems. Keywords: Deadlock, Multidatabase, Concurrency Control, Optimization. 1 Introduction A multidatabase system (MDBS) is a federation of independently developed component database systems through a communication network. These component database systems are also called local database systems (LDBSs) in contrast to an MDBS. There are two types of transactions in an MDBS: ffl Local transactions - that execute in a single LDBS. ffl Global transactions - that execute on several LDBSs. One major issue in transaction management ...
Dynamic Discretization of Continuous Attributes
- In Proceedings of the Sixth Ibero-American Conference on AI
, 1998
"... Discretization of continuous attributes is an important task for certain types of machine learning algorithms. Bayesian approaches, for instance, require assumptions about data distributions. Decision Trees, on the other hand, require sorting operations to deal with continuous attributes, which ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
Discretization of continuous attributes is an important task for certain types of machine learning algorithms. Bayesian approaches, for instance, require assumptions about data distributions. Decision Trees, on the other hand, require sorting operations to deal with continuous attributes, which largely increase learning times. This paper presents a new method of discretization, whose main characteristic is that it takes into account interdependencies between attributes. Detecting interdependencies can be seen as discovering redundant attributes. This means that our method performs attribute selection as a side effect of the discretization.
Teaching Parallel Programming and Software Engineering Concepts to High School Students
- In Proceedings of the 25th SIGCSE Symposium on Computer Science Education
, 1994
"... This paper takes the stand that it is never too early to teach so-called "hard" concepts in computer science. Specifically, basic principles in parallel algorithm development and software engineering can be introduced to students first learning about computers. The key is to present ideas in a manne ..."
Abstract
- Add to MetaCart
This paper takes the stand that it is never too early to teach so-called "hard" concepts in computer science. Specifically, basic principles in parallel algorithm development and software engineering can be introduced to students first learning about computers. The key is to present ideas in a manner that is simple, fun and suited to the audience. During this paper we discuss an interactive exercise we developed to test this premise, based on sorting algorithms, that we conducted with one hundred minority students aged 14 to 17, on March 19, 1993. We present evidence that our students, relative neophytes to high level computer science notions, had fun while learning alleged difficult concepts. 1.1 Motivation

