The notion of computation has existed in some form for thousands of
years. In its everyday meaning, this term refers to the process of producing
an output from a set of inputs in a finite number of steps. Here are some
examples of computational tasks:
• Given two integer numbers, compute their product.
• Given a set of n linear equations over n variables, find a solution if it
• Given a list of acquaintances and a list of containing all pairs of individuals
who are not on speaking terms with each other, find the largest
set of acquaintances you can invite to a dinner party such that you do
not invite any two who are not on speaking terms.