To save content items to your account,
please confirm that you agree to abide by our usage policies.
If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account.
Find out more about saving content to .
To save content items to your Kindle, first ensure no-reply@cambridge.org
is added to your Approved Personal Document E-mail List under your Personal Document Settings
on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part
of your Kindle email address below.
Find out more about saving to your Kindle.
Note you can select to save to either the @free.kindle.com or @kindle.com variations.
‘@free.kindle.com’ emails are free but can only be saved to your device when it is connected to wi-fi.
‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.
Slotine and Li's modification is a well-known, simple, and elegant approach for robot adaptive control to avoid the feedback of joint accelerations. This paper presents a simple strategy to implement a regressor-free adaptive impedance controller without using Slotine and Li's modification. In the new strategy, the joint acceleration vector and the dynamics of robot are assumed to be unavailable. Their effects are covered by using the function approximation technique so that there is no need for the joint acceleration feedback. The closed-loop stability and boundedness of internal signals are justified by the Lyapunov-like technique. Experimental results for a two-dimensional (2D) robot are presented to show the effectiveness of the proposed strategy.
Answer Set Prolog is a comparatively new knowledge representation (KR) language with roots in older nonmonotonic logics and the logic programming language Prolog. Early proponents of the logical approach to artificial intelligence believed that the classical logical formalism called first-order logic would serve as the basis for the application of the axiomatic method to the development of intelligent agents. In this chapter we briefly describe some important developments that forced them to question this belief and to work instead on the development of nonclassical knowledge representation languages including ASP. To make the chapter easier for people not familiar with mathematical logic, we give a very short introduction to one of its basic logical tools — first-order logic.
First-Order Logic (FOL)
First-order logic is a formal logical system that consists of a formal language, an entailment or consequence relation for this language, and a collection of inference rules that can be used to obtain these consequences. The language of FOL is parametrized with respect to a signature Σ. The notions of term and atom over Σ are the same as those defined in Section 2.1. The statements of FOL (called FOL formulas) are built from atoms using boolean logical connectives and quantifiers ∀ (for all) and ∃ (there exists). Atoms are formulas. If A and B are formulas and X is a variable, then (A ∧ B), (A ∨ B), (A ⊃ B), ¬A, ∀ X A, ∃X A are formulas.
In this chapter we discuss how to build agents capable of finding explanations of unexpected observations. To do that we divide actions of our domain into two disjoint classes: agent actions and exogenous actions. As expected the former are those performed by the agent associated with the domain, and the latter are those performed by nature or by other agents. As usual we make two simplifying assumptions:
The agent is capable of making correct observations, performing actions, and recording these observations and actions.
Normally the agent is capable of observing all relevant exogenous actions occurring in its environment.
Note that the second assumption is defeasible — some exogenous actions can remain unobserved. These assumptions hold in many realistic domains and are suitable for a broad class of applications. In other domains, however, the effects of actions and the truth-values of observations can only be known with a substantial degree of uncertainty, which cannot be ignored in the modeling process. We comment on such situations in Chapter 11, which deals with probabilistic reasoning.
In our setting a typical diagnostic problem is informally specified as follows:
• A symptom consists of a recorded history of the system such that its last collection of observations is unexpected (i.e., it contradicts the agent's expectations).
• An explanation of a symptom is a collection of unobserved past occurences of exogenous actions that may account for the unexpected observations.
This notion of explanation is closely connected with our second simplifying assumption.
We complete the book by a short discussion of an inference mechanism that is very different from the one presented in Chapter 7. It is only applicable to normal logic programs (nlps), and although sound with respect to answer set semantics of nlps, it is not complete and might not even terminate; however, it has a number of advantages. In particular, it is applicable to nlps with infinite answer sets, and it does not require grounding. The algorithm is implemented in interpreters for programming language Prolog. The language, introduced in the late 1970s, is still one of the most popular universal programming languages based on logic. Syntactically, Prolog can be viewed as an extension of the language of nlps by a number of nonlogical features. Its inference mechanism is based on two important algorithms called unification and resolution, implemented in standard Prolog interpreters. Unification is an algorithm for matching atoms; resolution uses unification to answer queries of the form “find X such that q(X) is the consequence of an nlp II.”
We end this chapter with several examples of the use of Prolog for finding declarative solutions to nontrivial programming problems. Procedural solutions to these problems are longer and much more complex.
The Prolog Interpreter
We start with defining unification and SLD resolution — an algorithm used by Prolog interpreters to answer queries to definite programs (i.e., nlps without default negation).
The RepRap 3D printer development project is a fast growing, open-hardware initiative relying on the input of hobbyist designers. One of its key components is the printer nozzle. The performance and reliability deficiencies of currently available nozzle designs are common topics in the RepRap community, and our own experience with a RepRap 3D printer has identified a need for improvement in a few particular areas. We set out to eliminate melt leakage, improve thermal isolation, and develop a more effective method of nozzle assembly attachment. Here, we review the issues, describe design efforts, and report results.
This paper aims to represent a human's upper body motion using a humanoid robot. As a robot has different physical limitations than a human, we present a method that can filter the trajectories to meet the limitations. The filtering can be used directly and also can be used as a constraint for optimization. It will be shown to be applicable both offline and online. Many physical attributes, namely angle, collision, velocity, and dynamic torque, are represented as B-spline explicit functions. The B-spline coefficients are then calculated to limit the physical attributes. This explicit method can guarantee that many limits are met. Hence, it is better than many methods that only reduce such physical attributes using objective functions.
This paper presents a novel method to determine the workspace of parallel manipulators using a variant of the Firefly Algorithm, which is one of the emerging techniques in swarm artificial intelligence. The workspace is defined as a set of all the coordinates in the search space that are accessible by the parallel manipulator end effector. The workspace formulation of the parallel manipulator considered in this paper has actuated and passive joint displacements which values are limited by their physical constraints. A special fitness function that discriminates between accessible and inaccessible coordinates is formulated based on the joint limitations. By finding these coordinates using the proposed Firefly Algorithm, the workspace of the manipulator can be constructed. The proposed method is an easy-to-implement alternative solution to the current numerical methods for workspace determination. The method consists of two stages of operation. The first stage maps the workspace to find the initial results with a space filling approach, in which a number of coordinates in the workspace are identified. The second stage refines the results with a boundary detection approach which focuses on the mapping of the boundaries of the workspace. The method is illustrated by its application to determine the 2D, 3D, and 6D workspaces of a Gough--Stewart Platform manipulator. Furthermore, the method is compared with a more rigorous interval analysis method in terms of computational cost and accuracy.
This is a book about knowledge representation and reasoning (KRR) — a comparatively new branch of science that serves as the foundation of artificial intelligence, declarative programming, and the design of intelligent agents — knowledge-intensive software systems capable of exhibiting intelligent behavior. Our main goal is to show how a software system can be given knowledge about the world and itself and how this knowledge can be used to solve nontrivial computational problems. There are several approaches to KRR that both compete with and complement each other. The approaches differ primarily by the languages used to represent knowledge and by corresponding computational methods. This book is based on a knowledge representation language called Answer Set Prolog (ASP) and the answer-set programming paradigm — a comparatively recent branch of KRR with a well-developed theory, efficient reasoning systems, methodology of use, and a growing number of applications.
The text can be used for classes in knowledge representation, declarative programming, and artificial intelligence for advanced undergraduate or graduate students in computer science and related disciplines, including software engineering, logic, and cognitive science. It will also be useful to serious researchers in these fields who would like to learn more about the answer-set programming paradigm and its use for KRR. Finally, we hope that it will be of interest to anyone with a sense of wonder about the amazing ability of humans to derive volumes of knowledge from a collection of basic facts.
What follows is a very brief, operational introduction to two currently existing ASP solvers, clingo and DLV Since the field is developing rapidly, we recommend that users of this information learn about the most current versions of these solvers. To find DLV, go to http://www.dlvsystem.com. To find clingo,goto http://potassco.sourceforge.net/.For quick access to the manuals, just search online for DLV manual or clingo manual.
To find all answer sets of a given program, type
clingo 0 program_name
or
dlv -n=0 program_name
The 0 tells the programs to return all answer sets. If you omit the parameter when calling clingo, the program will return only one answer set; DLV will return all answer sets. Changing the number will return the corresponding number of answer sets. Both systems use – and :– instead of ¬ and ←, respectively. Epistemic disjunction or is denoted by ∣.
Often we may want to limit what a solver will output when it prints answer sets because complete sets can be large and we may only be interested in a few predicates. When using clingo, it is useful to learn the #show commands. For example, if you had a program with predicate mother(X, Y), and you included the following line in your program:
#show mother/2.
clingo would output only those atoms of the answer sets that are formed by predicate mother.
The goal of artificial intelligence is to learn how to build software components of intelligent agents capable of reasoning and acting in a changing environment. To exhibit intelligent behavior, an agent should have a mathematical model of its environment and its own capabilities and goals, as well as algorithms for achieving these goals. Our aim is to discover such models and algorithms and to learn how to use them to build practical intelligent systems. Why is this effort important? There are philosophical, scientiic, and practical reasons. Scientists are getting closer to understanding ancient enigmas such as the origins and the physical and chemical structure of the universe, and the basic laws of development of living organisms, but still know comparatively little about the enigma of thinking. Now, however, we have the computer — a new tool that gives us the ability to test our theories of thought by designing intelligent software agents. In the short time that this tool has been applied to the study of reasoning, it has yielded a greater understanding of cognitive processes and continues to produce new insights on a regular basis, giving us much hope for the future. On the software engineering front, mathematical models of intelligent agents and the corresponding reasoning algorithms help develop the paradigm of declarative programming, which may lead to a simpler and more reliable programming methodology. And, of course, knowledge-intensive software systems, including decision support systems, intelligent search engines, and robots, are of great practical value.
The article reports on a mixed-methods study evaluating the use of a three-dimensional digital game-based language learning (3D-DGBLL) environment to teach German two-way prepositions and specialized vocabulary within a simulated real-world context of German recycling and waste management systems. The study assumed that goal-directed player activity in this environment would configure digital narratives, which in turn would help study participants in the experimental group to co-configure story maps for ordering and making sense of the problem spaces encountered in the environment. The study further assumed that these participants would subsequently rely on the story maps to help them structure written L2 narratives describing an imagined personal experience closely resembling the gameplay of the 3D-DGBLL environment. The study found that immersion in the 3D-DGBLL environment influenced the manner in which the second language was invoked in these written narratives: Participants in the experimental group produced narratives containing more textual indicators describing the activity associated with the recycling and waste management systems and the spaces in which these systems are located. Increased usage of these indicators suggest that participants in the experimental group did indeed rely on story maps generated during 3D gameplay to structure their narratives, although stylistic and grammatical features of the narratives suggest, however, that changes could be made to the curricular implementation of the 3D-DGBLL environment. The study also puts forward ideas for instructional best practices based on research findings and suggests future areas of development and investigation.
Here we describe a query-answering system implementing STUDENT. The system is incorporated into an integrated development environment for ASP called ASPIDE (Febbraro, Reale, and Ricca, 2011), which is designed for program development, computing answer sets, and running queries.
ASPIDE is not a solver in itself, but an interface. At the time of this writing, the query interface of ASPIDE could only be used with DLV (see Appendix A). However, ASPIDE is being actively developed and is designed to be extendable for use with other solvers. As usual, please see the documentation for updates.
To begin, download DLV from http://www.dlvsystem.com. ASPIDE can be found at https://www.mat.unical.it/ricca/aspide/index.html under the Download tab. Installation instructions are under the Documentation tab. Note that, when the ASPIDE Settings box shows up during the installation process, it should be sufficient to just set the DLV path and ignore the other settings, unless, of course, you want to use extensions of DLV such as DLVDB, DLT or a profiler. All paths can also be set later by choosing Preferences from the File menu.
The next window to pop up asks you to select a workspace in which ASPIDE will store your projects. Specify a path for the new directory or use the default. (ASPIDE will expect you to work with the files through its interface, so it is best, at least for now, not to modify the contents of this directory directly.)
This paper presents a new genetic algorithm methodology to solve the trajectory planning problem. This methodology can obtain smooth trajectories for industrial robots in complex environments using a direct method. The algorithm simultaneously creates a collision-free trajectory between initial and final configurations as the robot moves. The presented method deals with the uncertainties associated with the unknown kinematic properties of intermediate via points since they are generated as the algorithm evolves looking for the solution. Additionally, the objective of this algorithm is to minimize the trajectory time, which guides the robot motion. The method has been applied successfully to the PUMA 560 robotic system. Four operational parameters (execution time, computational time, end-effector distance traveled, and significant points distance traveled) have been computed to study and analyze the algorithm efficiency. The experimental results show that the proposed optimization algorithm for the trajectory planning problem of an industrial robot is feasible.
To reason about the world, an agent must have information about it. Because it is unreasonable to teach an agent everything there is to know, we decide on what kind of agent we are building and educate it accordingly. The collection of statements about the world we choose to give the agent is called a knowledge base. In this chapter we create several knowledge bases using the declarative approach. The emphasis is on the methodology of knowledge representation and the use of ASP. Using examples in several, very different domains, we emphasize the importance of the following:
modeling the domain with relations that ensure a high degree of elaboration tolerance;
the difference between knowledge representation of closed vs open domains; i.e., we need to know when we can assume that our information about a relation is complete and when we should instead reason with incomplete information, but realize that we are doing so (reasoning with incomplete information is covered much more thoroughly in Chapter 5);
representing commonsense knowledge along with expert knowledge;
recursive definitions and hierarchical organization of knowledge.
The first knowledge base contains various relationships within the family group, the second models electrical circuits, and the third deals with a basic taxonomic hierarchy that includes classes such as “submarine” and “vehicle.” (For now we only make use of basic rules and recursion. More sophisticated knowledge bases are discussed in later chapters.)