mirror of
https://github.com/kristoferssolo/Theory-of-Algorithms-Cheatsheet.git
synced 2025-10-21 20:10:39 +00:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a91d55151b | |||
| 66bb36d746 | |||
| be4811206c | |||
| 4741efe3dc | |||
| 624b3f0ce5 |
56
main.typ
56
main.typ
@ -552,11 +552,11 @@ QED.
|
|||||||
Notācija, kas tiek izmantota, lai raksturotu *funkciju* sarežģītību
|
Notācija, kas tiek izmantota, lai raksturotu *funkciju* sarežģītību
|
||||||
asimptotiski.
|
asimptotiski.
|
||||||
|
|
||||||
=== Lielais-O (formālā definīcija)
|
=== Lielais-$O$ (formālā definīcija)
|
||||||
|
|
||||||
$f(n) in O(g(n))$, ja:
|
$f(n) in O(g(n))$, ja:
|
||||||
|
|
||||||
$exists C > 0, exists n_0 > 0:$ $(forall n >= n_0: f(n) <= c * g(n))$
|
$exists C > 0, exists n_0 > 0:$ $(forall n >= n_0: f(n) <= c dot g(n))$
|
||||||
|
|
||||||
Tas nozīmē, ka funkcija $f(n)$ asimptotiski nepārsniedz konstanti $c$ reizinātu
|
Tas nozīmē, ka funkcija $f(n)$ asimptotiski nepārsniedz konstanti $c$ reizinātu
|
||||||
$g(n)$.
|
$g(n)$.
|
||||||
@ -643,7 +643,7 @@ Tātad vienādojums ir
|
|||||||
patiess.
|
patiess.
|
||||||
|
|
||||||
=== Piemērs (mazais-$o$)
|
=== Piemērs (mazais-$o$)
|
||||||
$ 2^n n^2 =^? o(n^3) $
|
$ 2^n n^2 =^? o(3^n) $
|
||||||
|
|
||||||
Pēc tās pašas aprakstītās īpašības, kā @small-o-example-3, sanāktu
|
Pēc tās pašas aprakstītās īpašības, kā @small-o-example-3, sanāktu
|
||||||
$ lim_(n->oo) (2^n n^2)/3^n $
|
$ lim_(n->oo) (2^n n^2)/3^n $
|
||||||
@ -767,7 +767,7 @@ Laiks $O(f(N)) ->$ atmiņa $O(f(N))$.
|
|||||||
|
|
||||||
=== Asimptotiskas augšanas hierarhija
|
=== Asimptotiskas augšanas hierarhija
|
||||||
|
|
||||||
Sekojošas funkcijas pieaugums pie $x -> infinity$:
|
Sekojošas funkcijas pieaugums pie $x -> oo$:
|
||||||
|
|
||||||
$log(x) << x << x dot log(x) << x^k << a^x << x! << x^x$
|
$log(x) << x << x dot log(x) << x^k << a^x << x! << x^x$
|
||||||
|
|
||||||
@ -802,9 +802,9 @@ saprātīgie deterministiskie skaitļošanas modeļi ir polinomiāli ekvivalenti
|
|||||||
|
|
||||||
- Dots grafs $G$ un divas virsotnes $u$, $v$.
|
- Dots grafs $G$ un divas virsotnes $u$, $v$.
|
||||||
- Jautājums: vai eksistē ceļš no $u$ uz $v$?
|
- Jautājums: vai eksistē ceļš no $u$ uz $v$?
|
||||||
- Rupjais-spēks: pārbaudīt visus ceļus — eksponenciāls laiks.
|
- Rupjais-spēks: pārbaudīt visus ceļus -- eksponenciāls laiks.
|
||||||
- Efektīvs algoritms: meklēšana plašumā (breadth-first search); laika
|
- Efektīvs algoritms: meklēšana plašumā (breadth-first search); laika
|
||||||
sarežģītība: $O(|V| + |E|)$.
|
sarežģītība: $O(abs(V) + abs(E))$.
|
||||||
|
|
||||||
== Piemērs ($"RELPRIME"$)
|
== Piemērs ($"RELPRIME"$)
|
||||||
|
|
||||||
@ -820,7 +820,7 @@ saprātīgie deterministiskie skaitļošanas modeļi ir polinomiāli ekvivalenti
|
|||||||
#NP (nederminēti-polinomiālas) problēmas
|
#NP (nederminēti-polinomiālas) problēmas
|
||||||
ir problēmas (2 ekvivalentas definīcijas):
|
ir problēmas (2 ekvivalentas definīcijas):
|
||||||
|
|
||||||
+ $L in NP$, ja eksistē pārbaudes algoritms - $O(n^c)$ laika Tjūringa mašīna $M$:
|
+ $L in NP$, ja eksistē pārbaudes algoritms -- $O(n^c)$ laika Tjūringa mašīna $M$:
|
||||||
+ Ja $L(x) = 1$, tad eksistē y: $M(x, y) = 1$.
|
+ Ja $L(x) = 1$, tad eksistē y: $M(x, y) = 1$.
|
||||||
+ Ja $L(x) = 0$, tad visiem y: $M(x, y) = 0$.
|
+ Ja $L(x) = 0$, tad visiem y: $M(x, y) = 0$.
|
||||||
+ _Informācija $y$ var saturēt brīvi definētu informāciju._
|
+ _Informācija $y$ var saturēt brīvi definētu informāciju._
|
||||||
@ -830,7 +830,7 @@ ir problēmas (2 ekvivalentas definīcijas):
|
|||||||
Ekvivalence ir pierādīta ar abpusēju pārveidojumu no pārbaudītāja uz nedet.
|
Ekvivalence ir pierādīta ar abpusēju pārveidojumu no pārbaudītāja uz nedet.
|
||||||
#TM un atpakaļ.
|
#TM un atpakaļ.
|
||||||
|
|
||||||
== NP-pilnas probēmas un to redukcijas
|
== NP-pilnas problēmas un to redukcijas
|
||||||
|
|
||||||
=== Polinomiāla redukcija $(<=#sub("poly"))$
|
=== Polinomiāla redukcija $(<=#sub("poly"))$
|
||||||
|
|
||||||
@ -909,11 +909,11 @@ Vai dotā lineāru nevienādību sistēma ar bināriem mainīgajiem ir atrisinā
|
|||||||
$x_n$) ievieš jaunus mainīgos $y_i$.
|
$x_n$) ievieš jaunus mainīgos $y_i$.
|
||||||
- Katriem vārtiem formulē atbilstošas izteiksmes.
|
- Katriem vārtiem formulē atbilstošas izteiksmes.
|
||||||
|
|
||||||
Piemērs AND vārtiem. Nosaucam ievades kā x, y un izvadi kā z: $z = x and y$
|
Piemērs `AND` vārtiem. Nosaucam ievades kā x, y un izvadi kā z: $z = x and y$
|
||||||
|
|
||||||
#table(
|
#table(
|
||||||
columns: 4,
|
columns: 4,
|
||||||
[*$x$*], [*$y$*], [*$z$*], [*$z = x and z$?*],
|
[*$x$*], [*$y$*], [*$z$*], [*$z = x and y$?*],
|
||||||
$0$, $0$, $0$, [jā],
|
$0$, $0$, $0$, [jā],
|
||||||
$0$, $0$, $1$, [nē],
|
$0$, $0$, $1$, [nē],
|
||||||
$0$, $1$, $0$, [jā],
|
$0$, $1$, $0$, [jā],
|
||||||
@ -1006,7 +1006,8 @@ Vārdiski. Jauns grafs $G$, kurā ir visas virsotnes no $V$, bet
|
|||||||
visas šķautnes, kas ir $G$ nav $G'$ un pretēji -- visas šķautnes
|
visas šķautnes, kas ir $G$ nav $G'$ un pretēji -- visas šķautnes
|
||||||
kā nav $G$ ir $G'$.
|
kā nav $G$ ir $G'$.
|
||||||
|
|
||||||
#figure(diagram(
|
#figure(
|
||||||
|
diagram(
|
||||||
cell-size: 1mm,
|
cell-size: 1mm,
|
||||||
node-stroke: 0pt,
|
node-stroke: 0pt,
|
||||||
spacing: 1em,
|
spacing: 1em,
|
||||||
@ -1037,7 +1038,7 @@ kā nav $G$ ir $G'$.
|
|||||||
edge(<a2>, <b2>, "--", stroke: yellow),
|
edge(<a2>, <b2>, "--", stroke: yellow),
|
||||||
edge(<c2>, <b2>),
|
edge(<c2>, <b2>),
|
||||||
edge(<c2>, <a2>, "--", stroke: yellow),
|
edge(<c2>, <a2>, "--", stroke: yellow),
|
||||||
)),
|
),
|
||||||
caption: "Papildgrafa piemērs",
|
caption: "Papildgrafa piemērs",
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -1072,13 +1073,14 @@ Ir spēkā sakarība $"INDSET"(G, k) = "CLIQUE"(G', k)$.
|
|||||||
log_8(3x-4)=log_8(5x+2) \
|
log_8(3x-4)=log_8(5x+2) \
|
||||||
"so," 3x-4=5x+2
|
"so," 3x-4=5x+2
|
||||||
$,
|
$,
|
||||||
|
|
||||||
[Pow. to log],
|
[Pow. to log],
|
||||||
$
|
$
|
||||||
a^(log_a (x)) = x
|
a^(log_a (x)) = x
|
||||||
$,
|
$,
|
||||||
$
|
$
|
||||||
2^(log_2 (x)) = x
|
2^(log_2 (x)) = x
|
||||||
$
|
$,
|
||||||
))
|
))
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -1117,26 +1119,26 @@ Ir spēkā sakarība $"INDSET"(G, k) = "CLIQUE"(G', k)$.
|
|||||||
|
|
||||||
[Summa], [$ f(x) + g(x) $], [$ f'(x) + g'(x) $],
|
[Summa], [$ f(x) + g(x) $], [$ f'(x) + g'(x) $],
|
||||||
[Starpība], [$ f(x) - g(x) $], [$ f'(x) - g'(x) $],
|
[Starpība], [$ f(x) - g(x) $], [$ f'(x) - g'(x) $],
|
||||||
[Reizinājums], [$ f(x) * g(x) $],
|
[Reizinājums], [$ f(x) dot g(x) $],
|
||||||
[
|
[
|
||||||
$
|
$
|
||||||
f'(x) * g(x) + \
|
f'(x) dot g(x) + \
|
||||||
f(x) * g'(x)
|
f(x) dot g'(x)
|
||||||
$
|
$
|
||||||
],
|
],
|
||||||
|
|
||||||
/*
|
/*
|
||||||
[Quotient Rule], [$ (f'(x) * g(x) - f(x) * g'(x)) / (g(x))^2 $], [$ (f'(x) * g(x) - f(x) * g'(x)) / (g(x))^2 $],
|
[Quotient Rule], [$ (f'(x) dot g(x) - f(x) * g'(x)) / (g(x))^2 $], [$ (f'(x) * g(x) - f(x) * g'(x)) / (g(x))^2 $],
|
||||||
[Chain Rule], [$ f(g(x)) $], [$ f'(g(x)) * g'(x) $],
|
[Chain Rule], [$ f(g(x)) $], [$ f'(g(x)) dot g'(x) $],
|
||||||
[Euler’s Number Exponent Rule], [$ e^x $], [$ e^x $],
|
[Euler’s Number Exponent Rule], [$ e^x $], [$ e^x $],
|
||||||
[Constant Exponent Rule], [$ a^x $], [$ a^x * ln(a) $],
|
[Constant Exponent Rule], [$ a^x $], [$ a^x dot ln(a) $],
|
||||||
[Natural Log Rule], [$ ln(x) $], [$ 1 / x $],
|
[Natural Log Rule], [$ ln(x) $], [$ 1 / x $],
|
||||||
[Logarithm Rule], [$ log_a(x) $], [$ 1 / (x * ln(a)) $],
|
[Logarithm Rule], [$ log_a(x) $], [$ 1 / (x dot ln(a)) $],
|
||||||
[Sine Rule], [$ sin(x) $], [$ cos(x) $],
|
[Sine Rule], [$ sin(x) $], [$ cos(x) $],
|
||||||
[Cosine Rule], [$ cos(x) $], [$ -sin(x) $],
|
[Cosine Rule], [$ cos(x) $], [$ -sin(x) $],
|
||||||
[Tangent Rule], [$ tan(x) $], [$ sec^2(x) $],
|
[Tangent Rule], [$ tan(x) $], [$ sec^2(x) $],
|
||||||
[Cosecant Rule], [$ csc(x) $], [$ -csc(x) * cot(x) $],
|
[Cosecant Rule], [$ csc(x) $], [$ -csc(x) dot cot(x) $],
|
||||||
[Secant Rule], [$ sec(x) $], [$ sec(x) * tan(x) $],
|
[Secant Rule], [$ sec(x) $], [$ sec(x) dot tan(x) $],
|
||||||
[Cotangent Rule], [$ cot(x) $], [$ -csc^2(x) $],
|
[Cotangent Rule], [$ cot(x) $], [$ -csc^2(x) $],
|
||||||
*/
|
*/
|
||||||
)
|
)
|
||||||
@ -1151,10 +1153,10 @@ Ir spēkā sakarība $"INDSET"(G, k) = "CLIQUE"(G', k)$.
|
|||||||
columns: 2,
|
columns: 2,
|
||||||
[*Rule Name*], [*Formula*],
|
[*Rule Name*], [*Formula*],
|
||||||
|
|
||||||
[Reizinājums], [$ a^m * a^n = a^(m+n) $],
|
[Reizinājums], [$ a^m dot a^n = a^(m+n) $],
|
||||||
[Dalījums], [$ a^m / a^n = a^(m-n) $],
|
[Dalījums], [$ a^m / a^n = a^(m-n) $],
|
||||||
[Pakāpes pakāpe], [$ (a^m)^n = a^(m*n) $],
|
[Pakāpes pakāpe], [$ (a^m)^n = a^(m dot n) $],
|
||||||
[Reizinājuma pakāpe], [$ (a*b)^m = a^m * b^m $],
|
[Reizinājuma pakāpe], [$ (a dot b)^m = a^m dot b^m $],
|
||||||
[Dalījuma pakāpe], [$ (a/b)^m = a^m / b^m $],
|
[Dalījuma pakāpe], [$ (a/b)^m = a^m / b^m $],
|
||||||
[0-pakāpe], [$ a^0 = 1 $],
|
[0-pakāpe], [$ a^0 = 1 $],
|
||||||
[Negatīva pakāpe], [$ a^(-m) = 1 / a^m $],
|
[Negatīva pakāpe], [$ a^(-m) = 1 / a^m $],
|
||||||
@ -1171,8 +1173,8 @@ $
|
|||||||
sum_(i=1)^(n) i^2 = (n(n+1)(2n+1))/(6)\
|
sum_(i=1)^(n) i^2 = (n(n+1)(2n+1))/(6)\
|
||||||
sum_(i=1)^(n) i^3 = ( (n(n+1))/(2))^2 \
|
sum_(i=1)^(n) i^3 = ( (n(n+1))/(2))^2 \
|
||||||
// Geometric series (ratio r \neq 1)
|
// Geometric series (ratio r \neq 1)
|
||||||
r > 1: sum_(i=0)^(n) a*r^i = a * (r^(n+1)-1)/(r-1) quad \
|
r > 1: sum_(i=0)^(n) a dot r^i = a dot (r^(n+1)-1)/(r-1) quad \
|
||||||
r < 1: sum_(i=0)^(infinity) a*r^i = (a)/(1-r) \
|
r < 1: sum_(i=0)^(oo) a dot r^i = (a)/(1-r) \
|
||||||
// Logarithmic sum
|
// Logarithmic sum
|
||||||
sum_(i=1)^(n) log i = log(n!) approx n log n - n + O(log n) \
|
sum_(i=1)^(n) log i = log(n!) approx n log n - n + O(log n) \
|
||||||
// Exponential sum (appears in brute-force algorithms)
|
// Exponential sum (appears in brute-force algorithms)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user