|
James A. Foster
|
|
|
Next: Regular Languages Up: Computing: Models and Limitations Previous: Introduction
Formal LanguagesWe need a mathematical model of input and output, and a definition of a problem, in order to build general, abstract, mathematical models of computation. Our tool will be formal languages formal languages. We used the following definitions:
For example, assume we're using the alphabet Here are some operations on words:
Here are some operations on languages:
The power set power set of a set L is the set of all subsets of L. We will denote this Each formal language L has an associated decision problem decision problem. We call this the decision problem L and sometimes just the problem L. That is Notice that the answer to any particular question about any decision problem is either ``yes'' or ``no''. This defines a natural partitioning of all words into those for which the answer is ``yes'', which is precisely L, and everything else. In this sense, any language is synonymous with the set of ``yes'' instances for it's decision problem. So, we will often use the terms formal language and problem problem interchangeably. A decision problem is solveable solveable if there is an algorithm which solves it. That is, L is solveable if there is an algorithm which will output ``yes'' (or something equivalent) whenever given a string
Any problem which is not solvable is unsolvable unsolvable. There are many interesting questions which we can now pose and answer with this terminology. For example:
This approach characterizes "computation" as "solution of decision problems with algorithms". This seems highly artificial. We usually think of computation as a functional transformation of inputs into outputs. However, note that the problem of computing a function f(x)=f is very similar to recognizing the set of pairs
So, this approach isn't as artificial as it seems. However, we will discuss the theory of computable functions later in the course.
Next: Regular Languages Up: Computing: Models and Limitations Previous: Introduction James Foster Wed Sep 18 16:53:17 PDT 1996 |
|
Last Updated 01/13/2003 15:56 -0800 |