| Jump Ahead
000 | Math Terms
| Sets
| Set Basics
A SET is an unordered collection of objects that are called elements or members. For example, is a set. The elements/members of are and .
| Common Sets
—
Natural Numbers: The set of all positive integers
sometimes includes 0).
—
Integers: The set of all whole numbers, both positive
and negative.
—
Rational Numbers: Numbers that can be expressed as a
fraction where .
—
Real Numbers: All rational and irrational numbers.
—
or
Empty Set: A set that contains no elements.
| Set Relations
A SUBSET () of a set is a set whose elements are all contained within a greater/equal set.
For example,
The sets and are both subsets of , because every element in and every element in is also an element of .
We write this as .
A PROPER SUBSET () of a set is a set whose elements are all contained within a greater set.
For example,
The sets and are both subsets of , but only is a proper subset of because it is not equal to .
We write this as .
| Set Operations
— UNION ()
— INTERSECTION ()
— DIFFERENCE (
or
)
— COMPLEMENT (of a set
;
)
— CARTESIAN/CROSS PRODUCT ()
— POWER SET (of a set
;
)
| Sequences and Tuples
A SEQUENCE is a list of objects, finite or infinite, in some order, and a TUPLE is a finite sequence.
001 | Automata Theory
| Automata Basics
Automata theory is the study of mathematical models of computation: how they are defined and what their properties are.
Alphabet
An alphabet () is a set of elements that are called symbols.
For example, the following sets are alphabets:
String
A string is a finite sequence of symbols from a given alphabet.
For example,
If
,
and
,
then
is a string over the alphabet
.
Language
A language is nothing more than a set of strings.
Finite State Machine/Finite Automaton
A finite state machine/finite automaton is a computational model.
These models can be expressed as diagrams, where states are represented as nodes and transitions between states are represented as labeled directed edges.
They can also be expressed formally as a 5-tuple , where the first element is finite set called the states , second is a finite set called the alphabet , third is the transition function , fourth is the start state or , and fifth is the finite set of accept states .
State
A state represents a finite state machine/finite automaton's current position in its process and what it is prepared to do next.
Transition
A transition describes how finite state machine/finite automaton's changes from one state to another as it reads input.
Start State
A start state is the state where a finite state machine/finite automaton begins its computation before reading any input.
Accept State
An accept state, also called a final state, is a state that indicates a successful computation.
Language of a Machine
The language of a machine is the set of all strings that the machine accepts.
For example,
Let
be a "machine".
And, let
be the set of all strings that machine
accepts.
We would say
is the language of
and write
.
| Finite Automata
Deterministic Finite Automata (DFA)
A deterministic finite automata (DFA) can be expressed as a 5-tuple , where:
is a finite set called the STATES.
is a finite set called the ALPHABET.
is the TRANSITION FUNCTION.
or
is the START STATE.
is the finite set of ACCEPT STATES.
For example, let , where:
Nondeterministic Finite Automata (NFA)
A nondeterministic finite automata (NFA) can be expressed as a 5-tuple (), where:
is a finite set called STATES.
or
is a finite set called the ALPHABET that includes the
empty string (
or
).
is the TRANSITION FUNCTION.
is the START STATE.
is the set of ACCEPT STATES.
The Difference Between DFA's and NFA's
First, every state of a DFA always has exactly one exiting transition for each symbol in the alphabet. That is not the case for NFA's, in which case states can have zero, one, or many exiting transition for each symbol in the alphabet. Thus, a DFA’s transition function maps each pair in to a single element of , while an NFA’s transition function maps each pair in to an element of , the power set of , where each element represents a set of the next possible states.
Second, the alphabet of a DFA does not contain the empty string or symbol. That is not the case for NFA's, in which case the alphabet does include the empty string symbol.
| Regular Languages
Let and be languages. We define the REGULAR OPERATIONS as follows:
UNION: or .
CONCATENATION: and .
STAR: and each .
| Regular Expressions
| Non-Regular Expressions
| Regular Language Operations
002 | Computability Theory
Computability theory is the study of what can and cannot be computed by mathematical models of computation.
003 | Complexity Theory
Complexity theory is the study of how much time, memory, or other resources mathematical models of computation need to solve problems.