0.2.0 version

This commit is contained in:
jorenchik 2025-06-14 20:44:14 +03:00
parent 26a502099d
commit 7eda2fb26e

View File

@ -129,7 +129,7 @@ Vai ieejas virkne $x \# x$, kur $x in {0,1}^*$
- Bezgalīgas kopas $A$, $B$ ir vienāda izmēra, ja ir bijekcija ($1:1$ attiecība) - Bezgalīgas kopas $A$, $B$ ir vienāda izmēra, ja ir bijekcija ($1:1$ attiecība)
$F: A->B$. $F: A->B$.
- $A$ ir sanumurējama ar atkārtojumiem, ja ir attēlojums $F:N->A$, kas par katru - $A$ ir sanumurējama ar atkārtojumiem, ja ir attēlojums $F:N->A$, kas par katru
$a$ $E$ $A$ attēlo vismaz vienu $x$ $E$ $N$. $a in A$ attēlo vismaz vienu $x in NN$.
#teo[$A$ ir sanumurējama ar atkārtojumiem tad un tikai tad, ja $A$ ir sanumurējama.] #teo[$A$ ir sanumurējama ar atkārtojumiem tad un tikai tad, ja $A$ ir sanumurējama.]
== Sanumerātības pierādījums == Sanumerātības pierādījums
@ -160,7 +160,7 @@ Vai ieejas virkne $x \# x$, kur $x in {0,1}^*$
Divu lenšu #TM, kur viena ir klasiska darba lente (#DL) un otra ir izvada Divu lenšu #TM, kur viena ir klasiska darba lente (#DL) un otra ir izvada
lente (#IL) (tikai rakstīšanai). lente (#IL) (tikai rakstīšanai).
==== Piemērs $(a^k b^k mid(|) k>=0) "ir sanum.?"$ ==== Piemērs $(a^k b^k mid(|) k>=0)$ alg. sanum.
Pamatot, ka kopa ${a^k b^k mid(|) k>=0}$ ir algoritmiski sanumurējama. Pamatot, ka kopa ${a^k b^k mid(|) k>=0}$ ir algoritmiski sanumurējama.
+ Uzraksta uz izejas lentes tukšu vārdu. + Uzraksta uz izejas lentes tukšu vārdu.
@ -175,7 +175,8 @@ Pamatot, ka kopa ${a^k b^k mid(|) k>=0}$ ir algoritmiski sanumurējama.
==== Piemērs (atkārt. pēc \# ir sanum\.?) ==== Piemērs (atkārt. pēc \# ir sanum\.?)
Pamatot, ka kopa ${x \# x mid(|) x in {a, b}^* }$ ir algoritmiski sanumurējama. Pamatot, ka kopa ${x \# x mid(|) x in {a, b}^* }$ ir algoritmiski sanumurējama.
+ Uz darba lentes iet cauri visiem $x$. + Uz darba lentes iet cauri visiem $x$ (šeit būtu jāparāda/jāpaskaidro, kā to
izdara).
+ Katram $x$ uz izejas lentes uzraksta $x \# x$. + Katram $x$ uz izejas lentes uzraksta $x \# x$.
+ Uz izejas lentes uzraksta $\#\_$. + Uz izejas lentes uzraksta $\#\_$.
+ Uz darba lentes uzraksta $a$. + Uz darba lentes uzraksta $a$.
@ -185,10 +186,10 @@ Pamatot, ka kopa ${x \# x mid(|) x in {a, b}^* }$ ir algoritmiski sanumurējama.
+ Uz #DL nomaina $x$ pret nākošo vārdu. + Uz #DL nomaina $x$ pret nākošo vārdu.
=== Diagonālinācija (pret sanumurējāmību) <diagonalization> === Diagonālinācija (pret sanumurējāmību) <diagonalization>
Paņēmiens -- ir saraksts (pieņem, ka ir iegūts saraksts) vai uzskaitījums ar Ir saraksts (pieņem, ka ir iegūts saraksts) vai uzskaitījums ar visiem kopas
visiem kopas elementiem un tiek konstruēts jauns elements, kas neatrodas šajā elementiem un tiek konstruēts jauns elements, kas neatrodas šajā sarakstā. Tas
sarakstā. Tas demonstrē, ka kopa ir nesanumurējama, jo vienmēr var izveidot demonstrē, ka kopa ir nesanumurējama, jo vienmēr var izveidot jaunu elementu,
jaunu elementu, kas nav iekļauts uzskaitē (piemēram, reālos skaitļos). kas nav iekļauts uzskaitē (piemēram, reālos skaitļos).
=== Pretruna (pret sanumurējāmību) <contradiction> === Pretruna (pret sanumurējāmību) <contradiction>
Pieņem, ka kopa ir saskaitāma un tad rodas pretruna. To var izdarīt, parādot, Pieņem, ka kopa ir saskaitāma un tad rodas pretruna. To var izdarīt, parādot,
@ -196,43 +197,23 @@ ka kaut kādas kopas īpašības vai kardinalitāte ir pretrunā ar sanumurējam
pieņēmumu. pieņēmumu.
== Piemērs $(ZZ "sanumurētība")$ == Piemērs $(ZZ "sanumurētība")$
Vai visu veselo skaitļu kopa $ZZ={..., -1, 0, 1, ...}$ ir sanumurējama? \ Vai visu veselo skaitļu kopa $ZZ={..., -1, 0, 1, ...}$ ir sanumurējama?
Vai ir $F:{F(1), F(2), ..., F(n), ...}=ZZ$? \ Vai ir $F:{F(1), F(2), ..., F(n), ...}=ZZ$?
$F(n) = n/2 ", ja pāra un" -(n-1)/2 "ja nepāra"$.
$ F(1)=0, F(2)=-1, F(3)=1, F(4)=-2, ... $ Sākumā tiek iegūta nulle.
Viens no veidiem, kā izveidot bijekciju pāra kopai, ir izmantot metodi, ko sauc Iterējot par $n$:
par Kantora pārošanas funkciju. + Funkcijas vērtības skaitļa modulis palielinās par 1, tiek iegūts pozitīvais
Kantora pārošanas funkcija ir definēta sekojoši: skaitlis;
$f(k_1, k_2) := 1/2(k_1 + k_2)(k_1 + k_2 + 1) + k_2$, kur $k_1,k_2 in NN = {0, 1, 2, ...}$ + Tiek iegūts negatīvais skaitlis;
#figure( $F(1)=0, F(2)=1, F(3)=-1, F(4)=2, F(5)=-2...$
image("assets/img/cantors-pairing-function.png", width: 50%),
caption: "Cantor's pairing function",
)
Šī funkcija kā ievadi pieņem naturālo skaitļu pāri $(k_1, k_2)$ un to attēlo Injekcija: ja $F(n_1) = F(n_2)$ no formulas seko, ka $n_1 = n_2$.
kā unikālu naturālo skaitli.
Tā nodrošina, ka katram pārim tiek piešķirts unikāls skaitlis un tiek aptverti
visi iespējamie pāri bez atkārtojumiem.
Pamatojam bijekciju, balsototies uz faktu, ka $"bijekcija" = "injekcija" and Surjekcija: katram $z in ZZ$ eksistē $n in NN$, ka $F(n) = z$.
"surjekcija"$.
=== Injektivitāte<injectivity>
Pieņemsim, ka $f(k_1, k_2) = f(k_3, k_4)$, kur $(k_1, k_2)$ un $(k_3, k_4)$
ir atšķirīgi pāri no naturālo skaitļu kopas.
Vienkāršojot un nolīdzinot izteiksmes, varam parādīt, ka
$k_1 = k_3$ un $k_2 = k_4$.
Tātad funkcija $f$ ir injektīva.
=== Surjektivitāte<surjectivity>
Jebkuram naturālam skaitlim $n$ varam atrast pāri $(k_1, k_2)$, kas tiek
attēlots uz $n$, izmantojot Kantora pārošanas funkcijas apgriezto funkciju.
Pielietojot apgriezto funkciju uz $n$, varam atgūt sākotnējo pāri $(k_1, k_2)$.
Tādējādi funkcija $f$ ir surjektīva.
= Redukcijas = Redukcijas
@ -388,7 +369,7 @@ nevar atrisināt.
#context [ #context [
#set par(justify: false) #set par(justify: false)
== Piemēri (prob. ir neatr) == Piemēri (prob. ir neatr)
=== #halt / #acc === #halt <= #acc
- #underline("Teorēma"): Ja var atrisināt #acc, tad var atrisināt arī #halt - #underline("Teorēma"): Ja var atrisināt #acc, tad var atrisināt arī #halt
- #underline("Pierādījums"): Attēlojums $R:M->M'$ ar īpašību $halt(M\#x) = acc(M'\#x)$. - #underline("Pierādījums"): Attēlojums $R:M->M'$ ar īpašību $halt(M\#x) = acc(M'\#x)$.
- Tad $halt(M\#x)$ var atrisināt sekojoši: - Tad $halt(M\#x)$ var atrisināt sekojoši:
@ -397,7 +378,7 @@ nevar atrisināt.
- Ja $M$ akceptē/noraida, tad $M'$ akceptē (izdos $1$). - Ja $M$ akceptē/noraida, tad $M'$ akceptē (izdos $1$).
- Ja $M$ neapstājas, $M'$ arī neapstājas. - Ja $M$ neapstājas, $M'$ arī neapstājas.
=== #eqans/ #acc === #acc <= #eqans
- #underline("Zinām"): #acc nav atrisināma - #underline("Zinām"): #acc nav atrisināma
- #underline("Pierādām"): Ja var atrisināt #eqans, tad var atrisināt arī #acc. - #underline("Pierādām"): Ja var atrisināt #eqans, tad var atrisināt arī #acc.
- #underline("Secinām"): #eqans nevar atrisināt. - #underline("Secinām"): #eqans nevar atrisināt.
@ -1025,12 +1006,7 @@ r > 1: sum_(i=0)^(n) a*r^i = a * (r^(n+1)-1)/(r-1) quad \
r < 1: sum_(i=0)^(infinity) a*r^i = (a)/(1-r) \ r < 1: sum_(i=0)^(infinity) a*r^i = (a)/(1-r) \
// Logarithmic sum // Logarithmic sum
sum_(i=1)^(n) log i = log(n!) approx \ sum_(i=1)^(n) log i = log(n!) approx n log n - n + O(log n) \
approx n log n - n + O(log n) \
// Useful approximation for factorial (Stirling)
"Stirling's approximation": \
n! approx sqrt(2 pi n) ( (n)/(e) )^n \
// Exponential sum (appears in brute-force algorithms) // Exponential sum (appears in brute-force algorithms)
sum_(i=0)^(n) 2^i = 2^(n+1) - 1 \ sum_(i=0)^(n) 2^i = 2^(n+1) - 1 \