universal fuzzy system representation with xml authors : chris tseng, wafa khamisy, toan vu source...
DESCRIPTION
3/31 Introduction (1/3) In a complex system where there are ambiguity and vagueness, fuzzy logic can be an ideal methodology. Collaboration and subsequent integration with other fuzzy designs become a difficult issue. For complex fuzzy system design, it is essential that a standard platform for fuzzy logic data and structure sharing be available.TRANSCRIPT
Universal fuzzy system representation with XML
Authors : Chris Tseng, Wafa Khamisy, Toan Vu Source : Computer Standards & Interfaces, Volume 28, Issue 2, December 2005,
Pages 218-230. Speaker :徐任鵬 Date : 2006/01/12
2/31
Outline Introduction Extensible Markup Language-XML
Document Type Definition-DTD XML Schema
Fuzzy logic Fuzzy system
Fuzzy system in XML Fuzzy system components Fuzzy system data types Fuzzy system schema
Examples and application Conclusion
3/31
Introduction (1/3) In a complex system where there are
ambiguity and vagueness, fuzzy logic can be an ideal methodology.
Collaboration and subsequent integration with other fuzzy designs become a difficult issue.
For complex fuzzy system design, it is essential that a standard platform for fuzzy logic data and structure sharing be available.
4/31
Introduction (2/3) One way to represent fuzzy system and its
components is through the Extensible Markup Language (XML).
We demonstrate how fuzzy systems described in XML with our proposed schema can be universally compatible with different software by using XSLT(eXtensible Style Language Transformation) stylesheets.
5/31
Introduction (3/3)
The proposed schema offers a standard platform for fuzzy system developers and users to collaborate without compatibility issues.
6/31
Extensible Markup Language-XML
XML is grammatical system for constructing custom markup languages.
XML is platform independent and is becoming a standard to exchange data over the internet.
7/31
Document Type Definition-DTD A DTD defines the syntax of an XML
language. <!ELEMENT> tag is used to define all the
legal elements allowed in the XML document.
An element can have a list of attributes with the tag <!ATTLIST>.
Entities are declared within the DTD by the <!ENTITY> tag.
8/31
XML Schema An XML Schema Language is used to
describe the structure of an XML document.
XML Schema is a newer schema for XML as compared with DTD and has several advantages over DTD.
9/31
Fuzzy logic Fuzzy logic introduces a set of
membership functions that maps between linguistic elements to numerical values in the context of fuzzy set.
The fuzzy membership function value indicates the degree to which an element belong to a fuzzy set.
10/31
Fuzzy system (1/2) Fuzzy system are usually input/output syst
ems with appropriate membership functions for some applications.
Some successful fuzzy system applications : anti-lock brake system 、 satellite tracking.
11/31
Fuzzy system (2/2) A fuzzy system usually consists of four co
mponents :Fuzzification InterfaceFuzzy Inference EngineFuzzy Rule BaseDefuzzification Interface
12/31
Fuzzy system in XML (1/2) We encapsulates fuzzy system description
in common elements that can be used to represent any fuzzy system.
13/31
Fuzzy system in XML (2/2)
14/31
Fuzzy system components (1/2) The high level hierarchy of our fuzzy system has
the following main components : Input Base : It is a component that consists of a coll
ection of inputs. Membership Function Repository : This component
contains all the membership function used to describe the fuzzy system.
Inference Engine : It is a component that defines all the operators used to perform inferencing.
Operator Repository : This component contains all the operators used to describe the fuzzy system.
15/31
Fuzzy system components (2/2)
Rule Base : It is a collection of fuzzy If-Then rules. Defuzzification : It is a fuzzy system component that
translates fuzzy set output values into crisp values. Output Base : It is a component that consists of a co
llection of outputs.
16/31
Fuzzy system data types At the lower level, it has the following main data t
ypes : Linguistic Variable : A linguistic variable has a range
of values and at least one linguistic term. Linguistic Term : A linguistic term has a membership
function. Membership Function : A membership function can
be either a pre-defined function or a user-defined function.
Operator : An operator can be either a pre-defined operator or a user-defined operator.
Rule : A rule consists of at least one antecedent and one consequent.
17/31
Fuzzy system schema<?xml version=“1.0” encoding=“UTF-8”?><xs:schema xmlns:xs=“http://www.w3.org/2001/XMLSchema” elementFormDefault=“qualified” attributeFormDefault=“unqualified”>
<xs:include schemaLocation=“Input.xsd”/><xs:element name=“InputBase”> <xs:annotation>
<xs:documentation>Fuzzy system component,that captures all of the input variables</xs:documentation>
</xs:annotation> <xs:complexType> <xs:sequence>
<xs:element name=“Input” type=“Input” maxOccurs=“unbounded”/> <xs:element name=“Num_of_inputs”> <xs:simpleType>
<xs:restriction base=“xs:integer”> <xs:minInclusive value=“1”/></xs:restriction>
</xs:simpleType></xs:element>
</xs:sequence></xs:complexType>
</xs:element></xs:schema> Fig. 6. InputBase.xsd
18/31
<?xml version=“1.0” encoding=“UTF-8”?><xs:schema xmlns:xs=“http://www.w3.org/2001/XMLSchema” elementFormDefault=“qualified” attributeFormDefault=“unqualified”>
<xs:include schemaLocation=“InputBase.xsd”/><xs:include schemaLocation=“InferenceEngine.xsd”/> <xs:include schemaLocation=“RuleBase.xsd”/> <xs:include schemaLocation=“DefuzMethod.xsd”/> <xs:include schemaLocation=“OutputBase.xsd”/> <xs:include schemaLocation=“Operator_Repository.xsd”/> <xs:include schemaLocation=“MF_Repository.xsd”/><xs:element name=“FuzzySystem”><xs:annotation> <xs:documentation>Fuzzy system and it’s components</xs:documentation></xs:annotation><xs:complexType> <xs:sequence><xs:element ref=“InputBase”/><xs:element ref=“InferenceEngine”/><xs:element ref=“RuleBase”/><xs:element ref=“DefuzMethod”/><xs:element ref=“OutputBase”/><xs:element ref=“Operator_Repository”/><xs:element ref=“MF_Repository”/> </xs:sequence> <xs:attribute name=“Name” type=“xs:string” use=“required”/> <xs:attribute name=“Type” type=“xs:string” use=“required”/></xs:complexType></xs:element>
</xs:schema> Fig. 7. FuzzySystem.xsd
19/31
We demonstrate how fuzzy systems in XML can be universally compatible with Matlab and FuzzyJess with appropriate XSLT stylesheet designs.
Examples and application (1/12)
20/31
Examples and application (2/12) The general procedure is illustrated as
following
21/31
Examples and application (3/12) The Tipper fuzzy system is designed to
give advice on the amount of tip a person should give based on the quality of food and service.
22/31
Examples and application (4/12) Consider the tipper system with the following 3 r
ules : TS- Rule 1 : If service is poor and food is rancid then tip
is cheap. Rule 2 : If service is good then tip is average. Rule 3 : If service is excellent and food is delicious
then tip is generous.
23/31
<Rule Weight=“1”><Antecedent Weight=“1”>
<Linguistic_variable Name=“service”> <Linguistic_term Name=“good” Number=“2”>
<MF Name=“service_good”> </MF>
</Linguistic_variable></Antecedent><Antecedent Weight=“0”></Antecedent><Consequent Weight=“1”>
<Linguistic_variable Name=“tip”> <Linguistic_term Name=“average” Number=“2”>
<MF Name=“tip_average”> </MF>
</Linguistic_term></Linguistic_variable>
</Consequent></Rule>
Examples and application (5/12)
Fig. 10. Rule 2 of TipperSystem.xml
24/31
Examples and application (6/12)
25/31
Examples and application (7/12)
26/31
Examples and application (8/12)
27/31
Examples and application (9/12)
28/31
Examples and application (10/12)
29/31
Examples and application (11/12)
30/31
Examples and application (12/12)
31/31
Conclusion We presents an XML methodology to represent f
uzzy systems for facilitating collaborations in fuzzy applications and design.
Fuzzy system can be represented in different formats understood by different applications using the concept of XSLT stylesheets.
With an example, we shows how can represent that given fuzzy system in XML and transform it to comprehensible formats for Matlab and FuzzyJess applications.