Topics and Definitions

advertisement
Computer Science: The systematic study of computing systems and
computation. The body of knowledge resulting from this discipline contains theories
for understanding computing systems and methods; design methodology,
algorithms, and tools; methods for the testing of concepts; methods of analysis and
verification; and knowledge representation and implementation.
www.nitrd.gov/pubs/bluebooks/1995/section.5.html
Graph: A graph is a pair <V, E> where V is the set of all vertexes (nodes) and E is
the set of all edges.
A geometric diagram consisting of a finite number of dots called vertices joined by a
finite number of curved or straight line segments called edges.
www.york.cuny.edu/~wu/jm/Glossary.htm
Link: edge, node, acyclic graph, cyclic graph, Graph Depth, Combinatorial
Circuits.
Trees: (on site)
Link: Spanning Tree, Parent Node, Child Node, Leaf Node, Root Node, Parse
Tree, Binary Tree, Balanced Binary Tree, and Tree Search.
Algorithm: An explicit step-by-step procedure for producing a solution to a given
problem. Specifically, a mathematical equation typically executed using a computer
program (or set of programs) that is designed to systematically solve a certain kind
of problem.
www.racteam.com/LANLRisk/Glossary.htm
Spanning Tree: A subgraph that is a tree containing all nodes. The max weight
spanning tree problem is to find a spanning tree such that the sum of (given,
positive) weights of the edges is a maximum.
home.eunet.cz/berka/o/English/lp/glossary/S.html
Link: Tree, Node, Vertex
Axiom: A basic assumption about a mathematical system from which theorems
can be deduced. For example, the system could be the points and lines in the plane.
Then an axiom would be that given any two distinct points in the plane, there is a
unique line through them.
www.nmlites.org/standards/math/glossary.html
Theorem: A theorem is a statement which has been proved to be true.
ddi.cs.uni-potsdam.de/Lehre/TuringLectures/MathNotions.htm
Link: Domino Theorem, Deduction Theorem, Entailment Theorem
Natural Numbers: set of counting numbers; typically denoted as N = {1,2,3,...}
Link: Unary Numbers
Unary Numbers: consisting of or involving a single element or component; "in a
unary operation in a mathematical system one element is used to yield a single
result"
wordnet.princeton.edu/perl/webwn
Link: Unary System
Domino Theorem: (on site)
Link: Theorem
Sets: (on site)
Link: Data, Set Operations
Math Statements: (on site)
Link: AND, OR, NOT gates, LOGIC Gates.
Relations: (on site)
Link: binary, composition
Set Operations: (on site)
Link: Sets, Cartesian Product.
Composition: (on site)
Link: Relation
Function: In mathematics, a function is a relation, such that each element of a set
(the domain) is associated with a unique element of another (possibly the same) set
(the codomain, not to be confused with the range). The concept of a function is
fundamental to virtually every branch of mathematics and every quantitative
science.
en.wikipedia.org/wiki/Function_(math)
Link: Set, Computer Science
Lambda Calculus: The lambda calculus is a formal system designed to investigate
function definition, function application, and recursion. It was introduced by Alonzo
Church and Stephen Cole Kleene in the 1930s; Church used the lambda calculus
in 1936 to give a negative answer to the Entscheidungsproblem. The calculus can
be used to cleanly define what a computable function is.
en.wikipedia.org/wiki/Lambda_calculus
Link: Function, Calculi, Turing Computable Function.
Binary Relations: (on site)
Link: Relation, Binary System, Equivalence.
SML:
Greek Alphabet: (on site)
Peano Axioms: (on site)
Lists: In computer science, a list is an abstract concept denoting an ordered
collection of fixed-length entities. In practice, any list is either an array or a linked
list of some sort. The use of the concept allows to treat them regardless of
implementation. For this reason, lists have properties that arrays and linked lists
share. Informally, the term list is used synonymously with linked list. A sequence is
another name, emphasizing the ordering and suggesting that it may not be a linked
list.
Link: Computer Science
Data Types: The characteristic of columns and variables that defines what types
of data values they can store. Examples include character, floating point and
integer.
Abstract Data Types: Abstract data types or ADTs are a mathematical
specification of a set of data and the set of operations that can be performed on the
data. They are abstract in the sense that the focus is on the definitions of the
constructor that returns an abstract handle that represents the data, and the
various operations with their arguments. The actual implementation is not defined,
and does not affect the use of the ADT.
Link: Sets
Fibonacci Numbers: In mathematics, the Fibonacci numbers form a sequence
defined by the following recurrence relation: (+ PICTURE)
That is, after two starting values, each number is the sum of the two preceding
numbers. The first Fibonacci numbers (sequence A000045 in OEIS), also denoted
as Fn, for n = 0, 1, … , are:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181,
6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811…
Link: Numbers
Mutual Recursion: Mutual recursion is a form of recursion where two
mathematical or computational functions are defined in terms of each other.
For instance, consider two functions A(x) and B(x) defined as follows: (+ PICTURE)
Programming with Effects: (Exceptions) Exceptions are generalized error
codes. They abort evaluation of a program by signaling an exceptional condition.
Exceptions can be predefined or user-defined.
Formal Languages: In mathematics, logic and computer science, a formal
language is a set of finite-length words (i.e. character strings) drawn from some
finite alphabet, and the scientific theory that deals with these entities is known as
formal language theory. Note that we can talk about formal language in many
contexts (scientific, legal, linguistic and so on), meaning a mode of expression more
careful and accurate, or more mannered than everyday speech.
Link: logic, computer science, word, alphabet, string
Pic: formal_language.png
Alphabet: An alphabet is a character set that includes letters and is used to write
a language.
wordnet.princeton.edu/perl/webwn
Link: Formal languages, word, string
String: (comment for links: a string for some alphabet can be referenced
as a word in some language over this alphabet).
Pic: string.png
Link: Formal languages, word, alphabet,
Word: In computer programming and some branches of mathematics, strings are
sequences of various simple objects. These are selected from a predetermined set
(language) each entry of which is usually allocated a code. The symbol are
contained in a finite set that is called an alphabet.
Link: Formal Language, alphabet.
Concatenation:
Pic: concatenation.png
Link: string
Prefix
Pic: prefix.png
Link: string, word.
Lexical Order: Ordering two sequences of values by comparing their elements in
order. The first two elements that differ determine the order.
Link: String, word,
Pic: lexical_order.png
Character Codes:
Pic: character_code.png
Link: Alphabet, Binary System
Extension of Codes:
Pic: code_extension.png
Link: string, functions
Morse Code:
Pic: morse_code.png
Syntax: In logic, syntax is a systematic statement of the rules governing the
properly formed formulas of a logical system.
In computer science, the term syntax is used to denote the literal text of something
written in a formal language or programming language, as opposed to its semantics
or meaning.
Link: Computer Science, Formal Languages, Logic, Semantics
Semantics: The science of describing what words mean, the opposite of syntax.
Link: Word, Syntax
Pic: semantics.png
Boolean Expressions: An expression that evaluates to either True or False.
Link: Properties of Boolean Expressions
Landau Notation:
Pic: landau_notation.png
Quine – McCluskey Algorithm: The Quine–McCluskey algorithm (or the method
of prime implicants) is a method used for minimization of boolean functions which
was developed by Willard Van Orman Quine and Edward J. McCluskey. It is
functionally identical to Karnaugh mapping, but the tabular form makes it more
efficient for use in computer algorithms, and it also gives a deterministic way to
check that the minimal form of a Boolean function has been reached. It is
sometimes referred to as the tabulation method.
The method involves two steps:
1. Finding all prime implicants of the function.
2. Use those prime implicants in a prime implicant chart to find the essential prime
implicants of the function, as well as other prime implicants that are necessary to
cover the function.
Pic: quine_mccluskey.png
Constructing Minimal Polynomials: Prime Implicants
Pic: prime_implicants.png
Properties of Boolean Expressions: Boolean expressions can have the
following properties:
Pic: properties_of_boolean_expressions.png
Link: Boolean Expressions
Entailment: In logic, entailment (or logical implication) is a relation between sets
of formulae such that, if A and B are sets of formulae of a formal language, then A
entails B if and only if every model (or interpretation) that makes all the members of
A true, makes at least one of the members of B true. Alternatively, we can say that
A entails B if and only if, for every subset B' of B, the class of models of A is a
subclass of the union of the classes of each B'.
Pic: entailment.png
Link: Entailment Theorem, Logic, Formal Languages, Sets
Logic: Mathematical logic is a subfield of mathematics. It is often divided into the
subfields of model theory, proof theory, set theory, and recursion theory. At its core,
mathematical logic deals with mathematical concepts expressed using formal logical
systems. The system of first-order logic is the most widely studied because of its
applicability to foundations of mathematics and because of its desirable properties.
Stronger classical logics such as second-order logic or infinitary logic are also
studied, along with nonclassical logics such as intuitionistic logic. There are many
connections between mathematical logic and computer science. Many early pioneers
in computer science, such as Alan Turing, were also mathematicians and logicians.
The study of computability theory in computer science is closely related to the
study of computability in mathematical logic. There is a difference of emphasis,
however. Computer scientists often focus on concrete programming languages and
feasible computability, while researchers in mathematical logic often focus on
computability as a theoretical concept and on noncomputability.
The study of programming language semantics is related to model theory, as is
program verification (in particular, model checking). The Curry-Howard
isomorphism between proofs and programs relates to proof theory; intuitionistic
logic and linear logic are significant here. Calculi such as the lambda calculus and
combinatory logic are nowadays studied mainly as idealized programming
languages.
http://en.wikipedia.org/wiki/Logic_(maths)
Link: Computer Science, Turing Machine, Sets, Computation, Calculi, Lambda
Calculus, Combinatorial Circuits
Calculus:
Pic: calculus.png
Link: Hilbert Calculus, Resolution Calculus, Leibniz Notation
Completeness and Correctness:
Pic: completeness_and_correctness.png
Hilbert Calculus:
Pic: hilbert_calculus.png
Link: Calculus, Boolean Expressions, Resolution Calculus
Entailment Theorem:
Pic: entailment_theorem.png
Link: Tntailment, Theorem
Deduction Theorem:
Pic: deduction_theorem.png
Link: Theorem
Atoms and Literals:
Pic: atoms_and_literals.png
Tableau Method: In proof theory, the semantic tableau is a decision procedure for
sentential and related logics, and a proof procedure for formulas of first order logic.
The tableau method can also determine the satisfiability of finite sets of formulas of
various logics. It is the most popular proof procedure for modal logics (Girle 2000).
An analytic tableau has for each node a subformula of the formula at the origin. In
other words, it is a tableau satisfying the subformula property.
Pic: tableau_method.png
Link: logic, sets, node
Termination for Tableau:
Pic: termination_for_tableau.png
Resolution Calculus:
Pic: resolution_calculus.png
Link: calculus
Sort: Sorting is basically “ordering” records or citations by the contents of a
particular field.
Link: Sets, Lists
Leibniz Notation: In calculus, Leibniz's notation, named in honor of the 17th
century German philosopher and mathematician Gottfried Wilhelm Leibniz, was
originally the use of expressions such as dx and dy and to represent "infinitely
small" (or infinitesimal) increments of quantities x and y, just as Δx and Δy
represent finite increments of x and y respectively. According to Leibniz, the
derivative of y with respect to x, was the quotient of an infinitesimal increment of y
by an infinitesimal increment of x.
Link: Calculus
Download