# AI/Logic/Fuzzy

### From HaskellWiki

BrettGiles (Talk | contribs) (Creating placeholder for example of AI sub-pages.) |
m (Added Category:AI) |
||

(2 intermediate revisions by 2 users not shown) | |||

Line 1: | Line 1: | ||

− | This placeholder was created as an example to show how / where sub-pages of [[AI]] should be created. |
+ | [[Category:AI]] |

− | {{Template:Stub}} |
+ | == Introduction == |

+ | |||

+ | Fuzzy logic is derived from fuzzy set theory dealing with reasoning that is approximate rather than precisely deduced from classical predicate logic. It can be thought of as the application side of fuzzy set theory dealing with well thought out real world expert values for a complex problem (Klir 1997). |
||

+ | |||

+ | Integral to the idea of a fuzzy set is the membership (or characteristic) function which defines a mapping from an object to its membership in the set which is defined by the membership function. This membership ranges from 0 (indicating the object is '''not''' in the set) to 1 (indicating is '''fully''' in the set). |
||

+ | |||

+ | |||

+ | == Existing literature == |
||

+ | |||

+ | Dave Tapley is about to commence a full literature review of the field so expect this to fill up nicely by 25/06. |
||

+ | |||

+ | *[http://www.journals.cambridge.org/action/displayAbstract?fromPage=online&aid=44203 Animated fuzzy logic] |
||

+ | |||

+ | == Typical problems == |
||

+ | |||

+ | Consider using a fuzzy system if you are dealing with uncertainty in you variables. Classic example is a fuzzy membership function ''old'' this tells us to what ''degree''::Double an ''age''::Int is considered old. Thus we may consider a membership function: |
||

+ | Old :: Int -> Double |
||

+ | |||

+ | == Active developers == |
||

+ | |||

+ | Dave Tapley |
||

+ | |||

+ | == Current goals == |
||

+ | |||

+ | * The design and implementation of generalised fuzzy sets in Haskell. Given Haskell's type system it seems there is a lot of scope for a good design here. |
||

+ | |||

+ | == Sample code == |

## Revision as of 19:07, 5 January 2010

## Contents |

## 1 Introduction

Fuzzy logic is derived from fuzzy set theory dealing with reasoning that is approximate rather than precisely deduced from classical predicate logic. It can be thought of as the application side of fuzzy set theory dealing with well thought out real world expert values for a complex problem (Klir 1997).

Integral to the idea of a fuzzy set is the membership (or characteristic) function which defines a mapping from an object to its membership in the set which is defined by the membership function. This membership ranges from 0 (indicating the object is **not** in the set) to 1 (indicating is **fully** in the set).

## 2 Existing literature

Dave Tapley is about to commence a full literature review of the field so expect this to fill up nicely by 25/06.

## 3 Typical problems

Consider using a fuzzy system if you are dealing with uncertainty in you variables. Classic example is a fuzzy membership function *old* this tells us to what *degree*::Double an *age*::Int is considered old. Thus we may consider a membership function:
Old :: Int -> Double

## 4 Active developers

Dave Tapley

## 5 Current goals

- The design and implementation of generalised fuzzy sets in Haskell. Given Haskell's type system it seems there is a lot of scope for a good design here.