VLDB 2026 Research / reviewers in the wild / expert
Neng-Fa Zhou
dblp:z/NengFaZhou
· DBLP profile ↗
44ranked-venue papers
32as first author
2since 2021 · last 2024
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 26 · 22 first-author · 1 since 2021Artificial intelligence and machine learning · 20 · 12 first-author · 2 since 2021Theory of computation · 13 · 11 first-author · 1 since 2021Graphics, computer vision, multimedia, augmented reality and games · 4 · 2 first-authorDatabases, data management, data science and information retrieval · 1 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 1 · 1 first-author
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2024 | Encoding the Hamiltonian Cycle Problem into SAT Based on Vertex Elimination (Short Paper)
Neng-Fa Zhou |
CP | 1 |
| 2023 | A Comparison of SAT Encodings for Acyclicity of Directed GraphsabstractMany practical applications require synthesizing directed graphs that satisfy the acyclic constraint along with some side constraints. Several methods have been devised for encoding acyclicity of directed graphs into SAT, each of which is based on a cycle-detecting algorithm. The leaf-elimination encoding (LEE) repeatedly eliminates leaves from the graph, and judges the graph to be acyclic if the graph becomes empty at a certain time. The vertex-elimination encoding (VEE) exploits the property that the cyclicity of the resulting graph produced by the vertex-elimination operation entails the cyclicity of the original graph. While VEE is significantly smaller than the transitive-closure encoding for sparse graphs, it generates prohibitively large encodings for large dense graphs. This paper reports on a comparison study of four SAT encodings for acyclicity of directed graphs, namely, LEE using unary encoding for time variables (LEE-u), LEE using binary encoding for time variables (LEE-b), VEE, and a hybrid encoding which combines LEE-b and VEE. The results show that the hybrid encoding significantly outperforms the others. Neng-Fa Zhou, Ruiwei Wang, Roland H. C. Yap |
SAT | 1 |
| 2020 | In Pursuit of an Efficient SAT Encoding for the Hamiltonian Cycle Problem
Neng-Fa Zhou |
CP | 1 |
| 2020 | Robust Multi-Agent Path Finding and ExecutingabstractMulti-agent path-finding (MAPF) is the problem of finding a plan for moving a set of agents from their initial locations to their goals without collisions. Following this plan, however, may not be possible due to unexpected events that delay some of the agents. In this work, we propose a holistic solution for MAPF that is robust to such unexpected delays. First, we introduce the notion of a k-robust MAPF plan, which is a plan that can be executed even if a limited number (k) of delays occur. We propose sufficient and required conditions for finding a k-robust plan, and show how to convert several MAPF solvers to find such plans. Then, we propose several robust execution policies. An execution policy is a policy for agents executing a MAPF plan. An execution policy is robust if following it guarantees that the agents reach their goals even if they encounter unexpected delays. Several classes of such robust execution policies are proposed and evaluated experimentally. Finally, we present robust execution policies for cases where communication between the agents may also be delayed. We performed an extensive experimental evaluation in which we compared different algorithms for finding robust MAPF plans, compared different ro- bust execution policies, and studied the interplay between having a robust plan and the performance when using a robust execution policy. Dor Atzmon, Roni Stern, Ariel Felner, Glenn Wagner, Roman Barták, Neng-Fa Zhou |
J. Artif. Intell. Res. | 6 |
| 2018 | Robust Multi-Agent Path FindingabstractIn the multi-agent path-finding (MAPF) problem, the task is to find a plan for moving a set of agents from their initial locations to their goals without collisions. Following this plan, however, may not be possible due to unexpected events that delay some of the agents. We explore the notion of k-robust MAPF, where the task is to find a plan that can be followed even if a limited number of such delays occur. k-robust MAPF is especially suitable for agents with a control mechanism that guarantees that each agent is within a limited number of steps away from its pre-defined plan. We propose sufficient and required conditions for finding a k-robust plan, and show how to convert several MAPF solvers to find such plans. Then, we show the benefit of using a k-robust plan during execution, and for finding plans that are likely to succeed. Dor Atzmon, Roni Stern, Ariel Felner, Glenn Wagner, Roman Barták, Neng-Fa Zhou |
SOCS | 6 |
| 2017 | Optimizing SAT Encodings for Arithmetic Constraints
Neng-Fa Zhou, Håkan Kjellerstrand |
CP | 1 |
| 2017 | Modeling and Solving the Multi-agent Pathfinding Problem in PicatabstractThe multi-agent pathfinding (MAPF) problem has attracted considerable attention because of its relation to practical applications. In this paper, we present a constraint-based declarative model for MAPF, together with its implementation in Picat, a logic-based programming language. We show experimentally that our Picat-based implementation is highly competitive and sometimes outperforms previous approaches. Importantly, the proposed Picat implementation is very versatile. We demonstrate this by showing how it can be easily adapted to optimize different MAPF objectives, such as minimizing makespan or minimizing the sum of costs, and for a range of MAPF variants. Moreover, a Picat-based model can be automatically compiled to several general-purpose solvers such as SAT solvers and Mixed Integer Programming solvers (MIP). This is particularly important for MAPF because some MAPF variants are solved more efficiently when compiled to SAT while other variants are solved more efficiently when compiled to MIP. We analyze these differences and the impact of different declarative models and encodings on empirical performance. Roman Barták, Neng-Fa Zhou, Roni Stern, Eli Boyarski, Pavel Surynek |
ICTAI | 2 |
| 2017 | Canonicalizing High-Level Constructs in Picat
Neng-Fa Zhou, Jonathan Fruhman |
PADL | 1 |
| 2017 | k-Robust Multi-Agent Path FindingabstractIn the multi-agent path-finding (MAPF) problem a plan is needed to move a set of agents from their initial location to their goals without collisions. In this paper we introduce and study the k-robust MAPF problem, where we seek a plan that is robust to k unexpected delays per agent. Dor Atzmon, Ariel Felner, Roni Stern, Glenn Wagner, Roman Barták, Neng-Fa Zhou |
SOCS | 6 |
| 2017 | Modeling and solving planning problems in tabled logic programming: Experience from the Cave Diving domain
Roman Barták, Lukás Chrpa, Agostino Dovier, Jindrich Vodrázka, Neng-Fa Zhou |
Sci. Comput. Program. | 5 |
| 2016 | Multiple-Origin-Multiple-Destination Path Finding with Minimal Arc Usage: Complexity and ModelsabstractThe multiple-origin-multiple-destination (MOMD) problem is a simplified version of the logistics planning problem in which packages are required to be transported from their origins to their destinations by multiple trucks with a minimum total cost. This paper proves the NP-hardness of the problem and gives two constraint models for solving the problem optimally. These models are then solved by SAT and MIP solvers (after some translation) and the results are experimentally compared with ASP and CP problem encodings. Roman Barták, Agostino Dovier, Neng-Fa Zhou |
ICTAI | 3 |
| 2016 | The Picat-SAT Compiler
Neng-Fa Zhou, Håkan Kjellerstrand |
PADL | 1 |
| 2015 | On modeling planning problems in tabled logic programmingabstractCurrent research in planning focuses mainly on so called domain independent models using the Planning Domain Description Language (PDDL) as the domain modeling language. This declarative modeling approach embraces the idea of a physics-only model describing how actions change the world. However, PDDL omits information about why and when the actions should be applied to reach the goal, which significantly decreases the practical applicability of PDDL. There exist approaches such as Hierarchical Task Networks (HTN) and control rules that add this type of information to the model with the pay-off of increased efficiency but also with the downside of increased complexity and code sizes. Roman Barták, Agostino Dovier, Neng-Fa Zhou |
PPDP | 3 |
| 2015 | Planning as tabled logic programmingabstractAbstract This paper describes Picat's planner, its implementation, and planning models for several domains used in International Planning Competition (IPC) 2014. Picat's planner is implemented by use of tabling. During search, every state encountered is tabled, and tabled states are used to effectively perform resource-bounded search. In Picat, structured data can be used to avoid enumerating all possible permutations of objects, and term sharing is used to avoid duplication of common state data. This paper presents several modeling techniques through the example models, ranging from designing state representations to facilitate data sharing and symmetry breaking, encoding actions with operations for efficient precondition checking and state updating, to incorporating domain knowledge and heuristics. Broadly, this paper demonstrates the effectiveness of tabled logic programming for planning, and argues the importance of modeling despite recent significant progress in domain-independent PDDL planners. Neng-Fa Zhou, Roman Barták, Agostino Dovier |
Theory Pract. Log. Program. | 1 |
| 2014 | Using Tabled Logic Programming to Solve the Petrobras Planning ProblemabstractAbstract Tabling has been used for some time to improve efficiency of Prolog programs by memorizing answered queries. The same idea can be naturally used to memorize visited states during search for planning. In this paper we present a planner developed in the Picat language to solve the Petrobras planning problem. Picat is a novel Prolog-like language that provides pattern matching, deterministic and non-deterministic rules, and tabling as its core modelling and solving features. We demonstrate these capabilities using the Petrobras problem, where the goal is to plan transport of cargo items from ports to platforms using vessels with limited capacity. Monte Carlo Tree Search has been so far the best technique to tackle this problem and we will show that by using tabling we can achieve much better runtime efficiency and better plan quality. Roman Barták, Neng-Fa Zhou |
Theory Pract. Log. Program. | 2 |
| 2013 | A Tabled Prolog Program for Solving SokobanabstractThis paper presents our program in B-Prolog submitted to the third ASP solver competition for the Sokoban problem. This program, based on dynamic programming, treats Sokoban as a generalized shortest path problem. It divides a problem into independent subproblems and uses mode-directed tabling to store subproblems and their answers. This program is very simple but quite efficient. Without use of any sophisticated domain knowledge, it easily solves 14 of the 15 instances used in the competition. We show that the approach can be easily applied to other optimization planning problems. Neng-Fa Zhou, Agostino Dovier |
Fundam. Informaticae | 1 |
| 2012 | A Comparison of CP, IP, and SAT Solvers through a Common InterfaceabstractThis paper presents a common interface for Prolog to three different types of discrete solvers including Constraint Programming (CP), Integer Programming (IP), and SAT solvers. The interface comprises primitives for creating decision variables, specifying constraints, and invoking a solver, possibly with an objective function to be optimized. Before a solver is actually called, the accumulated variables and constraints are transformed into a form acceptable to the solver. For a SAT solver, in particular, variables are Booleanized and constraints are compiled into CNF. Implemented in B-Prolog, the interface allows the programmer to use the features of the host language such as recursion, pattern matching, arrays, and loops to describe problems. The interface provides an easy and uniform platform for exploring different solvers and models. This paper compares the performance of the CLP(FD) of B-Prolog, the CPLEX IP solver, and the Lingeling SAT solver on several problems through the same interface and for each problem it compares a model that uses Boolean variables and another model that uses general integer variables. Our experience tells that it is effortless to switch from one solver to another. Neng-Fa Zhou, Masato Tsuru 0001, Eitaku Nobuyama |
ICTAI | 1 |
| 2012 | The language features and architecture of B-PrologabstractAbstract B-Prolog is a high-performance implementation of the standard Prolog language with several extensions including matching clauses, action rules for event handling, finite-domain constraint solving, arrays and hash tables, declarative loop constructs, and tabling. The B-Prolog system is based on the Tree-Oriented Abstract Machine (TOAM) architecture which differs from the Warren Abstract Machine (WAM) mainly in that (1) arguments are passed old fashionedly through the stack, (2) only one frame is used for each predicate call, and (3) instructions are provided for encoding matching trees. The most recent architecture, called TOAM Jr., departs further from the WAM in that it employs no registers for arguments or temporary variables, and provides variable-size instructions for encoding predicate calls. This paper gives an overview of the language features and a detailed description of the TOAM Jr. architecture, including architectural support for action rules and tabling. Neng-Fa Zhou |
Theory Pract. Log. Program. | 1 |
| 2012 | Efficient tabling of structured data with enhanced hash-consingabstractAbstract Current tabling systems suffer from an increase in space complexity, time complexity or both when dealing with sequences due to the use of data structures for tabled subgoals and answers and the need to copy terms into and from the table area. This symptom can be seen in not only B-Prolog, which uses hash tables, but also systems that use tries such as XSB and YAP. In this paper, we apply hash-consing to tabling structured data in B-Prolog. While hash-consing can reduce the space consumption when sharing is effective, it does not change the time complexity. We enhance hash-consing with two techniques, called input sharing and hash code memoization, for reducing the time complexity by avoiding computing hash codes for certain terms. The improved system is able to eliminate the extra linear factor in the old system for processing sequences, thus significantly enhancing the scalability of applications such as language parsing and bio-sequence analysis applications. We confirm this improvement with experimental results. Neng-Fa Zhou, Christian Theil Have |
Theory Pract. Log. Program. | 1 |
| 2011 | A Tabled Prolog Program for Solving SokobanabstractThis paper presents our program in B-Prolog submitted to the third ASP solver competition for the Sokoban problem. This program, based on dynamic programming, treats Sokoban as a generalized shortest path problem. It divides a problem into independent sub problems and uses tabling to store sub problems and their answers. This program is very simple but quite efficient. Without use of any sophisticated domain knowledge, it easily solved 11 of the 15 instances used in the competition. Neng-Fa Zhou, Agostino Dovier |
ICTAI | 1 |
| 2011 | Compiling Answer Set Programs into Event-Driven Action Rules
Neng-Fa Zhou, Yidong Shen, Jia-Huai You |
LPNMR | 1 |
| 2010 | Mode-Directed Tabling for Dynamic Programming, Machine Learning, and Constraint SolvingabstractMode-directed tabling amounts to using table modes to control what arguments are used in variant checking of subgoals and how answers are tabled. A mode can be min, max, + (input), (output), or nt (non-tabled). While the traditional table-all approach to tabling is good for finding all answers, mode-directed tabling is well suited to dynamic programming problems that require selective answers. In this paper, we present three application examples of mode-directed tabling, namely, (1) hydraulic system planning, a dynamic programming problem, (2) the Viterbi algorithm in PRISM, a probabilistic logic reasoning and learning system, and (3) constraint checking in evaluating Answer Set Programs (ASP). For the Viterbi application, the feature of enabling a cardinality limit in a table mode declaration plays an important role. For a PRISM program and a set of data, the explanations may be too large to be completely stored and the cardinality limit allows for Viterbi inference based on a subset of explanations. The mode nt, which specifies an argument that can participate in the computation of a tabled predicate but is never tabled either in subgoal or answer tabling, is useful in constraint checking for the Hamilton cycle problem encoded as an ASP. These examples demonstrate the usefulness of mode-directed tabling. Neng-Fa Zhou, Yoshitaka Kameya, Taisuke Sato |
ICTAI (2) | 1 |
| 2009 | Encoding Table Constraints in CLP(FD) Based on Pair-Wise AC
Neng-Fa Zhou |
ICLP | 1 |
| 2008 | Linear tabling strategies and optimizationsabstractAbstract Recently there has been a growing interest in research in tabling in the logic programming community because of its usefulness in a variety of application domains including program analysis, parsing, deductive databases, theorem proving, model checking, and logic-based probabilistic learning. The main idea of tabling is to memorize the answers to some subgoals and use the answers to resolve subsequent variant subgoals. Early resolution mechanisms proposed for tabling such as OLDT and SLG rely on suspension and resumption of subgoals to compute fixpoints. Recently, the iterative approach named linear tabling has received considerable attention because of its simplicity, ease of implementation, and good space efficiency. Linear tabling is a framework from which different methods can be derived on the basis of the strategies used in handling looping subgoals. One decision concerns when answers are consumed and returned. This article describes two strategies, namely, lazy and eager strategies, and compares them both qualitatively and quantitatively. The results indicate that, while the lazy strategy has good locality and is well suited for finding all solutions, the eager strategy is comparable in speed with the lazy strategy and is well suited for programs with cuts. Linear tabling relies on depth-first iterative deepening rather than suspension to compute fixpoints. Each cluster of interdependent subgoals as represented by a topmost looping subgoal is iteratively evaluated until no subgoal in it can produce any new answers. Naive re-evaluation of all looping subgoals, albeit simple, may be computationally unacceptable. In this article, we also introduce semi-naive optimization, an effective technique employed in bottom-up evaluation of logic programs to avoid redundant joins of answers, into linear tabling. We give the conditions for the technique to be safe (i.e., sound and complete) and propose an optimization technique called early answer promotion to enhance its effectiveness. Benchmarking in B-Prolog demonstrates that with this optimization linear tabling compares favorably well in speed with the state-of-the-art implementation of SLG. Neng-Fa Zhou, Taisuke Sato, Yidong Shen |
Theory Pract. Log. Program. | 1 |
| 2007 | A Register-Free Abstract Prolog Machine with Jumbo Instructions
Neng-Fa Zhou |
ICLP | 1 |
| 2006 | Programming finite-domain constraint propagators in Action RulesabstractIn this paper, we propose a new language, called AR (Action Rules), and describe how various propagators for finite-domain constraints can be implemented in it. An action rule specifies a pattern for agents, an action that the agents can carry out, and an event pattern for events that can activate the agents. AR combines the goal-oriented execution model of logic programming with the event-driven execution model. This hybrid execution model facilitates programming constraint propagators. A propagator for a constraint is an agent that maintains the consistency of the constraint and is activated by the updates of the domain variables in the constraint. AR has a much stronger descriptive power than indexicals, the language widely used in the current finite-domain constraint systems, and is flexible for implementing not only interval-consistency but also arc-consistency algorithms. As examples, we present a weak arc-consistency propagator for the all_distinct constraint and a hybrid algorithm for n-ary linear equality constraints. B-Prolog has been extended to accommodate action rules. Benchmarking shows that B-Prolog as a CLP(FD) system significantly outperforms other CLP(FD) systems. Neng-Fa Zhou |
Theory Pract. Log. Program. | 1 |
| 2005 | Generative Modeling with Failure in PRISM
Taisuke Sato, Yoshitaka Kameya, Neng-Fa Zhou |
IJCAI | 3 |
| 2004 | A Constraint-Based Graphics Library for B-Prolog
Neng-Fa Zhou |
CP | 1 |
| 2004 | Yet More Efficient EM Learning for Parameterized Logic Programs by Inter-Goal Sharing
Yoshitaka Kameya, Taisuke Sato, Neng-Fa Zhou |
ECAI | 3 |
| 2004 | Semi-naive evaluation in linear tablingabstractSemi-naive evaluation is an effective technique employed in bottom-up evaluation of logic programs to avoid redundant joins of answers. The impact of this technique on top-down evaluation had been unknown. In this paper, we introduce semi-naive evaluation into linear tabling, a top-down resolution mechanism for tabled logic programs. We give the conditions for the technique to be safe and propose an optimization technique called early answer promotion to enhance its effectiveness. While semi-naive evaluation is not as effective in linear tabling as in bottom-up evaluation, it is worthwhile to be adopted. Our benchmarking shows that this technique gives significant speed-ups to some programs. Neng-Fa Zhou, Yidong Shen, Taisuke Sato |
PPDP | 1 |
| 2003 | Efficient fixpoint computation in linear tablingabstractEarly resolution mechanisms proposed for tabling such as OLDT rely on suspension and resumption of subgoals to compute fixpoints. Recently, a new resolution framework called linear tabling has emerged as an alternative tabling method. The idea of linear tabling is to use iterative computation rather than suspension to compute fixpoints. Although linear tabling is simple, easy to implement, and superior in space efficiency, the current implementations are several times slower than XSB, the state-of-the-art implementation of OLDT, due to re-evaluation of looping subgoals. In this paper, we present a new linear tabling method and propose several optimization techniques for fast computation of fixpoints. The optimization techniques significantly improve the performance by avoiding redundant evaluation of subgoals, re-application of clauses, and reproduction of answers in iterative computation. Our implementation of the method in B-Prolog not only consumes an order of magnitude less stack space than XSB for some programs but also compares favorably well with XSB in speed. Neng-Fa Zhou, Taisuke Sato |
PPDP | 1 |
| 2003 | CGLIB - a constraint-based graphics libraryabstractAbstract CGLIB is a high‐level graphics library for B‐Prolog, a constraint logic programming system. The library provides primitives for creating and manipulating graphical objects and a set of constraints including not‐overlap, grid, table and tree constraints that facilitate the specification of the layouts of objects. The library adopts a construct called action rules which is available in B‐Prolog for creating agents and programming interactions among agents or between agents and the user. The library is a fully working system implemented in B‐Prolog, Java and C. It can be used in many areas such as drawing editors, interactive user interfaces, document authoring, animation, information visualization, intelligent agents and games. The high‐level abstraction of the library and the use of constraints and action rules in the specification of layouts and behaviors can significantly enhance the productivity of the development of graphics. We demonstrate through several examples the effectiveness of the library as a tool for developing graphics‐rich and interactive user interfaces. Copyright © 2003 John Wiley & Sons, Ltd. Neng-Fa Zhou |
Softw. Pract. Exp. | 1 |
| 2001 | Authoring graphics-rich and interactive documents in CGLIB: a constraint-based graphics libraryabstractCGLIB is a high-level graphics library for B-Prolog, a constraint logic programming system. The library provides primitives for creating and manipulating graphical objects and a set of constraints including non-overlap, grid, table, and tree constraints that facilitates the specification of the layouts of objects. The library adopts a construct called action rules available in B-Prolog for creating agents and programming interactions among agents or between agents and the user. The library is a fully working system implemented in B-Prolog, Java and C. It can be used in many areas such as drawing editors, interactive user interfaces, document authoring, animation, information visualization, intelligent agents, and games. The high-level abstraction of the library and the use of constraints and action rules in the specification of layouts and behaviors can significantly enhance the productivity of the development of graphics. We demonstrate through several examples the effectiveness of the library as a tool for developing graphics-rich and interactive user interfaces. Neng-Fa Zhou |
ACM Symposium on Document Engineering | 1 |
| 2001 | Linear tabulated resolution based on Prolog control strategy
Yidong Shen, Li-Yan Yuan, Jia-Huai You, Neng-Fa Zhou |
Theory Pract. Log. Program. | 4 |
| 1999 | Building Java Applets by Using DJ - A Java-based Constraint LanguageabstractDJ (Declarative Java) is an extension of Java that supports constraint programming. On the one hand, DJ can serve as a high-level specification language for Java applets. To construct a graphic user interface (GUI) with DJ, the users only need to specify the components that compose the GUI and the relationships among the components by using constraints. On the other hand, DJ, as a constraint language, improves the current constraint languages in that problems and solutions can be described in the same language. In addition, since DJ is a compiling language that uses Java as the object language for compilation, solutions can be distributed on the WWW as Java applets. We present DJ by examples, aiming at illustrating the power and programming methodology of DJ. Neng-Fa Zhou |
COMPSAC | 1 |
| 1999 | A Linear Tabling Mechanism
Neng-Fa Zhou, Yidong Shen, Li-Yan Yuan, Jia-Huai You |
ICLP | 1 |
| 1999 | Linear Tabulated Resolutions for the Well-Founded Semantics
Yidong Shen, Li-Yan Yuan, Jia-Huai You, Neng-Fa Zhou |
LPNMR | 4 |
| 1996 | Channel Routing with Constraint Logic Programming and Delay
Neng-Fa Zhou |
IEA/AIE | 1 |
| 1996 | B-Prolog: A High Performance Prolog Compiler
Neng-Fa Zhou, Isao Nagasawa, Masanobu Umeda, Keiichi Katamine, Toyohiko Hirota |
IEA/AIE | 1 |
| 1996 | Parameter Passing and Control Stack Management in Prolog Implementation RevisitedabstractParameter passing and control stack management are two of the crucial issues in Prolog implementation. In the Warren Abstract Machine (WAM), the most widely used abstract machine for Prolog implementation, arguments are passed through argument registers, and the information associated with procedure calls is stored in possibly two frames. Although accessing registers is faster than accessing memory, this scheme requires the argument registers to be saved and restored for back tracking and makes it difficult to implement full tail recursion elimination. These disadvantages may far outweigh the advantage in emulator-based implementations because registers are actually simulated by using memory. In this article, we reconsider the two crucial issues and describe a new abstract machine called ATOAM (yet Another Tree-Oriented Abstract Machine). The ATOAM differs from the WAM mainly in that (1) arguments are passed directly into stack frames, (2) only one frame is used for each procedure call, and (3) procedures are translated into matching trees is possible, and clauses in each procedure are indexed on all input arguments. The above-mentioned inefficiencies of the WAM do not exist in to he ATOAM because backtracking requires less bookkeeping operations, and tail recursion can be handled in most cases like a loop statement in procedural languages. An ATOAM-emulator-based Prolog system called B-Prolog has been implemented, which is available through anonymous ftp from ftp.kyutech.ac.jp (131.206.1.101) in the directory pub/Language/prolog .B-Prolog is comparable in performance with and can sometimes be significatly faster than emulated SICStus-Prolog. By measuring the numbers of memory and register references made in both systems, we found that passing arguments in stack is no worse than passing arguments in registers even if accessing memory is four times as expensive as accessing registers. Neng-Fa Zhou |
ACM Trans. Program. Lang. Syst. | 1 |
| 1995 | A Logic Programming Approach to Channel Routing
Neng-Fa Zhou |
ICLP | 1 |
| 1994 | On the Scheme of Passing Arguments in Stack Frames for Prolog
Neng-Fa Zhou |
ICLP | 1 |
| 1993 | Beta-Prolog: An Extended Prolog with Boolean Tables for Combinatorial SearchingabstractMost combinatorial problems, e.g. planning and constraint satisfaction problems, can be formulated as situation transition problems (STPs). Although Prolog is well used for searching problems, it is unsatisfactory for solving STPs due to its lack of appropriate data structures for representing situations. The authors describe an extended Prolog, called Beta-Prolog, that supports the definition and manipulation of Boolean tables. A Boolean table is a natural and efficient data structure for representing situations in STPs. With the primitives on Boolean tables, tests of conditions on situations and changes of situations can be performed in constant time. After defining Boolean tables, the authors describe programs and computational results for the following problems: transitive closure, blocks world planning, graph coloring and channel routing problems. They also describe briefly the implementation techniques of Beta-Prolog. Neng-Fa Zhou |
ICTAI | 1 |
| 1990 | A Matching Tree Oriented Abstract Machine for Prolog
Neng-Fa Zhou, Toshihisa Takagi, Kazuo Ushijima |
ICLP | 1 |