Expert Systems Knowledge Based Systems
|
|
- Marylou Roxanne Ramsey
- 5 years ago
- Views:
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 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 information1 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 informationModule 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 informationModule 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 informationArtificial 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 informationKnowledge 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 informationEXPERT 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 information16 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 informationCOMP219: 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 informationIntroduction 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 informationhttps://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 informationQ1: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 informationKnowledge 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 informationKnowledge 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 informationSTIN2103. 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 informationEXPERT 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 informationKnowledge 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 informationCom 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 informationTopic 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 informationModeling 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 informationSTRUCTURES 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 informationDefining! 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 informationIntroduction 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 informationCSE 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 informationTHE 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 informationThe 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 informationModule 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 information358 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 informationA 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 informationApplying 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 informationA 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 informationObject-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 informationA 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 informationLogic 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 informationMore 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 informationProgramming 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 informationHoare 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 informationChapter 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 informationMichalis 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 informationComputer 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 informationMinimally 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 informationKnowledge 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 informationCMSC 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 informationLecture 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 informationKnowledge 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 informationAmalgamating 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 informationM.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 informationLecture 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 informationWhat 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 informationChapter 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 informationObject-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 informationAITA : 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 informationExample: 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 informationIntroduction 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 informationSystem 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 information7. 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 informationMethodological 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 informationCA 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 informationABSTRACT 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 information1. 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 informationDynamic 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 informationLate-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 informationInheritance (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 informationC++ (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 informationEvaluation 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 informationRules, 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 informationOBJECT 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 informationWhich 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 informationCMSC 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 informationHCI 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 informationHCI 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 informationKnowledge 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 informationExample: 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 informationJava 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 informationREAL 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 informationRule-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 informationSTAT 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 informationProgramming 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 informationCourse 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 informationHuman 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 informationSemantic 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 informationSyntax 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 informationExtending 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 informationSemantic 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 informationFirst 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 informationModal 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 informationHAS-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 informationFormal 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 informationHuman 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 informationISSN (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 informationCHAPTER-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 informationProgramming 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 informationNotes 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 informationModelling 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 information6.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 informationJava 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 informationIntelligent, 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 informationmade 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 informationSemantic 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 informationTail 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