Algoritmu sarežģītība
9. lekcija
Alternējošas Tjūringa mašīnas
Apskatīsim alternējošu Tjūringa mašīnu simetrijas pazīšanai un pierādīsim, ka simetrijas pazīšanai pietiek ar lineāru darba laiku.
Sākumam apskatīsim citu valodu, kas noderēs vēlāk simetrijas apskatīšanai.
Apskatāmā valoda četru burtu alfabētā (1, 0,
1, 0) ir (pēc kārtas visi binārie skaitļi):|
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
|
Tāpat kā nedeterminēta Tjūringa mašīna:
Izvēlas vienu no fragmentiem un pārbauda vai nākošais ir pareizs:
Lai aizietu līdz vajadzīgajam jāizlieto
n soļi; lai salīdzinātu (log n)2. Tātad kopā vajag n + (log n)2 < 2n (lineārā laikā).Šajā gadījumā nedeterminētai Tjūringa mašīnai nav priekšrocību salīdzinot ar determinētām mašīnām (uz katru fragmentu (skaits
log n) vajag (log n)2 salīdzināšanai, kopā c n log n).Sākumā universālā režīmā izvēlas vienu no fragmentiem, izvēlēto pārbauda un noskaidro, vai ir pareizs.
Tātad kopā vajadzīgs c n.
Tālāk apskatīsim simetriju, izmantosim papildceliņus (trīs). Tie nemaina sarežģītību, ja to ir konstants skaits.
Sākumā uzģenerē divas simbolu virknes četru burtu alfabētā (1, 0,
1, 0). Tādas pašas kā pirmajā piemērā. Vienu virs dotās virknes un otru zem dotās virknes (apgrieztā secībā).|
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
|
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
|
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
Ja izvēlas nepareizo, tad izlieto
n+(log n)2;|
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
|
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
|
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
|
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
|
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
|
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
|
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
|
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
|
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
|
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
|
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
Katrā no posmiem soļu daudzums nav lielāks par
c n. Tātad kopējais soļu skaits, kas nepieciešams simetrijas pazīšanai, ir c n. Tātad simetriju var pazīt ar alternējošu mašīnu lineārā laikā.
Valodu klases
Ja ar
Tjūringa mašīnu valodu nevar pazīt polinomiālā laikā, tad arī ne ar kādu citu nevar.Valoda pieder klasei P
, ja eksistē determinēta Tjūringa mašīna, kas šo valodu pazīst polinomiālā laikā.Valoda pieder klasei NP
, ja eksistē nedeterminēta Tjūringa mašīna, kas šo valodu pazīst polinomiālā laikā.Valoda pieder klasei AP
, ja eksistē alternējoša Tjūringa mašīna, kas šo valodu pazīst polinomiālā laikā.Valoda pieder klasei PP
, ja eksistē varbūtiska Tjūringa mašīna, kas šo valodu pazīst polinomiālā laikā ar varbūtību > 1/2.Valoda pieder klasei BPP
, ja eksistē varbūtiska Tjūringa mašīna un d > 0, ka mašīna pazīst valodu polinomiālā laikā ar varbūtību > 1/2 + d .
Lekciju pierakstīja R.Barkāns
romualds@di.lv09.03.99