8
Fuzzy Computation

Computation is about calculating or enumerating mechanically. Typically, the word mechanically means that one builds a device and sets it in motion in order to perform the desired calculation or enumeration. Many and different real or conceptual devices capable of performing computations have been proposed. Most of them operate in a crisp environment and in a crisp manner. However, there are some devices that profit from the use of vagueness in their overall operation. These devices and the related theory are described in this chapter. The material presented in this chapter is based on [220, 274].

8.1 Automata, Grammars, and Machines

A finite automaton can be seen as a machine equipped with scanning head that can read the contents of sequence of cells, while the head can move in only one direction. At any moment, the machine is in a state. Initially, the scanning head is positioned on the leftmost cell, while a number of symbols are printed on consecutive cells starting with the leftmost cell. Also, the machine enters a default initial state. Each machine is associated with a number of transition rules. A transition rule has the general form images, where images and images are states and images is a symbol. The meaning of this rule is that if the automaton is in state images, it will enter state images only if the next symbol is images. When the machine starts, it reads the first symbol and if there is a transition rule that includes this symbol and the current state, then the scanning head moves to the right and the machine enters a new state. If the machine enters the final state, then it accepts the input and terminates. The machine may suspend without completion when no transition rule applies. The alphabet of the machine consists of the symbols that the scanning head can recognize. The following figure shows a finite automaton with two states whose alphabet is images.

Illustration of a finite automaton with two states whose alphabet is {a, b}. The symbols in the circles are the states, the symbol in the double circle is the accepting state, and the symbols over the arcs are the symbols that the automaton consumes.

The symbols in the circles are the states, the symbol in the double circle is the accepting state, and the symbols over the arcs are the symbols that the automaton consumes. Thus, this is a compact way to write the various transition rules. This automaton determines if an input sequence of symbols over its alphabet contains an even number of images's. For example, if the input is the sequence “images”, then the following table shows what has to be done in order to have this sequence accepted by this automaton.

Current state Unread symbols Transition rule
images images images
images images images
images images images
images images images
images Input accepted!

More generally, automata are able to examine whether character sequences or just strings belong to some formal language.

Typically, a language is defined by a grammar:

Grammars are classified as follows:

  • Unrestricted grammars. There are no restrictions on the form of the production rules.
  • Context‐sensitive grammars. The relation images contains only productions of the form images, where images, and in general, images is the length of the string images.
  • Context‐free grammars. The relation images contains only productions of the form images, where images and images.
  • Regular grammars. The relation images contains only productions of the form images, where images, images, and images has the form images or images, where images and images.

Syntactically complex languages can be defined by means of grammars. To each class of languages, there is a class of automata (machines) that accept (i.e., they can answer the decision problem “images?,” where images is a string and images is a language) this class of languages, which are generated by the respective grammars. In particular, finite automata accept languages generated by regular grammars, push‐down automata accept languages generated by context‐free grammars, linear bounded automata accept languages generated by context‐sensitive grammars, and Turing machines accept recursive languages, that is, a subclass of the class of languages generated by unrestricted grammars.

A Turing machine is a conceptual computing device consisting of an infinite tape, a controlling device, and a scanning head (see Figure 8.1). The tape is divided into an infinite number of cells. The scanning head can read and write symbols in each cell. The symbols are elements of a set images, images, which is called the alphabet. Usually, there is an additional symbol, images, called the blank symbol, and when this symbol is written on a cell by the scanning head, the effect of this operation is the erasure of the symbol that was printed on this particular cell. At any moment, the machine is in a state images, which is a member of a finite set images, images. The controlling device is actually a look‐up table that is used to determine what the machine has to do next at any given moment. In particular, the action a machine has to take depends on its current state and the symbol that is printed on the cell the scanning head has just finished scanning. If no action has been specified for a particular combination of state and symbol, the machine halts. Usually, the control device is specified by a finite set of quadruples, which are special cases of expressions.

Illustration of a typical Turing machine. The tape is divided into an infinite number of cells.  and blocks of cells represent the finite number of arguments.

Figure 8.1 A typical Turing machine.

A quadruple can have one of the following forms:

Note that images and images. The quadruple (8.1) specifies that if the machine is in state images and the cell that the scanning head scans contains the symbol images, then the scanning head replaces images by images and the machine enters state images. The quadruples (8.2) and (8.3) specify that if the machine is in state images and the cell that the scanning head scans contains the symbol images, then the scanning head moves to the cell to the left of the current cell, or to the cell to the right of the current cell, respectively, and the machine enters the state images. Sometimes the following quadruple is also considered:

(8.4)equation

This quadruple is particularly useful if we want to construct a Turing machine that will compute relatively computable functions. These quadruples provide a Turing machine with a means of communicating with an external agency that can give correct answers to questions about a set images. In particular, when a machine is in state images and the cell that the scanning head scans contains the symbol images, then the machine can be thought of as asking the question, “Is images?” Here images is the number of images's that are printed on the tape. If the answer is “yes,” then the machine enters state images; otherwise it enters state images. Turing machines equipped with such an external agency are called oracle machines, and the external agency is called an oracle.

Turing machines are used to compute the value of functions images that take values in images. Each argument images, is represented on the tape by preprinting the symbol images on images consecutive cells. Typically, such a block of cells is denoted by images. Argument representations are separated by a blank cell (i.e., a cell on which the symbol images is printed), while all other cells are empty (i.e., the symbol images has been preprinted on each cell). It is customary to represent such a block of cell with the expression

equation

If images is an expression, then images will denote the number of images contained in images. In addition,

equation

It is also customary to use the symbol 1 for images. Thus, the sequence images will be represented by the following three blocks of 1's:

equation

The machine starts at state images and the scanning head is placed atop the leftmost 1 of a sequence of images blocks of 1's. If the machine has reached a situation in which none or more than one quadruple is applicable, the machine halts. Once the machine has terminated, the result of the computation is equal to the number of cells on which the symbol images is printed.

Although the description presented so far is quite formal for our own taste, still fuzzy versions of the Turing machine are extensions of the “standard” formal definition that is given below.

Note that here we have defined a machine that has a unidirected tape and not a bidirectional tape. One can get the bidirectional version by eliminating all references to the images symbol.

A configuration of images is an element from

equation

where images denotes strings that are formed by concatenating a string that belongs to images with a string that belongs to images. If images is a configuration, then images, images, images, and images. Moreover, this configuration means that a machine images is in state images, the content of the tape is images, and the scanning head sits atop the imagesth cell, where images is the length of string images. The initial configuration is images, where images is the input fed to the machine. A configuration whose state component is in images is called a halted configuration.

A step is a relation images on the set of configurations defined as follows:

  1. images, if images;
  2. images, if images;
  3. images, if images; and
  4. images, if images.

A computation by images is a sequence of configurations images, for some images such that

equation

A computation from images to images can be written compactly as images.

A computation by images on input images is a series of actions that start at configuration images and is either infinite (i.e. nonterminating) or stops at configuration images, where images. Assume that images, where images is the accepting state and images is the rejecting state. Then, a computation is called accepting if it finishes in the configuration images and rejecting if it finishes in the configuration images. Furthermore, if a computation on input images is accepting or rejecting, we say that the corresponding machine accepts or rejects images, respectively. More generally, the words accepted by images form a formal language images.

8.2 Fuzzy Languages and Grammars

Suppose that images is an alphabet. Then, a fuzzy formal language (or just fuzzy language) is a fuzzy subset of images. If we have a set of nonterminal symbols, images, and a set of terminal symbols, images, such that images, then a fuzzy language is a fuzzy subset of images.

Assume that images and images are two fuzzy languages over images. Then, the union of images and images is the fuzzy language denoted by images and defined by

equation

Similarly, the intersection of images and images is the fuzzy language denoted by images and defined by

equation

The concatenation of images and images is the fuzzy language denoted by images and defined by

equation

Since the operators images and images are distributive, concatenation is associative. Note that images, images, images, etc.

Suppose that images is a fuzzy language in images. Then, the fuzzy subset images of images defined by

equation

is called the Kleene closure of images.

A fuzzy grammar includes a set of rules for generating the elements of a fuzzy language. More specifically, a fuzzy grammar images is a quadruple images where images is a set of fuzzy production rules and everything else is as in Definition 8.1.2. The elements of images are expressions of the form

where images and images is the plausibility degree that images can generate images. Also, we write images to designate that this is the plausibility degree of rule of the form images. Given the rewriting rule (8.5) and two arbitrary strings images and images in images, then we have

equation

and images is said to be directly derivable from images. Suppose that images and

equation

where images, then images is derivable from images in images. This is usually written as

equation

The following expression

equation

is called a derivation chain from images to images.

A fuzzy grammar images generates a fuzzy language images. Given a string images consisting of terminal symbols, we say that it is in images if and only if images is derivable from images. The membership degree of images in images is given by

where the least upper bound is taken over all derivation chains from images to images. This means that (8.6) defines images as a fuzzy subset of images. Also, if images and images are equal fuzzy sets, then the grammars images and images are equivalent. Naturally, it is important to know whether we can compute images using Eq. (8.6):

Similar to crisp grammars, fuzzy grammars are classified as follows:

  • Fuzzy unrestricted grammars. Production rules are of the form images, images, where images.
  • Fuzzy context‐sensitive grammars. Production rules are of the form images, images, where images, images, and images. The production rule images is also allowed.
  • Fuzzy context‐free grammars. Production rules are of the form images, images, images, images, and images.
  • Fuzzy regular grammars. Productions are of the form images or images, images, where images and images. In addition, the rule images is allowed.

The following result states that fuzzy context‐sensitive and hence also fuzzy context‐free and fuzzy regular grammars are recursive.

8.3 Fuzzy Automata

In general, a fuzzy automaton, or more formally, a fuzzy finite state automaton is, a triple images, where images is the set of states, images is the set of input symbols and images is a fuzzy subset of images, that is, images. Both images and images are finite nonempty sets and images is the set of all finite words of elements of images.

The pair images is called a strong homomorphism if

equation

for all images and all images.

Suppose that images and images are two fuzzy finite state automata. Also, suppose that images is a finite set and images is a function. Assume that images and images are the projection maps of images onto images, images. Then, we define images as follows:

equation

for all images and for all images. Then, images is called the general direct product of images and images and it is usually denoted by images.

Assume that images and images are two fuzzy finite state automata. Also, assume that images is a function and images. Define

equation

as follows: for all images,

equation

Then, images is a fuzzy finite state automaton, it is called the cascade product of images and images and we write images.

As before, let images and images be two fuzzy finite state automata. Also, let images be a function. In addition, let

equation

be a function such that for all images,

equation

Then, images is a fuzzy finite state automaton. images is called the wreath product of images and images.

Subsystems and strong subsystems are special cases of subautomata:

We can also compose automata.

Mansoor Doostfatemeh and Stefan C. Kremer [104] had presented a new definition for fuzzy automata. A number of reasons (i.e. membership assignment, output mapping, multi‐membership resolution, and the concept of acceptance for fuzzy automata) necessitated the introduction of this new definition:

The authors have presented a multi‐membership resolution algorithm, but we are not going to present it here. But let us see how some simple fuzzy automata can be described as general fuzzy automata.

8.4 Fuzzy Turing Machines

The first general description of a fuzzy Turing machine was given by Zadeh [306]. He presumed that a fuzzy algorithm should contain vague commands (Zadeh used the term “fuzzy commands,” but in order to be consistent with the terminology used in this book, we will call them “vague commands”). Accordingto Zadeh, the following are examples of simple vague commands:

  1. Set images approximately equal to 10, if images is approximately equal to 5.
  2. If images is large, increase images by several units.
  3. If images is large, increase images by several units; if images is small, decrease images by several units; otherwise keep images unchanged.

This command is vague, because the text that appears slanted corresponds to fuzzy sets. For example, the numbers that are approximately equal to 10 or 5 are two different fuzzy sets. Based on this, Zadeh vaguely described a fuzzy Turing machine as one where instructions are performed to a degree. A number of concrete proposals followed (see Ref. [275] for a detailed presentation of all these proposals), however, we will only present the one by Jiří Wiedermann [298] since it is the most complete presentation and the most interesting of all previous attempts. Wiedermann's machine is a nondeterministic fuzzy Turing machine with hypercomputational capabilities. In a nutshell, Wiedermann has shown that his machine can solve problems no ordinary Turing machine can solve.

A configuration gives

  1. the position of the scanning head,
  2. what is printed on the tape, and
  3. the current state of the machine.

If images and images are two configurations, then images means that images is reachable in one step from images with a plausibility degree that is equal to images if and only if there is a images such that images, and by which the machine goes from images to images. When a machine starts with input some string images, the characters of the string are printed on the tape starting from the leftmost cell; the scanning head is placed atop the leftmost cell, and the machine enters state images. If

equation

then images is reachable from images in images steps. Assume that images is reachable from images in images steps, then the plausibility degree of this computational path is

equation

Obviously, the value that is computed with this formula depends on the specific path that is chosen. Since the machine is nondeterministic, it is quite possible that some configuration images can be reached via different computational paths. Therefore, when a machine starts from images and finishes at images in images steps, the plausibility degree of this computational path, which is called a computation, should be equal to the maximum of all possible computation paths:

equation

In other words, the plausibility degree of the computation is equal to the plausibility degree of the computational path that is most likely to happen.

Assume that a machine starts from configuration images with images as input. Then, a computational path images is an accepting path of configurations if the state of images is images. In addition, the string images is accepted with degree equal to images.

Also,

The class of all fuzzy languages accepted by a fuzzy Turing machine, in the sense just explained, with (classically) computable images‐norms is denoted by images.

There have been some arguments against the validity of this proof, but we will not discuss it further (see Ref. [275] for details). In addition, there are some results (e.g. the existence of a universal fuzzy Turing machine) that are discussed in [275, 278].

8.5 Other Fuzzy Models of Computation

Fuzzy Turing machines and fuzzy automata are not the only fuzzy models of computation, however, they are the ones that keep busy most researchers. Indeed, there are models of computation that are based on fuzzy multisets.

It is not difficult to see that any fuzzy multiset images is actually characterized by a function

equation

which is obtained from the former function by uncurrying it. However, one can demand that for each element images, there is only one membership degree and one multiplicity. In other words, a “fuzzy multiset” images should be characterized by a function images. To distinguish these structures from fuzzy multisets, we will call them multi‐fuzzy sets [271]. Given a multi‐fuzzy set images, the expression images denotes that there are images copies of images that belong to images with a degree that is equal to images. A generalization of this definition was presented in [273]:

By substituting images with images in the previous definition, the resulting structures will be called images‐multi‐fuzzy sets.

Assuming that images is an images‐fuzzy hybrid set, then we can define the following two functions: the multiplicity function images and the degree function images. Clearly, if images, then images and images. Note that it is equally easy to define the corresponding functions for an images‐multi‐fuzzy set.

In order to give the basic properties of fuzzy hybrid sets, it is necessary to define the notion of subsethood. Before, going on with this definition, we will introduce the partial order images over images, which is defined as follows, for all images:

equation

Here images and images denote the classical logical conjunction and disjunction operators, respectively. In addition, the symbols images and images are the well‐known ordering operators, and images is the absolute value of images.

Note that images is an alternative form of images, which will be used in the rest of this section. Let us now proceed with the definition of the notion of subsethood for images‐fuzzy hybrid sets:

Note that for all images, images if images is “less than or equal” to images in the sense of the partial order defined over images. The definition of subsethood for images‐multi‐fuzzy sets is more straightforward:

Let us now present the definitions of union and sum of images‐multi‐fuzzy sets:

P system is a model of computation, inspired by the way cells live and function. The model is built around the notion of nested compartments surrounded by porous membranes (hence the term membrane computing). It is quite instructive to think of the membrane structure as a bubbles‐inside‐bubbles structure, where we have a bubble that contains bubbles, which, in turn, contain other bubbles, etc. Initially, each compartment contains a number of possible repeated objects (i.e. a multiset of objects). Once “computation” commences, the compartments exchange objects according to a number of multiset processing rules that are associated with each compartment; in the simplest case, these processing rules are just multiset rewriting rules. The activity stops when no rule can be applied anymore. The result of the computation is equal to the number of objects that reside within a designated compartment called the output membrane.

In [271], a fuzzified version of P systems was presented. The basic idea behind this particular attempt to fuzzify P systems is the substitution of one or all ingredients of a P system with their fuzzy counterparts. From a purely computational point of view, it turns out that only P systems that process multi‐fuzzy sets are interesting, the reason being the fact that these systems are capable of computing (positive) real numbers. By replacing the multi‐fuzzy sets employed in the first author's previous work with images‐multi‐fuzzy sets, the computational power of the resulting P systems will not be any “greater,” nevertheless, these systems may be quite useful in modeling living organisms. But, things may get really interesting if we consider P systems with images‐fuzzy hybrid sets, in general. Here we are going to give only the definition of these systems. For a full exposition see Ref. [275].

Fuzzy multisets have been also used to define fuzzy multiset grammars (see Ref. [259] and references therein). These grammars are recognized by special kinds of automata. In what follows, images will denote the set of all multisets whose universe is the set images. Also, given two multisets images, then images and images.

A configuration of a fuzzy multiset finite automaton images is a pair images, where images and images denote the current state and the current multiset, respectively. Transitions in a fuzzy multiset finite automaton are described with the help of configurations. The transition from configuration images leads to configuration images with membership degree images if there exists a multiset images with images, images and images. This transition is written as images.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.141.7.194