ProLog PROgramming in LOGic. Description of Prolog Prolog stands for PROgramming in LOGic. It is a nonprocedural and declarative language.

Slides:



Advertisements
Similar presentations
Selection Statements Make a decision based on conditions Allows the computer to be intelligent.
Advertisements

ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
CS 484 – Artificial Intelligence1 Announcements Choose Research Topic by today Project 1 is due Thursday, October 11 Midterm is Thursday, October 18 Book.
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
Programming in Visual Basic
4. PROLOG Data Objects And PROLOG Arithmetic
Lecture 2 Introduction to C Programming
Introduction to C Programming
COEN Expressions and Assignment
Chapter 15 Other Functional Languages. Copyright © 2007 Addison-Wesley. All rights reserved. Functional Languages Scheme and LISP have a simple syntax.
Reasons to study concepts of PL
Programming Languages Structure
TES3111 October 2001 Artificial Intelligence LISP.
1/25 Pointer Logic Changki PSWLAB Pointer Logic Daniel Kroening and Ofer Strichman Decision Procedure.
Features and Functions of Information Systems. What are information systems?  Information systems consist of software, hardware and communication networks.
Sepandar Sepehr McMaster University November 2008
Graphical Tree-Based Scientific Calculator: CalcuWiz Will Ryan Christian Braunlich.
Presentation topic : LISP Amir Shahzad MCS 3 MCC
COMPUTER SCIENCE I C++ INTRODUCTION
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
2.2 A Simple Syntax-Directed Translator Syntax-Directed Translation 2.4 Parsing 2.5 A Translator for Simple Expressions 2.6 Lexical Analysis.
P-Phunck - Prolog1 Introduction to Prolog Brian Paden.
CH Programming An introduction to programming concepts.
Knowledge representation
Programming Languages Summer
1 Programming Languages Marjan Sirjani Course web site:
1-1 Introduction Logic programming languages, sometimes called declarative programming languages Express programs in a form of symbolic logic Use a logical.
Expert System Development Tools Sean Lydon Daniel Nelson Emily Schwarz.
F28PL1 Programming Languages Lecture 16: Prolog 1.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Chapter 2 Chapter 2 - Introduction to C Programming.
Principles of programming languages 5: An operational semantics of a small subset of C Department of Information Science and Engineering Isao Sasano.
C++ Programming Language Lecture 2 Problem Analysis and Solution Representation By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
Introduction To PROLOG World view of imperative languages. World view of relational languages. A PROLOG program. Running a PROLOG program. A PROLOG.
Lecture 2: Introduction to C Programming. OBJECTIVES In this lecture you will learn:  To use simple input and output statements.  The fundamental data.
1 Prolog and Logic Languages Aaron Bloomfield CS 415 Fall 2005.
Chapter 7 Selection Dept of Computer Engineering Khon Kaen University.
Prolog Kyle Marcotte. Outline What is Prolog? Origins of Prolog (History) Basic Tutorial TEST!!! (sort of…actually not really at all) My example Why Prolog?
Syntax and Semantics CIS 331 Syntax: the form or structure of the expressions, statements, and program units. Semantics: the meaning of the expressions,
By: Cory Canter CSC 415 Programming Languages. History  Created by Alain Colmerauer, Phillipe Roussel and Robert Kowalski in 1971  Started as a natural.
Ch. 13 Ch. 131 jcmt CSE 3302 Programming Languages CSE3302 Programming Languages (notes?) Dr. Carter Tiernan.
Artificial Intelligence Lecture No. 24 Dr. Asad Ali Safi ​ Assistant Professor, Department of Computer Science, COMSATS Institute of Information Technology.
Engr. Isabelo Jun D. Paat, ME-CoE Lecturer 1 Programming Languages.
Program Development C# Programming January 30, 2007 Professor J. Sciame.
Lecture III Start programming in Fortran Yi Lin Jan 11, 2007.
Logic Programming (LP) expresses code using of a restricted form of symbolic logic. LP programs are declarative, rather than algorithmic. An LP program.
JAVA Ekapap Julnonyang When it was implemented? Developed by Sun Microsystems. The first public implementation was Java 1.0 in 1995 The language.
Expert System Participants
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Chapter 2 - Introduction to C Programming Outline.
The Hashemite University Computer Engineering Department
The Prolog Language by Piyabut Thavilthicakul
Chapter 2 Syntax and meaning of prolog programs Part 1.
Done By :- -Nesreen Basem -Sara nabil -Rawan Prolog Program.
Chapter 1: Preliminaries Lecture # 2. Chapter 1: Preliminaries Reasons for Studying Concepts of Programming Languages Programming Domains Language Evaluation.
Artificial Intelligence Knowledge Representation.
COMPUTER SYSTEM FUNDAMENTAL Genetic Computer School INTRODUCTION TO ARTIFICIAL INTELLIGENCE LESSON 11.
Prolog CSC 481 Team Project Winter 2009 ES-Tools Team.
Sub-fields of computer science. Sub-fields of computer science.
The language focusses on ease of use
Knowledge Representation Techniques
By P. S. Suryateja Asst. Professor, CSE Vishnu Institute of Technology
Introduction to C++ Programming
A I (Artificial Intelligence)
PROLOG.
Variables In programming, we often need to have places to store data. These receptacles are called variables. They are called that because they can change.
Introduction to C++ Programming
Algorithms & Pseudocode
Programming Funamental slides
1) C program development 2) Selection structure
Introduction to C Programming
PROLOG.
Presentation transcript:

ProLog PROgramming in LOGic

Description of Prolog Prolog stands for PROgramming in LOGic. It is a nonprocedural and declarative language.

When was the language first designed or implemented? in 1970

What were the goals and purpose of this language? Prolog was originally used for natural language processing. Currently, Prolog is most commonly used in creating "intelligent" databases but is not limited to just that. It is also widely used in natural language processing, in expert systems, in commercial applications, and in some facets education.

What kind of problem domain was it intended for? 1.For solving logic and decision problems,Prolog is ideal. 2.Typical applications: AI, Database apps, proving theorems, symbolic evaluation (i.e. differentiation).

Who were the envisioned users? artificial intelligence.

Who designed the language (maybe one person, a group, an organization)? This language first desinged or implemented in 1970 by Alain Colmerauer and Phillippe Roussel in the Artificial Intelligence Group at the University of Aix-Marseille with Robert Kowalski of the Department of Artificial Intelligence at the University of Edinburgh developed the fundamental design of Prolog.

Alain Colmerauer Robert Kowalski

What are some main features or distinctive features of the language? Prolog has a declarative semantics that the basic concept of this semantics is that there is a simple way to determine the meaning of each statement, and it does not depend how the statement might be used to solve a problem. -In Data and control structures Domains were easy to understand. -Cost and Reliability Many free compilers available.

What contribution(s) did the language make to the field of computer languages? Prolog make We found ‘thinking logically’ odd at times. Prolog’s facts and rules seemed strangely minimal for solving problems. Prolog doesn’t have strict type checking, however our compiler did have some loose rules in place. (May cause headaches for maintenance)

How widely is the language used today? Prolog is the most widely used in logic programming language. there are two causes why prolog has not become more widely 1.with some nonimperative approaches Prolog has proven to be highly inefficient. 2.Prolog is an effective approach for only a few relatively small area of application.

Useful Applications some of database management system and some areas of AI.

Arithmetic in Prolog Prolog provides built in functions for doing arithmetic, similar to most major languages. Provides built in random number generator. Integers and reals have standard operations defined (*,/,+,-) In-fix notation is used

Arithmetic conts Order of operations (for all types): 1. Parentheses 2. Left to right *, /, div, mod 3. Left to right +, -

Relational operations return succeed or fail Symbol Relation Symbol Relation < Less than< Less than >Greater than>Greater than >=Greater or equal>=Greater or equal =<Less than or equal=<Less than or equal <> Or > Or ><Not equal

Example % multiple of numbers multiple(Total):- write('Input a number: '), read(X), <<<<read the input and store in X write('Input a number: '), read(Y), <<<<read the input and store in Y Total is X * Y, write('multiple is '), write(Total).<< print the result.