Prolog Programming - Input/Output in Prolog

Size: px
Start display at page:

Download "Prolog Programming - Input/Output in Prolog"

Transcription

1 Prolog Programming - Input/Output in Prolog write(term) and read(term) Predicate write(term) causes a term to be written to the current output stream (the monitor screen by default) If term is uninstantiated, an underscore followed by a number unique to the variable will be output, eg, _64 Predicate read(term) is used to read a term from the current input stream (the keyboard by default) Input can be redirected using predicates see(filename) to open a file for input, and seen to close file and read from keyboard again Output can be redirected using predicates tell(filename) to open a file for output, and told to close file and write to the keyboard again Week 9 Lecture Notes page 1 of 1

2 I/O in Prolog - Example: /* The following program contains a database of positions and employees in a company. It specifies the position of an employee, given the name */ position( Spielberg, director). position( Allen, manager). position( Lee, supervisor). find_position:- write( Whose position do you wish to know? ), read(input), position(input, Output), write( The position of ), write(input), write( is ), write(output), write(. ).?- find_position. Whose position do you wish to know? Spielberg. The position of Spielberg is director Week 9 Lecture Notes page 2 of 2

3 List application - Sorting Insertion sort algorithm is based on the following: If all items in a list of size N-1 are already sorted, then we insert the Nth item in the list by searching along the list and finding the correct location. We assume the sorting is to be in ascending order. The main part of the algorithm can now be expressed in Prolog: isort([],[]). isort([x Tail],SList):- isort(tail,stail), insert(x,stail,slist). The isort predicate strips off the head of the list, sorts the tail recursively, then finally inserts the head item (X) into the correct location. The recursion stops when the list to be sorted become empty. We must now define the insert predicate. Week 9 Lecture Notes page 3 of 3

4 The insert predicate Compares the value of the item to be inserted with the head of the list. If it is less than this value, then the new item must be inserted just before this head, otherwise the item is inserted into the new tail. insert(x,[],[x]). insert(x,[h Tail],[X,H Tail]):- X =< H. insert(x,[h Tail],[H NewTail]):- X > H, insert(x,tail,newtail). The first clause terminates the search process when the item (X) is to be inserted into an empty list, it creates a new list with a single item (X) in it. The second clause is where the value of X is less than, or equal to, the value of the head (H). In this case the new list is created by adding X to the front of the list with the construct [X,H Tail]. The final clause matches for the case when the item (X) is greater than the head of the list (H). In this case the item is inserted into the current Tail. Week 9 Lecture Notes page 4 of 4

5 We now have a complete program which can be used as follows:?- isort([10, 9, 8, 7, 6, 5, 4, 3, 2, 1], S) S = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] Week 9 Lecture Notes page 5 of 5

6 A program to change a sentence into another A program that responds with an altered version of an input sentence, eg, You: you are a computer Prolog: i am not a computer You: do you speak french Prolog: no i speak german Steps involved: - Change each you to i - Change are to am not - Change french to german - Change do to no We can represent a sentence as a list of words [like, this, sentence] and define a predicate alter(x,y) to alter sentence X into sentence Y Week 9 Lecture Notes page 6 of 6

7 Predicate alter?- alter([do you know french], Y]. Y = [no i know german] Main functions: change head of input list into another word, let this word become head of output list alter tail of input list and let it become the tail of output list if we have reached the end of the input list, then terminate the output list with an empty list [ ] Summarising in Prolog terminology: altering a list with head H and tail T gives a list with head X and tail Y if changing word H gives word X, and altering list T gives list Y. alter([], []). alter([h T], [X Y]) :- change(h,x), alter(t,y). Week 9 Lecture Notes page 7 of 7

8 Defining change change(x,y) means word X is to be changed into word Y change(you, i). change(are, [am, not]). change(french, german). change(do, no). /* if there is no match, don t change */ change(x, X) Week 9 Lecture Notes page 8 of 8

9 Getting more out of predicates Joining two lists (Concatenating/Appending) append( L1, L2, L3) where L3 = L1 + L2, eg,? - append([a,b], [c,d], NewList). NewList = [a,b,c,d] Two cases 1. First argument an empty list append( [ ], L, L) 2. First argument has a head and a tail append( [ X L1], L2, [X L3] ) :- append( L1, L2, L3). [X L1] X L1 L2 L3 X L3 [X L3] Week 9 Lecture Notes page 9 of 9

10 ?- append([a,b], [c,d], Newlist). Newlist = [a,b,c,d] Predicate append can be used in a different way - /* Which list, when appended to list [a], gives list [a,b,c] */?- append([a], X, [a,b,c]). X = [b,c] /* What are the different ways list [a,b,c] can be decomposed? */?- append(x, Y, [a,b,c]). X = [] Y = [a,b,c] More (y/n)? y X = [a] Y = [b,c] Week 9 Lecture Notes page 10 of 10

11 More (y/n)? y X = [a,b] Y = [c] More (y/n)? y X = [a,b,c] Y = [] Predicate myinsert /* Inserts item X at position P in list L to give list NewList */ myinsert(x, P, L, Newlist) myinsert can be used to implement a predicate mydelete to delete an item at position P mydelete(p, L, List) Eg,?- mydelete(2,[a,b,c,d],x). X = [a,b,d] Week 9 Lecture Notes page 11 of 11

12 MORE ON RECURSION Example 2 : A simple family tree. peter (margaret) john (barbara) christine (frank) jennifer (simon) sally andrew (rachel) sarah (david) carol trevor nicholas Week 9 Lecture Notes page 12 of 12

13 We can represent the information contained in the family tree via two predicates married(x,y) and child_of(x,y). Thus our prolog database would contain facts of the following form married(peter,margaret). married(john,barbara). child_of(john,peter). child_of(christine,peter). child_of(jennifer,peter). child_of(john,margaret). child_of(christine,margaret). child_of(jennifer,margaret)... etc. Week 9 Lecture Notes page 13 of 13

14 SOME SIMPLE PREDICATES parent_of(x,y) :- child_of(y,x). grandchild_of(x,y) :- child_of(x,a), child_of(a,y). siblings(x,y) :- child_of(x,a), child_of(y,a), not(x = Y). sister_of(x,y) :- siblings(x,y), female(x). brother_of(x,y) :- siblings(x,y), male(x). Week 9 Lecture Notes page 14 of 14

15 Consider the query: Is nicholas a descendent of peter? A descendent is anyone that is a child, grandchild, greatgrandchild, great-great-grandchild,..., and so on. How might we define a general predicate descendent_of(x,y)? We make use of the following simple observation X is a descendent of Y if one of X's parents is also a descendent of Y. This translates directly into the (recursive) Prolog clause descendent_of(x,y) :- child_of(x,a), descendent_of(a,y). Week 9 Lecture Notes page 15 of 15

16 What is the appropriate TERMINATING CONDITION? The recursion stops when we reach a direct descendent. Our final definition is thus descendent_of(x,y) :- child_of(x,y). descendent_of(x,y) :- child_of(x,a), descendent_of(a,y). Week 9 Lecture Notes page 16 of 16

17 Searching Problems are solved by searching among alternative choices Examples: - Find a route to get to the city from Murdoch (the freeway is closed!) - Decide on the next move in a game of chess Typically, we have an initial scenario (state) and a goal (solution state) We consider a number of alternative steps (strategies) and select one This process is repeated until (hopefully) the solution is arrived at In AI, this aspect of intelligent behaviour is known as problem solving by state space search Week 9 Lecture Notes page 17 of 17

18 Problem Solving by State Space Search The states in a problem domain consist of the initial state, the goal state and all possible intermediate states Together, they form the state space for a particular problem Examples: In a game of chess, each legal configuration of the board is a state and the players move around in the state space Success in solving a problem depends on coming up with an appropriate representation scheme for the states Week 9 Lecture Notes page 18 of 18

19 State space graph In computer science, a graph is a collection of nodes connected by links (arcs) Graphs are used to represent state spaces for problem solving Consider the game of noughts and crosses Given any board situation (configuration), a player can only make a finite number of moves Week 9 Lecture Notes page 19 of 19

20 Starting with an empty board, each board configuration can be represented as a node The links of the graph represent legal moves from one board configuration to another These nodes thus correspond to different states of the game board - known as a state space graph Think of a representation scheme (a data structure) for this state space How many nodes will the state space graph consist of? (answers at the end of lecture notes) Week 9 Lecture Notes page 20 of 20

21 As another example, consider diagnosing a mechanical fault in a car It is possible to construct a state-space graph for this more complicated problem Let each node represent a state of partial knowledge about the car s mechanical problems The process of examining the symptoms of the fault and inducing its cause may be thought of as searching through states of increasing knowledge A problem solver can diagnose car trouble by searching for a path through this graph that is consistent with the symptoms of a particular defective car State space search may be used to approach practically any problem Week 9 Lecture Notes page 21 of 21

22 How intelligent is searching? Search provides a framework for automating problem solving Simple exhaustive search of a large space is impractical It fails to capture the substance of intelligent activity Humans do not use exhaustive search Eg, The chess player only examines moves that experience has shown to be effective The doctor does not require tests that are not somehow indicated by the symptoms at hand Human problem solving seems to be based on some judgemental rules Week 9 Lecture Notes page 22 of 22

23 Heuristics - rules of thumb Rules based on experience often guide our search to those portions of the state space that somehow seem promising These are known as heuristics (rules of thumb). heuristics comes from heuriskein (Greek - to discover) A heuristic is a strategy for selectively searching a problem space or reducing the size of the problem space What common heristics can you think of in a game of noughts and crosses? heuristics are not fool-proof - but should be effective most of the time The greatest contribution of AI in problem solving is the introduction of heristics in searching State space search gives us a means of formalising the problem-solving process Heuristics allow us to infuse that formalism with intelligence Week 9 Lecture Notes page 23 of 23

24 Putting things in perspective - So far we ve been introduced to predicate calculus and Prolog. They provide a means of describing objects and relations in a problem domain Inference rule modus ponens P fi Q P Q allows us to infer new knowledge from these descriptions. These inferences define a space that is searched to find a problem solution Week 9 Lecture Notes page 24 of 24

Algorithms and Data Structures

Algorithms and Data Structures Algorithms and Data Structures Part 2: Data Structures PD Dr. rer. nat. habil. Ralf-Peter Mundani Computation in Engineering (CiE) Summer Term 2016 Overview general linked lists stacks queues trees 2 2

More information

CS104: Data Structures and Object-Oriented Design (Fall 2013) October 24, 2013: Priority Queues Scribes: CS 104 Teaching Team

CS104: Data Structures and Object-Oriented Design (Fall 2013) October 24, 2013: Priority Queues Scribes: CS 104 Teaching Team CS104: Data Structures and Object-Oriented Design (Fall 2013) October 24, 2013: Priority Queues Scribes: CS 104 Teaching Team Lecture Summary In this lecture, we learned about the ADT Priority Queue. A

More information

3 Abstract Data Types and Search

3 Abstract Data Types and Search 3 Abstract Data Types and Search Chapter Objectives Chapter Contents Prolog s graph search representations were described and built: Lists A recursive tree-walk algorithm The cut predicate,!, for Prolog

More information

Krishna Institute of Engineering & Technology, Ghaziabad Department of Computer Application MCA-213 : DATA STRUCTURES USING C

Krishna Institute of Engineering & Technology, Ghaziabad Department of Computer Application MCA-213 : DATA STRUCTURES USING C Tutorial#1 Q 1:- Explain the terms data, elementary item, entity, primary key, domain, attribute and information? Also give examples in support of your answer? Q 2:- What is a Data Type? Differentiate

More information

CS91.543 MidTerm Exam 4/1/2004 Name: KEY. Page Max Score 1 18 2 11 3 30 4 15 5 45 6 20 Total 139

CS91.543 MidTerm Exam 4/1/2004 Name: KEY. Page Max Score 1 18 2 11 3 30 4 15 5 45 6 20 Total 139 CS91.543 MidTerm Exam 4/1/2004 Name: KEY Page Max Score 1 18 2 11 3 30 4 15 5 45 6 20 Total 139 % INTRODUCTION, AI HISTORY AND AGENTS 1. [4 pts. ea.] Briefly describe the following important AI programs.

More information

Data Structures and Algorithms

Data Structures and Algorithms Data Structures and Algorithms CS245-2016S-06 Binary Search Trees David Galles Department of Computer Science University of San Francisco 06-0: Ordered List ADT Operations: Insert an element in the list

More information

Extending Data Processing Capabilities of Relational Database Management Systems.

Extending Data Processing Capabilities of Relational Database Management Systems. Extending Data Processing Capabilities of Relational Database Management Systems. Igor Wojnicki University of Missouri St. Louis Department of Mathematics and Computer Science 8001 Natural Bridge Road

More information

10CS35: Data Structures Using C

10CS35: Data Structures Using C CS35: Data Structures Using C QUESTION BANK REVIEW OF STRUCTURES AND POINTERS, INTRODUCTION TO SPECIAL FEATURES OF C OBJECTIVE: Learn : Usage of structures, unions - a conventional tool for handling a

More information

Throughput constraint for Synchronous Data Flow Graphs

Throughput constraint for Synchronous Data Flow Graphs Throughput constraint for Synchronous Data Flow Graphs *Alessio Bonfietti Michele Lombardi Michela Milano Luca Benini!"#$%&'()*+,-)./&0&20304(5 60,7&-8990,.+:&;/&."!?@A>&"'&=,0B+C. !"#$%&'()* Resource

More information

FUNDAMENTALS OF ARTIFICIAL INTELLIGENCE KNOWLEDGE REPRESENTATION AND NETWORKED SCHEMES

FUNDAMENTALS OF ARTIFICIAL INTELLIGENCE KNOWLEDGE REPRESENTATION AND NETWORKED SCHEMES Riga Technical University Faculty of Computer Science and Information Technology Department of Systems Theory and Design FUNDAMENTALS OF ARTIFICIAL INTELLIGENCE Lecture 7 KNOWLEDGE REPRESENTATION AND NETWORKED

More information

IAI : Expert Systems

IAI : Expert Systems IAI : Expert Systems John A. Bullinaria, 2005 1. What is an Expert System? 2. The Architecture of Expert Systems 3. Knowledge Acquisition 4. Representing the Knowledge 5. The Inference Engine 6. The Rete-Algorithm

More information

Introduction Solvability Rules Computer Solution Implementation. Connect Four. March 9, 2010. Connect Four

Introduction Solvability Rules Computer Solution Implementation. Connect Four. March 9, 2010. Connect Four March 9, 2010 is a tic-tac-toe like game in which two players drop discs into a 7x6 board. The first player to get four in a row (either vertically, horizontally, or diagonally) wins. The game was first

More information

Expert Systems : AI Course Lecture 35 36, notes, slides www.myreaders.info/, RC Chakraborty, e-mail rcchak@gmail.

Expert Systems : AI Course Lecture 35 36, notes, slides www.myreaders.info/, RC Chakraborty, e-mail rcchak@gmail. Expert Systems : AI Course Lecture 35 36, notes, slides www.myreaders.info/, RC Chakraborty, e-mail rcchak@gmail.com, June 01, 2010 www.myreaders.info/html/artificial_intelligence.html www.myreaders.info

More information

AN AI PLANNING APPROACH FOR GENERATING BIG DATA WORKFLOWS

AN AI PLANNING APPROACH FOR GENERATING BIG DATA WORKFLOWS AN AI PLANNING APPROACH FOR GENERATING BIG DATA WORKFLOWS Wesley Deneke 1, Wing-Ning Li 2, and Craig Thompson 2 1 Computer Science and Industrial Technology Department, Southeastern Louisiana University,

More information

5. A full binary tree with n leaves contains [A] n nodes. [B] log n 2 nodes. [C] 2n 1 nodes. [D] n 2 nodes.

5. A full binary tree with n leaves contains [A] n nodes. [B] log n 2 nodes. [C] 2n 1 nodes. [D] n 2 nodes. 1. The advantage of.. is that they solve the problem if sequential storage representation. But disadvantage in that is they are sequential lists. [A] Lists [B] Linked Lists [A] Trees [A] Queues 2. The

More information

Ordered Lists and Binary Trees

Ordered Lists and Binary Trees Data Structures and Algorithms Ordered Lists and Binary Trees Chris Brooks Department of Computer Science University of San Francisco Department of Computer Science University of San Francisco p.1/62 6-0:

More information

Logic in general. Inference rules and theorem proving

Logic in general. Inference rules and theorem proving Logical Agents Knowledge-based agents Logic in general Propositional logic Inference rules and theorem proving First order logic Knowledge-based agents Inference engine Knowledge base Domain-independent

More information

Functional Dependencies and Normalization

Functional Dependencies and Normalization Functional Dependencies and Normalization 5DV119 Introduction to Database Management Umeå University Department of Computing Science Stephen J. Hegner hegner@cs.umu.se http://www.cs.umu.se/~hegner Functional

More information

Web Data Extraction: 1 o Semestre 2007/2008

Web Data Extraction: 1 o Semestre 2007/2008 Web Data : Given Slides baseados nos slides oficiais do livro Web Data Mining c Bing Liu, Springer, December, 2006. Departamento de Engenharia Informática Instituto Superior Técnico 1 o Semestre 2007/2008

More information

Programming Languages

Programming Languages Programming Languages Qing Yi Course web site: www.cs.utsa.edu/~qingyi/cs3723 cs3723 1 A little about myself Qing Yi Ph.D. Rice University, USA. Assistant Professor, Department of Computer Science Office:

More information

The ProB Animator and Model Checker for B

The ProB Animator and Model Checker for B The ProB Animator and Model Checker for B A Tool Description Michael Leuschel and Michael Butler Department of Electronics and Computer Science University of Southampton Highfield, Southampton, SO17 1BJ,

More information

Understanding Video Lectures in a Flipped Classroom Setting. A Major Qualifying Project Report. Submitted to the Faculty

Understanding Video Lectures in a Flipped Classroom Setting. A Major Qualifying Project Report. Submitted to the Faculty 1 Project Number: DM3 IQP AAGV Understanding Video Lectures in a Flipped Classroom Setting A Major Qualifying Project Report Submitted to the Faculty Of Worcester Polytechnic Institute In partial fulfillment

More information

Questions 1 through 25 are worth 2 points each. Choose one best answer for each.

Questions 1 through 25 are worth 2 points each. Choose one best answer for each. Questions 1 through 25 are worth 2 points each. Choose one best answer for each. 1. For the singly linked list implementation of the queue, where are the enqueues and dequeues performed? c a. Enqueue in

More information

Artificial Intelligence

Artificial Intelligence Artificial Intelligence ICS461 Fall 2010 1 Lecture #12B More Representations Outline Logics Rules Frames Nancy E. Reed nreed@hawaii.edu 2 Representation Agents deal with knowledge (data) Facts (believe

More information

Scheduling Shop Scheduling. Tim Nieberg

Scheduling Shop Scheduling. Tim Nieberg Scheduling Shop Scheduling Tim Nieberg Shop models: General Introduction Remark: Consider non preemptive problems with regular objectives Notation Shop Problems: m machines, n jobs 1,..., n operations

More information

Sources: On the Web: Slides will be available on:

Sources: On the Web: Slides will be available on: C programming Introduction The basics of algorithms Structure of a C code, compilation step Constant, variable type, variable scope Expression and operators: assignment, arithmetic operators, comparison,

More information

PES Institute of Technology-BSC QUESTION BANK

PES Institute of Technology-BSC QUESTION BANK PES Institute of Technology-BSC Faculty: Mrs. R.Bharathi CS35: Data Structures Using C QUESTION BANK UNIT I -BASIC CONCEPTS 1. What is an ADT? Briefly explain the categories that classify the functions

More information

Expert Systems. A knowledge-based approach to intelligent systems. Intelligent System. Motivation. Approaches & Ingredients. Terminology.

Expert Systems. A knowledge-based approach to intelligent systems. Intelligent System. Motivation. Approaches & Ingredients. Terminology. Motivation Expert Systems A knowledge-based approach to intelligent systems Intelligent System Peter Lucas Department of Information and Knowledge Systems Institute for Computing and Information Sciences

More information

Satisfiability Checking

Satisfiability Checking Satisfiability Checking SAT-Solving Prof. Dr. Erika Ábrahám Theory of Hybrid Systems Informatik 2 WS 10/11 Prof. Dr. Erika Ábrahám - Satisfiability Checking 1 / 40 A basic SAT algorithm Assume the CNF

More information

DATA STRUCTURES USING C

DATA STRUCTURES USING C DATA STRUCTURES USING C QUESTION BANK UNIT I 1. Define data. 2. Define Entity. 3. Define information. 4. Define Array. 5. Define data structure. 6. Give any two applications of data structures. 7. Give

More information

Prolog A Tutorial Introduction James Lu Jerud J. Mead

Prolog A Tutorial Introduction James Lu Jerud J. Mead Prolog A Tutorial Introduction James Lu Jerud J. Mead Computer Science Department Bucknell University Lewisburg, PA 17387 1 Contents 1 Introduction 1 2 Easing into Prolog 2 2.1 Logic Programming.........................................

More information

Improving Knowledge-Based System Performance by Reordering Rule Sequences

Improving Knowledge-Based System Performance by Reordering Rule Sequences Improving Knowledge-Based System Performance by Reordering Rule Sequences Neli P. Zlatareva Department of Computer Science Central Connecticut State University 1615 Stanley Street New Britain, CT 06050

More information

Predicate logic Proofs Artificial intelligence. Predicate logic. SET07106 Mathematics for Software Engineering

Predicate logic Proofs Artificial intelligence. Predicate logic. SET07106 Mathematics for Software Engineering Predicate logic SET07106 Mathematics for Software Engineering School of Computing Edinburgh Napier University Module Leader: Uta Priss 2010 Copyright Edinburgh Napier University Predicate logic Slide 1/24

More information

UNIVERSITY OF LONDON (University College London) M.Sc. DEGREE 1998 COMPUTER SCIENCE D16: FUNCTIONAL PROGRAMMING. Answer THREE Questions.

UNIVERSITY OF LONDON (University College London) M.Sc. DEGREE 1998 COMPUTER SCIENCE D16: FUNCTIONAL PROGRAMMING. Answer THREE Questions. UNIVERSITY OF LONDON (University College London) M.Sc. DEGREE 1998 COMPUTER SCIENCE D16: FUNCTIONAL PROGRAMMING Answer THREE Questions. The Use of Electronic Calculators: is NOT Permitted. -1- Answer Question

More information

DIABLO VALLEY COLLEGE CATALOG 2014-2015

DIABLO VALLEY COLLEGE CATALOG 2014-2015 COMPUTER SCIENCE COMSC The computer science department offers courses in three general areas, each targeted to serve students with specific needs: 1. General education students seeking a computer literacy

More information

3. The Junction Tree Algorithms

3. The Junction Tree Algorithms A Short Course on Graphical Models 3. The Junction Tree Algorithms Mark Paskin mark@paskin.org 1 Review: conditional independence Two random variables X and Y are independent (written X Y ) iff p X ( )

More information

Benchmark Databases for Testing Big-Data Analytics In Cloud Environments

Benchmark Databases for Testing Big-Data Analytics In Cloud Environments North Carolina State University Graduate Program in Operations Research Benchmark Databases for Testing Big-Data Analytics In Cloud Environments Rong Huang Rada Chirkova Yahya Fathi ICA CON 2012 April

More information

(Refer Slide Time: 2:03)

(Refer Slide Time: 2:03) Control Engineering Prof. Madan Gopal Department of Electrical Engineering Indian Institute of Technology, Delhi Lecture - 11 Models of Industrial Control Devices and Systems (Contd.) Last time we were

More information

Binary Coded Web Access Pattern Tree in Education Domain

Binary Coded Web Access Pattern Tree in Education Domain Binary Coded Web Access Pattern Tree in Education Domain C. Gomathi P.G. Department of Computer Science Kongu Arts and Science College Erode-638-107, Tamil Nadu, India E-mail: kc.gomathi@gmail.com M. Moorthi

More information

131-1. Adding New Level in KDD to Make the Web Usage Mining More Efficient. Abstract. 1. Introduction [1]. 1/10

131-1. Adding New Level in KDD to Make the Web Usage Mining More Efficient. Abstract. 1. Introduction [1]. 1/10 1/10 131-1 Adding New Level in KDD to Make the Web Usage Mining More Efficient Mohammad Ala a AL_Hamami PHD Student, Lecturer m_ah_1@yahoocom Soukaena Hassan Hashem PHD Student, Lecturer soukaena_hassan@yahoocom

More information

Contents. System Development Models and Methods. Design Abstraction and Views. Synthesis. Control/Data-Flow Models. System Synthesis Models

Contents. System Development Models and Methods. Design Abstraction and Views. Synthesis. Control/Data-Flow Models. System Synthesis Models System Development Models and Methods Dipl.-Inf. Mirko Caspar Version: 10.02.L.r-1.0-100929 Contents HW/SW Codesign Process Design Abstraction and Views Synthesis Control/Data-Flow Models System Synthesis

More information

6-1. Process Modeling

6-1. Process Modeling 6-1 Process Modeling Key Definitions Process model A formal way of representing how a business system operates Illustrates the activities that are performed and how data moves among them Data flow diagramming

More information

060010706- Artificial Intelligence 2014

060010706- Artificial Intelligence 2014 Module-1 Introduction Short Answer Questions: 1. Define the term Artificial Intelligence (AI). 2. List the two general approaches used by AI researchers. 3. State the basic objective of bottom-up approach

More information

Graham Kemp (telephone 772 54 11, room 6475 EDIT) The examiner will visit the exam room at 15:00 and 17:00.

Graham Kemp (telephone 772 54 11, room 6475 EDIT) The examiner will visit the exam room at 15:00 and 17:00. CHALMERS UNIVERSITY OF TECHNOLOGY Department of Computer Science and Engineering Examination in Databases, TDA357/DIT620 Tuesday 17 December 2013, 14:00-18:00 Examiner: Results: Exam review: Grades: Graham

More information

INTERMEDIATE QUALIFICATION

INTERMEDIATE QUALIFICATION PROFESSIONAL QUALIFICATION SCHEME INTERMEDIATE QUALIFICATION SERVICE LIFECYCLE CONTINUAL SERVICE IMPROVEMENT CERTIFICATE SYLLABUS Page 2 of 18 Document owner The Official ITIL Accreditor Contents CONTINUAL

More information

8. KNOWLEDGE BASED SYSTEMS IN MANUFACTURING SIMULATION

8. KNOWLEDGE BASED SYSTEMS IN MANUFACTURING SIMULATION - 1-8. KNOWLEDGE BASED SYSTEMS IN MANUFACTURING SIMULATION 8.1 Introduction 8.1.1 Summary introduction The first part of this section gives a brief overview of some of the different uses of expert systems

More information

Relational Databases

Relational Databases Relational Databases Jan Chomicki University at Buffalo Jan Chomicki () Relational databases 1 / 18 Relational data model Domain domain: predefined set of atomic values: integers, strings,... every attribute

More information

So today we shall continue our discussion on the search engines and web crawlers. (Refer Slide Time: 01:02)

So today we shall continue our discussion on the search engines and web crawlers. (Refer Slide Time: 01:02) Internet Technology Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No #39 Search Engines and Web Crawler :: Part 2 So today we

More information

Unit 4.3 - Storage Structures 1. Storage Structures. Unit 4.3

Unit 4.3 - Storage Structures 1. Storage Structures. Unit 4.3 Storage Structures Unit 4.3 Unit 4.3 - Storage Structures 1 The Physical Store Storage Capacity Medium Transfer Rate Seek Time Main Memory 800 MB/s 500 MB Instant Hard Drive 10 MB/s 120 GB 10 ms CD-ROM

More information

Termination Checking: Comparing Structural Recursion and Sized Types by Examples

Termination Checking: Comparing Structural Recursion and Sized Types by Examples Termination Checking: Comparing Structural Recursion and Sized Types by Examples David Thibodeau Decemer 3, 2011 Abstract Termination is an important property for programs and is necessary for formal proofs

More information

WHAT ARE MATHEMATICAL PROOFS AND WHY THEY ARE IMPORTANT?

WHAT ARE MATHEMATICAL PROOFS AND WHY THEY ARE IMPORTANT? WHAT ARE MATHEMATICAL PROOFS AND WHY THEY ARE IMPORTANT? introduction Many students seem to have trouble with the notion of a mathematical proof. People that come to a course like Math 216, who certainly

More information

Masters in Computing and Information Technology

Masters in Computing and Information Technology Masters in Computing and Information Technology Programme Requirements Taught Element, and PG Diploma in Computing and Information Technology: 120 credits: IS5101 CS5001 or CS5002 CS5003 up to 30 credits

More information

Course Outline Department of Computing Science Faculty of Science. COMP 3710-3 Applied Artificial Intelligence (3,1,0) Fall 2015

Course Outline Department of Computing Science Faculty of Science. COMP 3710-3 Applied Artificial Intelligence (3,1,0) Fall 2015 Course Outline Department of Computing Science Faculty of Science COMP 710 - Applied Artificial Intelligence (,1,0) Fall 2015 Instructor: Office: Phone/Voice Mail: E-Mail: Course Description : Students

More information

Reputation Network Analysis for Email Filtering

Reputation Network Analysis for Email Filtering Reputation Network Analysis for Email Filtering Jennifer Golbeck, James Hendler University of Maryland, College Park MINDSWAP 8400 Baltimore Avenue College Park, MD 20742 {golbeck, hendler}@cs.umd.edu

More information

Process Models and Metrics

Process Models and Metrics Process Models and Metrics PROCESS MODELS AND METRICS These models and metrics capture information about the processes being performed We can model and measure the definition of the process process performers

More information

Package hive. January 10, 2011

Package hive. January 10, 2011 Package hive January 10, 2011 Version 0.1-9 Date 2011-01-09 Title Hadoop InteractiVE Description Hadoop InteractiVE, is an R extension facilitating distributed computing via the MapReduce paradigm. It

More information

Private to Public Overflow between IP Media Gateways

Private to Public Overflow between IP Media Gateways 1 of 5 04/10/2013 15:29 Version 02, October 2006 Private to Public Overflow between IP Media Gateways Detailed description Table of contents Steps of an Overflow Overflow to a DID Set Overflow to DID Set

More information

Lecture Notes on Database Normalization

Lecture Notes on Database Normalization Lecture Notes on Database Normalization Chengkai Li Department of Computer Science and Engineering The University of Texas at Arlington April 15, 2012 I decided to write this document, because many students

More information

Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows

Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows TECHNISCHE UNIVERSITEIT EINDHOVEN Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows Lloyd A. Fasting May 2014 Supervisors: dr. M. Firat dr.ir. M.A.A. Boon J. van Twist MSc. Contents

More information

CompSci-61B, Data Structures Final Exam

CompSci-61B, Data Structures Final Exam Your Name: CompSci-61B, Data Structures Final Exam Your 8-digit Student ID: Your CS61B Class Account Login: This is a final test for mastery of the material covered in our labs, lectures, and readings.

More information

root node level: internal node edge leaf node CS@VT Data Structures & Algorithms 2000-2009 McQuain

root node level: internal node edge leaf node CS@VT Data Structures & Algorithms 2000-2009 McQuain inary Trees 1 A binary tree is either empty, or it consists of a node called the root together with two binary trees called the left subtree and the right subtree of the root, which are disjoint from each

More information

Introduction. The Quine-McCluskey Method Handout 5 January 21, 2016. CSEE E6861y Prof. Steven Nowick

Introduction. The Quine-McCluskey Method Handout 5 January 21, 2016. CSEE E6861y Prof. Steven Nowick CSEE E6861y Prof. Steven Nowick The Quine-McCluskey Method Handout 5 January 21, 2016 Introduction The Quine-McCluskey method is an exact algorithm which finds a minimum-cost sum-of-products implementation

More information

Decision Making under Uncertainty

Decision Making under Uncertainty 6.825 Techniques in Artificial Intelligence Decision Making under Uncertainty How to make one decision in the face of uncertainty Lecture 19 1 In the next two lectures, we ll look at the question of how

More information

Reusable Knowledge-based Components for Building Software. Applications: A Knowledge Modelling Approach

Reusable Knowledge-based Components for Building Software. Applications: A Knowledge Modelling Approach Reusable Knowledge-based Components for Building Software Applications: A Knowledge Modelling Approach Martin Molina, Jose L. Sierra, Jose Cuena Department of Artificial Intelligence, Technical University

More information

normalisation Goals: Suppose we have a db scheme: is it good? define precise notions of the qualities of a relational database scheme

normalisation Goals: Suppose we have a db scheme: is it good? define precise notions of the qualities of a relational database scheme Goals: Suppose we have a db scheme: is it good? Suppose we have a db scheme derived from an ER diagram: is it good? define precise notions of the qualities of a relational database scheme define algorithms

More information

Some Prolog Examples

Some Prolog Examples 1 Family Relationships Some Prolog Examples Here are some selected family relationships assuming a database of facts for the predicates parent/2, male/1 and female/1 mother(x,y) :- parent(x,y), female(x).

More information

From Last Time: Remove (Delete) Operation

From Last Time: Remove (Delete) Operation CSE 32 Lecture : More on Search Trees Today s Topics: Lazy Operations Run Time Analysis of Binary Search Tree Operations Balanced Search Trees AVL Trees and Rotations Covered in Chapter of the text From

More information

Automatic Test Data Synthesis using UML Sequence Diagrams

Automatic Test Data Synthesis using UML Sequence Diagrams Vol. 09, No. 2, March April 2010 Automatic Test Data Synthesis using UML Sequence Diagrams Ashalatha Nayak and Debasis Samanta School of Information Technology Indian Institute of Technology, Kharagpur

More information

Automation of Library (Codes) Development for Content Management System (CMS)

Automation of Library (Codes) Development for Content Management System (CMS) Automation of Library (Codes) Development for Content Management System (CMS) Mustapha Mutairu Omotosho Department of Computer Science, University Of Ilorin, Ilorin Nigeria Balogun Abdullateef Oluwagbemiga

More information

ALLIED PAPER : DISCRETE MATHEMATICS (for B.Sc. Computer Technology & B.Sc. Multimedia and Web Technology)

ALLIED PAPER : DISCRETE MATHEMATICS (for B.Sc. Computer Technology & B.Sc. Multimedia and Web Technology) ALLIED PAPER : DISCRETE MATHEMATICS (for B.Sc. Computer Technology & B.Sc. Multimedia and Web Technology) Subject Description: This subject deals with discrete structures like set theory, mathematical

More information

IV. ALGEBRAIC CONCEPTS

IV. ALGEBRAIC CONCEPTS IV. ALGEBRAIC CONCEPTS Algebra is the language of mathematics. Much of the observable world can be characterized as having patterned regularity where a change in one quantity results in changes in other

More information

QuickBooks 2010 Installation Guide

QuickBooks 2010 Installation Guide QuickBooks 2010 Installation Guide This article provides instructions for installing QuickBooks 2010 on a single computer and in a network environment. QuickBooks Elements Several elements are involved

More information

Sample Questions Csci 1112 A. Bellaachia

Sample Questions Csci 1112 A. Bellaachia Sample Questions Csci 1112 A. Bellaachia Important Series : o S( N) 1 2 N N i N(1 N) / 2 i 1 o Sum of squares: N 2 N( N 1)(2N 1) N i for large N i 1 6 o Sum of exponents: N k 1 k N i for large N and k

More information

Vector storage and access; algorithms in GIS. This is lecture 6

Vector storage and access; algorithms in GIS. This is lecture 6 Vector storage and access; algorithms in GIS This is lecture 6 Vector data storage and access Vectors are built from points, line and areas. (x,y) Surface: (x,y,z) Vector data access Access to vector

More information

1) The postfix expression for the infix expression A+B*(C+D)/F+D*E is ABCD+*F/DE*++

1) The postfix expression for the infix expression A+B*(C+D)/F+D*E is ABCD+*F/DE*++ Answer the following 1) The postfix expression for the infix expression A+B*(C+D)/F+D*E is ABCD+*F/DE*++ 2) Which data structure is needed to convert infix notations to postfix notations? Stack 3) The

More information

ML for the Working Programmer

ML for the Working Programmer ML for the Working Programmer 2nd edition Lawrence C. Paulson University of Cambridge CAMBRIDGE UNIVERSITY PRESS CONTENTS Preface to the Second Edition Preface xiii xv 1 Standard ML 1 Functional Programming

More information

Domain Name System Server Round-Robin Functionality for the Cisco AS5800

Domain Name System Server Round-Robin Functionality for the Cisco AS5800 Domain Name System Server Round-Robin Functionality for the Cisco AS5800 This feature module describes Domain Name System (DNS) server round-robin functionality for the Cisco AS5800 universal access server.

More information

Artificial Intelligence. Class: 3 rd

Artificial Intelligence. Class: 3 rd Artificial Intelligence Class: 3 rd Teaching scheme: 4 hours lecture credits: Course description: This subject covers the fundamentals of Artificial Intelligence including programming in logic, knowledge

More information

Terms and Definitions for CMS Administrators, Architects, and Developers

Terms and Definitions for CMS Administrators, Architects, and Developers Sitecore CMS 6 Glossary Rev. 081028 Sitecore CMS 6 Glossary Terms and Definitions for CMS Administrators, Architects, and Developers Table of Contents Chapter 1 Introduction... 3 1.1 Glossary... 4 Page

More information

CS 2112 Spring 2014. 0 Instructions. Assignment 3 Data Structures and Web Filtering. 0.1 Grading. 0.2 Partners. 0.3 Restrictions

CS 2112 Spring 2014. 0 Instructions. Assignment 3 Data Structures and Web Filtering. 0.1 Grading. 0.2 Partners. 0.3 Restrictions CS 2112 Spring 2014 Assignment 3 Data Structures and Web Filtering Due: March 4, 2014 11:59 PM Implementing spam blacklists and web filters requires matching candidate domain names and URLs very rapidly

More information

Expanding the CASEsim Framework to Facilitate Load Balancing of Social Network Simulations

Expanding the CASEsim Framework to Facilitate Load Balancing of Social Network Simulations Expanding the CASEsim Framework to Facilitate Load Balancing of Social Network Simulations Amara Keller, Martin Kelly, Aaron Todd 4 June 2010 Abstract This research has two components, both involving the

More information

Fuzzy Knowledge Base System for Fault Tracing of Marine Diesel Engine

Fuzzy Knowledge Base System for Fault Tracing of Marine Diesel Engine Fuzzy Knowledge Base System for Fault Tracing of Marine Diesel Engine 99 Fuzzy Knowledge Base System for Fault Tracing of Marine Diesel Engine Faculty of Computers and Information Menufiya University-Shabin

More information

Data Structure [Question Bank]

Data Structure [Question Bank] Unit I (Analysis of Algorithms) 1. What are algorithms and how they are useful? 2. Describe the factor on best algorithms depends on? 3. Differentiate: Correct & Incorrect Algorithms? 4. Write short note:

More information

2.1 Increasing, Decreasing, and Piecewise Functions; Applications

2.1 Increasing, Decreasing, and Piecewise Functions; Applications 2.1 Increasing, Decreasing, and Piecewise Functions; Applications Graph functions, looking for intervals on which the function is increasing, decreasing, or constant, and estimate relative maxima and minima.

More information

Primes in Sequences. Lee 1. By: Jae Young Lee. Project for MA 341 (Number Theory) Boston University Summer Term I 2009 Instructor: Kalin Kostadinov

Primes in Sequences. Lee 1. By: Jae Young Lee. Project for MA 341 (Number Theory) Boston University Summer Term I 2009 Instructor: Kalin Kostadinov Lee 1 Primes in Sequences By: Jae Young Lee Project for MA 341 (Number Theory) Boston University Summer Term I 2009 Instructor: Kalin Kostadinov Lee 2 Jae Young Lee MA341 Number Theory PRIMES IN SEQUENCES

More information

Add Approval Workflow

Add Approval Workflow Add Approval Workflow Add Approval workflow to a list or library The workflows included with SharePoint products are features that you can use to automate your business processes, making them both more

More information

COURSE DESCRIPTION FOR THE COMPUTER INFORMATION SYSTEMS CURRICULUM

COURSE DESCRIPTION FOR THE COMPUTER INFORMATION SYSTEMS CURRICULUM COURSE DESCRIPTION FOR THE COMPUTER INFORMATION SYSTEMS CURRICULUM Course Code 2505100 Computing Fundamentals Pass/ Fail Prerequisite None This course includes an introduction to the use of the computer

More information

Data warehousing with PostgreSQL

Data warehousing with PostgreSQL Data warehousing with PostgreSQL Gabriele Bartolini http://www.2ndquadrant.it/ European PostgreSQL Day 2009 6 November, ParisTech Telecom, Paris, France Audience

More information

Index support for regular expression search. Alexander Korotkov PGCon 2012, Ottawa

Index support for regular expression search. Alexander Korotkov PGCon 2012, Ottawa Index support for regular expression search Alexander Korotkov PGCon 2012, Ottawa Introduction What is regular expressions? Regular expressions are: powerful tool for text processing based on formal language

More information

First contact with Lear

First contact with Lear First contact with Lear Dominique Bouthinon & Henry Soldano L.I.P.N, UMR-CNRS 7030, Université Paris-Nord, 93430 Villetaneuse, France dominique.bouthinon@lipn.univ-paris13.fr henry.soldano@lipn.univ-paris13.fr

More information

Tel Scripting for Cisco IOS

Tel Scripting for Cisco IOS Tel Scripting for Cisco IOS Ray Blair, CCIE No. 7050 Arvind Durai, CCIE No. 7016 John Lautmann Cisco Press 800 East 96th Street Indianapolis, IN 46240 Tel Scripting for Cisco IOS Contents Introduction

More information

SFWR 4C03: Computer Networks & Computer Security Jan 3-7, 2005. Lecturer: Kartik Krishnan Lecture 1-3

SFWR 4C03: Computer Networks & Computer Security Jan 3-7, 2005. Lecturer: Kartik Krishnan Lecture 1-3 SFWR 4C03: Computer Networks & Computer Security Jan 3-7, 2005 Lecturer: Kartik Krishnan Lecture 1-3 Communications and Computer Networks The fundamental purpose of a communication network is the exchange

More information

Course 395: Machine Learning

Course 395: Machine Learning Course 395: Machine Learning Lecturers: Maja Pantic (maja@doc.ic.ac.uk) Stavros Petridis (sp104@doc.ic.ac.uk) Goal (Lectures): To present basic theoretical concepts and key algorithms that form the core

More information

Computational Geometry Lab: FEM BASIS FUNCTIONS FOR A TETRAHEDRON

Computational Geometry Lab: FEM BASIS FUNCTIONS FOR A TETRAHEDRON Computational Geometry Lab: FEM BASIS FUNCTIONS FOR A TETRAHEDRON John Burkardt Information Technology Department Virginia Tech http://people.sc.fsu.edu/ jburkardt/presentations/cg lab fem basis tetrahedron.pdf

More information

CpSc810 Goddard Notes Chapter 7. Expert Systems

CpSc810 Goddard Notes Chapter 7. Expert Systems CpSc810 Goddard Notes Chapter 7 Expert Systems Expert systems are designed to provide expert quality performance on domainspecific problems. In this chapter we look at the structure of expert systems focusing

More information

Verification of Triple Modular Redundancy (TMR) Insertion for Reliable and Trusted Systems

Verification of Triple Modular Redundancy (TMR) Insertion for Reliable and Trusted Systems Verification of Triple Modular Redundancy (TMR) Insertion for Reliable and Trusted Systems Melanie Berg 1, Kenneth LaBel 2 1.AS&D in support of NASA/GSFC Melanie.D.Berg@NASA.gov 2. NASA/GSFC Kenneth.A.LaBel@NASA.gov

More information

020112 2008 Blackbaud, Inc. This publication, or any part thereof, may not be reproduced or transmitted in any form or by any means, electronic, or

020112 2008 Blackbaud, Inc. This publication, or any part thereof, may not be reproduced or transmitted in any form or by any means, electronic, or Point of Sale Guide 020112 2008 Blackbaud, Inc. This publication, or any part thereof, may not be reproduced or transmitted in any form or by any means, electronic, or mechanical, including photocopying,

More information

3. Mathematical Induction

3. Mathematical Induction 3. MATHEMATICAL INDUCTION 83 3. Mathematical Induction 3.1. First Principle of Mathematical Induction. Let P (n) be a predicate with domain of discourse (over) the natural numbers N = {0, 1,,...}. If (1)

More information

CSE 326: Data Structures B-Trees and B+ Trees

CSE 326: Data Structures B-Trees and B+ Trees Announcements (4//08) CSE 26: Data Structures B-Trees and B+ Trees Brian Curless Spring 2008 Midterm on Friday Special office hour: 4:-5: Thursday in Jaech Gallery (6 th floor of CSE building) This is

More information