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,000$ and $15$, 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 function
> $X$: Domain
> $Y$: Co-domain
> $f(x)$: Image of $f$
> $X$, $f(x)$ and $Y$ are [[Set Theory | Set]]
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**<br> | Both $p$ and $q$ must be true | $p and q$ |
| **or** | Either $p$ or $q$ (or both) are true| $p or q$ |
| **not** | Negates the statement | $not p$ |
| **Implication** | If $p$ then $q$ | $=>$ |
| **Biconditional** | $p$ if and _only_ if $q$ | $<=>$ |
| **xor** | Either $p$ or $q$ but not both | $xor$ |
### 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*<br> | "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$<br> |
| **Superset**<br> | $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}}