December 11, 2008 at 11:38 am
· Filed under Comsci Notes
Permalink
December 11, 2008 at 4:43 am
· Filed under Comsci Notes
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.
Read the rest of this entry »
Permalink
December 11, 2008 at 2:56 am
· Filed under Comsci Notes
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
recognises the language
if
, and where any DFA accepts the langauge
,
must be a regular lanaguage.
Read the rest of this entry »
Permalink
December 11, 2008 at 1:39 am
· Filed under Comsci Notes
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)
Read the rest of this entry »
Permalink