Expert Systems Knowledge Based Systems

Size: px
Start display at page:

Download "Expert Systems Knowledge Based Systems"

Transcription

1 Expert Systems Knowledge Based Systems ES-1

2 Medical diagnosis» Disease identification Example Areas of Use ES-2

3 Example Areas of Use 2 Medical diagnosis» Disease identification Natural resource exploration» Analyzing geological data ES-3

4 Example Areas of Use Medical diagnosis» Disease identification Natural resource exploration» Analyzing geological data Customizing complex equipment» Computer systems ES-4

5 Properties Behaves like an expert in a narrow area ES-5

6 Properties 2 Behaves like an expert in a narrow area Has a knowledge base of the information in the area ES-6

7 Properties 3 Behaves like an expert in a narrow area Has a knowledge base of the information in the area Ability to explain its behaviour ES-7

8 Properties 4 Behaves like an expert in a narrow area Has a knowledge base of the information in the area Ability to explain its behaviour Ability to deal with uncertain data ES-8

9 Structure Knowledge base Inference Engine User Interface Shell ES-9

10 If then else rules The most popular form of knowledge representation Typical types of rules» If condition P holds then conclude C» If situation S exists then do action A» If conditions P and Q hold then conditions C1 and C2 cannot hold ES-10

11 If then else examples See Figures 15.2, 15.3 & 15.4 in Bratko ES-11

12 Figure 15.5 in Bratko Kitchen leak example» How do you read the graph? ES-12

13 Kitchen leak example 2 Figure 15.5 in Bratko» Can see how if then else rules can represent the graph on the left hand side» Note the use of AND / OR for inputs > Arc represents AND of inputs > No arc represents OR of inputs ES-13

14 Properties of if then else rules Moduarity» Each rule or group of rules encapsulates a part of the domain ES-14

15 Properties of if then else rules 2 Moduarity» Each rule or group of rules encapsulates a part of the domain Incrementabiity» Add / delete rules as needed ES-15

16 Properties of if then else rules 3 Moduarity» Each rule or group of rules encapsulates a part of the domain Incrementabiity» Add / delete rules as needed Modifiability» Can modify small parts of the knowledge as needed ES-16

17 Properties of if then else rules 4 Moduarity» Each rule or group of rules encapsulates a part of the domain Incrementabiity» Add / delete rules as needed Modifiability» Can modify small parts of the knowledge as needed Supports transparency» Relatively easy to explain and guide system s behaviour ES-17

18 Probabilistic behaviour Can extend rule syntax to include probability information» If condition A then conclude C with probability P» See Figure 15.3 in Bratko ES-18

19 Inference Engine» With if then else rules there are two ways of making inferences.» What are they? ES-19

20 Inference Engine 2» With if then else rules there are two ways of making inferences.» What are they? > Backward chaining > Forward chaining ES-20

21 Backward chaining» What is backward chaining? ES-21

22 Backward chaining 2» What is backward chaining? > The way Prolog works from conclusions to the base facts, the confirmed facts, the evidence > See pages ES-22

23 Problems with backward chaining» What are the problems with Prolog and backward chaining? ES-23

24 Problems with backward chaining 2» What are the problems with backward chaining? > Syntax is not suitable of people unfamiliar with Prolog > Cannot distinguish knowledge base from the rest of the system ES-24

25 Problems with backward chaining 3» What are the problems with backward chaining? > Syntax is not suitable of people unfamiliar with Prolog > Cannot distinguish knowledge base from the rest of the system» How can we overcome these problems? ES-25

26 Problems with backward chaining 4» What are the problems with backward chaining? > Syntax is not suitable of people unfamiliar with Prolog > Cannot distinguish knowledge base from the rest of the system» How can we overcome these problems? > Customize the syntax with new operators Bottom of page 349 ES-26

27 Problems with backward chaining 5» What do we need to do? ES-27

28 Problems with backward chaining 6» What do we need to do? > Build an inference engine for the new rules Figure 15.6 and program text ES-28

29 Forward chaining» What is forward chaining? ES-29

30 Forward chaining 2» What is forward chaining? > Work from the base facts, the confirmed facts, the evidence, to the conclusion ES-30

31 Forward chaining 3» What is forward chaining? > Work from the base facts, the confirmed facts, the evidence, to the conclusion» What do we need to do? ES-31

32 Forward chaining 4» What is forward chaining? > Work from the base facts, the confirmed facts, the evidence, to the conclusion» What do we need to do? > Build a forward chained inference engine Figure 15.7 and program text ES-32

33 Abstract view Forward vs backward chaining Backward chaining < input information à à derived information > Forward chaining See Figure 15.5 ES-33

34 Forward vs backward chaining 2 More concrete views» data à à goals» evidence à à hypotheses» findings, observations à à explanations, diagnosis» manifestations à à diagnoses, causes ES-34

35 Forward chaining? Backward chaining? Which is better ES-35

36 Depends upon the problem Which is better ES-36

37 Which is better 2 Depends upon the problem» Check if a hypothesis is true > Work backward ES-37

38 Which is better 3 Depends upon the problem» Check if a hypothesis is true > Work backward» Many hypotheses, cannot choose > Work forward ES-38

39 Which is better 3 Depends upon the problem» Check if a hypothesis is true > Work backward» Many hypotheses, cannot choose > Work forward Forward is better when» Accumulating evidence, data ES-39

40 Shape heuristic» When input information is sparse relative to derived information» Work forward or backward? ES-40

41 Shape heuristic 2» When input information is sparse relative to derived information» Work forward or backward? > Use forward chaining ES-41

42 Shape heuristic 3» When input information is sparse relative to derived information» Work forward or backward? > Use forward chaining» When input information is rich relative to derived information» Work forward or backward? ES-42

43 Shape heuristic 5» When input information is sparse relative to derived information» Work forward or backward? > Use forward chaining» When input information is rich relative to derived information» Work forward or backward? > Use backward chaining ES-43

44 Reality Do we work forward or backward? ES-44

45 Reality 2 As tasks get more complex» Better to interleave forward and backward chaining ES-45

46 Reality Example Doctor uses initial observations, evidence to form hypothesis ES-46

47 Reality Example 2 Doctor uses initial observations, evidence to form hypothesis» Forward direction ES-47

48 Reality Example 3 Doctor uses initial observations, evidence to form hypothesis» Forward direction Pursues most likely hypothesis ES-48

49 Reality Example 4 Doctor uses initial observations, evidence to form hypothesis» Forward direction Pursues most likely hypothesis» Backward direction to find if there is confirming evidence ES-49

50 Reality Example 5 Doctor uses initial observations, evidence to form hypothesis» Forward direction Pursues most likely hypothesis» Backward direction to find if there is confirming evidence Can lead to gathering more evidence ES-50

51 Reality Example 6 Doctor uses initial observations, evidence to form hypothesis» Forward direction Pursues most likely hypothesis» Backward direction to find if there is confirming evidence Can lead to gathering more evidence, need new hypothesis» Forward direction, again ES-51

52 Reality Example 2 Top page 353 ES-52

53 Generating explanations» There are two types of explanation What are they? ES-53

54 Generating explanations» There are two types of explanation What are they? > How > Why ES-54

55 Generating explanations how How did you find the answer?» What do you present? ES-55

56 Generating explanations how 2 How did you find the answer?» What do you present? > Typically present a path trace ES-56

57 Generating explanations how 3 How did you find the answer?» What do you present? > Typically present a path trace» There is a problem in the kitchen, which was concluded from the hall being wet and the bathroom dry > And» No water came from the outside, which was concluded from the window being closed ES-57

58 Proof tree The how answer is to print out the proof tree» Top page 354, Figure 15.8 > Given program text > Compare with Figure 15.6 backward chained interpreter ES-58

59 Proof tree 2 The how answer is to print out the proof tree» Top page 354, Figure 15.8 > Given program text > Compare with Figure 15.6 backward chained interpreter The main work is printing the result in a readable format ES-59

60 Generating explanations why The why explanation is required during the reasoning process» What do you present? ES-60

61 Generating explanations why 2 The why explanation is required during the reasoning process» What do you present? > The system asks the user for information ES-61

62 Generating explanations why 3 The why explanation is required during the reasoning process» The system asks the user for information» The user may ask why ES-62

63 Generating explanations why 4 The why explanation is required during the reasoning process» The system asks the user for information» The user may ask why» The system then gives an explanation ES-63

64 Generating explanations why 5 The why explanation is required during the reasoning process» The system asks the user for information» The user may ask why» The system then gives an explanation > Pages ES-64

65 Generating explanations why 5 The why explanation is required during the reasoning process» The system asks the user for information» The user may ask why» The system then gives an explanation > Pages > Figure 15.9 and program text ES-65

66 On introducing uncertainty Chapter 15 introduces an ad hoc way of dealing with probabilities ES-66

67 On introducing uncertainty 2 Chapter 15 introduces an ad hoc way of dealing with probabilities» We will not look at these methods ES-67

68 On introducing uncertainty 3 Chapter 15 introduces an ad hoc way of dealing with probabilities» We will not look at these methods» We defer to Chapter 16 where we handle probabilities in a proper mathematical way ES-68

69 On introducing uncertainty 4 Chapter 15 introduces an ad hoc way of dealing with probabilities» We will not look at these methods» We defer to Chapter 16 where we handle probabilities in a proper mathematical way > Use Bayesian networks ES-69

70 On introducing uncertainty 5 Chapter 15 introduces an ad hoc way of dealing with probabilities» We will not look at these methods» We defer to Chapter 16 where we handle probabilities in a proper mathematical way > Use Bayesian networks > A sound and correct way of dealing with probability and uncertainty ES-70

71 On introducing uncertainty 6 Chapter 15 introduces an ad hoc way of dealing with probabilities» We will not look at these methods» We defer to Chapter 16 where we handle probabilities in a proper mathematical way > Use Bayesian networks > A sound and correct way of dealing with probability and uncertainty > Modern approach ES-71

72 Semantic networks & frames Structure facts so as to elicit information ES-72

73 Semantic networks & frames 2 Structure facts so as to elicit information Introduce concepts that were adapted by object-oriented programming ES-73

74 Semantic networks & frames 3 Structure facts so as to elicit information Introduce concepts that were adapted by object-oriented programming Amounts to adopting a particular style of programming and organizing a program ES-74

75 Semantic networks & frames 4 Structure facts so as to elicit information Introduce concepts that were adapted by object-oriented programming Amounts to adopting a particular style of programming and organizing a program» Requires discipline > The programming environment does not directly support the style ES-75

76 Semantic networks Consist of» Entities ES-76

77 Semantic networks 2 Consist of» Entities» Relations between Entities ES-77

78 Semantic networks 3 Consist of» Entities» Relations between Entities» Some similarity with Entity-Relation model in databases ES-78

79 Semantic networks 4 Consists of» Entities» Relations between Entities» Some similarity with Entity-Relation model in databases» A graph representation is used ES-79

80 Page 361 Bratko, E4 Example semantic network ES-80

81 Example semantic network How would the graph be represented in Prolog? ES-81

82 Semantic method representation The graph is represented in Prolog as a set of facts» Functor a relation name» Arguments are the entities at the head and tail of a relation moving_method (kiwi, walk) colour ( kiwi, brown) is_a ( Kim, kiwi) active_at ( kiwi, night) ES-82

83 Inheritance representation How would inheritance be represented? ES-83

84 Inheritance representation Inheritance can be represented as a custom rule for each relationship moving_method ( X, Method ) :- is_a ( X, SuperX ), moving_method ( SuperX, Method). ES-84

85 Inheritance representation Inheritance can be represented as a custom rule for each relationship moving_method ( X, Method ) :- is_a ( X, SuperX ), moving_method ( SuperX, Method). What is the problem with this? ES-85

86 Inheritance representation 2 Inheritance can be represented as a custom rule for each relationship moving_method ( X, Method ) :- is_a ( X, SuperX ), moving_method ( SuperX, Method). Cumbersome to use extensively ES-86

87 Inheritance representation 3 Inheritance can be represented as a custom rule for each relationship moving_method ( X, Method ) :- is_a ( X, SuperX ), moving_method ( SuperX, Method). Cumbersome to use extensively» Need a separate rule for each relation ES-87

88 Inheritance representation 3 Inheritance can be represented as a custom rule for each relationship moving_method ( X, Method ) :- is_a ( X, SuperX ), moving_method ( SuperX, Method). Cumbersome to use extensively» Need a separate rule for each relation How can we solve the problem? ES-88

89 Inheritance representation 2 A better way is to have a general rule for is_a based on facts» Argument to fact is a compound term > relation_name ( Arg1, Arg2) fact ( Fact ) :- Fact,!. fact ( Fact ) :- Fact =.. [ Relation, Arg1, Arg2 ], is_a ( Arg1, SuperArg ), SuperFact =.. [ Relation, SuperArg, Arg2 ], fact ( SuperFact ). ES-89

90 Frames A frame is data structure whose components are slots ES-90

91 Frames 2 A frame is data structure whose components are slots Slots have a name and a value ES-91

92 Frames 3 A frame is data structure whose components are slots Slots have a name and a value FRAME: bird a_kind_of: animal moving_method: fly active_at: daylight ES-92

93 Frame representation How can a frame be represented in Prolog? FRAME: bird a_kind_of: animal moving_method: fly active_at: daylight ES-93

94 Frame representation in Prolog The frame name is the functor for a set of predicates. The arguments of the predicate are» The slot name» The slot value bird ( a_kind_of, animal ). bird ( moving_method, fly ). bird ( active_at, daylight ). FRAME: bird a_kind_of: animal moving_method: fly active_at: daylight ES-94

95 Slot values Slots have a name and a value» The value can be > What? ES-95

96 Slot values 2 Slots have a name and a value» The value can be > Simple values ES-96

97 Slot values 3 Slots have a name and a value» The value can be > Simple values > References to other frames ES-97

98 Slot values 4 Slots have a name and a value» The value can be > Simple values > References to other frames > Procedures to compute the slot value ES-98

99 Slot values 5 Slots have a name and a value» The value can be > Simple values > References to other frames > Procedures to compute the slot value > Unfilled ES-99

100 Slot values 6 Slots have a name and a value» The value can be > Simple values > References to other frames > Procedures to compute the slot value > Unfilled How would they be filled? ES-100

101 Slot values 7 Slots have a name and a value» The value can be > Simple values > References to other frames > Procedures to compute the slot value > Unfilled They are filled by inference ES-101

102 Frame inheritance How is inheritance represented? FRAME: albatross a_kind_of: bird color: fly size: 115 ES-102

103 Frame inheritance 2 Inheritance is represented by designated slot names, and the value being the name of a frame FRAME: bird a_kind_of: animal moving_method: fly active_at: daylight FRAME: albatross a_kind_of: bird color: fly size: 115 ES-103

104 Frame instance How is a frame instance designated? FRAME: Albert instance_of: albatross ES-104

105 Frame instance 2 An instance is represented by designated slot names, and the value being the name of a frame FRAME: Albert instance_of: albatross FRAME: albatross a_kind_of: bird color: fly size: 115 ES-105

106 Can override slot values Frame instance 3 FRAME: Albert instance_of: albatross size: 120 FRAME: albatross a_kind_of: bird color: fly size: 115 ES-106

107 Frame example Figure Program text pages ES-107

Knowledge Representation

Knowledge Representation Knowledge Engineering Course Department of Electronics - Politecnico di Milano http://www.dei.polimi.it/people/bonarini Academic Year 2010-2011 Let s start from history... 1956 - Birth of Artificial Intelligence

More information

1 Project: Car Diagnosis Backward Chaining with Uncertainty

1 Project: Car Diagnosis Backward Chaining with Uncertainty 1 Project: Car Diagnosis Backward Chaining with Uncertainty 1.1 Certainty factors As we have seen, backward chaining systems are good for solving structured selection types of problems. The Birds system

More information

Module 8. Other representation formalisms. Version 2 CSE IIT, Kharagpur

Module 8. Other representation formalisms. Version 2 CSE IIT, Kharagpur Module 8 Other representation formalisms 8.1 Instructional Objective The students should understand the syntax and semantic of semantic networks Students should learn about different constructs and relations

More information

Module 7. Knowledge Representation and Logic (Rule based Systems) Version 2 CSE IIT, Kharagpur

Module 7. Knowledge Representation and Logic (Rule based Systems) Version 2 CSE IIT, Kharagpur Module 7 Knowledge Representation and Logic (Rule based Systems) Lesson 18 Rule based Systems - II 7.2.5 Programs in PROLOG These minimal notes on Prolog show only some of its flavor. Here are facts plays(ann,fido).

More information

Artificial Intelligence CSC 361

Artificial Intelligence CSC 361 Artificial Intelligence CSC 361 Prof. Mohamed Batouche Computer Science Department CCIS King Saud University Riyadh, Saudi Arabia mbatouche@ccis.ksu.edu.sa Intelligent Systems Part I: Expert Systems Developing

More information

Knowledge representation Semantic networks and frames

Knowledge representation Semantic networks and frames Knowledge representation Semantic networks and frames CmSc310 Artificial Intelligence 1. Introduction: What is knowledge? The science that studies various issues about knowledge is called epistemology.

More information

EXPERT SYSTEMS. Chapter 7. Asfia Rahman

EXPERT SYSTEMS.   Chapter 7. Asfia Rahman 1 EXPERT SYSTEMS Chapter 7 2 SYLLABUS CONTENT Candidates should be able to: 1. describe the components of an expert system 2. explain how the components of an expert system produce possible solutions 3.

More information

16 April 2011 Alan, Edison, etc, Saturday.

16 April 2011 Alan, Edison, etc, Saturday. 16 April 2011 Alan, Edison, etc, Saturday. Knowledge, Planning and Robotics 1. Knowledge 2. Types of knowledge 3. Representation of knowledge 4. Planning 5. Knowledge for planning 6. Planning in robotics

More information

COMP219: Artificial Intelligence. Lecture 14: Knowledge Representation

COMP219: Artificial Intelligence. Lecture 14: Knowledge Representation COMP219: Artificial Intelligence Lecture 14: Knowledge Representation 1 Overview Last time Game playing Minimax decisions Alpha-beta pruning Today Introduce the need for explicit knowledge representation

More information

Introduction to predicate calculus

Introduction to predicate calculus Logic Programming Languages Logic programming systems allow the programmer to state a collection of axioms from which theorems can be proven. Express programs in a form of symbolic logic Use a logical

More information

https://asd-pa.perfplusk12.com/admin/admin_curric_maps_display.aspx?m=5507&c=618&mo=18917&t=191&sy=2012&bl...

https://asd-pa.perfplusk12.com/admin/admin_curric_maps_display.aspx?m=5507&c=618&mo=18917&t=191&sy=2012&bl... Page 1 of 13 Units: - All - Teacher: ProgIIIJavaI, CORE Course: ProgIIIJavaI Year: 2012-13 Intro to Java How is data stored by a computer system? What does a compiler do? What are the advantages of using

More information

Q1:a. Best first search algorithm:

Q1:a. Best first search algorithm: Q1:a Best first search algorithm: 1. Open=[A10]; closed=[] 2. Evaluate A10; open=[c20,b30,d40];closed=[a10] 3. Evaluate C20; open=[b30,g35,d40,h40]; closed=[c20, A10] 4. Evaluate B30; open=[e10,f20,g35,d40,h40];

More information

Knowledge Representation. Dr. Asaad Sabah Hadi

Knowledge Representation. Dr. Asaad Sabah Hadi Knowledge Representation Dr. Asaad Sabah Hadi 1 Knowledge Knowledge is a collection of specialized facts, procedures and judgment rules High Degree of Abstraction Knowledge Information Low Data Quantity

More information

Knowledge Representations. How else can we represent knowledge in addition to formal logic?

Knowledge Representations. How else can we represent knowledge in addition to formal logic? Knowledge Representations How else can we represent knowledge in addition to formal logic? 1 Common Knowledge Representations Formal Logic Production Rules Semantic Nets Schemata and Frames 2 Production

More information

STIN2103. Knowledge. engineering expert systems. Wan Hussain Wan Ishak. SOC 2079 Ext.: Url:

STIN2103. Knowledge. engineering expert systems. Wan Hussain Wan Ishak. SOC 2079 Ext.: Url: & Knowledge STIN2103 engineering expert systems Wan Hussain Wan Ishak SOC 2079 Ext.: 4786 Email: hussain@uum.edu.my Url: http://www.wanhussain.com Outline System Design System architecture and conceptual

More information

EXPERT SYSTEM DESIGN

EXPERT SYSTEM DESIGN EXPERT SYSTEM DESIGN TERMINOLOGY A. EXPERT SYSTEM - EMULATES A HUMAN EXPERT 1. SPECIALIZED KNOWLEDGE B. KNOWLEDGE-BASED SYSTEM - A SYSTEM THAT USES EXPERT SYSTEM DESIGN TECHNOLOGY BUT DOES NOT NECESSARILY

More information

Knowledge Representation

Knowledge Representation Knowledge Representation References Rich and Knight, Artificial Intelligence, 2nd ed. McGraw-Hill, 1991 Russell and Norvig, Artificial Intelligence: A modern approach, 2nd ed. Prentice Hall, 2003 Outline

More information

Com S 541. Programming Languages I

Com S 541. Programming Languages I Programming Languages I Lecturer: TA: Markus Lumpe Department of Computer Science 113 Atanasoff Hall http://www.cs.iastate.edu/~lumpe/coms541.html TR 12:40-2, W 5 Pramod Bhanu Rama Rao Office hours: TR

More information

Topic 4 Knowledge representation, rulebased

Topic 4 Knowledge representation, rulebased Topic 4 Knowledge representation, rulebased systems Steering around obstacles Knowledge Representation Rule-Based Systems Synthesising Movement with an RBS Reading: Champandard Chapters 9-12 Links to RBS,

More information

Modeling and Reasoning with Bayesian Networks. Adnan Darwiche University of California Los Angeles, CA

Modeling and Reasoning with Bayesian Networks. Adnan Darwiche University of California Los Angeles, CA Modeling and Reasoning with Bayesian Networks Adnan Darwiche University of California Los Angeles, CA darwiche@cs.ucla.edu June 24, 2008 Contents Preface 1 1 Introduction 1 1.1 Automated Reasoning........................

More information

STRUCTURES AND STRATEGIES FOR STATE SPACE SEARCH

STRUCTURES AND STRATEGIES FOR STATE SPACE SEARCH Slide 3.1 3 STRUCTURES AND STRATEGIES FOR STATE SPACE SEARCH 3.0 Introduction 3.1 Graph Theory 3.2 Strategies for State Space Search 3.3 Using the State Space to Represent Reasoning with the Predicate

More information

Defining! Binary & Unary! Operators!

Defining! Binary & Unary! Operators! Defining! Binary & Unary! Operators! DO-1 English-French Dictionary! Can use compound terms to represent a dictionary! > list is a structure that contains an entry followed by the rest of the list! > For

More information

Introduction to Rule-Based Systems. Using a set of assertions, which collectively form the working memory, and a set of

Introduction to Rule-Based Systems. Using a set of assertions, which collectively form the working memory, and a set of Introduction to Rule-Based Systems Using a set of assertions, which collectively form the working memory, and a set of rules that specify how to act on the assertion set, a rule-based system can be created.

More information

CSE 421 Course Overview and Introduction to Java

CSE 421 Course Overview and Introduction to Java CSE 421 Course Overview and Introduction to Java Computer Science and Engineering College of Engineering The Ohio State University Lecture 1 Learning Objectives Knowledgeable in how sound software engineering

More information

THE LOGIC OF QUANTIFIED STATEMENTS

THE LOGIC OF QUANTIFIED STATEMENTS CHAPTER 3 THE LOGIC OF QUANTIFIED STATEMENTS Copyright Cengage Learning. All rights reserved. SECTION 3.4 Arguments with Quantified Statements Copyright Cengage Learning. All rights reserved. Arguments

More information

The Object Model Overview. Contents. Section Title

The Object Model Overview. Contents. Section Title The Object Model 1 This chapter describes the concrete object model that underlies the CORBA architecture. The model is derived from the abstract Core Object Model defined by the Object Management Group

More information

Module Outline. What is Object-Oriented? Some Possible Definitions. Why Object-oriented? Fundamentals of Object Orientation

Module Outline. What is Object-Oriented? Some Possible Definitions. Why Object-oriented? Fundamentals of Object Orientation Module Outline Fundamentals of Object Positioning Object Oriented Analysis Fundamentals of Object 1. Encapsulation 2. Abstraction 3. Inheritance 4. Polymorphism The need of Modeling Unified modeling language

More information

358 cardinality 18, 55-57, 62, 65, 71, 75-76, 85, 87, 99, 122, 129, , 140, 257, , , 295, categorization 18, 26, 56, 71, 7

358 cardinality 18, 55-57, 62, 65, 71, 75-76, 85, 87, 99, 122, 129, , 140, 257, , , 295, categorization 18, 26, 56, 71, 7 4GL 6 access path 8, 24, 35, 38, 88, 99-110, 114, 170, 176, 199, 203-204, 208 active class 270, 317, 323-324, 326, 337 database 315, 321 generalization 322-324 rule 317, 320-321 ADABAS 16 aggregation 18,

More information

A probabilistic logic incorporating posteriors of hierarchic graphical models

A probabilistic logic incorporating posteriors of hierarchic graphical models A probabilistic logic incorporating posteriors of hierarchic graphical models András s Millinghoffer, Gábor G Hullám and Péter P Antal Department of Measurement and Information Systems Budapest University

More information

Applying Experiences with Declarative Codifications of Software Architectures on COD

Applying Experiences with Declarative Codifications of Software Architectures on COD Applying Experiences with Declarative Codifications of Software Architectures on COD Position Paper Roel Wuyts Stéphane Ducasse Gabriela Arévalo roel.wuyts@iam.unibe.ch ducasse@iam.unibe.ch arevalo@iam.unibe.ch

More information

A HYBRID APPROACH FOR HANDLING UNCERTAINTY - PROBABILISTIC THEORY, CERTAINTY FACTOR AND FUZZY LOGIC

A HYBRID APPROACH FOR HANDLING UNCERTAINTY - PROBABILISTIC THEORY, CERTAINTY FACTOR AND FUZZY LOGIC Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology IJCSMC, Vol. 2, Issue. 11, November 2013,

More information

Object-based representation. Objects

Object-based representation. Objects Object-based representation Luger, Part III, 6.0, 6.1, 6.2.2-6.2.4, 6.4 (skim) Objects Two basic forms of Structured Objects Semantic Nets Frames Semantic Nets (Associative Nets) Components Nodes - represent

More information

A Small Interpreted Language

A Small Interpreted Language A Small Interpreted Language What would you need to build a small computing language based on mathematical principles? The language should be simple, Turing equivalent (i.e.: it can compute anything that

More information

Logic Programming Languages

Logic Programming Languages Logic Programming Languages Introduction Logic programming languages, sometimes called declarative programming languages Express programs in a form of symbolic logic Use a logical inferencing process to

More information

More About Objects. Zheng-Liang Lu Java Programming 255 / 282

More About Objects. Zheng-Liang Lu Java Programming 255 / 282 More About Objects Inheritance: passing down states and behaviors from the parents to their children. Interfaces: requiring objects for the demanding methods which are exposed to the outside world. Polymorphism

More information

Programming Paradigms

Programming Paradigms PP 2017/18 Unit 11 Functional Programming with Haskell 1/37 Programming Paradigms Unit 11 Functional Programming with Haskell J. Gamper Free University of Bozen-Bolzano Faculty of Computer Science IDSE

More information

Hoare logic. A proof system for separation logic. Introduction. Separation logic

Hoare logic. A proof system for separation logic. Introduction. Separation logic Introduction Hoare logic Lecture 6: Examples in separation logic In the previous lecture, we saw how reasoning about pointers in Hoare logic was problematic, which motivated introducing separation logic.

More information

Chapter 16. Logic Programming Languages

Chapter 16. Logic Programming Languages Chapter 16 Logic Programming Languages Chapter 16 Topics Introduction A Brief Introduction to Predicate Calculus Predicate Calculus and Proving Theorems An Overview of Logic Programming The Origins of

More information

Michalis Famelis and Stephanie Santosa. May 18th, University of Toronto. Models in Software Engineering Workshop at ICSE

Michalis Famelis and Stephanie Santosa. May 18th, University of Toronto. Models in Software Engineering Workshop at ICSE : A Michalis Famelis and Stephanie Santosa University of Toronto May 18th, 2013 s in Software Engineering Workshop at ICSE 1 / 27 The reality of today s software systems requires us to consider uncertainty

More information

Computer Science 4U Unit 1. Programming Concepts and Skills Modular Design

Computer Science 4U Unit 1. Programming Concepts and Skills Modular Design Computer Science 4U Unit 1 Programming Concepts and Skills Modular Design Modular Design Reusable Code Object-oriented programming (OOP) is a programming style that represents the concept of "objects"

More information

Minimally Meets Expectations

Minimally Meets Expectations athematics 9/10 Rating Scale: Mathematics 9/10 Exceeds Collecting selection of technology tools (webs, clusters, charts, graphs, spreadsheets, databases), sources, and materials selects inappropriate technology

More information

Knowledge representation and reasoning Lecture 1: Introduction

Knowledge representation and reasoning Lecture 1: Introduction Knowledge representation and reasoning Lecture 1: Introduction Natasha Alechina nza@cs.nott.ac.uk G53KRR 2009-10 lecture 1 1 / 21 Plan of the lecture Plan of the lecture 1 Admin 2 What is this module about

More information

CMSC 330: Organization of Programming Languages

CMSC 330: Organization of Programming Languages CMSC 330: Organization of Programming Languages Operational Semantics CMSC 330 Summer 2018 1 Formal Semantics of a Prog. Lang. Mathematical description of the meaning of programs written in that language

More information

Lecture 7: Requirements Modeling III. Formal Methods in RE

Lecture 7: Requirements Modeling III. Formal Methods in RE Lecture 7: Requirements Modeling III Last Last Week: Week: Modeling Modeling and and (II) (II) Modeling Modeling Functionality Functionality Structured Structured Object Object Oriented Oriented This This

More information

Knowledge Management - Overview

Knowledge Management - Overview Knowledge Management - Overview Table of Contents 1 Terminology... 2 2 Knowledge Representation (Requirements)... 5 3 Structured Knowledge Representation... 7 4 Knowledge Profiling... 11 5 Situation-Oriented

More information

Amalgamating Multiple Programming Paradigms in Prolog. Yoshiyuki Koseki

Amalgamating Multiple Programming Paradigms in Prolog. Yoshiyuki Koseki Amalgamating Multiple Programming Paradigms in Prolog Yoshiyuki Koseki C&C Systems Research Laboratories NEC CORPORATION 4-1-1 Miyazaki, Miyamae-ku Kawasaki, 213 JAPAN ABSTRACT This paper discusses the

More information

M.Sc. (Final) DEGREE EXAMINATION, DEC Second Year INFORMATION TECHNOLOGY. Paper - I : Software Engineering. Time : 3 Hours Maximum Marks : 75

M.Sc. (Final) DEGREE EXAMINATION, DEC Second Year INFORMATION TECHNOLOGY. Paper - I : Software Engineering. Time : 3 Hours Maximum Marks : 75 (DMSIT21) M.Sc. (Final) DEGREE EXAMINATION, DEC. - 2014 Second Year INFORMATION TECHNOLOGY Paper - I : Software Engineering Time : 3 Hours Maximum Marks : 75 Section A (3 15 = 45) Answer any three questions

More information

Lecture 16: Object Programming Languages

Lecture 16: Object Programming Languages Lecture 16: Object Programming Languages Introduction Corresponds to EOPL 5.1 and 5.2 Goal: to introduce Object Oriented Programming Language (OOPL) concepts using the EOPL extensible language framework

More information

What are Operators? - 1. Operators. What are Operators? - 2. Properties. » Position» Precedence class» associativity. » x + y * z. » +(x, *(y, z)).

What are Operators? - 1. Operators. What are Operators? - 2. Properties. » Position» Precedence class» associativity. » x + y * z. » +(x, *(y, z)). What are Operators? - 1 Functors Introduce operators to improve the readability of programs Operators syntactic sugar Based on Clocksin & Mellish Sections 2.3, 5.5 O-1 O-2 The arithmetic expression:» x

More information

Chapter 16. Logic Programming Languages ISBN

Chapter 16. Logic Programming Languages ISBN Chapter 16 Logic Programming Languages ISBN 0-321-49362-1 Chapter 16 Topics Introduction A Brief Introduction to Predicate Calculus Predicate Calculus and Proving Theorems An Overview of Logic Programming

More information

Object-Oriented Programming

Object-Oriented Programming iuliana@cs.ubbcluj.ro Babes-Bolyai University 2018 1 / 40 Overview 1 2 3 4 5 2 / 40 Primary OOP features ion: separating an object s specification from its implementation. Encapsulation: grouping related

More information

AITA : Frame Based Systems

AITA : Frame Based Systems AITA : Frame Based Systems John A. Bullinaria, 2003 1. The Evolution of Semantic Networks into Frames 2. Frame Based Systems The Basic Idea 3. Converting Semantic Networks into Frames 4. Set Theory as

More information

Example: Count of Points

Example: Count of Points Example: Count of Points 1 public class Point { 2... 3 private static int numofpoints = 0; 4 5 public Point() { 6 numofpoints++; 7 } 8 9 public Point(int x, int y) { 10 this(); // calling Line 5 11 this.x

More information

Introduction to Functional Programming

Introduction to Functional Programming PART I TE RI AL Introduction to Functional Programming MA CHAPTER 1: A Look at Functional Programming History CO PY RI GH TE D CHAPTER 2: Putting Functional Programming into a Modern Context 1A Look at

More information

System Models. Minsoo Ryu. Hanyang University. Real-Time Computing and Communications Lab., Hanyang University

System Models. Minsoo Ryu. Hanyang University. Real-Time Computing and Communications Lab., Hanyang University System Models Minsoo Ryu Hanyang University 1. Context Models 2. Structural Model 3. Behavioural Models 4. Object Models Contents 2 2 Building a System Model User requirements should be written in natural

More information

7. Rules in Production Systems

7. Rules in Production Systems 7. Rules in Production Systems KR & R Brachman & Levesque 2005 102 Direction of reasoning A conditional like P Q can be understood as transforming assertions of P to assertions of Q goals of Q to goals

More information

Methodological guideline to find suitable design patterns to implement adaptability

Methodological guideline to find suitable design patterns to implement adaptability MASTER THESIS Methodological guideline to find suitable design patterns to implement adaptability Ime Pijnenborg FACULTY OF ELECTRICAL ENGINEERING, MATHEMATICS AND COMPUTER SCIENCE SOFTWARE ENGINEERING

More information

CA Compiler Construction

CA Compiler Construction CA4003 - Compiler Construction Semantic Analysis David Sinclair Semantic Actions A compiler has to do more than just recognise if a sequence of characters forms a valid sentence in the language. It must

More information

ABSTRACT 1. INTRODUCTION

ABSTRACT 1. INTRODUCTION ABSTRACT A Framework for Multi-Agent Multimedia Indexing Bernard Merialdo Multimedia Communications Department Institut Eurecom BP 193, 06904 Sophia-Antipolis, France merialdo@eurecom.fr March 31st, 1995

More information

1. Write two major differences between Object-oriented programming and procedural programming?

1. Write two major differences between Object-oriented programming and procedural programming? 1. Write two major differences between Object-oriented programming and procedural programming? A procedural program is written as a list of instructions, telling the computer, step-by-step, what to do:

More information

Dynamic Typing and Non-monotonic Reasoning. Principles for a Semantic Interpreter. Hans Rudolf Straub Semfinder AG

Dynamic Typing and Non-monotonic Reasoning. Principles for a Semantic Interpreter. Hans Rudolf Straub Semfinder AG Dynamic Typing and Non-monotonic Reasoning Principles for a Semantic Interpreter Hans Rudolf Straub Semfinder AG Content List 1. Background and History 2. Basic principles - Interpretation paradigm 3.

More information

Late-bound Pragmatical Class Methods

Late-bound Pragmatical Class Methods Late-bound Pragmatical Class Methods AXEL SCHMOLITZKY, MARK EVERED, J. LESLIE KEEDY, GISELA MENGER Department of Computer Structures University of Ulm 89069 Ulm, Germany {axel, markev, keedy, gisela@informatik.uni-ulm.de

More information

Inheritance (Extends) Overriding methods IS-A Vs. HAS-A Polymorphism. superclass. is-a. subclass

Inheritance (Extends) Overriding methods IS-A Vs. HAS-A Polymorphism. superclass. is-a. subclass Inheritance and Polymorphism Inheritance (Extends) Overriding methods IS-A Vs. HAS-A Polymorphism Inheritance (semantics) We now have two classes that do essentially the same thing The fields are exactly

More information

C++ (Non for C Programmer) (BT307) 40 Hours

C++ (Non for C Programmer) (BT307) 40 Hours C++ (Non for C Programmer) (BT307) 40 Hours Overview C++ is undoubtedly one of the most widely used programming language for implementing object-oriented systems. The C++ language is based on the popular

More information

Evaluation of Predicate Calculus By Arve Meisingset, retired research scientist from Telenor Research Oslo Norway

Evaluation of Predicate Calculus By Arve Meisingset, retired research scientist from Telenor Research Oslo Norway Evaluation of Predicate Calculus By Arve Meisingset, retired research scientist from Telenor Research 31.05.2017 Oslo Norway Predicate Calculus is a calculus on the truth-values of predicates. This usage

More information

Rules, RIF and RuleML

Rules, RIF and RuleML Rules, RIF and RuleML Rule Knowledge l Rules generalize facts by making them conditional on other facts (often via chaining through further rules) l Rules generalize taxonomies via multiple premises, n-ary

More information

OBJECT ORIENTED PROGRAMMING

OBJECT ORIENTED PROGRAMMING 1. Programming Paradigms OBJECT ORIENTED PROGRAMMING A programming methodology defines the methodology of designing and implementing programs using the key features and other building blocks (such as key

More information

Which of the following is not true of FORTRAN?

Which of the following is not true of FORTRAN? PART II : A brief historical perspective and early high level languages, a bird's eye view of programming language concepts. Syntax and semantics-language definition, syntax, abstract syntax, concrete

More information

CMSC 330: Organization of Programming Languages. Operational Semantics

CMSC 330: Organization of Programming Languages. Operational Semantics CMSC 330: Organization of Programming Languages Operational Semantics Notes about Project 4, Parts 1 & 2 Still due today (7/2) Will not be graded until 7/11 (along with Part 3) You are strongly encouraged

More information

HCI in the software process

HCI in the software process chapter 6 HCI in the software process HCI in the software process Software engineering and the process for interactive systems Usability engineering Iterative and prototyping Design rationale the software

More information

HCI in the software. chapter 6. HCI in the software process. The waterfall model. the software lifecycle

HCI in the software. chapter 6. HCI in the software process. The waterfall model. the software lifecycle HCI in the software process chapter 6 HCI in the software process Software engineering and the process for interactive systems Usability engineering Iterative and prototyping Design rationale the software

More information

Knowledge Representation Techniques

Knowledge Representation Techniques Knowledge Engineering Course Department of Electronics - Politecnico di Milano http://www.dei.polimi.it/people/bonarini Academic Year 2010-2011 Declarations or procedures... Declarative description Set

More information

Example: Count of Points

Example: Count of Points Example: Count of Points 1 class Point { 2... 3 private static int numofpoints = 0; 4 5 Point() { 6 numofpoints++; 7 } 8 9 Point(int x, int y) { 10 this(); // calling the constructor with no input argument;

More information

Java SE 8 Programming

Java SE 8 Programming Oracle University Contact Us: +52 1 55 8525 3225 Java SE 8 Programming Duration: 5 Days What you will learn This Java SE 8 Programming training covers the core language features and Application Programming

More information

REAL TIME EXPERT SYSTEM FOR POWER PLANT

REAL TIME EXPERT SYSTEM FOR POWER PLANT REAL TIME EXPERT SYSTEM FOR POWER PLANT OVERVIEW 1. Present System Shortfalls 2. Objective 3. Architecture Of Expert System 4. Expert System Software Details 5. Expert System Benefits & Constraints COLLABORATION

More information

Rule-Based Systems. Reasoning Systems. Rule-Based Systems: early history. Rule-Based Systems

Rule-Based Systems. Reasoning Systems. Rule-Based Systems: early history. Rule-Based Systems Reasoning Systems In this part of the module we take a broad look at a variety of techniques for creating reasoning systems. These are traditional AI techniques that are successfully used in modern applications.

More information

STAT 598L Probabilistic Graphical Models. Instructor: Sergey Kirshner. Exact Inference

STAT 598L Probabilistic Graphical Models. Instructor: Sergey Kirshner. Exact Inference STAT 598L Probabilistic Graphical Models Instructor: Sergey Kirshner Exact Inference What To Do With Bayesian/Markov Network? Compact representation of a complex model, but Goal: efficient extraction of

More information

Programming Languages (PL)

Programming Languages (PL) 1 2 3 4 5 6 7 8 9 10 11 Programming Languages (PL) Programming languages are the medium through which programmers precisely describe concepts, formulate algorithms, and reason about solutions. In the course

More information

Course on Artificial Intelligence and Intelligent Systems. A short introduction to CHR and its application for rule-based expert systems

Course on Artificial Intelligence and Intelligent Systems. A short introduction to CHR and its application for rule-based expert systems Course on Artificial Intelligence and Intelligent Systems A short introduction to CHR and its application for rule-based expert systems A course note Henning Christiansen Roskilde University, Computer

More information

Human Computer Interaction Lecture 14. HCI in Software Process. HCI in the software process

Human Computer Interaction Lecture 14. HCI in Software Process. HCI in the software process Human Computer Interaction Lecture 14 HCI in Software Process HCI in the software process Software engineering and the design process for interactive systems Usability engineering Iterative design and

More information

Semantic Goal-Oriented Communication. Madhu Sudan Microsoft Research + MIT. Joint with Oded Goldreich (Weizmann) and Brendan Juba (MIT).

Semantic Goal-Oriented Communication. Madhu Sudan Microsoft Research + MIT. Joint with Oded Goldreich (Weizmann) and Brendan Juba (MIT). Semantic Goal-Oriented Communication Madhu Sudan Microsoft Research + MIT Joint with Oded Goldreich (Weizmann) and Brendan Juba (MIT). Disclaimer Work in progress (for ever) Comments/Criticisms/Collaboration/Competition

More information

Syntax and Grammars 1 / 21

Syntax and Grammars 1 / 21 Syntax and Grammars 1 / 21 Outline What is a language? Abstract syntax and grammars Abstract syntax vs. concrete syntax Encoding grammars as Haskell data types What is a language? 2 / 21 What is a language?

More information

Extending Jython. with SIM, SPARQL and SQL

Extending Jython. with SIM, SPARQL and SQL Extending Jython with SIM, SPARQL and SQL 1 Outline of topics Interesting features of Python and Jython Relational and semantic data models and query languages, triple stores, RDF Extending the Jython

More information

Semantic Nets and Frames SEEM

Semantic Nets and Frames SEEM Semantic Nets and Frames SEEM 5750 1 Semantic Nets A semantic network a classic AI representation technique used for propositional information a propositional net A proposition a statement that is either

More information

First IS-A Relationship: Inheritance

First IS-A Relationship: Inheritance First IS-A Relationship: Inheritance The relationships among Java classes form class hierarchy. We can define new classes by inheriting commonly used states and behaviors from predefined classes. A class

More information

Modal Logic: Implications for Design of a Language for Distributed Computation p.1/53

Modal Logic: Implications for Design of a Language for Distributed Computation p.1/53 Modal Logic: Implications for Design of a Language for Distributed Computation Jonathan Moody (with Frank Pfenning) Department of Computer Science Carnegie Mellon University Modal Logic: Implications for

More information

HAS-A Relationship. If A uses B, then it is an aggregation, stating that B exists independently from A.

HAS-A Relationship. If A uses B, then it is an aggregation, stating that B exists independently from A. HAS-A Relationship Association is a weak relationship where all objects have their own lifetime and there is no ownership. For example, teacher student; doctor patient. If A uses B, then it is an aggregation,

More information

Formal Syntax and Semantics of Programming Languages

Formal Syntax and Semantics of Programming Languages Formal Syntax and Semantics of Programming Languages Mooly Sagiv Reference: Semantics with Applications Chapter 2 H. Nielson and F. Nielson http://www.daimi.au.dk/~bra8130/wiley_book/wiley.html axioms

More information

Human Computer Interaction Lecture 06 [ HCI in Software Process ] HCI in the software process

Human Computer Interaction Lecture 06 [ HCI in Software Process ] HCI in the software process Human Computer Interaction Lecture 06 [ HCI in Software Process ] Imran Ihsan Assistant Professor www.imranihsan.com aucs.imranihsan.com HCI06 - HCI in Software Process 1 HCI in the software process Software

More information

ISSN (Print) Research Article. *Corresponding author Ele, Sylvester I.

ISSN (Print) Research Article. *Corresponding author Ele, Sylvester I. Scholars Journal of Engineering and Technology (SJET) Sch. J. Eng. Tech., 2016; 4(5):261-267 Scholars Academic and Scientific Publisher (An International Publisher for Academic and Scientific Resources)

More information

CHAPTER-1 INTRODUCTION

CHAPTER-1 INTRODUCTION CHAPTER-1 INTRODUCTION 1.1 Fuzzy concept, digital image processing and application in medicine With the advancement of digital computers, it has become easy to store large amount of data and carry out

More information

Programming Languages Third Edition

Programming Languages Third Edition Programming Languages Third Edition Chapter 12 Formal Semantics Objectives Become familiar with a sample small language for the purpose of semantic specification Understand operational semantics Understand

More information

Notes for Chapter 12 Logic Programming. The AI War Basic Concepts of Logic Programming Prolog Review questions

Notes for Chapter 12 Logic Programming. The AI War Basic Concepts of Logic Programming Prolog Review questions Notes for Chapter 12 Logic Programming The AI War Basic Concepts of Logic Programming Prolog Review questions The AI War How machines should learn: inductive or deductive? Deductive: Expert => rules =>

More information

Modelling Languages: (mostly) Concrete (Visual) Syntax Hans Vangheluwe

Modelling Languages: (mostly) Concrete (Visual) Syntax Hans Vangheluwe Modelling Languages: (mostly) Concrete (Visual) Syntax Hans Vangheluwe http://msdl.cs.mcgill.ca/ Modelling Languages/Formalisms Syntax and Semantics Modelling Languages/Formalisms Syntax and Semantics

More information

6.001 Notes: Section 15.1

6.001 Notes: Section 15.1 6.001 Notes: Section 15.1 Slide 15.1.1 Our goal over the next few lectures is to build an interpreter, which in a very basic sense is the ultimate in programming, since doing so will allow us to define

More information

Java SE 8 Programming

Java SE 8 Programming Java SE 8 Programming Training Calendar Date Training Time Location 16 September 2019 5 Days Bilginç IT Academy 28 October 2019 5 Days Bilginç IT Academy Training Details Training Time : 5 Days Capacity

More information

Intelligent, real-time scheduling for FMS

Intelligent, real-time scheduling for FMS Intelligent, real-time scheduling for FMS V. Simeunovi}, S. Vrane{ Computer System Department, Institute Mihajlo Pupin, Volgina 15, 11060 Belgrade, Yugoslavia Email: vlada@lab200.imp.bg.ac.yu, sanja@lab200.imp.bg.ac.yu

More information

made up of characters, some of which form character data, and some of which form markup Markup encodes a description of the document's storage layout

made up of characters, some of which form character data, and some of which form markup Markup encodes a description of the document's storage layout A new method for knowledge representation in expert system's (XMLKR) Mehdi Bahrami Payame Noor University (PNU), Tehran, Iran MehdiBahrami@gmailcom Dr Siavosh Kaviani Abstract Knowledge representation

More information

Semantic Nets, Frames, World Representation. CS W February, 2004

Semantic Nets, Frames, World Representation. CS W February, 2004 Semantic Nets, Frames, World Representation CS W4701 24 February, 2004 Knowledge Representation as a medium for human expression An intelligent system must have KRs that can be interpreted by humans. We

More information

Tail Calls. CMSC 330: Organization of Programming Languages. Tail Recursion. Tail Recursion (cont d) Names and Binding. Tail Recursion (cont d)

Tail Calls. CMSC 330: Organization of Programming Languages. Tail Recursion. Tail Recursion (cont d) Names and Binding. Tail Recursion (cont d) CMSC 330: Organization of Programming Languages Tail Calls A tail call is a function call that is the last thing a function does before it returns let add x y = x + y let f z = add z z (* tail call *)

More information