Demo Data from VLDB 2026 / reviewers in the wild / expert
Jonathan Schaeffer 0001
dblp:s/JonathanSchaeffer · also Jonathan Herbert Schaeffer
· DBLP profile ↗
96ranked-venue papers
13as first author
2since 2021 · last 2025
0000-0002-2447-7394ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Artificial intelligence and machine learning · 56 · 8 first-author · 1 since 2021Graphics, computer vision, multimedia, augmented reality and games · 33 · 4 first-author · 2 since 2021Systems, architecture and hardware · 21 · 1 first-authorSoftware engineering, systems software and programming languages · 6Human-computer interaction and ubiquitous computing · 5 · 2 first-author · 1 since 2021Theory of computation · 3 · 1 first-authorDatabases, data management, data science and information retrieval · 2 · 2 first-authorApplied, interdisciplinary, general and emerging computing · 1
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Artificial intelligence
38 papers |
Planning, search and constraint satisfaction · 75% Multi-agent systems · 19% Motion planning and robot control · 2% | |
| Software engineering, system software, and programming languages
4 papers |
Requirements engineering and software design · 78% Program synthesis and code generation · 22% | |
| Computer architecture, parallel and distributed computing, and storage systems
4 papers |
Parallel and multicore computing · 79% Electronic design automation · 11% Distributed systems · 8% | |
| Theoretical computer science
6 papers |
Algorithmic game theory and mechanism design · 56% Algorithms and data structures · 39% Graph algorithms and graph theory · 5% | |
| Human-computer interaction and pervasive computing
6 papers |
Games and playful interaction · 91% User interface design and tools · 9% |
Topics — the 30 heaviest of 53, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Knowledge, reasoning and agents › Planning, search and constraint satisfaction
heuristic search |
1.5 | 16 | 2016 | Improved Heuristic and Tie-Breaking for Optimally Solving Sokoban · IJCAI 2016 Worst-Case Solution Quality Analysis When Not Re-Expanding Nodes in Best-First Search · AAAI 2014 Partial-Expansion A* with Selective Node Generation · AAAI 2012 |
Knowledge, reasoning and agents › Multi-agent systems
game solving |
0.9 | 1 | 2025 | Set-Based Retrograde Analysis: Precomputing the Solution to 28-card Bridge Double Dummy Deals · IJCAI 2025 |
Knowledge, reasoning and agents › Planning, search and constraint satisfaction › heuristic search › best-first search
a* search |
0.2 | 2 | 2011 | Block A*: Database-Driven Search with Applications in Any-Angle Path-Planning · AAAI 2011 A* Search with Inconsistent Heuristics · IJCAI 2009 |
Knowledge, reasoning and agents › Planning, search and constraint satisfaction › heuristic search
best-first search |
0.2 | 2 | 2014 | Worst-Case Solution Quality Analysis When Not Re-Expanding Nodes in Best-First Search · AAAI 2014 Best-First Fixed-Depth Game-Tree Search in Practice · IJCAI 1995 |
Requirements engineering and software design
design patterns |
0.2 | 3 | 2009 | Deferring design pattern decisions and automating structural pattern changes using a design-pattern-based programming system · ACM Trans. Program. Lang. Syst. 2009 Evaluating pattern catalogs: the computer games experience · ICSE 2006 Generative Design Patterns · ASE 2002 |
Parallel and multicore computing
parallel programming models |
0.1 | 2 | 2009 | Deferring design pattern decisions and automating structural pattern changes using a design-pattern-based programming system · ACM Trans. Program. Lang. Syst. 2009 Using generative design patterns to generate parallel code for a distributed memory environment · PPoPP 2003 |
Knowledge, reasoning and agents › Planning, search and constraint satisfaction
game playing |
0.1 | 5 | 2005 | Solving Checkers · IJCAI 2005 Games, computers, and artificial intelligence · Artif. Intell. 2002 Search Versus Knowledge in Game-Playing Programs Revisited · IJCAI (1) 1997 |
Knowledge, reasoning and agents › Planning, search and constraint satisfaction › pathfinding › grid-based pathfinding
any-angle path planning |
0.1 | 1 | 2011 | Block A*: Database-Driven Search with Applications in Any-Angle Path-Planning · AAAI 2011 |
Robotics › Motion planning and robot control
path planning |
0.1 | 1 | 2011 | Block A*: Database-Driven Search with Applications in Any-Angle Path-Planning · AAAI 2011 |
Knowledge, reasoning and agents › Planning, search and constraint satisfaction › heuristic search
bidirectional search |
0.1 | 1 | 2010 | Single-Frontier Bidirectional Search · AAAI 2010 |
Requirements engineering and software design
software architecture |
0.1 | 1 | 2009 | Deferring design pattern decisions and automating structural pattern changes using a design-pattern-based programming system · ACM Trans. Program. Lang. Syst. 2009 |
Knowledge, reasoning and agents › Planning, search and constraint satisfaction
state space search |
0.1 | 1 | 2008 | Duality in permutation state spaces and the dual search algorithm · Artif. Intell. 2008 |
Machine learning › Learning paradigms
weakly supervised learning |
0.1 | 1 | 2008 | Learning from Multiple Heuristics · AAAI 2008 |
Algorithms and data structures › search algorithms
bidirectional search |
0.1 | 1 | 2006 | Dual Search in Permutation State Spaces · AAAI 2006 |
Knowledge, reasoning and agents › Planning, search and constraint satisfaction › heuristic search › admissible heuristics
pattern databases |
0.1 | 1 | 2005 | Dual Lookups in Pattern Databases · IJCAI 2005 |
Algorithmic game theory and mechanism design
game solving |
0.1 | 1 | 2005 | Solving Checkers · IJCAI 2005 |
Knowledge, reasoning and agents › Planning, search and constraint satisfaction
game tree search |
0.0 | 5 | 1996 | Best-First Fixed-Depth Minimax Algorithms · Artif. Intell. 1996 Best-First Fixed-Depth Game-Tree Search in Practice · IJCAI 1995 Conspiracy Numbers · Artif. Intell. 1990 |
Knowledge, reasoning and agents › Planning, search and constraint satisfaction
multi-agent path finding |
0.0 | 1 | 2012 | Partial-Expansion A* with Selective Node Generation · AAAI 2012 |
Knowledge, reasoning and agents › Planning, search and constraint satisfaction › pathfinding
moving target search |
0.0 | 1 | 2003 | Multiple Agents Moving Target Search · IJCAI 2003 |
Knowledge, reasoning and agents › Planning, search and constraint satisfaction
pathfinding |
0.0 | 1 | 2003 | Comparison of Different Grid Abstractions for Pathfinding on Maps · IJCAI 2003 |
Parallel and multicore computing › parallelizing compiler
parallel code generation |
0.0 | 1 | 2003 | Using generative design patterns to generate parallel code for a distributed memory environment · PPoPP 2003 |
Algorithmic game theory and mechanism design › solution concepts in games › equilibrium concepts › nash equilibrium
approximate nash equilibrium |
0.0 | 1 | 2003 | Approximating Game-Theoretic Optimal Strategies for Full-scale Poker · IJCAI 2003 |
Algorithmic game theory and mechanism design
equilibrium computation |
0.0 | 1 | 2003 | Approximating Game-Theoretic Optimal Strategies for Full-scale Poker · IJCAI 2003 |
Knowledge, reasoning and agents › Multi-agent systems
imperfect information games |
0.0 | 1 | 2002 | The challenge of poker · Artif. Intell. 2002 |
Knowledge, reasoning and agents › Multi-agent systems › imperfect information games
poker |
0.0 | 1 | 2002 | The challenge of poker · Artif. Intell. 2002 |
Parallel and multicore computing › parallel algorithms
parallel search |
0.0 | 1 | 2002 | Analysis of Transposition-Table-Driven Work Scheduling in Distributed Search · IEEE Trans. Parallel Distributed Syst. 2002 |
Electronic design automation › high-level synthesis
scheduling |
0.0 | 1 | 2002 | Analysis of Transposition-Table-Driven Work Scheduling in Distributed Search · IEEE Trans. Parallel Distributed Syst. 2002 |
Parallel and multicore computing › load balancing › dynamic load balancing
work stealing |
0.0 | 1 | 2002 | Analysis of Transposition-Table-Driven Work Scheduling in Distributed Search · IEEE Trans. Parallel Distributed Syst. 2002 |
Machine learning › Reinforcement learning
temporal difference learning |
0.0 | 1 | 2001 | Temporal Difference Learning Applied to a High-Performance Game-Playing Program · IJCAI 2001 |
Games and playful interaction › digital gaming
computer games |
0.0 | 1 | 2006 | Evaluating pattern catalogs: the computer games experience · ICSE 2006 |
Methods — techniques the papers use, named apart from their topics
set-based retrograde analysis · 0.9heuristic search · 0.3scripting · 0.3code generation · 0.2worst-case analysis · 0.2partial expansion · 0.1iterative deepening · 0.1local distance database · 0.1differential heuristic · 0.1compression · 0.1metrics · 0.1case study · 0.1bidirectional search · 0.1generative design patterns · 0.1dual search · 0.1generative programming · 0.0pattern-based parallelization · 0.0counterfactual regret minimization · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | Set-Based Retrograde Analysis: Precomputing the Solution to 28-card Bridge Double Dummy DealsabstractAmong the most popular games played worldwide, Bridge stands out for having had little AI progress for over 25 years. Ginsberg's Partition Search algorithm (1996) was a breakthrough for double-dummy Bridge play, allowing a program to reason about sets of states rather than individual states. Partition Search supports the current state of the art for both bidding and cardplay. In the time since, virtually no progress has been made in Bridge bidding. Inspired by Ginsberg's idea, this paper presents Setrograde Analysis, a new set-based algorithm for perfectly solving Bridge hands. Using this approach, we have solved all 7-trick (28-card) hands — 10^30 states, which can be reduced to 10^17 unique states using preexisting techniques. This was done by considering five orders of magnitude fewer sets than the traditional state-based Retrograde Analysis algorithm. This work suggests that the entire 13-trick (52-card) state space can be solved with modern technology using this new approach. The 7-trick computation represents the largest endgame database to date in any game. Isaac Stone, Nathan R. Sturtevant, Jonathan Schaeffer 0001 |
IJCAI | 3 |
| 2023 | Deep Dive on Checkers Endgame DataabstractFor games such as checkers and chess, large endgame databases/tablebases have been constructed to capture the perfect win/loss/draw value for positions near the end of the game. Such databases/tablebases can be used to enhance game-playing performance. However, this approach quickly runs into computational and storage resource limitations. An enticing alternative is to learn from such data and apply the learned evaluation to even larger data sets through transfer learning. This paper reports on research that uses deep learning to a) correctly learn a high percentage of checkers endgame positions; b) learn patterns that can be used for transfer learning; c) demonstrates that learning from a small sample of a large data set is an efficient way to compute a neural net evaluation that achieves most of the benefits; and d) shows that dynamically choosing between neural network prediction and using it in a one-ply search yields about 96% prediction accuracy. Jiuqi Wang, Martin Müller 0003, Jonathan Schaeffer 0001 |
CoG | 3 |
| 2020 | The FESS Algorithm: A Feature Based Approach to Single-Agent SearchabstractThis paper introduces the Feature Space Search algorithm (FESS) that projects a single-agent application search space onto an abstract space that is defined by features of the domain. FESS works in this smaller space by directing the search from the projected initial state towards the projected final state. A state transition in the feature space maps to one or (usually) many moves in the domain space. Each of these transitions leads to a change in one or more features, with the FESS algorithm favoring transitions that make progress towards the projected final state. Each feature can be thought of as being a heuristic, and FESS is providing multi-objective guidance from the feature space to the search in the application domain.FESS is demonstrated using the challenging single-agent problem of Sokoban. For over twenty years, numerous approaches have been used to try solving the 90 problems in the standard benchmark test suite. FESS, using a set of domain-specific features, is the first program that solves all 90 problems. Further, although the experimental standard is to allocate 10 minutes of solving time per problem (900 minutes), the FESS approach solves the entire test set in less than 4 minutes. Yaron Shoham, Jonathan Schaeffer 0001 |
CoG | 2 |
| 2016 | Improved Heuristic and Tie-Breaking for Optimally Solving Sokoban
André Grahl Pereira, Robert C. Holte, Jonathan Schaeffer 0001, Luciana S. Buriol, Marcus Ritt |
IJCAI | 3 |
| 2014 | Worst-Case Solution Quality Analysis When Not Re-Expanding Nodes in Best-First SearchabstractThe use of inconsistent heuristics with A* can result in increased runtime due to the need to re-expand nodes. Poor performance can also be seen with Weighted A* if nodes are re-expanded. While the negative impact of re-expansions can often be minimized by setting these algorithms to never expand nodes more than once, the result can be a lower solution quality. In this paper, we formally show that the loss in solution quality can be bounded based on the amount of inconsistency along optimal solution paths. This bound holds regardless of whether the heuristic is admissible or inadmissible, though if the heuristic is admissible the bound can be used to show that not re-expanding nodes can have at most a quadratic impact on the quality of solutions found when using A*. We then show that the bound is tight by describing a process for the construction of graphs for which a best-first search that does not re-expand nodes will find solutions whose quality is arbitrarily close to that given by the bound. Finally, we will use the bound to extend a known result regarding the solution quality of WA* when weighting a consistent heuristic, so that it also applies to other types of heuristic weighting. Richard Anthony Valenzano, Nathan R. Sturtevant, Jonathan Schaeffer 0001 |
AAAI | 3 |
| 2014 | Enhanced Partial Expansion AabstractWhen solving instances of problem domains that feature a large branching factor, A* may generate a large number of nodes whose cost is greater than the cost of the optimal solution. We designate such nodes as surplus. Generating surplus nodes and adding them to the OPEN list may dominate both time and memory of the search. A recently introduced variant of A* called Partial Expansion A* (PEA*) deals with the memory aspect of this problem. When expanding a node n, PEA* generates all of its children and puts into OPEN only the children with f = f (n). n is re-inserted in the OPEN list with the f -cost of the best discarded child. This guarantees that surplus nodes are not inserted into OPEN. In this paper, we present a novel variant of A* called Enhanced Partial Expansion A* (EPEA*) that advances the idea of PEA* to address the time aspect. Given a priori domain- and heuristic- specific knowledge, EPEA* generates only the nodes with f = f(n). Although EPEA* is not always applicable or practical, we study several variants of EPEA*, which make it applicable to a large number of domains and heuristics. In particular, the ideas of EPEA* are applicable to IDA* and to the domains where pattern databases are traditionally used. Experimental studies show significant improvements in run-time and memory performance for several standard benchmark applications. We provide several theoretical studies to facilitate an understanding of the new algorithm. Meir Goldenberg, Ariel Felner, Roni Stern, Guni Sharon, Nathan R. Sturtevant, Robert C. Holte, Jonathan Schaeffer 0001 |
J. Artif. Intell. Res. | 7 |
| 2013 | Optimal-Generation Variants of EPEAabstractIt is known that A* is optimal with respect to the expanded nodes (Dechter and Pearl 1985) (D&P). The exact meaning of this optimality varies depending on the class of algorithms and instances over which A* is claimed to be optimal. A* does not provide any optimality guarantees with respect to the generated nodes. However, such guarantees may be critical for optimally solving instances of domains with a large branching factor. In this paper, we introduce two new variants of the recently introduced Enhanced Partial Expansion A* algorithm (EPEA*) (Felner et al. 2012). We leverage the results of D&P to show that these variants possess optimality with respect to the generated nodes in much the same sense as A* possesses optimality with respect to the expanded nodes. The results in this paper are theoretical. A study of the practical performance of the new variants is beyond the scope of this paper. Meir Goldenberg, Ariel Felner, Nathan R. Sturtevant, Robert C. Holte, Jonathan Schaeffer 0001 |
SOCS | 5 |
| 2012 | Partial-Expansion A* with Selective Node GenerationabstractA* is often described as being `optimal', in that it expands the minimum number of unique nodes. But, A* may generate many extra nodes which are never expanded. This is a performance loss, especially when the branching factor is large. Partial Expansion A* addresses this problem when expanding a node, n, by generating all the children of n but only storing children with the same f-cost as n. n is re-inserted into the OPEN list, but with the f-cost of the next best child. This paper introduces an enhanced version of PEA* (EPEA*). Given a priori domain knowledge, EPEA* generates only the children with the same f-cost as the parent. EPEA* is generalized to its iterative-deepening variant, EPE-IDA*. For some domains, these algorithms yield substantial performance improvements. State-of-the-art results were obtained for the pancake puzzle and for some multi-agent pathfinding instances. Drawbacks of EPEA* are also discussed. Ariel Felner, Meir Goldenberg, Guni Sharon, Roni Stern, Tal Beja, Nathan R. Sturtevant, Jonathan Schaeffer 0001, Robert C. Holte |
AAAI | 7 |
| 2012 | Partial-Expansion A* with Selective Node GenerationabstractA* is often described as being 'optimal,' in that it expands the minimum number of unique nodes. But, A* may generate many extra nodes which are never expanded. This is a performance loss, especially when the branching factor is large. Partial Expansion A* (PEA*) addresses this problem when expanding a node, n, by generating all the children of n but only storing children with the same f-cost as n. We introduce an enhanced version of PEA* (EPEA*). Given a priori domain knowledge, EPEA* only generates the children with the same f-cost as the parent. State-of-the-art results were obtained for a number of domains. Drawbacks of EPEA* are also discussed. A full version of this paper appears in the proceedings of AAAI-2012 Ariel Felner, Meir Goldenberg, Guni Sharon, Roni Stern, Tal Beja, Nathan R. Sturtevant, Robert C. Holte, Jonathan Schaeffer 0001 |
SOCS | 8 |
| 2012 | A* Variants for Optimal Multi-Agent PathfindingabstractSeveral variants of A* have been recently proposed for find-ing optimal solutions for the multi-agent pathfinding (MAPF)problem. We describe the application of the new enhancedpartial-expansion technique to MAPF, show how patterndatabases can be applied on top of this technique and com-pare the different A* variants experimentally. Meir Goldenberg, Ariel Felner, Roni Stern, Jonathan Schaeffer 0001 |
SOCS | 4 |
| 2011 | The Compressed Differential HeuristicabstractThe differential heuristic (DH) is an effective memory-based heuristic for explicit state spaces. In this paper we aim to improve its performance and memory usage. We introduce a compression method for DHs which stores only a portion of the original uncompressed DH, while preserving enough information to enable efficient search. Compressed DHs (CDH) are flexible and can be tuned to fit any size of memory, even smaller than the size of the state space. Furthermore, CDHs can be built without the need to create and store the entire uncompressed DH. Experimental results across different domains show that, for a given amount of memory, a CDH significantly outperforms an uncompressed DH. Meir Goldenberg, Nathan R. Sturtevant, Ariel Felner, Jonathan Schaeffer 0001 |
AAAI | 4 |
| 2011 | Block A*: Database-Driven Search with Applications in Any-Angle Path-PlanningabstractWe present three new ideas for grid-based path-planning algorithms that improve the search speed and quality of the paths found. First, we introduce a new type of database, the Local Distance Database (LDDB), that contains distances between boundary points of a local neighborhood. Second, an LDDB based algorithm is introduced, called Block A*, that calculates the optimal path between start and goal locations given the local distances stored in the LDDB. Third, our experimental results for any-angle path planning in a wide variety of test domains, including real game maps, show that Block A* is faster than both A* and the previously best grid-based any-angle search algorithm, Theta*. Peter Yap, Neil Burch, Robert C. Holte, Jonathan Schaeffer 0001 |
AAAI | 4 |
| 2011 | Degrees of Separation in Social NetworksabstractSocial networks play an increasingly important role in today's society. Special characteristics of these networks make them challenging domains for the search community. In particular, social networks of users can be viewed as search graphs of nodes, where the cost of obtaining information about a node can be very high. This paper addresses the search problem of identifying the degree of separation between two users. New search techniques are introduced to provide optimal or near-optimal solutions. The experiments are performed using Twitter, and they show an improvement of several orders of magnitude over greedy approaches. Our optimal algorithm finds an average degree of separation of 3.43 between two random Twitter users, requiring an average of only 67 requests for information over the Internet to Twitter. A near-optimal solution of length 3.88 can be found by making an average of 13.3 requests. Reza Bakhshandeh, Mehdi Samadi, Zohreh Azimifar, Jonathan Schaeffer 0001 |
SOCS | 4 |
| 2011 | The Compressed Differential HeuristicabstractThe differential heuristic (DH) is an effective memory-based heuristic for explicit state spaces. In this paper, we aim to improve its performance and memory usage. We introduce a compression method for DHs which stores only a portion of the original uncompressed DH, while preserving enough information to enable efficient search. Compressed DHs (CDH) can be tuned to fit any size of memory, even smaller than the size of the state space.Experimental results across different domains show that, for a given amount of memory, a CDH significantly outperforms an uncompress Meir Goldenberg, Nathan R. Sturtevant, Ariel Felner, Jonathan Schaeffer 0001 |
SOCS | 4 |
| 2011 | Abstract: Block A* and Any-Angle Path-PlanningabstractWe present three new ideas for grid-based path-planning algorithms that improve the search speed and quality of the paths found. First, we introduce a new type of database, the Local Distance Database (LDDB), that contains distances between boundary points of a local neighborhood. Second, an LDDB-based algorithm is introduced, called Block A*, that calculates the optimal path between start and goal locations given the local distances stored in the LDDB. Third, our experimental results for any-angle path planning in a wide varietyof test domains, including real game maps, show that Block A* is faster than both A* and the previously best grid-based any-angle search algorithm, Theta*. Peter Yap, Neil Burch, Robert C. Holte, Jonathan Schaeffer 0001 |
SOCS | 4 |
| 2011 | Inconsistent heuristics in theory and practice
Ariel Felner, Uzi Zahavi, Robert C. Holte, Jonathan Schaeffer 0001, Nathan R. Sturtevant, Zhifu Zhang |
Artif. Intell. | 4 |
| 2010 | Single-Frontier Bidirectional SearchabstractOn the surface, bidirectional search (BDS) is an attractive idea with the potential for significant asymptotic reductions in search effort. However, the results in practice often fall far short of expectations. We introduce a new bidirectional search algorithm, Single-Frontier Bidirectional Searc (SFBDS). Unlike traditional BDS which keeps two frontiers, SFBDS uses a single frontier. Each node in the tree can be seen as an independent task of finding the shortest path between the current start and current goal. At a particular node we can decide to search from start to goal or from goal to start, choosing the direction with the highest potential for minimizing the total work done. Theoretical results give insights as to when this approach will work and experimental data validates the algorithm for a broad range of domains. Ariel Felner, Carsten Moldenhauer, Nathan R. Sturtevant, Jonathan Schaeffer 0001 |
AAAI | 4 |
| 2010 | Automating Layouts of Sewers in SubdivisionsabstractAn important part of the creation of a housing subdivision is the design and layout of sewers underneath the road. This is a challenging cost optimization problem in a continuous threedimensional space. In this paper, heuristic-search-based techniques are proposed for tackling this problem. The result is new algorithms that can quickly find near optimal solutions that offer important reductions in the cost of design and construction. Neil Burch, Robert C. Holte, Martin Müller 0003, David O'Connell, Jonathan Schaeffer 0001 |
ECAI | 5 |
| 2010 | Portal-Based True-Distance Heuristics for Path FindingabstractTrue distance memory-based heuristics (TDHs) were recently introduced as a way to obtain admissible heuristics for explicit state spaces. In this paper, we introduce a new TDH, the portal-based heuristic. The domain is partitioned into regions and portals between regions are identified. True distances between all pairs of portals are stored and used to obtain admissible heuristics throughout the search. We introduce an A*-based algorithm that takes advantage of the special properties of the new heuristic. We study the advantages and limitations of the new heuristic. Our experimental results show large performance improvements over previously-reported TDHs for commonly used classes of maps. Meir Goldenberg, Ariel Felner, Nathan R. Sturtevant, Jonathan Schaeffer 0001 |
SOCS | 4 |
| 2010 | Single-Frontier Bidirectional SearchabstractWe introduce a new bidirectional search algorithm, Single-Frontier Bidirectional Search (SFBDS). Unlike traditional BDS which keeps two frontiers, SFBDS uses a single frontier. At a particular node we can decide to search from start to goal or from goal to start, choosing the direction with the highest potential for minimizing the total work done. We provide theoretical analysis that explains when SFBDS will work validated by experimental results. Carsten Moldenhauer, Ariel Felner, Nathan R. Sturtevant, Jonathan Schaeffer 0001 |
SOCS | 4 |
| 2010 | Simultaneously Searching with Multiple Settings: An Alternative to Parameter Tuning for Suboptimal Single-Agent Search AlgorithmsabstractMany search algorithms have parameters that need to be tuned to get the best performance. Typically, the parameters are tuned offline, resulting in a generic setting that is supposed to be effective on all problem instances. For suboptimal single-agent search, problem-instance-specific parameter settings can result in substantially reduced search effort. We consider the use of dovetailing as a way to take advantage of this fact. Dovetailing is a procedure that performs search with multiple parameter settings simultaneously. Dovetailing is shown to improve the search speed of weighted IDA* by several orders of magnitude and to generally enhance the performance of weighted RBFS. This procedure is trivially parallelizable and is shown to be an effective form of parallelization for WA* and BULB. In particular, using WA* with parallel dovetailing yields good speedups in the sliding-tile puzzle domain, and increases the number of problems solved when used in an automated planning system. Richard Anthony Valenzano, Nathan R. Sturtevant, Jonathan Schaeffer 0001, Karen Buro, Akihiro Kishimoto |
SOCS | 3 |
| 2009 | Memory-Based Heuristics for Explicit State Spaces
Nathan R. Sturtevant, Ariel Felner, Max Barer, Jonathan Schaeffer 0001, Neil Burch |
IJCAI | 4 |
| 2009 | A* Search with Inconsistent Heuristics
Zhifu Zhang, Nathan R. Sturtevant, Robert C. Holte, Jonathan Schaeffer 0001, Ariel Felner |
IJCAI | 4 |
| 2009 | Extending the Applicability of Pattern and Endgame DatabasesabstractFor most high-performance two-player game programs, a significant amount of time is devoted to developing the evaluation function. An important issue in this regard is how to take advantage of a large memory. For some two-player games, endgame databases have been an effective way of reducing search effort and introducing accurate values into the search. For some one-player games (single-agent domains or puzzles), pattern databases have been effective at improving the quality of the heuristic values used in a search. This paper introduces new ways to extend the utility of pattern and endgame databases. Through the use of abstraction: (1) single-agent pattern databases can be applied to two- or more-player games; knowledge of the capabilities of one player (being oblivious to the opponent) can be an effective evaluation function for a class of game domains, and (2) endgame database positions can be viewed as an abstraction of more complicated positions; database lookups can be used as evaluation function features. These ideas are illustrated using the games of Chinese Checkers, Chess, and Thief and Police. For each domain, even small databases can be used to produce strong game play. This research has relevance to the recent interest in building general game-playing (GGP) programs. For two- or more-player applications where pattern and/or endgame databases can be built, abstraction can be used to automatically construct an evaluation function. Mehdi Samadi, Fatemeh Torabi Asr, Jonathan Schaeffer 0001, Zohreh Azimifar |
IEEE Trans. Comput. Intell. AI Games | 3 |
| 2009 | Deferring design pattern decisions and automating structural pattern changes using a design-pattern-based programming systemabstractIn the design phase of software development, the designer must make many fundamental design decisions concerning the architecture of the system. Incorrect decisions are relatively easy and inexpensive to fix if caught during the design process, but the difficulty and cost rise significantly if problems are not found until after coding begins. Unfortunately, it is not always possible to find incorrect design decisions during the design phase. To reduce the cost of expensive corrections, it would be useful to have the ability to defer some design decisions as long as possible, even into the coding stage. Failing that, tool support for automating design changes would give more freedom to revisit and change these decisions when needed. This article shows how a design-pattern-based programming system based on generative design patterns can support the deferral of design decisions where possible, and automate changes where necessary. A generative design pattern is a parameterized pattern form that is capable of generating code for different versions of the underlying design pattern. We demonstrate these ideas in the context of a parallel application written with the CO 2 P 3 S pattern-based parallel programming system. We show that CO 2 P 3 S can defer the choice of execution architecture (shared-memory or distributed-memory), and can automate several changes to the application structure that would normally be daunting to tackle late in the development cycle. Although we have done this work with a pattern-based parallel programming system, it can be generalized to other domains. Steve MacDonald, Kai Tan 0005, Jonathan Schaeffer 0001, Duane Szafron |
ACM Trans. Program. Lang. Syst. | 3 |
| 2008 | Learning from Multiple Heuristics
Mehdi Samadi, Ariel Felner, Jonathan Schaeffer 0001 |
AAAI | 3 |
| 2008 | Using abstraction in Two-Player GamesabstractFor most high-performance two-player game programs, a significant amount of time is devoted to developing the evaluation function. An important issue in this regard is how to take advantage of a large memory. For some two-player games, endgame databases have been an effective way of reducing search effort and introducing accurate values into the search. For some one-player games (puzzles), pattern databases have been effective at improving the quality of the heuristic values used in a search. Mehdi Samadi, Jonathan Schaeffer 0001, Fatemeh Torabi Asr, Majid Samar, Zohreh Azimifar |
ECAI | 2 |
| 2008 | Multidisciplinary students and instructors: a second-year games courseabstractComputer games are a multi-billion dollar industry and have become an important part of our private and social lives. It is only natural, then, that the technology used to create games should become part of a computing science curriculum. However, game development is more than a massive programming endeavor. Today's games are largely about generating content within multidisciplinary teams. CMPUT 250 is a new computing science course at the University of Alberta that emphasizes creating games in multidisciplinary teams. This paper describes our experiences with the course, emphasizing the issues of multidisciplinary interactions: teaching, teamwork, and evaluation. Nathan R. Sturtevant, H. James Hoover, Jonathan Schaeffer 0001, Sean Gouglas, Michael H. Bowling, Finnegan Southey, Matthew Bouchard, Ghassan Zabaneh |
SIGCSE | 3 |
| 2008 | Duality in permutation state spaces and the dual search algorithm
Uzi Zahavi, Ariel Felner, Robert C. Holte, Jonathan Schaeffer 0001 |
Artif. Intell. | 4 |
| 2008 | Dynamic Control in Real-Time Heuristic SearchabstractReal-time heuristic search is a challenging type of agent-centered search because the agent's planning time per action is bounded by a constant independent of problem size. A common problem that imposes such restrictions is pathfinding in modern computer games where a large number of units must plan their paths simultaneously over large maps. Common search algorithms (e.g., A*, IDA*, D*, ARA*, AD*) are inherently not real-time and may lose completeness when a constant bound is imposed on per-action planning time. Real-time search algorithms retain completeness but frequently produce unacceptably suboptimal solutions. In this paper, we extend classic and modern real-time search algorithms with an automated mechanism for dynamic depth and subgoal selection. The new algorithms remain real-time and complete. On large computer game maps, they find paths within 7% of optimal while on average expanding roughly a single state per action. This is nearly a three-fold improvement in suboptimality over the existing state-of-the-art algorithms and, at the same time, a 15-fold improvement in the amount of planning per action. Vadim Bulitko, Mitja Lustrek, Jonathan Schaeffer 0001, Yngvi Björnsson, Sverrir Sigmundarson |
J. Artif. Intell. Res. | 3 |
| 2007 | A Demonstration of ScriptEase Interruptible and Resumable Behaviors for CRPGs
Maria Cutumisu, Duane Szafron, Jonathan Schaeffer 0001, Kevin Waugh, Curtis Onuczko, Jeff Siegel, Allan Schumacher |
AAAI | 3 |
| 2007 | Inconsistent Heuristics
Uzi Zahavi, Ariel Felner, Jonathan Schaeffer 0001, Nathan R. Sturtevant |
AAAI | 3 |
| 2007 | Fast Planning with Iterative Macros
Adi Botea, Martin Müller 0003, Jonathan Schaeffer 0001 |
IJCAI | 3 |
| 2007 | The games computers play...: perfectlyabstractArtificial intelligence has had notable success in building high-performance game-playing programs to compete against the best human players; Deep Blue is the obvious example, but there are many more. However, the availability of fast and plentiful machines with large memories and disks creates the possibility of solving a game. This has been done before for simple or relatively small games. Checkers is a popular game of skill with a search space of 5x1020 possible positions. Within a year, checkers will be solved; our program will never lose (assuming that perfect-play checkers is a draw, as seems likely). But getting from the idea of solving checkers to the final result, well, thereby hangs a tale. Jonathan Schaeffer 0001 |
SIGCSE | 1 |
| 2007 | ScriptEase: A generative/adaptive programming paradigm for game scripting
Maria Cutumisu, Curtis Onuczko, Matthew McNaughton, Thomas Roy, Jonathan Schaeffer 0001, Allan Schumacher, Jeff Siegel, Duane Szafron, Kevin Waugh, Mike Carbonaro, Harvey Duff, Stephanie Gillis |
Sci. Comput. Program. | 5 |
| 2006 | ScriptEase - Motivational Behaviors for Interactive Characters in Computer Role-Playing Games
Maria Cutumisu, Duane Szafron, Jonathan Schaeffer 0001, Kevin Waugh, Curtis Onuczko, Jeff Siegel, Allan Schumacher |
AAAI | 3 |
| 2006 | Dual Search in Permutation State Spaces
Uzi Zahavi, Ariel Felner, Robert C. Holte, Jonathan Schaeffer 0001 |
AAAI | 4 |
| 2006 | Evaluating pattern catalogs: the computer games experienceabstractPatterns and pattern catalogs (pattern languages) have been proposed as a mechanism for re-use. Traditionally, patterns have been used to foster design re-use, and generative design patterns have been used to achieve both design and code re-use. In theory, a pattern catalog could be created and used to provide re-usable patterns within a project and across a group of related projects. This idea raises a natural question. How can we measure the effectiveness of a pattern catalog or compare the effectiveness of different pattern catalogs? In this paper, we define four metrics that can be used to measure the effectiveness of pattern catalogs. We illustrate these metrics by applying them to a case study that uses a pattern catalog of generative design patterns to generate scripting code for computer games. The metrics are general enough to assess any pattern catalog, independent of application domain or whether the patterns are generative or descriptive. Maria Cutumisu, Curtis Onuczko, Duane Szafron, Jonathan Schaeffer 0001, Matthew McNaughton, Thomas Roy, Jeff Siegel, Mike Carbonaro |
ICSE | 4 |
| 2006 | Learning to Have Fun
Jonathan Schaeffer 0001 |
PKDD | 1 |
| 2006 | FastLSA: A Fast, Linear-Space, Parallel and Sequential Algorithm for Sequence Alignment
Adrian Driga, Paul Lu, Jonathan Schaeffer 0001, Duane Szafron, Kevin Charter, Ian Parsons |
Algorithmica | 3 |
| 2005 | Interactive Story Writing in the Classroom: Using Computer Games
Jonathan Schaeffer 0001, Mike Carbonaro, Duane Szafron, Maria Cutumisu, Matthew McNaughton, Curtis Onuczko, Thomas Roy, Stephanie Gillis, Sabrina Kratchmer |
DiGRA Conference | 1 |
| 2005 | Dual Lookups in Pattern Databases
Ariel Felner, Uzi Zahavi, Jonathan Schaeffer 0001, Robert C. Holte |
IJCAI | 3 |
| 2005 | Solving Checkers
Jonathan Schaeffer 0001, Yngvi Björnsson, Neil Burch, Akihiro Kishimoto, Martin Müller 0003, Robert Lake, Paul Lu, Steve Sutphen |
IJCAI | 1 |
| 2005 | Macro-FF: Improving AI Planning with Automatically Learned Macro-OperatorsabstractDespite recent progress in AI planning, many benchmarks remain challenging for current planners. In many domains, the performance of a planner can greatly be improved by discovering and exploiting information about the domain structure that is not explicitly encoded in the initial PDDL formulation. In this paper we present and compare two automated methods that learn relevant information from previous experience in a domain and use it to solve new problem instances. Our methods share a common four-step strategy. First, a domain is analyzed and structural information is extracted, then macro-operators are generated based on the previously discovered structure. A filtering and ranking procedure selects the most useful macro-operators. Finally, the selected macros are used to speed up future searches. We have successfully used such an approach in the fourth international planning competition IPC-4. Our system, Macro-FF, extends Hoffmann's state-of-the-art planner FF 2.3 with support for two kinds of macro-operators, and with engineering enhancements. We demonstrate the effectiveness of our ideas on benchmarks from international planning competitions. Our results indicate a large reduction in search effort in those complex domains where structural information can be inferred. Adi Botea, Markus Enzenberger, Martin Müller 0003, Jonathan Schaeffer 0001 |
J. Artif. Intell. Res. | 4 |
| 2005 | Asserting the utility of CO2P3S using the Cowichan Problem Set
John Anvik, Jonathan Schaeffer 0001, Duane Szafron, Kai Tan 0005 |
J. Parallel Distributed Comput. | 2 |
| 2004 | Temperature Discovery Search
Martin Müller 0003, Markus Enzenberger, Jonathan Schaeffer 0001 |
AAAI | 3 |
| 2004 | Rethinking the Pipeline as Object-Oriented States with TransformationsabstractThe pipeline is a simple and intuitive structure to speed up many problems. Novice parallel programmers are usually taught this structure early on. However, expert parallel programmers typically eschew using the pipeline in coarse-grained applications because it has three serious problems that make it difficult to implement efficiently. First, processors are idle when the pipeline is not full. Second, load balancing is crucial to obtaining good speedup. Third, it is difficult to incrementally incorporate more processors into an existing pipeline. Instead, experts recast the problem as a master/slave structure which does not suffer from these problems. This paper details a transformation that allows programs written in a pipeline style to execute using the master/slave structure. Parallel programmers can benefit from both the intuitive simplicity of the pipeline and the efficient execution of a master/slave structure. This is demonstrated by performance results from two applications. Steve MacDonald, Duane Szafron, Jonathan Schaeffer 0001 |
HIPS | 3 |
| 2004 | ScriptEase: Generative Design Patterns for Computer Role-Playing Games
Matthew McNaughton, Maria Cutumisu, Duane Szafron, Jonathan Schaeffer 0001, James Redford, Dominique Parker |
ASE | 4 |
| 2004 | ScriptEase: Generating Scripting Code for Computer Role-Playing Games
Matthew McNaughton, Maria Cutumisu, Duane Szafron, Jonathan Schaeffer 0001, James Redford, Dominique Parker |
ASE | 4 |
| 2003 | Why Not Use a Pattern-Based Parallel Programming System?
John Anvik, Jonathan Schaeffer 0001, Duane Szafron, Kai Tan 0005 |
Euro-Par | 2 |
| 2003 | FastLSA: A Fast, Linear-Space, Parallel and Sequential Algorithm for Sequence AlignmentabstractPairwise sequence alignment is a fundamental operation for homology search in bioinformatics. For two DNA or protein sequences of length m and n, full-matrix (FM), dynamic programming alignment algorithms such as Needleman-Wunsch and Smith-Waterman take O(m/spl times/n) time and use a possibly prohibitive O(/spl times/n) space. Hirschberg's algorithm reduces the space requirements to O(min(m,n)), but requires approximately twice the number of operations required by the FM algorithms. The fast linear space alignment (FastLSA) algorithm adapts to the amount of space available by trading space for operations. FastLSA can effectively adapt to use either linear or quadratic space, depending on the amount of available memory. Our experiments show that, in practice, due to memory caching effects, FastLSA is always as fast or faster than Hirschberg and the FM algorithms. We have also parallelized FastLSA using a simple but effective form of wavefront parallelism. Our experimental results show that Parallel FastLSA exhibits good speedups. Adrian Driga, Paul Lu, Jonathan Schaeffer 0001, Duane Szafron, Kevin Charter, Ian Parsons |
ICPP | 3 |
| 2003 | Approximating Game-Theoretic Optimal Strategies for Full-scale Poker
Darse Billings, Neil Burch, Aaron Davidson, Robert C. Holte, Jonathan Schaeffer 0001, Terence Schauenberg, Duane Szafron |
IJCAI | 5 |
| 2003 | Comparison of Different Grid Abstractions for Pathfinding on Maps
Yngvi Björnsson, Markus Enzenberger, Robert C. Holte, Jonathan Schaeffer 0001, Peter Yap |
IJCAI | 4 |
| 2003 | Multiple Agents Moving Target Search
Meir Goldenberg, Alexander Kovarsky, Xiaomeng Wu, Jonathan Schaeffer 0001 |
IJCAI | 4 |
| 2003 | TrellisDAG: A System for Structured DAG Scheduling
Meir Goldenberg, Paul Lu, Jonathan Schaeffer 0001 |
JSSPP | 3 |
| 2003 | Using generative design patterns to generate parallel code for a distributed memory environmentabstractA design pattern is a mechanism for encapsulating the knowledge of experienced designers into a re-usable artifact. Parallel design patterns reflect commonly occurring parallel communication and synchronization structures. Our tools, CO2P3S (Correct Object-Oriented Pattern-based Parallel Programming System) and MetaCO2P3S, use generative design patterns. A programmer selects the parallel design patterns that are appropriate for an application, and then adapts the patterns for that specific application by selecting from a small set of code-configuration options. CO2P3S then generates a custom framework for the application that includes all of the structural code necessary for the application to run in parallel. The programmer is only required to write simple code that launches the application and to fill in some application-specific sequential hook routines. We use generative design patterns to take an application specification (parallel design patterns + sequential user code) and use it to generate parallel application code that achieves good performance in shared memory and distributed memory environments. Although our implementations are for Java, the approach we describe is tool and language independent. This paper describes generalizing CO2P3S to generate distributed-memory parallel solutions. Kai Tan 0005, Duane Szafron, Jonathan Schaeffer 0001, John Anvik, Steve MacDonald |
PPoPP | 3 |
| 2002 | Pattern-Based Parallel ProgrammingabstractThe advantages of pattern-based programming have been well-documented in the sequential programming literature. However patterns have yet to make their way into mainstream parallel computing, even though several research tools support them. There are two critical shortcomings of pattern (or template) based systems for parallel programming: lack of extensibility and performance. This paper describes our approach for addressing these problems in the CO/sub 2/P/sub 3/S parallel programming system. CO/sub 2/P/sub 3/S supports multiple levels of abstraction, allowing the user to design an application with high-level patterns, but move to lower levels of abstraction for performance tuning. Patterns are implemented as parameterized templates, allowing the user the ability to customize the pattern to meet their needs. CO/sub 2/P/sub 3/S generates code that is specific to the pattern/parameter combination selected by the user. The MetaCO/sub 2/P/sub 3/S tool addresses extensibility by giving users the ability to design and add new pattern templates to CO/sub 2/P/sub 3/S. Since the pattern templates are stored in a system-independent format, they are suitable for storing in a repository to be shared throughout the user community. Steven Bromling, Steve MacDonald, John Anvik, Jonathan Schaeffer 0001, Duane Szafron, Kai Tan 0005 |
ICPP | 4 |
| 2002 | Distributed Game-Tree Search Using Transposition Table Driven Work SchedulingabstractThe /spl alpha//spl beta/ algorithm for two-player game-tree search has a notorious reputation as being a challenging algorithm for achieving reasonable parallel performance. MTD(f), a new /spl alpha//spl beta/ variant, has become the sequential algorithm of choice for practitioners. Unfortunately, MTD(f) inherits most of the parallel obstacles of /spl alpha//spl beta/, as well as creating new performance hurdles. Transposition-table-driven scheduling (TDS) is a new parallel search algorithm that has proven to be effective in the single-agent (one-player) domain. This paper presents TDSAB, the first time TDS parallelism has been applied to two-player search (the MTD(f) algorithm). Results show that TDSAB gives comparable speedups to that achieved by conventional parallel /spl alpha//spl beta/ algorithms. However, since this is a parallelization of a superior sequential algorithm the results in fact are better. This paper shows that the TDS idea can be extended to more challenging search domains. Akihiro Kishimoto, Jonathan Schaeffer 0001 |
ICPP | 2 |
| 2002 | Generative Design PatternsabstractA design pattern encapsulates the knowledge of object-oriented designers into re-usable artifacts. A design pattern is a descriptive device that fosters software design re-use. There are several reasons why design patterns are not used as generative constructs that support code re-use. The first reason is that design patterns describe a set of solutions to a family of related design problems and it is difficult to generate a single body of code that adequately solves each problem in the family. A second reason is that it is difficult to construct and edit generative design patterns. A third major impediment is the lack of a tool-independent representation. A common representation could lead to a shared repository to make more patterns available. We describe a new approach to generative design patterns that solves these three difficult problems. We illustrate this approach using tools called CO/sub 2/P/sub 2/S and Meta-CO/sub 2/P/sub 2/S but our approach is tool-independent. Steve MacDonald, Duane Szafron, Jonathan Schaeffer 0001, John Anvik, Steven Bromling, Kai Tan 0005 |
ASE | 3 |
| 2002 | The challenge of poker
Darse Billings, Aaron Davidson, Jonathan Schaeffer 0001, Duane Szafron |
Artif. Intell. | 3 |
| 2002 | Games, computers, and artificial intelligence
Jonathan Schaeffer 0001, H. Jaap van den Herik |
Artif. Intell. | 1 |
| 2002 | From patterns to frameworks to parallel programs
Steve MacDonald, John Anvik, Steven Bromling, Jonathan Schaeffer 0001, Duane Szafron, Kai Tan 0005 |
Parallel Comput. | 4 |
| 2002 | Analysis of Transposition-Table-Driven Work Scheduling in Distributed SearchabstractThis paper discusses a new work-scheduling algorithm for parallel search of single-agent state spaces, called transposition-table-driven work scheduling, that places the transposition table at the heart of the parallel work scheduling. The scheme results in less synchronization overhead, less processor idle time, and less redundant search effort. Measurements on a 128-processor parallel machine show that the scheme achieves close-to-linear speedups; for large problems the speedups are even superlinear due to better memory usage. On the same machine, the algorithm is 1.6 to 12.9 times faster than traditional work-stealing-based schemes. John W. Romein, Henri E. Bal, Jonathan Schaeffer 0001, Aske Plaat |
IEEE Trans. Parallel Distributed Syst. | 3 |
| 2001 | Temporal Difference Learning Applied to a High-Performance Game-Playing Program
Jonathan Schaeffer 0001, Markian Hlynka, Vili Jussila |
IJCAI | 1 |
| 2001 | Sokoban: Enhancing general single-agent search methods using domain knowledge
Andreas Junghanns, Jonathan Schaeffer 0001 |
Artif. Intell. | 2 |
| 2001 | Unifying single-agent and two-player search
Jonathan Schaeffer 0001, Aske Plaat, Andreas Junghanns |
Inf. Sci. | 1 |
| 2001 | Sokoban: improving the search with relevance cuts
Andreas Junghanns, Jonathan Schaeffer 0001 |
Theor. Comput. Sci. | 2 |
| 2000 | Generating Parallel Program Frameworks from Parallel Design Patterns
Steve MacDonald, Duane Szafron, Jonathan Schaeffer 0001, Steven Bromling |
Euro-Par | 3 |
| 2000 | Identifying and Validating Irregular Mutual Exclusion Synchronization in Explicitly Parallel Programs (Research Note)
Diego Novillo, Ronald C. Unrau, Jonathan Schaeffer 0001 |
Euro-Par | 3 |
| 2000 | APHID: Asynchronous Parallel Game-Tree Search
Mark G. Brockington, Jonathan Schaeffer 0001 |
J. Parallel Distributed Comput. | 2 |
| 1999 | Domain-Dependent Single-Agent Search Enhancements
Andreas Junghanns, Jonathan Schaeffer 0001 |
IJCAI | 2 |
| 1998 | Concurrent SSA Form in the Presence of Mutual ExclusionabstractMost current compiler analysis techniques are unable to cope with the semantics introduced by explicit parallel and synchronization constructs in parallel programs. In this paper we propose new analysis and optimization techniques for compiling explicitly parallel programs that use mutual exclusion synchronization. We introduce the CSSAME form, an extension of the Concurrent Static Single Assignment (CSSA) form that incorporates mutual exclusion into a data flow framework for explicitly parallel programs. We show how this analysis can improve the effectiveness of constant propagation in a parallel program. We also modify a dead-code elimination algorithm to work on explicitly parallel programs. Finally, we introduce lock independent code motion, a new optimization technique that attempts to minimize the size of critical sections in the program. Diego Novillo, Ronald C. Unrau, Jonathan Schaeffer 0001 |
ICPP | 3 |
| 1998 | Pattern DatabasesabstractThe efficiency of A* searching depends on the quality of the lower bound estimates of the solution cost. Pattern databases enumerate all possible subgoals required by any solution, subject to constraints on the subgoal size. Each subgoal in the database provides a tight lower bound on the cost of achieving it. For a given state in the search space, all possible subgoals are looked up in the pattern database, with the maximum cost over all lookups being the lower bound. For sliding tile puzzles, the database enumerates all possible patterns containing N tiles and, for each one, contains a lower bound on the distance to correctly move all N tiles into their correct final location. For the 15‐Puzzle, iterative‐deepening A* with pattern databases(N ="8) reduces the total number of nodes searched on a standard problem set of 100 positions by over 1000‐fold. Joseph C. Culberson, Jonathan Schaeffer 0001 |
Comput. Intell. | 2 |
| 1998 | Experience with parallel programming using code templatesabstractFor almost a decade we have been working at developing and using template-based models for parallel computing. Template-based models separate the specification of the parallel structuring aspects from the application code that is to be parallelized. A user provides the application code and specifies the parallel structure of the application using high-level icons, called templates. The parallel programming system then generates the code necessary for parallelizing the application. The goal here is to provide a mechanism for quick and reliable development of coarse-grain parallel applications that employ frequently occurring parallel structures. Our initial template-based system, FrameWorks, was positively received but had a number of shortcomings. The Enterprise parallel programming environment evolved out of this work. Now, after several years of experience with the system, its shortcomings are becoming evident. Controlled experiments have been conducted to assess the usability of our system in comparison with other systems. The paper outlines our experiences in developing and using these systems. A list of desirable characteristics of template-based models is given. The FrameWorks and Enterprise systems are discussed in the context of these characteristics and the results of our usability experiments. Many of our observations are relevant to other parallel programming systems, even though they may be based on different assumptions. Although template-base models have the potential for simplifying the complexities of parallel programming, they have yet to realize these expectations for high-performance applications. © 1998 John Wiley & Sons, Ltd. Ajit Singh, Jonathan Schaeffer 0001, Duane Szafron |
Concurr. Pract. Exp. | 2 |
| 1997 | Safer Tuple Spaces
Roel van der Goot, Jonathan Schaeffer 0001, Gregory V. Wilson |
COORDINATION | 2 |
| 1997 | Search Versus Knowledge in Game-Playing Programs Revisited
Andreas Junghanns, Jonathan Schaeffer 0001 |
IJCAI (1) | 2 |
| 1997 | A platform-independent graphical user interface for SEQSEE and XALIGNabstractDavid S. Wishart, Scott Fortin, David R. Woloschuk, Warren Wong, Timothy Rosborough, Gay Van Domselaar, Jonathan Schaeffer, Duane Szafron; A platform-independen David S. Wishart, Scott Fortin, David R. Woloschuk, Warren Wong, Timothy Rosborough, Gary H. Van Domselaar, Jonathan Schaeffer 0001, Duane Szafron |
Comput. Appl. Biosci. | 7 |
| 1997 | PI/OT: Parallel I/O Templates
Ian Parsons, Ronald C. Unrau, Jonathan Schaeffer 0001, Duane Szafron |
Parallel Comput. | 3 |
| 1996 | Best-First Fixed-Depth Minimax Algorithms
Aske Plaat, Jonathan Schaeffer 0001, Wim Pijls, Arie de Bruin |
Artif. Intell. | 2 |
| 1996 | An experiment to measure the usability of parallel programming systemsabstractThe growth of commercial and academic interest in parallel and distributed computing during the past 15 years has been accompanied by a corresponding increase in the number of available parallel programming systems (PPS). However, little work has been done to evaluate their usability, or to develop criteria for such evaluations. As a result, the usability of a typical PPS is based on how easily a small set of trivially parallel algorithms can be implemented by its authors. The paper discusses the design and results of an experiment to compare objectively the usability of two PPS. Half of the students in a graduate parallel and distributed computing course solved a problem using the Enterprise PPS while the other half used a PVM-like library of message-passing routines. The objective was to measure usability. The experiment provided valuable feedback as to what features of PPS are useful and the benefits they provide during the development of parallel programs. Although many usability experiments have been conducted for sequential programming languages and environments, they are rare in the parallel programming domain. Such experiments are necessary to help narrow the gap between what parallel programmers want and what current PPSs provide. Duane Szafron, Jonathan Schaeffer 0001 |
Concurr. Pract. Exp. | 2 |
| 1995 | Best-First Fixed-Depth Game-Tree Search in Practice
Aske Plaat, Jonathan Schaeffer 0001, Wim Pijls, Arie de Bruin |
IJCAI | 2 |
| 1993 | On the Versatility of Parallel Sorting by Regular Sampling
Xiaobo Li 0001, Paul Lu, Jonathan Schaeffer 0001, John Shillington, Pok Sze Wong, Hanmao Shi |
Parallel Comput. | 3 |
| 1992 | A World Championship Caliber Checkers Program
Jonathan Schaeffer 0001, Joseph C. Culberson, Norman Treloar, Brent Knight, Paul Lu, Duane Szafron |
Artif. Intell. | 1 |
| 1992 | Parallel Sorting by Regular Sampling
Hanmao Shi, Jonathan Schaeffer 0001 |
J. Parallel Distributed Comput. | 2 |
| 1991 | The Role of Chess in Artificial Intelligence Research
Robert Levinson, Feng-Hsiung Hsu, T. Anthony Marsland, Jonathan Schaeffer 0001, David E. Wilkins |
IJCAI | 4 |
| 1991 | A Template-Based Approach to the Generation of Distributed Applications Using a Network of WorkstationsabstractA computational model and system for the generation of distributed applications in a workstation environment are presented. The well-known RPC model is modified by a novel concept known as template attachment. A computation consists of a network of sequential procedures which have been encapsulated in templates. A small selection of templates is available from which a distributed application with the desired communication behavior can be rapidly built. The system generates all the required low-level code for correct synchronization, communication, and scheduling. This results in a system that is easy to use and flexible and can provide a programmer with the desired amount of control in using idle processing power over a network of workstations. The practical feasibility of the model has been demonstrated by implementing it for Unix-based workstation environments.> Ajit Singh, Jonathan Schaeffer 0001, Mark Green 0001 |
IEEE Trans. Parallel Distributed Syst. | 2 |
| 1990 | Conspiracy Numbers
Jonathan Schaeffer 0001 |
Artif. Intell. | 1 |
| 1990 | Empirical results with conspiracy numbersabstractMcAllester's conspiracy numbers algorithm is an exciting new approach to minimax search that builds trees to variable depth without application‐dependent knowledge. The likelihood of the root taking on a value is expressed by its conspiracy number: the minimum number of leaf nodes that must change their value to cause the root to change to that value. This paper describes experiences with the algorithm, using both random and application‐generated trees. Experiments suggest that more emphasis on breadth, rather than depth, can lead to significant performance improvements. New enhancements to the algorithm are capable of solving 41% more problems than McAllester's original proposal. Norbert Klingbeil, Jonathan Schaeffer 0001 |
Comput. Intell. | 2 |
| 1989 | Structuring Distributed Algorithms in a Workstation Environment: The FrameWorks Approach
Ajit Singh, Jonathan Schaeffer 0001, Mark Green 0001 |
ICPP (2) | 2 |
| 1989 | Distributed Game-Tree Searching
Jonathan Schaeffer 0001 |
J. Parallel Distributed Comput. | 1 |
| 1989 | The History Heuristic and Alpha-Beta Search Enhancements in PracticeabstractMany enhancements to the alpha-beta algorithm have been proposed to help reduce the size of minimax trees. A recent enhancement, the history heuristic, which improves the order in which branches are considered at interior nodes is described. A comprehensive set of experiments is reported which tries all combinations of enhancements to determine which one yields the best performance. In contrast, previous work on assessing their performance has concentrated on the benefits of individual enhancements or a few combinations. The aim is to find the combination that provides the greatest reduction in tree size. Results indicate that the history heuristic combined with transposition tables significantly outperforms other alpha-beta enhancements in application-generated game trees. For trees up to depth 8, this combination accounts for 99% of the possible reductions in tree size, with the other enhancements yielding insignificant gains.> Jonathan Schaeffer 0001 |
IEEE Trans. Pattern Anal. Mach. Intell. | 1 |
| 1987 | Low Overhead Alternatives to SSS
T. Anthony Marsland, Alexander Reinefeld, Jonathan Schaeffer 0001 |
Artif. Intell. | 3 |
| 1987 | A VLSI Multipresision Matrix Multiplier and Polynomial Evaluator
Darrell Makarenko, Jonathan Schaeffer 0001 |
J. Parallel Distributed Comput. | 2 |
| 1985 | Systolic polynomial evaluation and matrix multiplication with multiple precisionabstractThe design and implementation of a systolic VLSI multiprecision polynomial evaluator and matrix multiplier is described. The use of bit-serial arithmetic allows for a very simple cell design (two registers and an accumulator) enabling a substantial number of cells to be placed on a chip. A configuration of N2cells can evaluate N polynomials of N coefficients at N points and perform. N-width band matrix multiplication and N × N full matrix multiplication, each in linear time. Using current technology, 100 polynomials of 100 coefficients can be evaluated at 100 data points with 32 bit precision in an estimated one millisecond. Jonathan Schaeffer 0001, Darrell Makarenko |
IEEE Symposium on Computer Arithmetic | 1 |
| 1985 | Information Acquisition in Minimal Window Search
Alexander Reinefeld, Jonathan Schaeffer 0001, T. Anthony Marsland |
IJCAI | 2 |
| 1985 | The Utility of Expert Knowledge
Jonathan Schaeffer 0001, T. Anthony Marsland |
IJCAI | 1 |