Slides for a college cryptography course at CCSF. Instructor: Sam Bowne
Based on: Understanding Cryptography: A Textbook for Students and Practitioners by Christof Paar, Jan Pelzl, and Bart Preneel, ISBN: 3642041000 ASIN: B014P9I39Q
See https://samsclass.info/141/141_F17.shtml
Slides for a college cryptography course at CCSF. Instructor: Sam Bowne
Based on: Understanding Cryptography: A Textbook for Students and Practitioners by Christof Paar, Jan Pelzl, and Bart Preneel, ISBN: 3642041000 ASIN: B014P9I39Q
See https://samsclass.info/141/141_F17.shtml
Single instruction, multiple data (SIMD), is a class of parallel computers in Flynn's taxonomy. It describes computers with multiple processing elements that perform the same operation on multiple data points simultaneously.
P, NP, NP-Complete, and NP-Hard
Reductionism in Algorithms
NP-Completeness and Cooks Theorem
NP-Complete and NP-Hard Problems
Travelling Salesman Problem (TSP)
Travelling Salesman Problem (TSP) - Approximation Algorithms
PRIMES is in P - (A hope for NP problems in P)
Millennium Problems
Conclusions
Single instruction, multiple data (SIMD), is a class of parallel computers in Flynn's taxonomy. It describes computers with multiple processing elements that perform the same operation on multiple data points simultaneously.
P, NP, NP-Complete, and NP-Hard
Reductionism in Algorithms
NP-Completeness and Cooks Theorem
NP-Complete and NP-Hard Problems
Travelling Salesman Problem (TSP)
Travelling Salesman Problem (TSP) - Approximation Algorithms
PRIMES is in P - (A hope for NP problems in P)
Millennium Problems
Conclusions
Application of Expert Systems inSystem Analysis & Designfaiza nahin
Design is a field in which a large part of the processes involved is knowledge-based rather than computation-based. Much of this knowledge is experiential and as such lends itself to be encapsulated in an expert system. An analogy is made between analysis and interpretation and between evaluation and comparison of interpretations. Three examples of expert systems carrying out design analysis and evaluation in different domains are described. It is argued that a graphical interface and a model of the elements within the domain are essential parts of any design system.
Introduction to Expert Systems {Artificial Intelligence}FellowBuddy.com
FellowBuddy.com is an innovative platform that brings students together to share notes, exam papers, study guides, project reports and presentation for upcoming exams.
We connect Students who have an understanding of course material with Students who need help.
Benefits:-
# Students can catch up on notes they missed because of an absence.
# Underachievers can find peer developed notes that break down lecture and study material in a way that they can understand
# Students can earn better grades, save time and study effectively
Our Vision & Mission – Simplifying Students Life
Our Belief – “The great breakthrough in your life comes when you realize it, that you can learn anything you need to learn; to accomplish any goal that you have set for yourself. This means there are no limits on what you can be, have or do.”
Like Us - https://www.facebook.com/FellowBuddycom
It gives an individual a general Idea about Expert System and the wide variety of it's Applications.We discuss the scope of Expert System in upcoming Future in various Domains and various Challenges.Some examples are also given of a few Expert Systems.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Module -3 expert system.pptx
1. Module -3
Expert Systems in AI
Course teacher:
Dr. S. Syed Rafiammal
Assistant Professor, ECE department
BS Abdur Rahman Crescent Institute of Science and Technology
2. What is an Expert System?
• An expert system is a computer program that
is designed to solve complex problems and to
provide decision-making ability like a human
expert.
• It performs this by extracting knowledge from
its knowledge base using the reasoning and
inference rules according to the user queries.
4. Motive
• The system helps in decision making for
complex problems using both facts and
heuristics like a human expert.
• It is called so because it contains the expert
knowledge of a specific domain and can solve
any complex problem of that particular
domain.
• These systems are designed for a specific
domain, such as medicine, science, etc.
5. Components of Expert System
https://www.javatpoint.com/expert-
systems-in-artificial-intelligence
6. User Interface
• It is an interface that helps a non-expert user
to communicate with the expert system to find a
solution
• With the help of a user interface, the expert
system interacts with the user, takes queries as
an input in a readable format, and passes it to the
inference engine.
• After getting the response from the inference
engine, it displays the output to the user.
7. Inference Engine(Rules of Engine)
• The inference engine is known as the brain of the expert system as
it is the main processing unit of the system.
• It applies inference rules to the knowledge base to derive a
conclusion or deduce new information.
• It helps in deriving an error-free solution of queries asked by the
user.
• With the help of an inference engine, the system extracts the
knowledge from the knowledge base.
There are two types of inference engine:
• Deterministic Inference engine: The conclusions drawn from this
type of inference engine are assumed to be true. It is based
on facts and rules.
• Probabilistic Inference engine: This type of inference engine
contains uncertainty in conclusions, and based on the probability.
8. Knowledge Base
• The knowledgebase is a type of storage that stores
knowledge acquired from the different experts of the
particular domain. It is considered as big storage of
knowledge. The more the knowledge base, the more
precise will be the Expert System.
• It is similar to a database that contains information and
rules of a particular domain or subject.
• One can also view the knowledge base as collections of
objects and their attributes. Such as a Lion is an object
and its attributes are it is a mammal, it is not a
domestic animal, etc.
9. Components of Knowledge Base
• Factual Knowledge: The knowledge which is
based on facts and accepted by knowledge
engineers comes under factual knowledge.
• Heuristic Knowledge: This knowledge is based
on practice, the ability to guess, evaluation,
and experiences.
10. Knowledge Representation &
Acquisitions
• Knowledge Representation: It is used to
formalize the knowledge stored in the
knowledge base using the If-else rules.
• Knowledge Acquisitions: It is the process of
extracting, organizing, and structuring the
domain knowledge, specifying the rules to
acquire the knowledge from various experts,
and store that knowledge into the knowledge
base.
11. Example Scenario
• Suppose a patient comes to a medical clinic
with symptoms like fever, sore throat, and
swollen lymph nodes. The doctor, who is using
an expert system for assistance, inputs these
symptoms into the system. Here's how the
expert system might work:
12. Example Scenario- Solution
• Data Input Inference Engine Knowledge Base
Diagnosis Rule-Based Reasoning
Recommendations Explanations
Procedure:
1. The doctor enters the patient's symptoms into the expert
system through the user interface.
2. The inference engine starts to analyze the input
symptoms. It begins by asking questions or making
hypotheses. For instance, it might ask, "Is the patient
experiencing difficulty swallowing?" Based on the
responses, it narrows down the possibilities.
13. Procedure
• 3. The expert system consults its knowledge base, which
contains information about various diseases and their
symptoms. It knows that fever, sore throat, and swollen
lymph nodes can be indicative of several diseases, including
strep throat, mononucleosis, and tonsillitis.
• 4. The system applies rules and logical reasoning to the
information in the knowledge base. It might have rules like
"If the patient has a fever and swollen lymph nodes but no
difficulty swallowing, it could be mononucleosis.“
• 5. Based on the input symptoms, responses to questions,
and the application of rules, the expert system generates a
preliminary diagnosis. In this case, it suggests that the
patient might have mononucleosis.
14. Procedure
• 6. Recommendations: The expert system
provides treatment recommendations, which
may include rest, fluids, and antiviral
medications. It may also advise the doctor to run
further tests for confirmation.
• 7. Explanations: Importantly, expert systems can
provide explanations for their conclusions. It can
explain to the doctor why it arrived at the
diagnosis of mononucleosis, citing the specific
symptoms and rules it applied.
15. Examples
• DENDRAL: It was an artificial intelligence project that was made as
a chemical analysis expert system. It was used in organic chemistry
to detect unknown organic molecules with the help of their mass
spectra and knowledge base of chemistry.
• MYCIN: It was one of the earliest backward chaining expert systems
that was designed to find the bacteria causing infections like
bacteria and meningitis. It was also used for the recommendation
of antibiotics and the diagnosis of blood clotting diseases.
• PXDES: It is an expert system that is used to determine the type and
level of lung cancer. To determine the disease, it takes a picture
from the upper body, which looks like the shadow. This shadow
identifies the type and degree of harm.
• CaDeT: The CaDet expert system is a diagnostic support system that
can detect cancer at early stages.
16. Examples
• CLIPS: The C Language Integrated Production System (CLIPS) is a widely used open-source
expert system development tool. It provides a framework for building rule-based expert
systems and has applications in various fields, including aerospace and healthcare.
• XCON: XCON is a well-known expert system developed by Digital Equipment Corporation
(DEC) in the 1980s. It was used for configuring computer systems based on customer
requirements.
• PROSPECTOR: PROSPECTOR is an expert system used in the field of mineral exploration. It
helps geologists identify potential mining sites based on geological data and expert
knowledge.
• CADUCEUS: CADUCEUS is an expert system developed for diagnosing certain medical
conditions, specifically blood disorders. It combines rule-based reasoning with probabilistic
methods to make diagnoses.
• Cyc: Cyc is a long-term project aimed at creating a comprehensive, common-sense
knowledge base that can be used to power various expert systems. It's been applied in areas
like natural language processing and automated reasoning.
• Watson: Developed by IBM, Watson is a more recent and well-known example of an expert
system. It gained fame for winning the quiz show Jeopardy! in 2011. Watson is used in
various applications, including healthcare (IBM Watson Health) and business analytics.
• DeepMind's AlphaFold: While not a traditional expert system, AlphaFold is an AI system that
excels in predicting the 3D structures of proteins, a problem that has stumped scientists for
decades. It demonstrates the power of AI and expert knowledge in a critical area of biology.
17. Examples
• Cyc: Cyc is a long-term project aimed at creating a comprehensive,
common-sense knowledge base that can be used to power various
expert systems. It's been applied in areas like natural language
processing and automated reasoning.
• Watson: Developed by IBM, Watson is a more recent and well-
known example of an expert system. It gained fame for winning the
quiz show Jeopardy! in 2011. Watson is used in various applications,
including healthcare (IBM Watson Health) and business analytics.
• DeepMind's AlphaFold: While not a traditional expert system,
AlphaFold is an AI system that excels in predicting the 3D structures
of proteins, a problem that has stumped scientists for decades. It
demonstrates the power of AI and expert knowledge in a critical
area of biology.
18. Probability-based expert system
• A probability-based expert system is a type of artificial
intelligence system that uses probability theory and
statistical methods to make decisions or provide
recommendations.
• It combines expert knowledge with probabilistic
reasoning to handle uncertainty and make informed
choices.
• These systems are commonly used in various fields,
including medicine, finance, and engineering, where
decisions must be made in situations with incomplete
or uncertain information.
20. Components of a Probability-Based
Expert System
• Knowledge Base: This contains the domain-specific
information and rules provided by experts. It includes
facts, relationships, and conditional probabilities.
• Inference Engine: The inference engine is responsible
for reasoning and making decisions based on the
information in the knowledge base. It uses probabilistic
reasoning techniques to calculate the likelihood of
different outcomes.
• User Interface: This component allows users to interact
with the expert system, input data, and receive
recommendations or decisions.
21. Example 1: Medical Diagnosis Expert
System
Let's consider an example of a medical diagnosis expert
system that uses probabilities to help diagnose a patient's
condition.
• Knowledge Base: The knowledge base contains
information about symptoms, diseases, and the
likelihood of a patient having a particular disease given
their symptoms. For instance, it might include the
following rules:
• If the patient has a high fever AND a persistent cough,
THEN the probability of having the flu is 70%.
• If the patient has a rash AND joint pain, THEN the
probability of having a viral infection is 50%.
22. Inference Engine
• The inference engine takes patient input (symptoms) and
calculates the probabilities of various diseases.
• It combines these probabilities to determine the most
likely diagnosis. It may use techniques like Bayesian
networks or Markov models to perform these calculations.
• For example,
if a patient reports having a high fever and a
persistent cough, the inference engine might calculate the
probability of having the flu as 70%. If the patient also reports
a rash and joint pain, it would consider the probabilities of all
relevant diseases and assign the highest probability to the
most likely diagnosis.
23. User Interface
• The user interface allows the patient or healthcare
provider to input the patient's symptoms. After
processing the input, the expert system would provide
a ranked list of possible diagnoses along with their
associated probabilities. It might say something like:
• Diagnosis 1: Influenza (70% probability)
• Diagnosis 2: Viral infection (50% probability)
• Diagnosis 3: Common cold (30% probability)
• The healthcare provider can then use this information
to make an informed decision about further testing or
treatment.
24. Conclusion
• In this example, the probability-based expert
system uses probabilistic reasoning to handle
the uncertainty associated with medical
diagnoses.
• It provides a quantitative assessment of the
likelihood of different outcomes, allowing for
more informed decision-making in complex
and uncertain situations.
25. Example 2: Autonomous Vehicle
Decision-Making Expert System
Knowledge Base:
• The knowledge base in an autonomous vehicle decision-making
expert system contains a vast amount of data related to road
conditions, traffic rules, vehicle performance, and potential hazards.
• It includes rules and probabilities associated with various driving
scenarios.
• For instance:
• Probability of pedestrians crossing the road at a crosswalk during
daylight hours.
• Rules for maintaining safe following distances behind other vehicles
under different weather conditions.
• Probabilities of encountering road construction or accidents on a
particular route.
26. Inference Engine
• The inference engine continuously processes sensor data
from the vehicle, including information from cameras,
LiDAR, radar, and GPS.
• It combines this real-time data with the knowledge base to
make decisions about the vehicle's speed, lane changes,
braking, and other driving actions.
• For example,
if the LiDAR sensor detects a pedestrian at a crosswalk, the
inference engine calculates the probability of a collision and
determines if the vehicle should slow down or stop to avoid
the pedestrian. It takes into account factors such as the
vehicle's speed, the pedestrian's location, and the current
weather and road conditions.
27. Example 3: Investment Portfolio
Management Expert System
• Knowledge Base: The knowledge base in this expert
system contains financial data, historical market trends,
and rules for portfolio management.
For instance:
• Historical data on the performance of various asset
classes like stocks, bonds, and real estate.
• Rules for asset allocation, such as "If the investor has a
high risk tolerance, allocate 70% to stocks and 30% to
bonds."
• Probabilities associated with market conditions, such
as "There is a 30% probability of a stock market
downturn in the next year."
28. Inference Engine:
• The inference engine takes input from the investor, including their
risk tolerance, investment goals, and current financial situation. It
then uses this information to make investment recommendations
based on probabilistic reasoning.
• For example, if an investor with a moderate risk tolerance and a
long-term investment horizon seeks advice, the inference engine
might recommend a portfolio allocation like this:
• Stocks: 60%
• Bonds: 30%
• Real Estate: 10%
• The engine calculates these recommendations by considering the
investor's risk tolerance and the historical performance data and
probabilistic market conditions.
29. Expert system Tools
• Expert system tools are software or platforms
designed to facilitate the development,
deployment, and management of expert systems.
• These tools provide a range of functionalities,
including knowledge representation, inference
engines, user interfaces, and sometimes machine
learning capabilities.
• They simplify the process of building and
maintaining expert systems, making it easier for
domain experts to codify their knowledge and for
organizations to leverage that expertise.
30. List of some notable expert system
tools:
• CLIPS: CLIPS (C Language Integrated Production System) is a widely
used open-source expert system development tool that provides a
rule-based inference engine and knowledge representation.
• Drools: Drools is a popular open-source rule engine written in Java.
It offers rule-based programming capabilities and is used for
building decision-management systems and expert systems.
• Jess: Jess (Java Expert System Shell) is another rule engine and
scripting environment for the Java platform. It is similar in
functionality to CLIPS and is used for rule-based programming.
• Prolog: Prolog is a logic programming language commonly used for
building expert systems based on rule-based reasoning and
knowledge representation.
31. Expert system tools
• Pyke: Pyke is a knowledge-based inference engine that
integrates with Python. It allows you to build rule-based
expert systems using Python's scripting capabilities.
• IBM Watson Knowledge Studio: IBM's Watson Knowledge
Studio provides tools for building machine learning-based
expert systems by annotating and training data. It's
especially useful for natural language understanding
applications.
• Exsys Corvid: Exsys Corvid is a commercial expert system
development tool that offers a range of features for
building decision support systems and expert systems.
32. Expert system tools
• NeuroRule: NeuroRule is a tool that combines neural
networks with expert systems. It's designed for
applications where both symbolic reasoning and neural
network-based learning are required.
• XCON: XCON (Expert Configurer) is a historic example
of an expert system that was developed by Digital
Equipment Corporation (DEC) for configuring VAX
computer systems. While not a contemporary tool, it's
noteworthy in the history of expert systems.
• OpenRules: OpenRules is an open-source business
rules management system that provides a rule engine
for building decision logic and expert systems.
33. Expert system tools
• Fuzzy Logic Tools: Various tools and libraries,
such as MATLAB's Fuzzy Logic Toolbox and scikit-
fuzzy for Python, offer support for building expert
systems that utilize fuzzy logic for handling
uncertainty.
• Inference Engines in AI Platforms: Many AI
platforms and frameworks, such as TensorFlow,
PyTorch, and Kie, include components for
building rule-based expert systems or integrating
rule-based reasoning into machine learning
applications.
34. Example
• An example of an expert system using an
inference engine in an AI platform can involve
utilizing rule-based reasoning within a
machine learning framework.
• In this example, we'll use Python and
TensorFlow/ Keras, which are popular AI
platforms, to build an expert system for
diagnosing plant diseases based on leaf
images.
35. Problem Statement: Develop an expert system
to diagnose plant diseases using leaf images.
• Steps to Create the Expert System:
• Data Collection: Collect a dataset of leaf images, where each image
is labeled with the type of disease or is healthy.
• Rule-Based Component: Define a set of rules that consider visual
symptoms of diseases. For instance:
if yellow_spots and curling_leaves:
diagnosis = "Yellow Leaf Curl Virus"
elif brown_spots and wilted_leaves:
diagnosis = "Fungal Infection"
else:
diagnosis = "Healthy"
• These rules are based on visual symptoms observed in the leaf
images.
36. • Machine Learning Component: Use a neural network (in
this case, a convolutional neural network or CNN) to learn
from the images. Train the model on the labeled dataset to
classify leaf images into healthy or disease categories.
• Inference Engine: Implement an inference engine that
combines the output from the rule-based component and
the machine learning component. It can be as simple as
considering the rule-based diagnosis unless the confidence
of the neural network prediction is high.
if confidence >= 0.8:
diagnosis = neural_network_prediction
37. Example Python program for Rule based expert system
with machine learning
# Rule-Based Component
def rule_based_diagnosis(leaf_image):
# Implement rules to diagnose based on visual symptoms
# Example: Check for yellow spots, curling leaves, brown
spots, wilted leaves, etc.
if yellow_spots and curling_leaves:
return "Yellow Leaf Curl Virus"
elif brown_spots and wilted_leaves:
return "Fungal Infection"
else:
return "Healthy"
38. # Machine Learning Component (Neural Network)
def neural_network_diagnosis(leaf_image):
# Use a pre-trained CNN model or train one on the dataset
# Return the predicted class (disease or healthy)
# Inference Engine
def expert_system_diagnosis(leaf_image):
rule_based = rule_based_diagnosis(leaf_image)
neural_network, confidence = neural_network_diagnosis(leaf_image)
if confidence >= 0.8:
return neural_network
else:
return rule_based
39. # Load an image and perform diagnosis
leaf_image = load_image("sample_leaf.jpg")
diagnosis=expert_system_diagnosis(leaf_image)
print("Diagnosis:", diagnosis)
40. Conclusion
• In this example, we've combined a rule-based
approach (based on visual symptoms) and a
neural network-based approach (using
TensorFlow/Keras) within an inference engine.
• The expert system can provide a diagnosis
based on both rules and machine learning
predictions, with a confidence threshold to
decide which diagnosis to trust.