Chapter 1: 
Introduction to 
Expert Systems 
Expert Systems: Principles and 
Programming, Fourth Edition
Objectives 
• Learn the meaning of an expert system 
• Understand the problem domain and knowledge 
domain 
• Learn the advantages of an expert system 
• Understand the stages in the development of an 
expert system 
• Examine the general characteristics of an expert 
system 
Expert Systems: Principles and Programming, Fourth Edition 2
Objectives 
• Examine earlier expert systems which have given 
rise to today’s knowledge-based systems 
• Explore the applications of expert systems in use 
today 
• Examine the structure of a rule-based expert 
system 
• Learn the difference between procedural and 
nonprocedural paradigms 
• What are the characteristics of artificial neural 
systems 
Expert Systems: Principles and Programming, Fourth Edition 3
Artificial Intelligence 
• AI = “Making computers think like people.” 
Expert Systems: Principles and Programming, Fourth Edition 4
Areas of Artificial Intelligence 
Expert Systems: Principles and Programming, Fourth Edition 5
What is an expert system? 
“An expert system is a computer system 
that emulates, or acts in all respects, with 
the decision-making capabilities of a human 
expert.” 
Professor Edward Feigenbaum 
Stanford University 
• Expert Systems = knowledge-based systems 
= knowledge-based expert systems 
Expert Systems: Principles and Programming, Fourth Edition 6
What is an expert system? 
• Emulation (mimics cause/process) is stronger than 
simulation (mimics outward appearance) which is 
required to act like the real thing in only some 
aspects. 
• The basic idea is that if a human expert can specify 
the steps of reasoning by which a problem may be 
solved, so too can an expert system. 
• Restricted domain expert systems (extensive use of 
specialized knowledge at the level of human expert) 
function well which is not the case of general-purpose 
problem solver. 
Expert Systems: Principles and Programming, Fourth Edition 7
Expert system technology 
may include: 
• Special expert system languages – CLIPS 
• Programs 
• Hardware designed to facilitate the 
implementation of those systems (e.g., in 
medicine) 
Expert Systems: Principles and Programming, Fourth Edition 8
Expert System Main Components 
• Knowledge base – obtainable from books, 
magazines, knowledgeable persons, etc; or 
expertise knowledge. 
• Inference engine – draws conclusions from the 
knowledge base. 
Expert Systems: Principles and Programming, Fourth Edition 9
Basic Functions of Expert Systems 
Expert Systems: Principles and Programming, Fourth Edition 10
Problem Domain vs. Knowledge 
Domain 
• In general, the first step in solving any problem is 
defining the problem area or domain to be solved. 
• An expert’s knowledge is specific to one problem 
domain – medicine, finance, science, engineering, 
etc. 
• The expert’s knowledge about solving specific 
problems is called the knowledge domain. 
• The problem domain is always a superset of the 
knowledge domain. 
• Expert system reasons from knowledge domain. 
Expert Systems: Principles and Programming, Fourth Edition 11
Problem Domain vs. Knowledge 
Domain 
• Example: infections diseases diagnostic system 
does not have (or require) knowledge about other 
branches such as surgery. 
Expert Systems: Principles and Programming, Fourth Edition 12
Problem and Knowledge 
Domain Relationship 
Expert Systems: Principles and Programming, Fourth Edition 13
Advantages of Expert Systems 
• Increased availability: on suitable computer hardware 
• Reduced cost 
• Reduced danger: can be used in hazardous environment. 
• Permanence: last for ever, unlike human who may die, 
retire, quit. 
• Multiple expertise: several experts’ knowledge leads to 
• Increased reliability 
Expert Systems: Principles and Programming, Fourth Edition 14
Advantages Continued 
• Explanation: explain in detail how arrived at 
conclusions. 
• Fast response: (e.g. emergency situations). 
• Steady, unemotional, and complete responses at all 
times: unlike human who may be inefficient because 
of stress or fatigue. 
• Intelligent tutor: provides direct instructions (student 
may run sample programs and explaining the system’s 
reasoning). 
• Intelligent database: access a database intelligently 
(e.g. data mining). 
Expert Systems: Principles and Programming, Fourth Edition 15
Representing the Knowledge 
The knowledge of an expert system can be 
represented in a number of ways, including IF-THEN 
rules: 
IF the light is red THEN stop 
Expert Systems: Principles and Programming, Fourth Edition 16
Representing the Knowledge 
Car Failure Diagnosis 
IF the selection is 2 "Run-Stable State" 
AND the fuel is not burning well 
AND the engine running cycle is ok 
AND there is no blue gas 
AND the advance is bad 
THEN 
There is a Dirt in the injections/carburetor 
or The adjustment of ear and gasoline is 
not good, clear injections/carburetor and 
adjust the ear. 
Expert Systems: Principles and Programming, Fourth Edition 17
Knowledge Engineering 
The process of building an expert system: 
1. The knowledge engineer establishes a dialog 
with the human expert to elicit knowledge. 
2. The knowledge engineer codes the knowledge 
explicitly in the knowledge base. 
3. The expert evaluates the expert system and 
gives a critique to the knowledge engineer. 
Expert Systems: Principles and Programming, Fourth Edition 18
Development of an Expert System 
Expert Systems: Principles and Programming, Fourth Edition 19
The Role of AI 
• An algorithm is an ideal solution guaranteed to 
yield a solution in a finite amount of time. 
• When an algorithm is not available or is 
insufficient, we rely on artificial intelligence 
(AI). 
• Expert system relies on inference – we accept a 
“reasonable solution.” 
Expert Systems: Principles and Programming, Fourth Edition 20
Limitations of Expert Systems 
• Uncertainty = having limited knowledge (more 
than possible outcomes) 
• Both human experts and expert systems must be 
able to deal with uncertainty. 
• Limitation 1: most expert systems deals with 
shallow knowledge than with deep knowledge. 
• Shallow knowledge – based on empirical and 
heuristic knowledge. 
• Deep knowledge – based on basic structure, 
function, and behavior of objects. 
Expert Systems: Principles and Programming, Fourth Edition 21
Limitations of Expert Systems 
• Limitation 2: typical expert systems cannot 
generalize through analogy to reason about new 
situations in the way people can. 
• Solution 1 for limitation 2: repeating the cycle of 
interviewing the expert. 
• Limitation raised form Solution 1: A knowledge 
acquisition bottleneck results from the time-consuming 
and labor intensive task of building 
an expert system. 
Expert Systems: Principles and Programming, Fourth Edition 22
Early Expert Systems 
• DENDRAL – used in chemical mass 
spectroscopy to identify chemical constituents 
• MYCIN – medical diagnosis of illness 
• DIPMETER – geological data analysis for oil 
• PROSPECTOR – geological data analysis for 
minerals 
• XCON/R1 – configuring computer systems 
Expert Systems: Principles and Programming, Fourth Edition 23
Broad Classes of Expert Systems 
Expert Systems: Principles and Programming, Fourth Edition 24
Problems with Algorithmic 
Solutions 
• Conventional computer programs generally solve 
problems having algorithmic solutions. 
• Algorithmic languages include C, Java, and C#. 
• Classic AI languages include LISP and 
PROLOG. 
Expert Systems: Principles and Programming, Fourth Edition 25
Considerations for Building 
Expert Systems 
• Can the problem be solved effectively by 
conventional programming? (expert systems are 
suited for ill-structured problems- problems with no 
efficient algorithmic solution) 
• Is there a need and a desire for an expert system? 
• Is there at least one human expert who is willing to 
cooperate? 
• Can the expert explain the knowledge to the 
knowledge engineer in a way that can understand it. 
• Is the problem-solving knowledge mainly heuristic 
and uncertain? 
Expert Systems: Principles and Programming, Fourth Edition 26
Languages, Shells, and Tools 
• Expert system languages are post-third generation. 
• Expert system languages (e.g. CLIPS) focus on 
ways to represent knowledge. 
• Tool = language + utility program (code generator, 
graphics editor, debuggers, etc.). 
• Shell: is a special purpose tool designed for certain 
types of applications in which the user must supply 
the knowledge base. Example, EMYCIN (empty 
MYCIN) 
Expert Systems: Principles and Programming, Fourth Edition 27
Elements of an Expert System 
• User interface – mechanism by which user and 
system communicate. 
• Exploration facility – explains reasoning of 
expert system to user. 
• Working memory – global database of facts used 
by rules. 
• Inference engine – makes inferences deciding 
which rules are satisfied and prioritizing. 
Expert Systems: Principles and Programming, Fourth Edition 28
Elements Continued 
• Agenda – a prioritized list of rules created by the 
inference engine, whose patterns are satisfied by 
facts or objects in working memory. 
• Knowledge acquisition facility – automatic way 
for the user to enter knowledge in the system 
bypassing the explicit coding by knowledge 
engineer. 
Expert Systems: Principles and Programming, Fourth Edition 29
Structure of a 
Rule-Based Expert System 
Expert Systems: Principles and Programming, Fourth Edition 30
Production Rules 
• Knowledge base is also called production 
memory. 
• Production rules can be expressed in IF-THEN 
pseudocode format. 
• In rule-based systems, the inference engine 
determines which rule antecedents are satisfied 
by the facts. 
Expert Systems: Principles and Programming, Fourth Edition 31
Inference engine operates on 
recognize-act cycle 
While not done 
conflict resolution: 
act: 
match: 
check for halt: 
End-while 
Expert Systems: Principles and Programming, Fourth Edition 32
Inference engine operates on 
recognize-act cycle 
- conflict resolution: if there are activations then 
select the one with the highest priority. Else 
done. 
- act: sequentially perform the actions. Update the 
working memory. Remove the fired activations. 
- match: Update the agenda by checking if there 
are activation or remove activations if there LHS 
is no longer satisfied. 
- check for halt: if an halt action is performed or 
break command given, then done. 
Expert Systems: Principles and Programming, Fourth Edition 33
General Methods of Inferencing 
• Forward chaining – reasoning from facts to the 
conclusions resulting from those facts – best for 
prognosis, monitoring, and control. 
• Backward chaining – reasoning in reverse from a 
hypothesis, a potential conclusion to be proved to 
the facts that support the hypothesis – best for 
diagnosis problems. 
Expert Systems: Principles and Programming, Fourth Edition 34
Production Systems 
• Rule-based expert systems – most popular type 
today. 
• Knowledge is represented as multiple rules that 
specify what should/not be concluded from 
different situations. 
• Forward chaining – start w/facts and use rules do 
draw conclusions/take actions. 
• Backward chaining – start w/hypothesis and look 
for rules that allow hypothesis to be proven true. 
Expert Systems: Principles and Programming, Fourth Edition 35
Post Production System 
• Basic idea – any mathematical / logical system is 
simply a set of rules specifying how to change 
one string of symbols into another string of 
symbols. 
• Basic limitation – lack of control mechanism to 
guide the application of the rules. 
Expert Systems: Principles and Programming, Fourth Edition 36
Markov Algorithm 
• An ordered group of productions applied in order 
or priority to an input string. 
• If the highest priority rule is not applicable, we 
apply the next, and so on. 
• An inefficient algorithm for systems with many 
rules. 
Expert Systems: Principles and Programming, Fourth Edition 37
Rete Algorithm 
• Functions like a net – holding a lot of 
information. 
• Much faster response times and rule firings can 
occur compared to a large group of IF-THEN 
rules which would have to be checked one-by-one 
in conventional program. 
• Takes advantage of temporal redundancy and 
structural similarity. 
• Drawback is high memory space requirements. 
Expert Systems: Principles and Programming, Fourth Edition 38
Procedural Paradigms 
• Algorithm – method of solving a problem in a 
finite number of steps. 
• Procedural programs are also called sequential 
programs. 
• The programmer specifies exactly how a problem 
solution must be coded. 
Expert Systems: Principles and Programming, Fourth Edition 39
Procedural Languages 
Expert Systems: Principles and Programming, Fourth Edition 40
Imperative Programming 
• Focuses on the concept of modifiable store – 
variables and assignments. 
• During execution, program makes transition from 
the initial state to the final state by passing 
through series of intermediate states. 
• Provide for top-down-design. 
• Not efficient for directly implementing expert 
systems. 
Expert Systems: Principles and Programming, Fourth Edition 41
Nonprocedural Paradigms 
• Do not depend on the programmer giving exact 
details how the program is to be solved. 
• Declarative programming – goal is separated 
from the method to achieve it. 
• Object-oriented programming – partly imperative 
and partly declarative – uses objects and methods 
that act on those objects. 
• Inheritance – (OOP) subclasses derived from 
parent classes. 
Expert Systems: Principles and Programming, Fourth Edition 42
Nonprocedural Languages 
Expert Systems: Principles and Programming, Fourth Edition 43
What are Expert Systems? 
Can be considered declarative languages: 
• Programmer does not specify how to achieve a 
goal at the algorithm level. 
• Induction-based programming – the program 
learns by generalizing from a sample. 
Expert Systems: Principles and Programming, Fourth Edition 44

Expert system 21 sldes

  • 1.
    Chapter 1: Introductionto Expert Systems Expert Systems: Principles and Programming, Fourth Edition
  • 2.
    Objectives • Learnthe meaning of an expert system • Understand the problem domain and knowledge domain • Learn the advantages of an expert system • Understand the stages in the development of an expert system • Examine the general characteristics of an expert system Expert Systems: Principles and Programming, Fourth Edition 2
  • 3.
    Objectives • Examineearlier expert systems which have given rise to today’s knowledge-based systems • Explore the applications of expert systems in use today • Examine the structure of a rule-based expert system • Learn the difference between procedural and nonprocedural paradigms • What are the characteristics of artificial neural systems Expert Systems: Principles and Programming, Fourth Edition 3
  • 4.
    Artificial Intelligence •AI = “Making computers think like people.” Expert Systems: Principles and Programming, Fourth Edition 4
  • 5.
    Areas of ArtificialIntelligence Expert Systems: Principles and Programming, Fourth Edition 5
  • 6.
    What is anexpert system? “An expert system is a computer system that emulates, or acts in all respects, with the decision-making capabilities of a human expert.” Professor Edward Feigenbaum Stanford University • Expert Systems = knowledge-based systems = knowledge-based expert systems Expert Systems: Principles and Programming, Fourth Edition 6
  • 7.
    What is anexpert system? • Emulation (mimics cause/process) is stronger than simulation (mimics outward appearance) which is required to act like the real thing in only some aspects. • The basic idea is that if a human expert can specify the steps of reasoning by which a problem may be solved, so too can an expert system. • Restricted domain expert systems (extensive use of specialized knowledge at the level of human expert) function well which is not the case of general-purpose problem solver. Expert Systems: Principles and Programming, Fourth Edition 7
  • 8.
    Expert system technology may include: • Special expert system languages – CLIPS • Programs • Hardware designed to facilitate the implementation of those systems (e.g., in medicine) Expert Systems: Principles and Programming, Fourth Edition 8
  • 9.
    Expert System MainComponents • Knowledge base – obtainable from books, magazines, knowledgeable persons, etc; or expertise knowledge. • Inference engine – draws conclusions from the knowledge base. Expert Systems: Principles and Programming, Fourth Edition 9
  • 10.
    Basic Functions ofExpert Systems Expert Systems: Principles and Programming, Fourth Edition 10
  • 11.
    Problem Domain vs.Knowledge Domain • In general, the first step in solving any problem is defining the problem area or domain to be solved. • An expert’s knowledge is specific to one problem domain – medicine, finance, science, engineering, etc. • The expert’s knowledge about solving specific problems is called the knowledge domain. • The problem domain is always a superset of the knowledge domain. • Expert system reasons from knowledge domain. Expert Systems: Principles and Programming, Fourth Edition 11
  • 12.
    Problem Domain vs.Knowledge Domain • Example: infections diseases diagnostic system does not have (or require) knowledge about other branches such as surgery. Expert Systems: Principles and Programming, Fourth Edition 12
  • 13.
    Problem and Knowledge Domain Relationship Expert Systems: Principles and Programming, Fourth Edition 13
  • 14.
    Advantages of ExpertSystems • Increased availability: on suitable computer hardware • Reduced cost • Reduced danger: can be used in hazardous environment. • Permanence: last for ever, unlike human who may die, retire, quit. • Multiple expertise: several experts’ knowledge leads to • Increased reliability Expert Systems: Principles and Programming, Fourth Edition 14
  • 15.
    Advantages Continued •Explanation: explain in detail how arrived at conclusions. • Fast response: (e.g. emergency situations). • Steady, unemotional, and complete responses at all times: unlike human who may be inefficient because of stress or fatigue. • Intelligent tutor: provides direct instructions (student may run sample programs and explaining the system’s reasoning). • Intelligent database: access a database intelligently (e.g. data mining). Expert Systems: Principles and Programming, Fourth Edition 15
  • 16.
    Representing the Knowledge The knowledge of an expert system can be represented in a number of ways, including IF-THEN rules: IF the light is red THEN stop Expert Systems: Principles and Programming, Fourth Edition 16
  • 17.
    Representing the Knowledge Car Failure Diagnosis IF the selection is 2 "Run-Stable State" AND the fuel is not burning well AND the engine running cycle is ok AND there is no blue gas AND the advance is bad THEN There is a Dirt in the injections/carburetor or The adjustment of ear and gasoline is not good, clear injections/carburetor and adjust the ear. Expert Systems: Principles and Programming, Fourth Edition 17
  • 18.
    Knowledge Engineering Theprocess of building an expert system: 1. The knowledge engineer establishes a dialog with the human expert to elicit knowledge. 2. The knowledge engineer codes the knowledge explicitly in the knowledge base. 3. The expert evaluates the expert system and gives a critique to the knowledge engineer. Expert Systems: Principles and Programming, Fourth Edition 18
  • 19.
    Development of anExpert System Expert Systems: Principles and Programming, Fourth Edition 19
  • 20.
    The Role ofAI • An algorithm is an ideal solution guaranteed to yield a solution in a finite amount of time. • When an algorithm is not available or is insufficient, we rely on artificial intelligence (AI). • Expert system relies on inference – we accept a “reasonable solution.” Expert Systems: Principles and Programming, Fourth Edition 20
  • 21.
    Limitations of ExpertSystems • Uncertainty = having limited knowledge (more than possible outcomes) • Both human experts and expert systems must be able to deal with uncertainty. • Limitation 1: most expert systems deals with shallow knowledge than with deep knowledge. • Shallow knowledge – based on empirical and heuristic knowledge. • Deep knowledge – based on basic structure, function, and behavior of objects. Expert Systems: Principles and Programming, Fourth Edition 21
  • 22.
    Limitations of ExpertSystems • Limitation 2: typical expert systems cannot generalize through analogy to reason about new situations in the way people can. • Solution 1 for limitation 2: repeating the cycle of interviewing the expert. • Limitation raised form Solution 1: A knowledge acquisition bottleneck results from the time-consuming and labor intensive task of building an expert system. Expert Systems: Principles and Programming, Fourth Edition 22
  • 23.
    Early Expert Systems • DENDRAL – used in chemical mass spectroscopy to identify chemical constituents • MYCIN – medical diagnosis of illness • DIPMETER – geological data analysis for oil • PROSPECTOR – geological data analysis for minerals • XCON/R1 – configuring computer systems Expert Systems: Principles and Programming, Fourth Edition 23
  • 24.
    Broad Classes ofExpert Systems Expert Systems: Principles and Programming, Fourth Edition 24
  • 25.
    Problems with Algorithmic Solutions • Conventional computer programs generally solve problems having algorithmic solutions. • Algorithmic languages include C, Java, and C#. • Classic AI languages include LISP and PROLOG. Expert Systems: Principles and Programming, Fourth Edition 25
  • 26.
    Considerations for Building Expert Systems • Can the problem be solved effectively by conventional programming? (expert systems are suited for ill-structured problems- problems with no efficient algorithmic solution) • Is there a need and a desire for an expert system? • Is there at least one human expert who is willing to cooperate? • Can the expert explain the knowledge to the knowledge engineer in a way that can understand it. • Is the problem-solving knowledge mainly heuristic and uncertain? Expert Systems: Principles and Programming, Fourth Edition 26
  • 27.
    Languages, Shells, andTools • Expert system languages are post-third generation. • Expert system languages (e.g. CLIPS) focus on ways to represent knowledge. • Tool = language + utility program (code generator, graphics editor, debuggers, etc.). • Shell: is a special purpose tool designed for certain types of applications in which the user must supply the knowledge base. Example, EMYCIN (empty MYCIN) Expert Systems: Principles and Programming, Fourth Edition 27
  • 28.
    Elements of anExpert System • User interface – mechanism by which user and system communicate. • Exploration facility – explains reasoning of expert system to user. • Working memory – global database of facts used by rules. • Inference engine – makes inferences deciding which rules are satisfied and prioritizing. Expert Systems: Principles and Programming, Fourth Edition 28
  • 29.
    Elements Continued •Agenda – a prioritized list of rules created by the inference engine, whose patterns are satisfied by facts or objects in working memory. • Knowledge acquisition facility – automatic way for the user to enter knowledge in the system bypassing the explicit coding by knowledge engineer. Expert Systems: Principles and Programming, Fourth Edition 29
  • 30.
    Structure of a Rule-Based Expert System Expert Systems: Principles and Programming, Fourth Edition 30
  • 31.
    Production Rules •Knowledge base is also called production memory. • Production rules can be expressed in IF-THEN pseudocode format. • In rule-based systems, the inference engine determines which rule antecedents are satisfied by the facts. Expert Systems: Principles and Programming, Fourth Edition 31
  • 32.
    Inference engine operateson recognize-act cycle While not done conflict resolution: act: match: check for halt: End-while Expert Systems: Principles and Programming, Fourth Edition 32
  • 33.
    Inference engine operateson recognize-act cycle - conflict resolution: if there are activations then select the one with the highest priority. Else done. - act: sequentially perform the actions. Update the working memory. Remove the fired activations. - match: Update the agenda by checking if there are activation or remove activations if there LHS is no longer satisfied. - check for halt: if an halt action is performed or break command given, then done. Expert Systems: Principles and Programming, Fourth Edition 33
  • 34.
    General Methods ofInferencing • Forward chaining – reasoning from facts to the conclusions resulting from those facts – best for prognosis, monitoring, and control. • Backward chaining – reasoning in reverse from a hypothesis, a potential conclusion to be proved to the facts that support the hypothesis – best for diagnosis problems. Expert Systems: Principles and Programming, Fourth Edition 34
  • 35.
    Production Systems •Rule-based expert systems – most popular type today. • Knowledge is represented as multiple rules that specify what should/not be concluded from different situations. • Forward chaining – start w/facts and use rules do draw conclusions/take actions. • Backward chaining – start w/hypothesis and look for rules that allow hypothesis to be proven true. Expert Systems: Principles and Programming, Fourth Edition 35
  • 36.
    Post Production System • Basic idea – any mathematical / logical system is simply a set of rules specifying how to change one string of symbols into another string of symbols. • Basic limitation – lack of control mechanism to guide the application of the rules. Expert Systems: Principles and Programming, Fourth Edition 36
  • 37.
    Markov Algorithm •An ordered group of productions applied in order or priority to an input string. • If the highest priority rule is not applicable, we apply the next, and so on. • An inefficient algorithm for systems with many rules. Expert Systems: Principles and Programming, Fourth Edition 37
  • 38.
    Rete Algorithm •Functions like a net – holding a lot of information. • Much faster response times and rule firings can occur compared to a large group of IF-THEN rules which would have to be checked one-by-one in conventional program. • Takes advantage of temporal redundancy and structural similarity. • Drawback is high memory space requirements. Expert Systems: Principles and Programming, Fourth Edition 38
  • 39.
    Procedural Paradigms •Algorithm – method of solving a problem in a finite number of steps. • Procedural programs are also called sequential programs. • The programmer specifies exactly how a problem solution must be coded. Expert Systems: Principles and Programming, Fourth Edition 39
  • 40.
    Procedural Languages ExpertSystems: Principles and Programming, Fourth Edition 40
  • 41.
    Imperative Programming •Focuses on the concept of modifiable store – variables and assignments. • During execution, program makes transition from the initial state to the final state by passing through series of intermediate states. • Provide for top-down-design. • Not efficient for directly implementing expert systems. Expert Systems: Principles and Programming, Fourth Edition 41
  • 42.
    Nonprocedural Paradigms •Do not depend on the programmer giving exact details how the program is to be solved. • Declarative programming – goal is separated from the method to achieve it. • Object-oriented programming – partly imperative and partly declarative – uses objects and methods that act on those objects. • Inheritance – (OOP) subclasses derived from parent classes. Expert Systems: Principles and Programming, Fourth Edition 42
  • 43.
    Nonprocedural Languages ExpertSystems: Principles and Programming, Fourth Edition 43
  • 44.
    What are ExpertSystems? Can be considered declarative languages: • Programmer does not specify how to achieve a goal at the algorithm level. • Induction-based programming – the program learns by generalizing from a sample. Expert Systems: Principles and Programming, Fourth Edition 44