Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data.

Duane Szafron

dblp:s/DuaneSzafron · DBLP profile ↗
← Back
64ranked-venue papers
2as first author
0since 2021 · last 2017
0000-0001-7864-6811ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Artificial intelligence and machine learning · 21Graphics, computer vision, multimedia, augmented reality and games · 16Systems, architecture and hardware · 14 · 1 first-authorSoftware engineering, systems software and programming languages · 12 · 1 first-authorDatabases, data management, data science and information retrieval · 8Applied, interdisciplinary, general and emerging computing · 6Human-computer interaction and ubiquitous computing · 3Theory of computation · 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.

Theoretical computer science
8 papers
Algorithmic game theory and mechanism design · 96% Mathematical optimization · 4%
Artificial intelligence
11 papers
Multi-agent systems · 52% Reinforcement learning · 23% Planning, search and constraint satisfaction · 12%
Software engineering, system software, and programming languages
4 papers
Requirements engineering and software design · 78% Program synthesis and code generation · 22%
Interdisciplinary, comprehensive, and emerging computing
5 papers
Bioinformatics and computational biology · 100%
Human-computer interaction and pervasive computing
6 papers
Games and playful interaction · 91% User interface design and tools · 9%
Computer architecture, parallel and distributed computing, and storage systems
2 papers
Parallel and multicore computing · 100%

Topics — the 30 heaviest of 46, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Algorithmic game theory and mechanism design › non-cooperative game
extensive-form games
0.542012
Efficient Monte Carlo Counterfactual Regret Minimization in Games with Many Player Actions · NIPS 2012
On Strategy Stitching in Large Extensive Form Multiplayer Games · NIPS 2011
Regret Minimization in Multiplayer Extensive Games · IJCAI 2011
Knowledge, reasoning and agents › Multi-agent systems
action abstraction
0.322012
Using Sliding Windows to Generate Action Abstractions in Extensive-Form Games · AAAI 2012
Automated Action Abstraction of Imperfect Information Extensive-Form Games · AAAI 2011
Knowledge, reasoning and agents › Multi-agent systems › game theory
extensive-form games
0.322012
Using Sliding Windows to Generate Action Abstractions in Extensive-Form Games · AAAI 2012
Automated Action Abstraction of Imperfect Information Extensive-Form Games · AAAI 2011
Algorithmic game theory and mechanism design
imperfect information games
0.322012
Using Sliding Windows to Generate Action Abstractions in Extensive-Form Games · AAAI 2012
Automated Action Abstraction of Imperfect Information Extensive-Form Games · AAAI 2011
Requirements engineering and software design
design patterns
0.232009
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
Algorithmic game theory and mechanism design
equilibrium computation
0.222012
Generalized Sampling and Variance in Counterfactual Regret Minimization · AAAI 2012
Approximating Game-Theoretic Optimal Strategies for Full-scale Poker · IJCAI 2003
Machine learning › Reinforcement learning › regret minimization
counterfactual regret minimization
0.112012
Generalized Sampling and Variance in Counterfactual Regret Minimization · AAAI 2012
Algorithmic game theory and mechanism design › equilibrium computation
counterfactual regret minimization
0.112012
Efficient Monte Carlo Counterfactual Regret Minimization in Games with Many Player Actions · NIPS 2012
Algorithmic game theory and mechanism design › solution concepts in games › equilibrium concepts
nash equilibrium
0.112012
Generalized Sampling and Variance in Counterfactual Regret Minimization · AAAI 2012
Parallel and multicore computing
parallel programming models
0.122009
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
Bioinformatics and computational biology › protein function prediction
protein subcellular localization prediction
0.122008
Improving subcellular localization prediction using text classification and the gene ontology · Bioinform. 2008
Predicting subcellular localization of proteins using machine-learned classifiers · Bioinform. 2004
Algorithmic game theory and mechanism design › game solving
game abstraction
0.112011
On Strategy Stitching in Large Extensive Form Multiplayer Games · NIPS 2011
Algorithmic game theory and mechanism design
multi-player games
0.112011
Regret Minimization in Multiplayer Extensive Games · IJCAI 2011
Algorithmic game theory and mechanism design
regret minimization
0.112011
Regret Minimization in Multiplayer Extensive Games · IJCAI 2011
Knowledge, reasoning and agents › Planning, search and constraint satisfaction
game tree search
0.112009
Probabilistic State Translation in Extensive Games with Large Action Sets · IJCAI 2009
Requirements engineering and software design
software architecture
0.112009
Deferring design pattern decisions and automating structural pattern changes using a design-pattern-based programming system · ACM Trans. Program. Lang. Syst. 2009
Machine learning › Probabilistic and Bayesian machine learning › monte carlo methods
importance sampling
0.112008
Strategy evaluation in extensive games with importance sampling · ICML 2008
Machine learning › Reinforcement learning
policy evaluation
0.112008
Strategy evaluation in extensive games with importance sampling · ICML 2008
Machine learning › Trustworthy machine learning
interpretability
0.112006
Visual Explanation of Evidence with Additive Classifiers · AAAI 2006
Visualization and visual analytics › explainable AI › explainable machine learning
explanation visualization
0.112006
Visual Explanation of Evidence with Additive Classifiers · AAAI 2006
Bioinformatics and computational biology
protein function prediction
0.112005
The Proteome Analyst Suite of Automated Function Prediction Tools · AAAI 2005
Bioinformatics and computational biology
proteomics
0.112005
The Proteome Analyst Suite of Automated Function Prediction Tools · AAAI 2005
Mathematical optimization › convergence analysis
convergence bounds
0.012012
Efficient Monte Carlo Counterfactual Regret Minimization in Games with Many Player Actions · NIPS 2012
Parallel and multicore computing › parallelizing compiler
parallel code generation
0.012003
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.012003
Approximating Game-Theoretic Optimal Strategies for Full-scale Poker · IJCAI 2003
Knowledge, reasoning and agents › Multi-agent systems
imperfect information games
0.012002
The challenge of poker · Artif. Intell. 2002
Knowledge, reasoning and agents › Multi-agent systems › imperfect information games
poker
0.012002
The challenge of poker · Artif. Intell. 2002
Bioinformatics and computational biology › knowledge representation in biology › biomedical ontology
gene ontology
0.012008
Improving subcellular localization prediction using text classification and the gene ontology · Bioinform. 2008
Games and playful interaction › digital gaming
computer games
0.012006
Evaluating pattern catalogs: the computer games experience · ICSE 2006
Data models and query languages › XML schema languages
DTD
0.011997
An Object-Oriented SGML/HyTime Compliant Multimedia Database Management System · ACM Multimedia 1997

Methods — techniques the papers use, named apart from their topics

variance reduction · 0.3sliding window action abstraction · 0.3sampling · 0.3regret minimization · 0.3scripting · 0.3epsilon-nash equilibrium computation · 0.2code generation · 0.2importance sampling · 0.2monte carlo sampling · 0.1average strategy sampling · 0.1machine learning · 0.1static experts · 0.1abstraction refinement · 0.1metrics · 0.1case study · 0.1automated function prediction · 0.1probabilistic inference · 0.1game-theoretic equilibrium computation · 0.1
YearPublicationVenuePosition
2017 Effects of Gender on Perception and Interpretation of Video Game Character Behavior and Emotion
abstract
Gender in video games is a popular topic. However, the focus is usually on how gender is portrayed within games. In this paper, we examine the effects of players' gender on the perception of virtual character behavior and emotion based on the results of two user studies involving story-based games. The first study compared players' perception of virtual character behaviors. We analyzed perceived differences both by gender and by gaming experience. In this study, we found that female gamers were more appreciative of complex behaviors than male gamers. In the second study, we examined the influence of gender on player' ability to identify the emotion being displayed by a virtual character. We found that most emotions were identified comparably, with the exception of anger. Female players were significantly better at identifying angry characters compared to male players. We also investigated any perception differences between emotions expressed by male and female virtual characters, but we did not identify any statistically significant differences. Overall, the studies suggest that there are differences in how male and female players perceive virtual characters, and if game designers want players to perceive these characters in a certain way, they should consider the gender of targeted players.
Neesha Desai, Richard Zhao, Duane Szafron
IEEE Trans. Comput. Intell. AI Games3
2014 Virtual character behavior architecture using cyclic scheduling
Richard Zhao, Duane Szafron
FDG2
2014 Single Source of Truth (SSOT) for Service Oriented Architecture (SOA)
Candy Pang, Duane Szafron
ICSOC2
2012 Generalized Sampling and Variance in Counterfactual Regret Minimization
abstract
In large extensive form games with imperfect information, Counterfactual Regret Minimization (CFR) is a popular, iterative algorithm for computing approximate Nash equilibria. While the base algorithm performs a full tree traversal on each iteration, Monte Carlo CFR (MCCFR) reduces the per iteration time cost by traversing just a sampled portion of the tree. On the other hand, MCCFR's sampled values introduce variance, and the effects of this variance were previously unknown. In this paper, we generalize MCCFR by considering any generic estimator of the sought values. We show that any choice of an estimator can be used to probabilistically minimize regret, provided the estimator is bounded and unbiased. In addition, we relate the variance of the estimator to the convergence rate of an algorithm that calculates regret directly from the estimator. We demonstrate the application of our analysis by defining a new bounded, unbiased estimator with empirically lower variance than MCCFR estimates. Finally, we use this estimator in a new sampling algorithm to compute approximate equilibria in Goofspiel, Bluff, and Texas hold'em poker. Under each of our selected sampling schemes, our new algorithm converges faster than MCCFR.
Richard G. Gibson, Marc Lanctot, Neil Burch, Duane Szafron, Michael H. Bowling
AAAI4
2012 Using Sliding Windows to Generate Action Abstractions in Extensive-Form Games
abstract
In extensive-form games with a large number of actions, careful abstraction of the action space is critically important to performance. In this paper we extend previous work on action abstraction using no-limit poker games as our test domains. We show that in such games it is no longer necessary to choose, a priori, one specific range of possible bet sizes. We introduce an algorithm that adjusts the range of bet sizes considered for each bet individually in an iterative fashion. This flexibility results in a substantially improved game value in no-limit Leduc poker. When applied to no-limit Texas Hold'em our algorithm produces an action abstraction that is about one third the size of a state of the art hand-crafted action abstraction, yet has a better overall game value.
John Alexander Hawkin, Robert C. Holte, Duane Szafron
AAAI3
2012 Efficient Monte Carlo Counterfactual Regret Minimization in Games with Many Player Actions
abstract
Counterfactual Regret Minimization (CFR) is a popular, iterative algorithm for computing strategies in extensive-form games. The Monte Carlo CFR (MCCFR) variants reduce the per iteration time cost of CFR by traversing a sampled portion of the tree. The previous most effective instances of MCCFR can still be very slow in games with many player actions since they sample every action for a given player. In this paper, we present a new MCCFR algorithm, Average Strategy Sampling (AS), that samples a subset of the player's actions according to the player's average strategy. Our new algorithm is inspired by a new, tighter bound on the number of iterations required by CFR to converge to a given solution quality. In addition, we prove a similar, tighter bound for AS and other popular MCCFR variants. Finally, we validate our work by demonstrating that AS converges faster than previous MCCFR algorithms in both no-limit poker and Bluff.
Richard G. Gibson, Neil Burch, Marc Lanctot, Duane Szafron
NIPS4
2011 Automated Action Abstraction of Imperfect Information Extensive-Form Games
abstract
Multi-agent decision problems can often be formulated as extensive-form games. We focus on imperfect information extensive-form games in which one or more actions at many decision points have an associated continuous or many-valued parameter. A stock trading agent, in addition to deciding whether to buy or not, must decide how much to buy. In no-limit poker, in addition to selecting a probability for each action, the agent must decide how much to bet for each betting action. Selecting values for these parameters makes these games extremely large. Two-player no-limit Texas Hold'em poker with stacks of 500 big blinds has approximately 1071 states, which is more than 1050 times more states than two-player limit Texas Hold'em. The main contribution of this paper is a technique that abstracts a game's action space by selecting one, or a small number, of the many values for each parameter. We show that strategies computed using this new algorithm for no-limit Leduc poker exhibit significant utility gains over epsilon-Nash equilibrium strategies computed with standard, hand-crafted parameter value abstractions.
John Alexander Hawkin, Robert C. Holte, Duane Szafron
AAAI3
2011 Using machines to learn method-specific compilation strategies
abstract
Support Vector Machines (SVMs) are used to discover method-specific compilation strategies in Testarossa, a commercial Just-in-Time (JiT) compiler employed in the IBM®J9 Java™ Virtual Machine. The learning process explores a large number of different compilation strategies to generate the data needed for training models. The trained machine-learned model is integrated with the compiler to predict a compilation plan that balances code quality and compilation effort on a per-method basis. The machine-learned plans outperform the original Testarossa for start-up performance, but not for throughput performance, for which Testarossa has been highly hand-tuned for many years.
Ricardo Nabinger Sanchez, José Nelson Amaral, Duane Szafron, Marius Pirvu, Mark G. Stoodley
CGO3
2011 Descriptions: a viable choice for video game authors
abstract
Modern video game development activities have become as specialized as movie-making activites. Gifted story-writers, artists, and animators have replaced programmers in most content creation activities. However, there is still one area where computer programmers play a big role. Stories, characters, and events are still controlled by scripts that are written in "C-like" languages. Therefore, scripting the video game content usually requires a high level of programming knowledge. Some scripting is simple, such as specifying specific game objects. However, in order to take advantage of knowledge learned during game play, authors need to be able to specify dynamic game objects. This often requires authors to create complex definitions, which are composed of a series of variable assignments in programming languages. In this paper, we show how these definitions can be replaced by a more natural mechanism, which we call descriptions. We also present the results of a user study that shows that authors with no programming skills can use descriptions more effectively than definitions and that the authors prefer descriptions.
Neesha Desai, Duane Szafron
FDG2
2011 Regret Minimization in Multiplayer Extensive Games
Richard G. Gibson, Duane Szafron
IJCAI2
2011 On Strategy Stitching in Large Extensive Form Multiplayer Games
abstract
Computing a good strategy in a large extensive form game often demands an extraordinary amount of computer memory, necessitating the use of abstraction to reduce the game size. Typically, strategies from abstract games perform better in the real game as the granularity of abstraction is increased. This paper investigates two techniques for stitching a base strategy in a coarse abstraction of the full game tree, to expert strategies in fine abstractions of smaller subtrees. We provide a general framework for creating static experts, an approach that generalizes some previous strategy stitching efforts. In addition, we show that static experts can create strong agents for both 2-player and 3-player Leduc and Limit Texas Hold'em poker, and that a specific class of static experts can be preferred among a number of alternatives. Furthermore, we describe a poker agent that used static experts and won the 3-player events of the 2010 Annual Computer Poker Competition.
Richard G. Gibson, Duane Szafron
NIPS2
2010 Using Support Vector Machines to Learn How to Compile a Method
abstract
The question addressed in this paper is what subset of code transformations should be attempted for a given method in a Just-in-Time compilation environment. The solution proposed is to use a Support Vector Machine (SVM) to learn a model based on method features and on the measured compilation and execution times of the methods. An extensive exploration phase collects a set of example compilations to be used by the SVM to train the model. This paper reports on a work in progress. So far, linear-SVM models, applied to benchmarks from the SPECjvm98 suite, have not outperformed the compilation plans engineered by the development team over many years. However the models almost match that performance for the javac benchmark.
Ricardo Nabinger Sanchez, José Nelson Amaral, Duane Szafron, Marius Pirvu, Mark G. Stoodley
SBAC-PAD3
2009 Probabilistic State Translation in Extensive Games with Large Action Sets
David Schnizlein, Michael H. Bowling, Duane Szafron
IJCAI3
2009 Predicting homologous signaling pathways using machine learning
abstract
MOTIVATION: In general, each cell signaling pathway involves many proteins, each with one or more specific roles. As they are essential components of cell activity, it is important to understand how these proteins work-and in particular, to determine which of the species' proteins participate in each role. Experimentally determining this mapping of proteins to roles is difficult and time consuming. Fortunately, many pathways are similar across species, so we may be able to use known pathway information of one species to understand the corresponding pathway of another. RESULTS: We present an automatic approach, Predict Signaling Pathway (PSP), which uses the signaling pathways in well-studied species to predict the roles of proteins in less-studied species. We use a machine learning approach to create a predictor that achieves a generalization F-measure of 78.2% when applied to 11 different pathways across 14 different species. We also show our approach is very effective in predicting the pathways that have not yet been experimentally studied completely. AVAILABILITY: The list of predicted proteins for all pathways over all considered species is available at http://www.cs.ualberta.ca/~bioinfo/signaling.
Babak Bostan, Russell Greiner, Duane Szafron, Paul Lu
Bioinform.3
2009 Deferring design pattern decisions and automating structural pattern changes using a design-pattern-based programming system
abstract
In 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.4
2008 Strategy evaluation in extensive games with importance sampling
abstract
Typically agent evaluation is done through Monte Carlo estimation. However, stochastic agent decisions and stochastic outcomes can make this approach inefficient, requiring many samples for an accurate estimate. We present a new technique that can be used to simultaneously evaluate many strategies while playing a single strategy in the context of an extensive game. This technique is based on importance sampling, but utilizes two new mechanisms for significantly reducing variance in the estimates. We demonstrate its effectiveness in the domain of poker, where stochasticity makes traditional evaluation problematic.
Michael H. Bowling, Michael Johanson, Neil Burch, Duane Szafron
ICML4
2008 The MAP3S Static-and-Regular Mesh Simulation and Wavefront Parallel-Programming Patterns
abstract
This paper presents the simulation and wavefront parallel-programming patterns of the MAP3S pattern-based parallel programming system for distributed-memory environments. Both patterns target iterative computations on static-and-regular meshes. In addition to providing performance-oriented features, such as asynchronous communication and distribution of the computational workload that is tailored to fit the computation, the patterns also provide usability-oriented features, such as direct mesh-access, mesh memory-footprint distribution, and a versatile data-dependency specification scripting-language. Parallel programs developed using MAP3S achieve significant performance gains and capability enhancements on both low-end and high-end interconnect-equipped distributed-memory systems.
Robert Niewiadomski, José Nelson Amaral, Duane Szafron
ICPP3
2008 Improving subcellular localization prediction using text classification and the gene ontology
abstract
MOTIVATION: Each protein performs its functions within some specific locations in a cell. This subcellular location is important for understanding protein function and for facilitating its purification. There are now many computational techniques for predicting location based on sequence analysis and database information from homologs. A few recent techniques use text from biological abstracts: our goal is to improve the prediction accuracy of such text-based techniques. We identify three techniques for improving text-based prediction: a rule for ambiguous abstract removal, a mechanism for using synonyms from the Gene Ontology (GO) and a mechanism for using the GO hierarchy to generalize terms. We show that these three techniques can significantly improve the accuracy of protein subcellular location predictors that use text extracted from PubMed abstracts whose references are recorded in Swiss-Prot.
Alona Fyshe, Yifeng Liu 0001, Duane Szafron, Russell Greiner, Paul Lu
Bioinform.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
AAAI2
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.8
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
AAAI2
2006 Visual Explanation of Evidence with Additive Classifiers
Brett Poulin, Roman Eisner, Duane Szafron, Paul Lu, Russell Greiner, David S. Wishart, Alona Fyshe, Brandon Pearcy, John Anvik
AAAI3
2006 Evaluating pattern catalogs: the computer games experience
abstract
Patterns 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
ICSE3
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
Algorithmica4
2006 Is MPI suitable for a generative design-pattern system?
Paras Mehta, José Nelson Amaral, Duane Szafron
Parallel Comput.3
2005 The Proteome Analyst Suite of Automated Function Prediction Tools
Brett Poulin, Duane Szafron, Paul Lu, Russell Greiner, David S. Wishart, Roman Eisner, Alona Fyshe, Brandon Pearcy, Luca Pireddu
AAAI2
2005 Improving Protein Function Prediction Using the Hierarchical Structure of the Gene Ontology
Roman Eisner, Brett Poulin, Duane Szafron, Paul Lu, Russell Greiner
CIBCB3
2005 Pathway Analyst--Automated Metabolic Pathway Prediction
Luca Pireddu, Brett Poulin, Duane Szafron, Paul Lu, David S. Wishart
CIBCB3
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 Conference3
2005 Topic 9 - Parallel Programming: Models, Methods and Languages
Marco Danelutto, Denis Caromel, Duane Szafron, Fernando M. A. Silva
Euro-Par3
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.3
2004 Rethinking the Pipeline as Object-Oriented States with Transformations
abstract
The 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
HIPS2
2004 ScriptEase: Generative Design Patterns for Computer Role-Playing Games
Matthew McNaughton, Maria Cutumisu, Duane Szafron, Jonathan Schaeffer 0001, James Redford, Dominique Parker
ASE3
2004 ScriptEase: Generating Scripting Code for Computer Role-Playing Games
Matthew McNaughton, Maria Cutumisu, Duane Szafron, Jonathan Schaeffer 0001, James Redford, Dominique Parker
ASE3
2004 Predicting subcellular localization of proteins using machine-learned classifiers
abstract
MOTIVATION: Identifying the destination or localization of proteins is key to understanding their function and facilitating their purification. A number of existing computational prediction methods are based on sequence analysis. However, these methods are limited in scope, accuracy and most particularly breadth of coverage. Rather than using sequence information alone, we have explored the use of database text annotations from homologs and machine learning to substantially improve the prediction of subcellular location. RESULTS: We have constructed five machine-learning classifiers for predicting subcellular localization of proteins from animals, plants, fungi, Gram-negative bacteria and Gram-positive bacteria, which are 81% accurate for fungi and 92-94% accurate for the other four categories. These are the most accurate subcellular predictors across the widest set of organisms ever published. Our predictors are part of the Proteome Analyst web-service.
Zhiyong Lu, Duane Szafron, Russell Greiner, Paul Lu, David S. Wishart, Brett Poulin, John Anvik, Roman Eisner
Bioinform.2
2003 Why Not Use a Pattern-Based Parallel Programming System?
John Anvik, Jonathan Schaeffer 0001, Duane Szafron, Kai Tan 0005
Euro-Par3
2003 FastLSA: A Fast, Linear-Space, Parallel and Sequential Algorithm for Sequence Alignment
abstract
Pairwise 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
ICPP4
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
IJCAI7
2003 Using generative design patterns to generate parallel code for a distributed memory environment
abstract
A 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
PPoPP2
2002 Pattern-Based Parallel Programming
abstract
The 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
ICPP5
2002 Generative Design Patterns
abstract
A 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
ASE2
2002 The challenge of poker
Darse Billings, Aaron Davidson, Jonathan Schaeffer 0001, Duane Szafron
Artif. Intell.4
2002 From patterns to frameworks to parallel programs
Steve MacDonald, John Anvik, Steven Bromling, Jonathan Schaeffer 0001, Duane Szafron, Kai Tan 0005
Parallel Comput.5
2001 Temporal Granularity: Completing the Puzzle
Iqbal A. Goralwalla, Yuri Leontiev, M. Tamer Özsu, Duane Szafron, Carlo Combi
J. Intell. Inf. Syst.4
2000 Generating Parallel Program Frameworks from Parallel Design Patterns
Steve MacDonald, Duane Szafron, Jonathan Schaeffer 0001, Steven Bromling
Euro-Par2
1999 Multi-method Dispatch Using Multiple Row Displacement
Candy Pang, Wade Holst, Yuri Leontiev, Duane Szafron
ECOOP4
1998 Temporal Granularity for Unanchored Temporal Data
abstract
Granularity is an integral feature of both anchored (e.g., 25 October 1995, July 1996) and unanchored (e.g., 3 minutes, 6 hours 20 minutes, 5 days, 1 week) temporal data. In supporting temporal data that is specified in different granularities, numerous approaches have been proposed to deal with the issues of converting temporal data from one granularity to another. The emphasis, however, has only been on granularity conversions with respect to anchored temporal data. This is because a granularity in these approaches is modeled as an anchored partitioning of the time axis, thereby making it difficult to deal with granularity conversions in unanchored temporal data. In this paper we provide a novel approach to the treatment of granularity in temporal data. A granularity is modeled as a special kind of unanchored temporal primitive that can be used as a unit of time. That is, a granularity is modeled as a unit unanchored temporal primitive. Granularities are accommodated within the cont...
Iqbal A. Goralwalla, Yuri Leontiev, M. Tamer Özsu, Duane Szafron, Carlo Combi
CIKM4
1998 Experience with parallel programming using code templates
abstract
For 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.3
1998 A Temporal Approach to Managing Schema Evolution in Object Database Systems
Iqbal A. Goralwalla, Duane Szafron, M. Tamer Özsu, Randal J. Peters
Data Knowl. Eng.2
1997 Modeling Temporal Primitives: Back to Basics
abstract
Article Modeling temporal primitives: back to basics Share on Authors: Iqbal A. Goralwalla Laboratory for Database Systems Research, Department of Computing Science, University of Alberta, Edmonton, Alberta, Canada T6G 2H1 Laboratory for Database Systems Research, Department of Computing Science, University of Alberta, Edmonton, Alberta, Canada T6G 2H1View Profile , Yuri Leontiev Laboratory for Database Systems Research, Department of Computing Science, University of Alberta, Edmonton, Alberta, Canada T6G 2H1 Laboratory for Database Systems Research, Department of Computing Science, University of Alberta, Edmonton, Alberta, Canada T6G 2H1View Profile , M. Tamer Özsu Laboratory for Database Systems Research, Department of Computing Science, University of Alberta, Edmonton, Alberta, Canada T6G 2H1 Laboratory for Database Systems Research, Department of Computing Science, University of Alberta, Edmonton, Alberta, Canada T6G 2H1View Profile , Duane Szafron Laboratory for Database Systems Research, Department of Computing Science, University of Alberta, Edmonton, Alberta, Canada T6G 2H1 Laboratory for Database Systems Research, Department of Computing Science, University of Alberta, Edmonton, Alberta, Canada T6G 2H1View Profile Authors Info & Claims CIKM '97: Proceedings of the sixth international conference on Information and knowledge managementJanuary 1997 Pages 24–31https://doi.org/10.1145/266714.266847Online:01 January 1997Publication History 7citation311DownloadsMetricsTotal Citations7Total Downloads311Last 12 Months5Last 6 weeks0 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteGet Access
Iqbal A. Goralwalla, Yuri Leontiev, M. Tamer Özsu, Duane Szafron
CIKM4
1997 A General Framework for Inheritance Management and Method Dispatch in Object-Oriented Languages
Wade Holst, Duane Szafron
ECOOP2
1997 Managing Schema Evolution Using a Temporal Object Model
Iqbal A. Goralwalla, Duane Szafron, M. Tamer Özsu, Randal J. Peters
ER2
1997 An Object-Oriented SGML/HyTime Compliant Multimedia Database Management System
abstract
We describe the design of an object-oriented multimedia database management system that can store and manage SGML/HyTime compliant multimedia documents.The system is capable of storing, within one database, dtrerent types of documents by accommodating multiple document type definitions (DTDs).This is accomplished by dynamically creating object types according to element definitions in each DTD.The system also has tools to automatically insert marhed-14~ documents into the database.We discuss the system architecture, design issues and the system features.Permission lo make digilnl/llnrd cop& ofnll or pn~t oftlk materinl for personal or classroom 11s~' is granted \vitllout Ike provided that the copies are not made or distributed I'or prolit or conuncrcinl ndvnnlagc, IlIe copyriglit notice.the lille ol'll~e publicnlion and its date appear, and notice is given La1 copyright is lay permission ol'thr ACM, Inc.To copy otherwise, lo republish.lo post 011 servers or lo redistributt lo lists.requires specific permission and/or fee.
M. Tamer Özsu, Paul Iglinski, Duane Szafron, Sherine El-Medani, Manuela Junghanns
ACM Multimedia3
1997 A platform-independent graphical user interface for SEQSEE and XALIGN
abstract
David 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.8
1997 PI/OT: Parallel I/O Templates
Ian Parsons, Ronald C. Unrau, Jonathan Schaeffer 0001, Duane Szafron
Parallel Comput.4
1996 Spatial Reasoning Rules in Multimedia Management Systems
John Z. Li, M. Tamer Özsu, Duane Szafron
MMM3
1996 An experiment to measure the usability of parallel programming systems
abstract
The 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.1
1995 An Extensible Query Optimizer for an Objectbase Management System
abstract
We describe an extensible query optimizer for objectbase management systems. Since these systems are expected to serve data management needs of a wide range of application domains with possibly different query optimization requirements, extensibility is essential. Our work is conducted within the context of TIGUKAT, which is a uniform behavioral system that models every system component as a first-class object. Consistent with this philosophy, we model every component of the optimizer as a first-class object, providing ultimate extensibility. We describe the optimizer architecture and how the optimizer components are modeled as extensions of a uniform type system.
M. Tamer Özsu, Adriana Muñoz, Duane Szafron
CIKM3
1995 An Object-Oriented Multimedia Database System for a News-on-Demand Applications
M. Tamer Özsu, Duane Szafron, Ghada El-Medani, Chiradeep Vittal
Multim. Syst.2
1995 TIGUKAT: A Uniform Behavioral Objectbase Management System
M. Tamer Özsu, Randal J. Peters, Duane Szafron, Boman Irani, Anna Lipka, Adriana Muñoz
VLDB J.3
1993 An Extensible Query Model and Its Languages for a Uniform Behavioral Object Management System
abstract
In this paper, we present an extensible, uniform, behavioral query model and its languages for the TIGUKAT object management system [POS92].The TIGUKAT model is purely behavioral in nature, supports full encapsulation of objects, defines a clear separation between primitive components such as types, classes, collections, behaviors, functions, etc., and incorporates a uniform semantics over objects which makes it a favorable basis for a query model.Queries are modeled as type and behavior extensions to the base object model, thus incorporating queries as an extensible part of the model itself.We present the framework of the complete query model definition that includes the extended types and behaviors, a formal object calculus with safety based on the evaluable class of queries, an equivalent object algebra, an SQL-like ad hoc query language for user-level querying and proof of its completeness.
Randal J. Peters, Anna Lipka, M. Tamer Özsu, Duane Szafron
CIKM4
1992 A World Championship Caliber Checkers Program
Jonathan Schaeffer 0001, Joseph C. Culberson, Norman Treloar, Brent Knight, Paul Lu, Duane Szafron
Artif. Intell.6
1992 An object-oriented inference engine for PROLOG
Daniel Lanovaz, Duane Szafron
J. Syst. Softw.2
1990 LexAGen: An Interactive Incremental Scanner Generator
abstract
Abstract This paper describes LexAGen, an interactive scanner generator which is the first component of an interactive compiler generation environment. LexAGen can generate fast scanners for languages whose tokens can be specified by regular grammars. However, LexAGen also supports several context‐sensitive programming language constructs such as nested comments and the interaction between floating‐point numbers and the range operator in Modula‐2. In addition, LexAGen includes a fast new algorithm for keyword identification. However, the most important and novel aspects of LexAGen are that it constructs scanners incrementally and that specifications can be executed anytime for validation testing. LexAGen specifications are expressed and entered interactively in a restricted BNF format (no left recursion). All syntactic errors and token conflicts are detected and reported immediately as LexAGen incrementally constructs a deterministic finite automaton to represent the scanner. At any time, the user can test the scanner fragment which has been entered by supplying text to be scanned. Alternatively, the user can generate a C‐code scanner from the automaton. The generated automaton uses a direct execution approach and is quite fast. LexAGen is implemented in Smalltalk‐80. Its extensive use of interactive graphics makes it very easy to use. In addition, the object‐oriented paradigm of Smalltalk‐80 is the basis for the incremental analysis, the error detection scheme and an intermediate representation which can be easily modified to generate scanners in other target languages such as Pascal, Modula‐2 and Ada.
Duane Szafron, Randy Ng
Softw. Pract. Exp.1