Measures Concepts
GitHub icon

Fuzzy Markup Language

Fuzzy Markup Language - Xml format

< >

Fuzzy Markup Language, aka Fuzzy Markup Language, is a xml format created in 2004.

#625on PLDB 20Years Old

Fuzzy Markup Language (FML) is a specific purpose markup language based on XML, used for describing the structure and behavior of a fuzzy system independently of the hardware architecture devoted to host and run it.. Read more on Wikipedia...


Example from Wikipedia:
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> ........ <xs:complexType name="KnowledgeBaseType"> <xs:sequence> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="FuzzyVariable" type="FuzzyVariableType"/> <xs:element name="TSKVariable" type="TSKVariableType"/> </xs:choice> </xs:sequence> </xs:complexType> <xs:complexType name="FuzzyVariableType"> <xs:sequence> <xs:element name="FuzzyTerm" type="FuzzyTermType" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="name" type="xs:string" use="required"/> <xs:attribute name="defuzzifier" default="COG"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="MM|COG|COA|WA|Custom"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="accumulation" default="MAX"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="MAX|SUM"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="scale" type="xs:string" /> <xs:attribute name="domainleft" type="xs:float" use="required"/> <xs:attribute name="domainright" type="xs:float" use="required"/> <xs:attribute name="defaultValue" type="xs:float" default="0"/> <xs:attribute name="type" default="input"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="input|output"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> <xs:complexType name="FuzzyTermType"> <xs:choice> <xs:element name="RightLinearShape" type="TwoParamType"/> <xs:element name="LeftLinearShape" type="TwoParamType"/> <xs:element name="PIShape" type="TwoParamType"/> <xs:element name="TriangularShape" type="ThreeParamType"/> <xs:element name="GaussianShape" type="TwoParamType"/> <xs:element name="RightGaussianShape" type="TwoParamType"/> <xs:element name="LeftGaussianShape" type="TwoParamType"/> <xs:element name="TrapezoidShape" type="FourParamType"/> <xs:element name="SingletonShape" type="OneParamType"/> <xs:element name="RectangularShape" type="TwoParamType"/> <xs:element name="ZShape" type="TwoParamType"/> <xs:element name="SShape" type="TwoParamType"/> <xs:element name="UserShape" type="UserShapeType"/> </xs:choice> <xs:complexType name="TwoParamType"> <xs:attribute name="Param1" type="xs:float" use="required"/> <xs:attribute name="Param2" type="xs:float" use="required"/> </xs:complexType> <xs:complexType name="ThreeParamType"> <xs:attribute name="Param1" type="xs:float" use="required"/> <xs:attribute name="Param2" type="xs:float" use="required"/> <xs:attribute name="Param3" type="xs:float" use="required"/> </xs:complexType> <xs:complexType name="FourParamType"> <xs:attribute name="Param1" type="xs:float" use="required"/> <xs:attribute name="Param2" type="xs:float" use="required"/> <xs:attribute name="Param3" type="xs:float" use="required"/> <xs:attribute name="Param4" type="xs:float" use="required"/> </xs:complexType> <xs:complexType name="UserShapeType"> <xs:sequence> <xs:element name="Point" type="PointType" minOccurs="2" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="PointType"> <xs:attribute name="x" type="xs:float" use="required"/> <xs:attribute name="y" type="xs:float" use="required"/> </xs:complexType> <xs:complexType name="RuleBaseType"> <xs:attribute name="name" type="xs:string" use="required"/> <xs:attribute name="activationMethod" default="MIN"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="PROD|MIN"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="andMethod" default="MIN"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="PROD|MIN"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="orMethod" default="MAX"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="PROBOR|MAX"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="type" use="required"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="TSK|Tsk|tsk|Mamdani|mamdani"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> <xs:complexType name="MamdaniRuleBaseType"> <xs:complexContent> <xs:extension base="RuleBaseType"> <xs:sequence> <xs:element name="Rule" type="MamdaniFuzzyRuleType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="AntecedentType"> <xs:sequence> <xs:element name="Clause" type="ClauseType" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="MamdaniConsequentType"> <xs:sequence> <xs:element name="Clause" type="ClauseType" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="ClauseType"> <xs:sequence> <xs:element name="Variable"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:whiteSpace value="collapse"/> <xs:pattern value="(([A-Z])|([a-z]))+([A-Z]|[a-z]|[0-9])*"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Term" type="xs:string"> </xs:element> </xs:sequence> <xs:attribute name="modifier" use="optional"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="above|below|extremely|intensify|more_or_less|norm|not|plus|slightly|somewhat|very"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> .......... </xs:schema>

View source

- Build the next great programming language Search Add Language Features Creators Resources About Blog Acknowledgements Queries Stats Sponsor Day 605 feedback@pldb.io Logout