Paul Nicholls Stuff

11Dec/080

Pumping Lengths

Pumping Lemma describes a fundamental property of regular languages, in simple terms it states that in order for a language to be regular, sufficiently long words may be pumped, where pumped means that a given section of the middle of the word, can be repeated a number of times to produce a new word which still lies within the same language.

Formally, Let L be a regular language. Then there exists an integer p \leq 1 depending only on L such that every string w in L of length at least p (the "pumping length") can be written as w = xyz (i.e., w can be divided into three substrings), satisfying the following conditions:

  1. |y| > 0
  2. |xy| \leq p
  3. \mbox{for all } i \leq 0, xy^iz \in L

Why Is This Relevant?

This method can be used to show a language is not regular, since if it meets the above criteria then it must be a regular language, so a proof by contradiction can be used to show which languages are not regular and thus not able to be modelled by NFAs or DFAs.

Tagged as: , No Comments
11Dec/080

Nondeterministic Finite-State Machine

A nondeterministic finite-state machine (NFA) is not wholly disimilar to a DFA, however unlike a DFA from any pairing of state and input symbol there may be more than one valid next state. An NFA accepts a string of symbol inputs, and for each symbol it transitions to a next state until there are no more symbols. Unlike a DFA however the next state is not determined any may be any state of a given set of states. When all the inputs symbols have been processed, an NFA will accept if any valid set of transitions resulted in an accept state.

Tagged as: , Continue reading
11Dec/080

Deterministic Finite-State Automaton

Deterministic Finite-State Automaton (DFA) are a method of modelling computation, and are used in conjunction with regular languages. In a DFA from each pair of input symbol and state there is only one transition to a next state (so, from any state given an input symbol the next state can be readily determined).

As an input a DFA will expect a string of symbols, each input symbol will cause a transition to a next state, until there are no more input symbols. At this point the DFA will either be on an accept state, or a non accept state - and will return "accept" or "non accept" accordingley.

It follows that the DFA M recognises the language L if L = \{ w | M \mbox{ accepts } w \}, and where any DFA accepts the langauge L, L must be a regular lanaguage.

Tagged as: , Continue reading
11Dec/080

Introduction to Computation

We need to define exactly what we mean by a computation (at a much higher level than a line of programming), there are various mathematic models for doing so which we considor in the field of the Theory of Computation. Such examples include the Turing Machine model, push-down automaton and finite-state automaton. (Most though commonly we only considor the Turing Machine model).

In the field of the theory of computation we tend to be concerned with two fields:

  • Computability Theory (Whether a problem can actually be solved by computation)
  • Complexity Theory (If a problem can be solved, whether it be solved efficiently)
Tagged as: , Continue reading