11 KiB
Asymptotic Equivalence Classes (Big-O)
The equivalence relation definition given in the task is asking you to find functions that grow at the exact same rate (also known as Big-Theta \Theta):
f asymp g <==> f in O(g) and g in O(f)
Notation of f in O(g) means "function f doesn't grow faster than $g$"
The "Dominant Term" Rule
To find which class a function belongs to, simplify it to its core growth rate:
- Drop all lower-order terms: In
n^3 + n^2, drop then^2. - Drop all constant multipliers:
5n^2and1000n^2both become justn^2. - Identify the highest rank: Factorials (
n!) > Exponentials (2^n,e^n) > Polynomials (n^3,n^2) > Linear (n) > Logarithmic (log n) > Constant (1).
Euclidian Algorithm
Purpose is to find the GCD (Greatest Common Divisor).
Core Rule
Fill out this formula:
"Dividend" = ("Quotient" * "Divisor") + "Remainder"
- Divide the bigger number by the smaller one
- How many times does it fit ->
"Quotient" - Find out whats leftover ->
"Remainder" - Shift to left and repeat (
"Old Divisor" -> "Dividend","Remainder" -> "Divisor")
Result is the last "Remainder" that is not 0.
Bezout Coefficients
Goal: find a x and y so that "Divident" * x + "Divisor" * y = gcd("Dividend", "Divisor")
- Rewrite Euclid (above) equations to solve for remainder (
"Remainder" = "Old Remainder" - "Dividend" * "Divisor") - Substitute remainders -> ## Inclusion-Exclusion Principle Principle that dictates that when combining / overlapping sets, you have to make sure to not include elements that occur in multiple sets multiple times.
Example:
How many integers between 1 and 10^6 are of the form x^2 or x^5 for some x in NN?
How many x^2?
sqrt(10^6) = 10^3 = 1.000
How many x^5?
By estimation:
&15^5 = 759,375 && "--- in the range / below" 10^6 \
&16^5 = 1,048,576 && "--- outside the range / above" 10^6 \
&=> 15 "numbers in the form "x^5"exist" &&
Warning
Now, we can't add
1,000and15, since there are numbers that match both, so we need to subtract these duplicates.
How many x^2 and x^5 / x^10?
& 3^10 = 59,049 \
& 4^10 = 1,048,576 \
& => 3 "numbers that are both" x^2 "and" x^5 "exist"
Final calculation:
Formula: "Elements that are" x^2 + "Elements that are" x^5 - "Elements that are both"
==> 1,000 + 15 - 3 = 1,012
For two sets
|"Total possibilities"| - |"Avoid 1"| - |"Avoid 2"| + |"Avoid Both"|
Where
"Avoid 1"are all elements not matching condition 1"Avoid 2"are all elements not matching condition 2"Avoid Both"are all elements not matching condition 1 and 2
Type of Task: Boolean Lattice
Find the amount of upper bounds in {0, 1}^5 for the set of vectors S = {x, y, z}
& x = (0, 1, 0, 0, 0) \
& y = (0, 0, 1, 0, 1) \
& z = (0, 1, 1, 0, 0) \
[!INFO] Method used is called All-Zero Column Method
We look for columns that have $0$'s in all three vectors: Column 1 and 4, that's 2 columns, so we define k = 2.
To get our result we calculate 2^k since there are only two possible states for each value (0, 1):
2^2 = 4.
So we have 4 upper bounds in total.
[!INFO] For the amount of lower bounds we'd check for all-ones columns A function takes in an element from its domain, transforms it in someway and outputs that transformed element, which is part of the co-domain. Every element of the domain must map to a value in the co-domain, all values of the co-domain that are mapped to form the functions image. A function must be deterministic - one input can only map to a single output.
Notation
General function notation: f: X -> Y
[!INFO]
f: name of the functionX: DomainY: Co-domainf(x): Image offX,f(x)andYare Set Theory
For any x in X the output f(x) is an element of Y.
Mapping Properties
Injectivity
A function is injective if every element in y in f(x) has at most one matching x in X.
forall y in Y,exists excl x in X : f(x) = y
Surjectivity
A function is surjective if every element y in Y has at minimum one matching x in X
forall y in Y, exists x in X : f(x) = y
Bijectivity
A function is bijective if every element y in Y has exactly one matching x in X (it is injective and surjective)
- $forall y in Y, exists excl x in X : f(x) = y$## Operators
Operation Explanation Notation and Both pandqmust be truep and qor Either porq(or both) are truep or qnot Negates the statement not pImplication If pthenq=>Biconditional pif and only ifq<=>xor Either porqbut not bothxor
Implied Operators
| Operation | Explanion | Notation |
|---|---|---|
| nand | p and q are not both true |
not(p and q) |
| nor | neither of p and q are true |
not(p or q) |
| xnor | p and q are both false or both true |
not xor |
Types of Relations
| Relation | Explanation | Example |
|---|---|---|
| transitive |
"chain reaction", a information about a in relation to c can be inferred from the relations a -> b and b -> c |
a < b, b < c => a < c |
| reflexive | every element is related to itself with the given relation | a <= a, 5 = 5 |
| anti-reflexive | every element is NOT related to itself in the given relation | a < a |
| symmetric | the given relation work both ways | a = b => b = a |
| antisymmetric | the given relation only works both ways if a and b are the same |
a <= b, b <= a => a = b |
Equivalence Relations
A relation R is called equivalence relation when it is transitive, reflexive and symmetric.
Example:
Question: How many equivalence classes are there for the given equivalence relation?
& ~ "on" {0, 1, 2, 3}^(2) \
& "defined by" (x_1, y_1) ~ (x_2, y_2) <==> x_1 + y_1 = x_2 + y_2
[!INFO] Meaning: The pairs
(x_1, y_1)and(x_2, y_2)are equivalent to each other when the components of the pair added up have the same result.
Solving:
- Smallest possible sum:
(0 + 0) = 0 - Biggest possible sum:
(3 + 3) = 6 - All possible sums:
0, 1, 2, 3, 4, 5, 6
Each possible sum creates it's own equivalence class. So there are 7 equivalence classes.
Note
All equivalence classes:
[0]_(~) = {(0, 0)}[1]_(~) = {(0, 1), (1, 0)}[2]_(~) = {(0, 2), (1, 1), (2, 0)}[3]_(~) = {(0, 3), (1, 2), (2, 1), (3, 0)}[4]_(~) = {(1, 3), (2, 2), (3, 1)}[5]_(~) = {(2, 3), (3, 2)}[6]_(~) = {(3, 3)}
Binary Relation
A binary relation is a relation R between exactly two elements a in R and b in R. An example for a binary relation is a <= b
Converse Relation
C^top or C^(-1) is the relation that occurs if the elements of a binary relation are switched.
Composition of Relations - Example
"Compute" Q^top compose R "with:"\
Q = {(2, 2), (3, 3), (2, 1)} \
R = {(1, 2), (3, 3), (3, 1)} \
1. Apply converse to Q:
Q^top = {(2, 2), (3, 3), (1, 2)}
2. Perform Composition:
Look at each pair in R, check if Q^top has a pair starting with se second element in that pair:
(1, 2) -> (2, 2) => (1, 2) \
(3, 3) -> (3, 3) => (3, 3) \
(3, 1) -> (1, 2) => (3, 2)
3. Result:
Q^top compose R = {(1, 2), (3, 2), (3, 3)}
Orders
An Order is a mathematical way to sort, rank or compare elements within a set, where some elements come "before" and "after" others.
A binary relation is called an order if it is...
- [?] a reflexive relation
- [?] a antisymmetric relation
- [?] a transitive relation A set is a collection of unordered elements. A set cannot contain duplicates.
Notation
Set Notation
Declaration of a set A with elements a, b, c:
A := {a, b, c}
Cardinality
Amount of Elements in a set A
Notation: |A|
A := {1, 2, 3, 4} \
|A| = 4
Well-Known Sets
- Empty Set:
emptyset = {} - Natural Numbers:
N = {1, 2, 3, ...} - Integers:
ZZ = {-2, -1, 0, 1, 2} - Rational Numbers:
QQ = {1/2, 22/7 } - Real Numbers:
RR = {1, pi, sqrt(2)} - Complex Numbers:
CC = {i, pi, 1, sqrt(-1)}
Set-Builder Notation
Common form of notation to create sets without explicitly specifying elements.
A := {x in N | 0 <= x <= 5} \
A = {1, 2, 3, 4, 5}
Member of
Denote whether x is an element of the set A
Notation: x in A
Negation: x in.not A
Subsets
| Type | Explanation | Notation |
|---|---|---|
| Subset | Every element of A is in B |
A subset B |
| Subset or equal to | Every element of A is in B, or they are the exactly same set |
A subset.eq B |
| Proper subset | Every element of A is in B, but A is definitely smaller than B |
$A subset.sq B$ |
| Superset |
A contains everything that is in B |
A supset B |
| Superset or equal to | A contains everything that is in B, or they are identical |
A supset.eq B |
Operations
Union
Notation: A union B
Definition: all elements from both sets without adding duplicates
A := {1, 2, 3}\ B := {3, 4, 5}\ A union B = {1, 2, 3, 4, 5}
Intersection
Notation:$A inter B$ Definition: all elements contained in both sets
A := {1, 2, 3} \
B := {2, 3, 4} \
A inter B = {2, 3}
Difference
Notation: A backslash B
Definition: all elements in A that are not in $B$
A := {1, 2, 3} \
B := {3, 4, 5} \
A backslash B = {1, 2}
Symmetric Difference
Notation: A Delta B
Definition: all elements only in A or only in $B$
A := {1, 2, 3} \
B := {2, 3, 4} \
A Delta B = {1, 4}
Cartesian Product
Notation: A times B
Definition: all pairs of all elements in A and B
A := {1, 2} \
B := {3, 4, 5} \
A times B = {(1, 3), (1, 4), (1, 5), (2, 3), (2, 4), (2, 5)}
Powerset
Notation: cal(P)(A)
Definition: all possible Subsets of A
A := {1, 2, 3} \
cal(P)(A) = {emptyset, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3}}