mirror of
https://github.com/kristoferssolo/Theory-of-Algorithms-Cheatsheet.git
synced 2025-10-21 20:10:39 +00:00
refactor: redraw images using fletcher
This commit is contained in:
parent
18dd44645a
commit
16c21da5cd
2
LICENSE
2
LICENSE
@ -1,6 +1,6 @@
|
|||||||
MIT License
|
MIT License
|
||||||
|
|
||||||
Copyright (c) 2025 Kristofers Solo
|
Copyright (c) 2025 Kristofers Solo, jorenchik
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 26 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 26 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 23 KiB |
174
main.typ
174
main.typ
@ -1,5 +1,5 @@
|
|||||||
#import "@preview/finite:0.5.0": automaton
|
#import "@preview/finite:0.5.0": automaton
|
||||||
#import "@preview/fletcher:0.5.7" as fletcher: diagram, edge, node
|
#import "@preview/fletcher:0.5.8" as fletcher: diagram, edge, node
|
||||||
#import "@preview/gentle-clues:1.2.0": *
|
#import "@preview/gentle-clues:1.2.0": *
|
||||||
#import "@preview/tablex:0.0.9": tablex
|
#import "@preview/tablex:0.0.9": tablex
|
||||||
#import "layout.typ": indent-par, project
|
#import "layout.typ": indent-par, project
|
||||||
@ -15,6 +15,7 @@
|
|||||||
#let TM = $"TM"$
|
#let TM = $"TM"$
|
||||||
#let qrej = $q_"rej"$
|
#let qrej = $q_"rej"$
|
||||||
#let qacc = $q_"acc"$
|
#let qacc = $q_"acc"$
|
||||||
|
#let qnew = $q_"new"$
|
||||||
#let halt = $"HALTING"$
|
#let halt = $"HALTING"$
|
||||||
#let halt2 = $"HALTING"_2$
|
#let halt2 = $"HALTING"_2$
|
||||||
#let NP = $"NP"$
|
#let NP = $"NP"$
|
||||||
@ -38,14 +39,14 @@ un iet virzienā $d space (<- "vai" ->)$.
|
|||||||
=== Divas (vai vairākas fiksētas) lentes
|
=== Divas (vai vairākas fiksētas) lentes
|
||||||
$(q, a_1, a_2) -> (q', b_1, b_2, d_1, d_2)$ -- $a_1$, $b_1$, $d_1$ pirmai
|
$(q, a_1, a_2) -> (q', b_1, b_2, d_1, d_2)$ -- $a_1$, $b_1$, $d_1$ pirmai
|
||||||
lentei un $a_2$, $b_2$, $d_2$ otrai lentei.
|
lentei un $a_2$, $b_2$, $d_2$ otrai lentei.
|
||||||
Svarīga atšķirība ir ka vairlāklenšu #TM papildus $<-$ un $->$ virzieniem ir
|
Svarīga atšķirība ir ka vairāklenšu #TM papildus $<-$ un $->$ virzieniem ir
|
||||||
$arrow.b$ (stāvēšana uz vietas). #footnote[Derīgs ar uzdevumiem, kur palīdz
|
$arrow.b$ (stāvēšana uz vietas). #footnote[Derīgs ar uzdevumiem, kur palīdz
|
||||||
kopēšana/salīdzināšana.]
|
kopēšana/salīdzināšana.]
|
||||||
|
|
||||||
=== Stāvēšana uz vietas
|
=== Stāvēšana uz vietas
|
||||||
Nosimulēt stāvēšanu uz vietas jeb $d=0$ var šādi:
|
Nosimulēt stāvēšanu uz vietas jeb $d=0$ var šādi:
|
||||||
- $(q, a) -> (q_"new", a', ->)$
|
- $(q, a) -> (qnew, a', ->)$
|
||||||
- $(q_"new", a slash b slash c slash * ) -> (q_"new", a slash b slash c slash *, <-)$
|
- $(qnew, a slash b slash c slash * ) -> (qnew, a slash b slash c slash *, <-)$
|
||||||
|
|
||||||
=== Modelis, ko pamatā izmanto šajā kursā!
|
=== Modelis, ko pamatā izmanto šajā kursā!
|
||||||
|
|
||||||
@ -245,9 +246,9 @@ jāparāda, ka varam konstruēt Tjūringa mašīnu, kas atrisina #halt2, izmanto
|
|||||||
#halt kā atrisinātu problēmu (jeb kā apakšprogrammu).
|
#halt kā atrisinātu problēmu (jeb kā apakšprogrammu).
|
||||||
|
|
||||||
Pieņemsim, ka mums ir Tjūringa mašīna $H$, kas atrisina #halt problēmu.
|
Pieņemsim, ka mums ir Tjūringa mašīna $H$, kas atrisina #halt problēmu.
|
||||||
Konstruēsim jaunu Tjūringa mašīnu $H 2$, kas atrisina #halt2 problēmu:
|
Konstruēsim jaunu Tjūringa mašīnu $H_2$, kas atrisina #halt2 problēmu:
|
||||||
|
|
||||||
Tjūringa mašīna $H 2$ darbojas sekojoši:
|
Tjūringa mašīna $H_2$ darbojas sekojoši:
|
||||||
- Doti ievades dati $M$, $x$ un $y$.
|
- Doti ievades dati $M$, $x$ un $y$.
|
||||||
- Palaiž $H$ ar ievaddatiem $(M, x)$.
|
- Palaiž $H$ ar ievaddatiem $(M, x)$.
|
||||||
- Ja $H$ akceptē $(M, x)$, apstājas un akceptē.
|
- Ja $H$ akceptē $(M, x)$, apstājas un akceptē.
|
||||||
@ -257,10 +258,10 @@ Tjūringa mašīna $H 2$ darbojas sekojoši:
|
|||||||
|
|
||||||
// Jorens:Nav "vai nu", bet "vai". Citādi paliek abi pozitīvi, kas nav
|
// Jorens:Nav "vai nu", bet "vai". Citādi paliek abi pozitīvi, kas nav
|
||||||
// apskatīti.
|
// apskatīti.
|
||||||
Konstruējot $H 2$ šādā veidā, mēs simulējam $H$ darbību uz abām ievadēm $x$ un
|
Konstruējot $H_2$ šādā veidā, mēs simulējam $H$ darbību uz abām ievadēm $x$ un
|
||||||
$y$:
|
$y$:
|
||||||
- Ja $H$ akceptē $(M, x)$ vai $(M, y)$, $H 2$ akceptēs un apstāsies.
|
- Ja $H$ akceptē $(M, x)$ vai $(M, y)$, $H_2$ akceptēs un apstāsies.
|
||||||
- Ja $H$ noraida gan $(M, x)$, gan $(M, y)$, $H 2$ noraidīs un apstāsies.
|
- Ja $H$ noraida gan $(M, x)$, gan $(M, y)$, $H_2$ noraidīs un apstāsies.
|
||||||
|
|
||||||
// Jorens: Tas jau ir nedaudz liekvārdīgi, izņēmu dažas lietas.
|
// Jorens: Tas jau ir nedaudz liekvārdīgi, izņēmu dažas lietas.
|
||||||
|
|
||||||
@ -268,7 +269,7 @@ _Tālākais teksts nav obligāts risinājumā._
|
|||||||
|
|
||||||
Redukcijas analīze:
|
Redukcijas analīze:
|
||||||
- Ja $halt2(M, x, y) = 1$, tas nozīmē, ka Tjūringa mašīna $M$ apstājas vismaz
|
- Ja $halt2(M, x, y) = 1$, tas nozīmē, ka Tjūringa mašīna $M$ apstājas vismaz
|
||||||
uz vienas no ievadēm $x$ vai $y$. Šajā gadījumā $H 2$ arī apstāsies un
|
uz vienas no ievadēm $x$ vai $y$. Šajā gadījumā $H_2$ arī apstāsies un
|
||||||
akceptēs, jo tā veiksmīgi simulē $H$ uz abām ievadēm un akceptē, ja $H$
|
akceptēs, jo tā veiksmīgi simulē $H$ uz abām ievadēm un akceptē, ja $H$
|
||||||
akceptē kādu no tām. Tādējādi #halt2 tiek reducēta uz #halt.
|
akceptē kādu no tām. Tādējādi #halt2 tiek reducēta uz #halt.
|
||||||
- Ja $halt2(M, x, y) = 0$, tas nozīmē, ka Tjūringa mašīna $M$ neapstājas ne uz
|
- Ja $halt2(M, x, y) = 0$, tas nozīmē, ka Tjūringa mašīna $M$ neapstājas ne uz
|
||||||
@ -301,8 +302,8 @@ atrisinātu šo problēmu.
|
|||||||
- $F$ var definēt caur $M$ atbildēm uz dažādām ieejas virknēm $x$.
|
- $F$ var definēt caur $M$ atbildēm uz dažādām ieejas virknēm $x$.
|
||||||
|
|
||||||
Piemēram:
|
Piemēram:
|
||||||
- $"ONE"(M) = 1$, ja $exists x: M(x) = 1$
|
- $one(M) = 1$, ja $exists x: M(x) = 1$
|
||||||
- $"INFINITE"(M) = 1$, ja $exists^infinity x: M(x) = 1$
|
- $infinite(M) = 1$, ja $exists^oo x: M(x) = 1$
|
||||||
|
|
||||||
Citiem vārdiem, ja $forall x: M_1(x) = M_2(x)$, tad $F(M_1) = F(M_2)$.
|
Citiem vārdiem, ja $forall x: M_1(x) = M_2(x)$, tad $F(M_1) = F(M_2)$.
|
||||||
|
|
||||||
@ -313,7 +314,7 @@ Citiem vārdiem, ja $forall x: M_1(x) = M_2(x)$, tad $F(M_1) = F(M_2)$.
|
|||||||
nevienai ieejas virknei $x$.
|
nevienai ieejas virknei $x$.
|
||||||
|
|
||||||
Papildus Tjūringa mašīnas funkcionālam aprakstam, mums ir papildus informācija
|
Papildus Tjūringa mašīnas funkcionālam aprakstam, mums ir papildus informācija
|
||||||
par mašīnu, par tās struktūru etc.
|
par mašīnu, par tās struktūru utt.
|
||||||
|
|
||||||
== Raisa teorēma
|
== Raisa teorēma
|
||||||
|
|
||||||
@ -708,7 +709,7 @@ Lai atrastu koda izpildes laiku:
|
|||||||
no $n$ (skat. @time_analysis_expressions).
|
no $n$ (skat. @time_analysis_expressions).
|
||||||
+ Novērtē šīs funkcijas klasi izmantojot lielā-O notāciju.
|
+ Novērtē šīs funkcijas klasi izmantojot lielā-O notāciju.
|
||||||
|
|
||||||
===== Piemērs ($|a| =^? |b|$)
|
===== Piemērs ($abs(a) =^? abs(b)$)
|
||||||
Vai ieejas virknē ir vienāds skaits $a$ un $b$?
|
Vai ieejas virknē ir vienāds skaits $a$ un $b$?
|
||||||
|
|
||||||
+ Virzās no kreisās puses uz labo, aizstājot vienu $a$ un vienu $b$ ar $x$;
|
+ Virzās no kreisās puses uz labo, aizstājot vienu $a$ un vienu $b$ ar $x$;
|
||||||
@ -731,7 +732,7 @@ Kopējais soļu skaits:
|
|||||||
|
|
||||||
$
|
$
|
||||||
"SPACE"(f(N)) = \
|
"SPACE"(f(N)) = \
|
||||||
= {L | L "var atrisināt ar Tjūringa" \
|
= {L mid(|) L "var atrisināt ar Tjūringa" \
|
||||||
"mašīnu, kurai" S(N) <= C f(N)}. \
|
"mašīnu, kurai" S(N) <= C f(N)}. \
|
||||||
$
|
$
|
||||||
|
|
||||||
@ -739,7 +740,7 @@ $
|
|||||||
|
|
||||||
$
|
$
|
||||||
"NSPACE"(f(N)) = \
|
"NSPACE"(f(N)) = \
|
||||||
= {L | L "ir determinēta" M, "visiem" x, L(x)=M(x), \
|
= {L mid(|) L "ir determinēta" M, "visiem" x, L(x)=M(x), \
|
||||||
"un" M "izmanto " <= c f(N) "šūnas uz darba lentes"}. \
|
"un" M "izmanto " <= c f(N) "šūnas uz darba lentes"}. \
|
||||||
$
|
$
|
||||||
|
|
||||||
@ -805,7 +806,7 @@ Ekvivalence ir pierādīta ar abpusēju pārveidojumu no pārbaudītāja uz nede
|
|||||||
|
|
||||||
== NP-pilnas probēmas un to redukcijas
|
== NP-pilnas probēmas un to redukcijas
|
||||||
|
|
||||||
=== Polinomiāla redukcija $(<=_("poly"))$
|
=== Polinomiāla redukcija $(<=#sub("poly"))$
|
||||||
|
|
||||||
- $A <= B$ – A var atrisināt, noreducējot to uz B.
|
- $A <= B$ – A var atrisināt, noreducējot to uz B.
|
||||||
- $A <=_("poly") B$, ja ir $O(n^c)$ laika algoritms (Tjūringa mašīna) $P$:
|
- $A <=_("poly") B$, ja ir $O(n^c)$ laika algoritms (Tjūringa mašīna) $P$:
|
||||||
@ -816,7 +817,7 @@ Ekvivalence ir pierādīta ar abpusēju pārveidojumu no pārbaudītāja uz nede
|
|||||||
|
|
||||||
- A – NP-pilna, ja:
|
- A – NP-pilna, ja:
|
||||||
- $A in "NP"$;
|
- $A in "NP"$;
|
||||||
- Ja $B in NP$, tad $B <=_("poly") A$.
|
- Ja $B in NP$, tad $B <=#sub("poly") A$.
|
||||||
|
|
||||||
=== 3-SAT problēma
|
=== 3-SAT problēma
|
||||||
|
|
||||||
@ -825,10 +826,33 @@ būtu 1 (patiess).
|
|||||||
|
|
||||||
=== CIRCUIT-SAT problēma
|
=== CIRCUIT-SAT problēma
|
||||||
|
|
||||||
Dota funkcija $F(x_1, ..., x_n)$, kas sastāv no vārtiem (AND, OR, NOT).
|
Dota funkcija $F(x_1, ..., x_n)$, kas sastāv no vārtiem (`AND`, `OR`, `NOT`).
|
||||||
|
|
||||||
#figure(
|
#figure(
|
||||||
image("assets/img/circuit_sat.png", width: 50%),
|
diagram(
|
||||||
|
cell-size: 1mm,
|
||||||
|
node-stroke: 0.5pt,
|
||||||
|
node-shape: circle,
|
||||||
|
spacing: 1em,
|
||||||
|
node((0, 0), `OR`, name: <or-1>, radius: 1em),
|
||||||
|
node((-1, 1), `AND`, name: <and-1>, radius: 1em),
|
||||||
|
node((1, 1), `AND`, name: <and-2>, radius: 1em),
|
||||||
|
node((-2, 2), $x_1$, stroke: none, name: <x1>, radius: 1em),
|
||||||
|
node((0, 2), `OR`, name: <or-2>, radius: 1em),
|
||||||
|
node((1, 2), `NOT`, name: <not>, radius: 1em),
|
||||||
|
node((-1, 3), $x_2$, stroke: none, name: <x2>, radius: 1em),
|
||||||
|
node((1, 3), $x_3$, stroke: none, name: <x3>, radius: 1em),
|
||||||
|
|
||||||
|
edge((0, -1), <or-1>),
|
||||||
|
edge(<or-1>, <and-1>),
|
||||||
|
edge(<or-1>, <and-2>),
|
||||||
|
edge(<and-1>, <x1>),
|
||||||
|
edge(<and-1>, <or-2>),
|
||||||
|
edge(<and-2>, <not>),
|
||||||
|
edge(<or-2>, <x2>),
|
||||||
|
edge(<or-2>, <x3>),
|
||||||
|
edge(<not>, <x3>),
|
||||||
|
),
|
||||||
caption: "CIRCUIT-SAT visual",
|
caption: "CIRCUIT-SAT visual",
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -836,14 +860,14 @@ Vai var atrast mainīgo vērtības tā lai gala izvade būtu 1 (patiess).
|
|||||||
|
|
||||||
=== CLIQUE problēma
|
=== CLIQUE problēma
|
||||||
|
|
||||||
$exists C subset.eq V: (|C| = k) and (forall (u, v in C): (u, v) in E)$
|
$exists C subset.eq V: (abs(C) = k) and (forall (u, v in C): (u, v) in E)$
|
||||||
|
|
||||||
Vārdiski. Vai eksistē virsotņu kopa $S$ lielumā $k$, kurā katra virsotne ir
|
Vārdiski. Vai eksistē virsotņu kopa $S$ lielumā $k$, kurā katra virsotne ir
|
||||||
savienota ar katru otro no kopas $S$.
|
savienota ar katru otro no kopas $S$.
|
||||||
|
|
||||||
=== IND-SET problēma
|
=== IND-SET problēma
|
||||||
|
|
||||||
$exists S subset.eq V: (|S| = k) and (forall (u, v in S): (u, v) in.not E)$
|
$exists S subset.eq V: (abs(S) = k) and (forall (u, v in S): (u, v) in.not E)$
|
||||||
|
|
||||||
Vārdiski. Vai grafā $G=(V, E)$ eksistē virsotņu kopa $S$ lielumā $k$, kurā
|
Vārdiski. Vai grafā $G=(V, E)$ eksistē virsotņu kopa $S$ lielumā $k$, kurā
|
||||||
katra no virsotnēm nav savienota ar nevienu citu virsotni no šīs
|
katra no virsotnēm nav savienota ar nevienu citu virsotni no šīs
|
||||||
@ -853,7 +877,7 @@ kopas.
|
|||||||
|
|
||||||
Vai dotā lineāru nevienādību sistēma ar bināriem mainīgajiem ir atrisināma.
|
Vai dotā lineāru nevienādību sistēma ar bināriem mainīgajiem ir atrisināma.
|
||||||
|
|
||||||
=== CIRCUIT-SAT ≤ₚ 3-SAT
|
=== CIRCUIT-SAT $<=#sub("p")$ 3-SAT
|
||||||
|
|
||||||
- Katram starprezultātam (kas nav pirmajā ievadē, i.e., $x_1$, $x_2$, $dots$,
|
- Katram starprezultātam (kas nav pirmajā ievadē, i.e., $x_1$, $x_2$, $dots$,
|
||||||
$x_n$) ievieš jaunus mainīgos $y_i$.
|
$x_n$) ievieš jaunus mainīgos $y_i$.
|
||||||
@ -898,35 +922,96 @@ $
|
|||||||
Analoģiski iekavām ar vienu elementu. Rezultātā ir 3-CNF formula, ko var
|
Analoģiski iekavām ar vienu elementu. Rezultātā ir 3-CNF formula, ko var
|
||||||
izmantot ar 3-SAT algoritmu.
|
izmantot ar 3-SAT algoritmu.
|
||||||
|
|
||||||
=== 3-SAT ≤ₚ IND-SET
|
=== 3-SAT $<=#sub("p")$ IND-SET
|
||||||
|
|
||||||
Katrai iekavai no formulas veido $3$ virsotnes (grafa komponenti), kas apzīmē
|
Katrai iekavai no formulas veido $3$ virsotnes (grafa komponenti), kas apzīmē
|
||||||
mainīgo (ar NOT, ja ir negācija). Katra virsotne (literālis) no komponentes ir
|
mainīgo (ar `NOT`, ja ir negācija). Katra virsotne (literālis) no komponentes ir
|
||||||
savā starpā savienota ar pārējām. Starp pretrunīgiem literāliem starp
|
savā starpā savienota ar pārējām. Starp pretrunīgiem literāliem starp
|
||||||
komponentēm pievieno šķautni.
|
komponentēm pievieno šķautni.
|
||||||
|
|
||||||
Piemērs formulai $(x or y or not z) and (not x or y or z)$:
|
Piemērs formulai $(x or y or not z) and (not x or y or z)$:
|
||||||
|
|
||||||
|
|
||||||
|
#let dot-node(pos, name) = node(pos, name: name, fill: black, radius: 2pt)
|
||||||
#figure(
|
#figure(
|
||||||
image("assets/img/3_sat_indset.png", width: 50%),
|
diagram(
|
||||||
caption: "3-SAT -> INDSET visual",
|
cell-size: 1mm,
|
||||||
|
node-stroke: 0pt,
|
||||||
|
spacing: 1em,
|
||||||
|
node-shape: circle,
|
||||||
|
// phantom location nodes
|
||||||
|
dot-node((0, 0), <y1>),
|
||||||
|
dot-node((1, -1), <x>),
|
||||||
|
dot-node((1, 1), <not-z>),
|
||||||
|
dot-node((4, -1), <not-x>),
|
||||||
|
dot-node((4, 1), <y2>),
|
||||||
|
dot-node((5, 0), <z>),
|
||||||
|
|
||||||
|
// label nodes
|
||||||
|
node((rel: (-0.7em, 0em), to: <y1>), $y$),
|
||||||
|
node((rel: (0em, 0.7em), to: <x>), $x$),
|
||||||
|
node((rel: (0em, 0.7em), to: <not-x>), $not x$),
|
||||||
|
node((rel: (0.7em, 0em), to: <z>), $z$),
|
||||||
|
node((rel: (0em, -0.7em), to: <not-z>), $not z$),
|
||||||
|
node((rel: (0em, -0.7em), to: <y2>), $y$),
|
||||||
|
|
||||||
|
edge(<x>, <y1>),
|
||||||
|
edge(<x>, <not-x>),
|
||||||
|
edge(<x>, <not-z>),
|
||||||
|
edge(<y1>, <not-z>),
|
||||||
|
edge(<z>, <not-z>),
|
||||||
|
edge(<z>, <not-x>),
|
||||||
|
edge(<z>, <y2>),
|
||||||
|
edge(<y2>, <not-x>),
|
||||||
|
),
|
||||||
|
caption: [3-SAT $->$ INDSET visual],
|
||||||
)
|
)
|
||||||
|
|
||||||
Tagad varam pielietot $"IND-SET"\(G, m\)$ ar izveidoto grafu un $m$ kā iekavu
|
Tagad varam pielietot $"IND-SET"(G, m)$ ar izveidoto grafu un $m$ kā iekavu
|
||||||
skaitu originālajā formulā.
|
skaitu originālajā formulā.
|
||||||
|
|
||||||
=== IND-SET ≤ₚ CLIQUE
|
=== IND-SET $<=#sub("p")$ CLIQUE
|
||||||
|
|
||||||
- Veido grafa papildinājumu (komplementu) $G' = (V, E')$:
|
- Veido grafa papildinājumu (komplementu) $G' = (V, E')$:
|
||||||
|
|
||||||
$E' := {(u, v) in V times V | (u, v) in.not E}$
|
$ E' := {(u, v) in V times V mid(|) (u, v) in.not E} $
|
||||||
|
|
||||||
Vārdiski. Jauns grafs $G$, kurā ir visas virsotnes no $V$, bet
|
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(
|
#figure(diagram(
|
||||||
image("assets/img/graph_complement.png", width: 50%),
|
cell-size: 1mm,
|
||||||
|
node-stroke: 0pt,
|
||||||
|
spacing: 1em,
|
||||||
|
node-shape: circle,
|
||||||
|
// phantom location nodes
|
||||||
|
dot-node((0, 0), <b1>),
|
||||||
|
dot-node((-2, 1), <a1>),
|
||||||
|
dot-node((0, 2), <c1>),
|
||||||
|
|
||||||
|
dot-node((0, 4), <b2>),
|
||||||
|
dot-node((-2, 5), <a2>),
|
||||||
|
dot-node((0, 6), <c2>),
|
||||||
|
|
||||||
|
// label nodes
|
||||||
|
node((rel: (0.7em, 0.7em), to: <b1>), $B$),
|
||||||
|
node((rel: (-0.7em, 0em), to: <a1>), $A$),
|
||||||
|
node((rel: (0.7em, 0.7em), to: <c1>), $C$),
|
||||||
|
node((1, 1), text(green, $G$)),
|
||||||
|
|
||||||
|
node((rel: (0.7em, 0.7em), to: <b2>), $B$),
|
||||||
|
node((rel: (-0.7em, 0em), to: <a2>), $A$),
|
||||||
|
node((rel: (0.7em, 0.7em), to: <c2>), $C$),
|
||||||
|
node((1.6, 5), text(green, $G "papildinājums"$)),
|
||||||
|
|
||||||
|
edge(<a1>, <b1>),
|
||||||
|
edge(<c1>, <b1>, "--", stroke: yellow),
|
||||||
|
edge(<c1>, <a1>),
|
||||||
|
edge(<a2>, <b2>, "--", stroke: yellow),
|
||||||
|
edge(<c2>, <b2>),
|
||||||
|
edge(<c2>, <a2>, "--", stroke: yellow),
|
||||||
|
)),
|
||||||
caption: "Papildgrafa piemērs",
|
caption: "Papildgrafa piemērs",
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -965,29 +1050,26 @@ Ir spēkā sakarība $"INDSET"(G, k) = "CLIQUE"(G, k)$.
|
|||||||
]
|
]
|
||||||
|
|
||||||
== Atvasinājumu tabula
|
== Atvasinājumu tabula
|
||||||
|
|
||||||
#context [
|
#context [
|
||||||
#set text(size: 11pt)
|
#set text(size: 11pt)
|
||||||
#show math.equation: set text(weight: 400, size: 11pt)
|
#show math.equation: set text(weight: 400, size: 11pt)
|
||||||
|
|
||||||
#table(
|
#table(
|
||||||
columns: 3,
|
columns: 3,
|
||||||
inset: (top: .8em, bottom: .9em),
|
|
||||||
// vert. padding
|
// vert. padding
|
||||||
[*Funkcija*], [*Atvasinājums*], [*Piezīmes*],
|
[*Funkcija*],
|
||||||
|
[*Atvasinājums #footnote[Ja $x = g(x)$ (kompleksa funkcija), tad pie atvasinājuma piereizina $g(x)'$.]*],
|
||||||
|
[*Piezīmes*],
|
||||||
|
|
||||||
[$x^n$], [$n x^(n-1)$], [],
|
$ x^n $, $ n x^(n-1) $, "",
|
||||||
[$e^x$], [$e^x$], [],
|
$ e^x $, $ e^x $, "",
|
||||||
[$a^x$], [$a^x ln(a)$], [$a > 0$],
|
$ a^x $, $ a^x ln(a) $, $ a > 0 $,
|
||||||
[$ln(x)$], [$1 / x$], [],
|
$ ln(x) $, $ 1 / x $, "",
|
||||||
[$1 / x$], [$-1 / x^2$], [],
|
$ 1 / x $, $ -1 / x^2 $, "",
|
||||||
[$1 / x^n$], [$-n / x^(n+1)$], [],
|
$ 1 / x^n $, $ -n / x^(n+1) $, "",
|
||||||
[$sqrt(x)$], [$1 / (2 sqrt(x))$], [],
|
$ sqrt(x) $, $ 1 / (2 sqrt(x)) $, "",
|
||||||
[$1 / sqrt(x)$], [$-1 / (2 x^(3/2))$], [],
|
$ 1 / sqrt(x) $, $ -1 / (2 x^(3/2)) $, "",
|
||||||
)
|
)
|
||||||
|
|
||||||
\* Ja $x = g(x)$ (kompleksa funkcija), tad pie atvasinājuma
|
|
||||||
piereizina $g(x)'$.
|
|
||||||
]
|
]
|
||||||
|
|
||||||
== Noderīgas izteiksmes laika analīzē<time_analysis_expressions>
|
== Noderīgas izteiksmes laika analīzē<time_analysis_expressions>
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
#import "@preview/finite:0.5.0"
|
#import "@preview/finite:0.5.0"
|
||||||
#import "@preview/fletcher:0.5.7"
|
#import "@preview/fletcher:0.5.8"
|
||||||
#import "@preview/gentle-clues:1.2.0"
|
#import "@preview/gentle-clues:1.2.0"
|
||||||
#import "@preview/headcount:0.1.0"
|
#import "@preview/headcount:0.1.0"
|
||||||
#import "@preview/tablex:0.0.9"
|
#import "@preview/tablex:0.0.9"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user