What is ASP? CSCE 330 Programming Language Presentation JANICE NEIGHBOR, MICHAEL RICKABAUGH, DAVID THOMAS HTTPS://WWW.CS.UTEXAS.EDU/USERS/VL/PAPERS/WIASP.PDF.

Slides:



Advertisements
Similar presentations
CS4026 Formal Models of Computation Part II The Logic Model Lecture 8 – Search and conclusions.
Advertisements

Heuristic Search techniques
Big Ideas in Cmput366. Search Blind Search State space representation Iterative deepening Heuristic Search A*, f(n)=g(n)+h(n), admissible heuristics Local.
Satisfiability Modulo Theories (An introduction)
PROBLEM SOLVING AND SEARCH
The Logic of Intelligence Pei Wang Department of Computer and Information Sciences Temple University.
Logic.
Knowledge Representation and Reasoning (KR): A vibrant subfield of AI Jia You.
An Introduction to Artificial Intelligence. Introduction Getting machines to “think”. Imitation game and the Turing test. Chinese room test. Key processes.
Intelligent systems Lecture 6 Rules, Semantic nets.
CPSC 322, Lecture 23Slide 1 Logic: TD as search, Datalog (variables) Computer Science cpsc322, Lecture 23 (Textbook Chpt 5.2 & some basic concepts from.
Modular Answer Set Programming. Introduction One common answer set programming (ASP) methodology is to: Encode the problem Enumerate possible solutions.
CPSC 322, Lecture 19Slide 1 Propositional Logic Intro, Syntax Computer Science cpsc322, Lecture 19 (Textbook Chpt ) February, 23, 2009.
Programming with Constraints Jia-Huai You. Subject of Study Constraint Programming (CP) studies the computational models, languages, and systems for solving.
© Janice Regan Problem-Solving Process 1. State the Problem (Problem Specification) 2. Analyze the problem: outline solution requirements and design.
Jigar Gaglani.  A Programming language is a notational system for describing computations in a machine and human readable form.
1 Programming with Constraints Jia-Huai You Constraint programming languages - based on non-monotonic logic - Answer set programming (ASP) Knowledge Representation.
C. Varela; Adapted w/permission from S. Haridi and P. Van Roy1 Declarative Computation Model Defining practical programming languages Carlos Varela RPI.
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
CPSC 322, Lecture 23Slide 1 Logic: TD as search, Datalog (variables) Computer Science cpsc322, Lecture 23 (Textbook Chpt 5.2 & some basic concepts from.
Overview of Programming Paradigms
CPSC 322, Lecture 12Slide 1 CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12 (Textbook Chpt ) January, 29, 2010.
1 Chapter 3 Knowledge Representation. 2 Chapter 3 Contents l The need for a good representation l Semantic nets l Inheritance l Frames l Object oriented.
Big Ideas in Cmput366. Search Blind Search Iterative deepening Heuristic Search A* Local and Stochastic Search Randomized algorithm Constraint satisfaction.
Programming Language Semantics Mooly SagivEran Yahav Schrirber 317Open space html://
Automatically Extracting and Verifying Design Patterns in Java Code James Norris Ruchika Agrawal Computer Science Department Stanford University {jcn,
Formal Aspects of Computer Science – Week 12 RECAP Lee McCluskey, room 2/07
ASP vs. Prolog like programming ASP is adequate for: –NP-complete problems –situation where the whole program is relevant for the problem at hands èIf.
Solving problems by searching
Scheduling Parallel Task
ANSWERING CONTROLLED NATURAL LANGUAGE QUERIES USING ANSWER SET PROGRAMMING Syeed Ibn Faiz.
Computability and Modeling Computation What are some really impressive things that computers can do? –Land the space shuttle (and other aircraft) from.
Logic Programming Based Model Transformations An overview of related work.
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
(1.1) COEN 171 Programming Languages Winter 2000 Ron Danielson.
CS62S: Expert Systems Based on: The Engineering of Knowledge-based Systems: Theory and Practice A. J. Gonzalez and D. D. Dankel.
Programming Paradigms
COMPUTER PROGRAMS AND LANGUAGES Chapter 4. Developing a computer program Programs are a set (series) of instructions Programmers determine The instructions.
Understanding PML Paulo Pinheiro da Silva. PML PML is a provenance language (a language used to encode provenance knowledge) that has been proudly derived.
Swarm Intelligence 虞台文.
Knowledge Representation CPTR 314. The need of a Good Representation  The representation that is used to represent a problem is very important  The.
Logical Agents Logic Propositional Logic Summary
CS 415 – A.I. Slide Set 5. Chapter 3 Structures and Strategies for State Space Search – Predicate Calculus: provides a means of describing objects and.
Advanced Computer Architecture and Parallel Processing Rabie A. Ramadan http:
1 The Theory of NP-Completeness 2 Cook ’ s Theorem (1971) Prof. Cook Toronto U. Receiving Turing Award (1982) Discussing difficult problems: worst case.
1 CS 385 Fall 2006 Chapter 1 AI: Early History and Applications.
3.2 Semantics. 2 Semantics Attribute Grammars The Meanings of Programs: Semantics Sebesta Chapter 3.
Solving Problems by searching Well defined problems A probem is well defined if it is easy to automatically asses the validity (utility) of any proposed.
Intelligent Control Methods Lecture 7: Knowledge representation Slovak University of Technology Faculty of Material Science and Technology in Trnava.
Programming Languages
The Science of Design. What is Design? Science vs. Engineering – Science teaches about natural things where engineering teaches about artificial things.
Finite State Machines (FSM) OR Finite State Automation (FSA) - are models of the behaviors of a system or a complex object, with a limited number of defined.
Ferdowsi University of Mashhad 1 Automatic Semantic Web Service Composition based on owl-s Research Proposal presented by : Toktam ghafarian.
Programming Models/ Paradigms Chapter 5: Programming Languages.
Knowledge Representation Fall 2013 COMP3710 Artificial Intelligence Computing Science Thompson Rivers University.
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
Definition and Technologies Knowledge Representation.
Knowledge Representation
Artificial Intelligence
Integer Programming An integer linear program (ILP) is defined exactly as a linear program except that values of variables in a feasible solution have.
Programming Language Syntax 7
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Artificial Intelligence introduction(2)
Branch and Bound.
Space Complexity Costas Busch - LSU.
Lecture 6 Architecture Algorithm Defin ition. Algorithm 1stDefinition: Sequence of steps that can be taken to solve a problem 2ndDefinition: The step.
Knowledge Representation
Canonical Computation without Canonical Data Structure
Answer Set Programming
Presentation transcript:

What is ASP? CSCE 330 Programming Language Presentation JANICE NEIGHBOR, MICHAEL RICKABAUGH, DAVID THOMAS

Overview  Declarative language  Stands for Answer Set Programming  Based on the stable model of semantics of logical programming  Syntax base Prolog  Useful in knowledge-intensive applications

Usage  Oriented towards difficult, NP-hard search problems (non- deterministic)  Useful in knowledge intensive applications  Combines ideas coming from research on the design and use of SAT solvers and the use of PROLOG in knowledge representation  Set solvers are programs for generating stable models which is what is used to perform a search  These algorithms will always terminate

History  In 1997, the planning method was proposed by Dimopoulos, Nebel, & Koehler and serves as an early example of answer set programming.  This approach is based on the relationship between plans and stable models  The use of answer set solvers for search and the term answer set programming was used for the first time in  ASP applications are used for planning, model checking, logical cryptanalysis and computational biology

Design  Each ASP program consists of rules  The idea is to represent the given search problems by a logic program so that the solution corresponds to its answer set(s)  LPARSE was created as a front-end for the answer set model SMODELS it uses “Prolog-style” rules  Smodels receives the grounded theory and finds the answer set.

Example  Traveling Salesman { cycle(X,Y) : edge(X,Y) } = 1 :- node(X). { cycle(X,Y) : edge(X,Y) } = 1 :- node(Y). % Define reached(Y) :- cycle(1,Y).reached(Y) :- cycle(X,Y), reached(X).% Test:- node(Y), not reached(Y). % Display#show cycle/2. % Optimize #minimize { C,X,Y : cycle(X,Y), cost(X,Y,C) }. % Nodes node(1..6). % (Directed) Edges edge(1,(2;3;4)). edge(2,(4;5;6)). edge(3,(1;4;5)).edge(4,(1;2)). edge(5,(3;4;6)). edge(6,(2;3;5)). % Edge Costs cost(1,2,2). cost(1,3,3). cost(1,4,1).cost(2,4,2). cost(2,5,2). cost(2,6,4).cost(3,1,3). cost(3,4,2). cost(3,5,2).cost(4,1,1). cost(4,2,2).cost(5,3,2). cost(5,4,2). cost(5,6,1).cost(6,2,4). cost(6,3,3). cost(6,5,1).

Applications of ASP  Automatic Product Configuration  Descision Support for the Space Shuttle  A system capable of solving some planning and diagnostic tasks related to the operation of the space shuttle  Inferring Phylogenetic Trees  A method for reconstructing a phylogeny for a set of taxa, applied to linguistics and zoology

Comparison ASP is like Prolog! - Both are Declarative - Both are logic based - Both are better suited for recursion than iteration - Both are used to answer questions given known "atoms.”  However, ASP always terminates due to using SAT solvers vs SLDNF resolution like Prolog ASP is not like Java! - Java is Imperative - Java is object-oriented - Java is better suited to iteration than recursion - Java is used to execute commands via methods