Fuzzy Rule Base
- $$n$$ input linguistic variables: $$x_1 \in U_1, ..., x_n \in U_n$$
- One output linguistic variable: $$y \in V$$
Let $$x = (x_1, ..., x_n)$$, $$U = U_1 \times U_2 \times ... \times U_n$$, then the kth rule of fuzzy rule base:
$$ R(k): \text{ IF } x \text{ is } A_1^k \times ... \times A_n^k \text{ THEN } y \text{ is } B^k
$$
where $$A_i^k \subset U_i, B^k \subset V$$ (k = 1, 2, ..., M)
Complete
For any $$x = (x1, ..., x_n)$$, there exists at least one rule $$k$$ s.t. $$\mu{A_j^k}(x_i) \ne 0$$.
-> At least one rule will be fired (giving nonzero output) for any input.
Consistent
No rules with the same IF part but different THEN parts.
-> Fuzzy inference can handle conflicting rules by defuzzification, while nonfuzzy inference systems can not.
Continuous
The THEN parts of neighboring rules always have non-empty intersection.
-> Output can vary continuously; necessary for the input-output behavior of the fuzzy system to be smooth.
Fuzzy Inference Engine
Composition Based Inference
Each rule in the fuzzy rule base is viewed as a relation. All rules are combined into a single relation in $$U \times V$$, which is viewed as a single fuzzy IF-THEN rule.
Individual-Rule Based Inference
Each individual rule of the fuzzy rule base is applied to the input to produce an output, then combined to give the overall output.
$$\mu{B_k'}(y) = sup_x t[\mu{A'}(x), \mu_{R(k)}(x, y)]$$
$$B' = \cup^M_{k=1}B_k'$$ (or intersection, depending on the intended relationship)
Common Inference Engines
Parameters:
- Way to combine the rules
- Type of inference rule
- Type of t-norm/s-norm
Minimum Inference Engine
- Individual-rule based inference
- Union combination
- Mamdani minimum implication
- Min for t-norm
- Max for s-norm
$$\mu{B'}(y) = max^M{k=1}{ sup{x \in U} min[\mu{A'}(X), \mu{A_1^k}(X_1), ..., \mu{An^k}(X_n), \mu{B^k}(y)] }$$
Product Inference Engine
- Individual-rule based inference
- Union combination
- Mamdani product implication
- Algebraic product for t-norm
- Max for s-norm.
$$\mu{B'}(y) = max^M{k=1}{ sup{x \in U} [\mu{A'}(X)\mu{A_1^k}(X_1)...\mu{An^k}(X_n)\mu{B^k}(y)] }$$
Fuzzifiers
Maps a real-valued point $$a \in U$$ to a fuzzy set $$A'$$ in $$U$$.
Singleton Fuzzifier
$$\begin{aligned} \mu_{A'}(x) = &1 &\text{if } x = a\ &0 &\text{otherwise} \end{aligned}$$
Triangular Fuzzifier
$$\begin{aligned} \mu_{A'}(x) = &1 - \frac{|x-a|}{b} &\text{if } |x-a| \le b\ &0 &\text{otherwise} \end{aligned}$$
$$\begin{aligned} \mu{A'}(x) = &t(1 - \frac{|x_1-a_1|}{b_1}, ..., 1 - \frac{|x_n-a_n|}{b n}) &\text{if } |x_i-a_i| \le b_i\ \forall i\ &0 &\text{otherwise} \end{aligned}$$
Gaussian Fuzzifier
$$\mu_{A'}(x) = e^{-(\frac{x-a}{b})^2}$$
$$\mu_{A'}(x) = t(e^{-(\frac{x_1-a_1}{b_1})^2}, ..., e^{-(\frac{x_n-a_n}{b_n})^2})$$
Defuzzifiers
Maps a fuzzy set output $$B'$$ in $$V$$ to a crisp point $$b \in V$$.
- d1: $$b$$ should be a good representation of fuzzy set $$B'$$
- d2: the defuzzification scheme should be readily computable
- d3: $$b$$ should be a continuous function of $$B'$$ s.t. a small change in $$B'$$ will not cause $$b$$ to jump discontinuously
Mean of Maxima (MoM) Defuzzifier
Let $$m(B')$$ be the set of points where $$\mu_{B'}(y)$$ achieves its maximum value:
$$m(B') = { y \in V | \mu_{B'}(y) = hgt(B')}$$
$$y* = \frac{\int{m(B')}ydy}{\int{m(B')}dy}$$
- d1 & d2 satisfied
Center of Area (CoA)/Center of Gravity Defuzzifier
$$y* = \frac{\intv y \mu{B'}(y) dy}{\intv \mu{B'}(y) dy}$$
- d1 & d3 satisfied
Center Average Defuzzifier
$$y* = \frac{\sum^M{i=1} w_i y_i}{\sum^M{i=1} w_i}$$
- d1 & d2 & d3 satisfied
Center of Sums Defuzzifier
$$y* = \frac{\sum^M{i=1} CoA_i area_i}{\sum^M{i=1} area_i}$$
Fuzzy Systems as Nonlinear Mappings
Suppose:
- Singleton fuzzifier
- Produce inference engine
- Center-average defuzzifier
$$ y = f(x) = \frac{\sum^M{k=1}(y_k \prod^n{i=1}\mu{A_i^k}(x_i))}{\sum^M{k=1}(\prod^n{i=1}\mu{A_i^k}(x_i))}
$$
Universal Approximation Theorem
For any given continuous real-valued function $$g(x)$$ and $$\epsilon > 0$$, there exists a fuzzy system with a mapping function $$f(x)$$ s.t.
$$ | f - g |{\infty} = sup{x \in U} |f(x) - g(x)| < \epsilon
$$
i.e. $$g(x)$$ can always be approximated by $$f(x)$$ to any pre-specified level of tolerance $$\epsilon$$.
Ordering of Fuzzy Sets
- High set
- $$hgh(A) = { x \in U | \mu_A(x) = hgt(A) }$$
- Ordering
- $$hgh(A) < hgh(B)$$ if $$\forall x \in hgh(A) \text{ and } \forall y \in hgh(B), x < y$$
- Also $$A < B$$
If $$A_1, ..., A_N$$ are normal and consistent fuzzy sets with trapezoid membership functions, we can always assume w.l.o.g. they are ordered as $$A_1 < ... < A_N$$.
Function Approximation Problem
Let $$g(x)$$be a function defined on an interval $$U = [\alpha, \beta]$$. For a set of points $$\alpha \le a_1 \le ... \le \beta$$, given $$g(a_k) = y_k$$, we wish to construct a fuzzy system whose mapping $$f(x)$$ interpolates $$g(x)$$ at the points $$a_k$$.
- Construct $$N$$ input fuzzy sets $$A_1, ..., A_N$$ (complete, consistent, and ordered) on $$U$$ with membership functions
- $$\begin{aligned}&\mu{A_1}(x) = \mu_T(x; \alpha, a_1, a_2)\&...\&\mu{AN}(x) = \mu_T(x;a{N-1}, a_N, \beta)\end{aligned}$$
- Construct output fuzzy set $$B_k$$ with center at $$y_k$$, $$k = 1, ..., N$$
- Construct a fuzzy rule base consisting of the rules:
- If $$x$$ is $$A_k$$ then $$y$$ is $$B_k$$
- Input-output mapping:
- $$f(x) = \frac{\sum^N{k=1}y_k \mu{Ak}(x)}{\sum^N{k=1}\mu_{A_k}(x)}$$
- $$f(ak) = y_k$$ since at $$x = a_k$$, $$\mu{Ak}(a_k) = 1$$ whereas $$\mu{A_j}(a_k) = 0 \forall j \ne k$$
- If $$g(x)$$ is continuously differentiable on $$[\alpha, \beta]$$, then the approximation accuracy can be bounded as:
- $$| f - g |{\infty} \le | \frac{\partial g}{\partial x} |{\infty} \Delta_a$$
- $$\Deltaa = max{1 \le k < N} |a_{k+1} - a_k|$$
- $$| \frac{\partial g}{\partial x} |_{\infty}$$ is the max of $$\frac{\partial g}{\partial x}$$ over $$[\alpha, \beta]$$