Számításelmélet. Will június 13. A kiszámíthatóság fogalma és a Church-Turing tézis

Hasonló dokumentumok
Deníciók és tételek a beugró vizsgára

definiálunk. Legyen egy konfiguráció, ahol és. A következő három esetet különböztetjük meg. 1. Ha, akkor 2. Ha, akkor, ahol, ha, és egyébként.

Számításelmélet. Második előadás

Az informatika elméleti alapjai 2 elővizsga december 19.

Turing-gépek. Számításelmélet (7. gyakorlat) Turing-gépek 2009/10 II. félév 1 / 1

A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon:

Turing-gép május 31. Turing-gép 1. 1

Bonyolultságelmélet. Thursday 1 st December, 2016, 22:21

A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon:

Logika és számításelmélet. 7. előadás

Logika és számításelmélet. 7. előadás

Logika és számításelmélet

Logika és számításelmélet. 12. előadás

Államvizsga kérdések a matematikus szakon, 2001.

Algoritmuselmélet 12. előadás

NP-teljesség röviden

Algoritmusok bonyolultsága

Logika és számításelmélet. 10. előadás

Véges automaták, reguláris nyelvek

Kriptográfia 0. A biztonság alapja. Számítás-komplexitási kérdések

Automaták mint elfogadók (akceptorok)

A Számítástudomány alapjai

A digitális számítás elmélete

Bevezetés a számításelméletbe

Bonyolultságelmélet. SZTE Informatikai Tanszékcsoport

Logika és számításelmélet. 11. előadás

Bonyolultságelmélet. Monday 26 th September, 2016, 18:50

Bonyolultságelmélet. Monday 26 th September, 2016, 18:28

Bonyolultságelmélet. Monday 26 th September, 2016, 18:27. Bonyolultságelmélet

Bonyolultságelmélet feladatok

Logika és számításelmélet Készítette: Nagy Krisztián

A számítógépes nyelvészet elmélete és gyakorlata. Automaták

Algoritmuselmélet. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 13.

Algoritmuselmélet. Bonyolultságelmélet. Katona Gyula Y.

Turing-gépek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz. Friedl Katalin BME SZIT augusztus 16.

Felismerhető nyelvek zártsági tulajdonságai II... slide #30. Véges nemdeterminisztikus automata... slide #21

Turing-gépek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz VIII. Friedl Katalin BME SZIT március 18.

Tesztkérdések az ALGORITMUSELMÉLET tárgyból, 2001/ félév

1. tétel - Gráfok alapfogalmai

Bevezetés a bonyolultságelméletbe gyakorlatok I. A(0, y) := y + 1 y 0 A(x, 0) := A(x 1, 1) x 1 A(x, y) := A(x 1, A(x, y 1)) x, y 1

1. Bevezetés. A számítógéptudomány ezt a problémát a feladat elvégzéséhez szükséges erőforrások (idő, tár, program,... ) mennyiségével méri.

Formális nyelvek és automaták vizsgához statisztikailag igazolt várható vizsgakérdések

SZAKDOLGOZAT. Major Sándor Roland

ALGORITMUSOK ÉS BONYOLULTSÁGELMÉLET Matematika MSc hallgatók számára. 11. Előadás

ZH feladatok megoldásai

LOGIKA ÉS SZÁMÍTÁSELMÉLET KIDOLGOZOTT JEGYZET

Diszkrét matematika 2. estis képzés


A Turing-gép. Formális nyelvek III.

Ítéletkalkulus. 1. Bevezet. 2. Ítéletkalkulus

Kiegészítő részelőadás 1. Az algoritmusok hatékonyságának mérése

Algoritmusok Tervezése. 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás

Számítógép és programozás 2

Nagyordó, Omega, Theta, Kisordó

Formális nyelvek - 9.

Online algoritmusok. Algoritmusok és bonyolultságuk. Horváth Bálint március 30. Horváth Bálint Online algoritmusok március 30.

Diszkrét matematika 2.C szakirány

Predikátumkalkulus. 1. Bevezet. 2. Predikátumkalkulus, formalizálás. Predikátumkalkulus alapfogalmai, formalizálás, tagadás, logikailag igaz formulák.

Ítéletkalkulus. 1. Bevezet. 2. Ítéletkalkulus

Algoritmuselmélet. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 12.

A Számítógépek felépítése, mőködési módjai. A Számítógépek hardverelemei

ALGORITMUSOK ÉS BONYOLULTSÁGELMÉLET Matematika MSc hallgatók számára

ALGORITMUSOK ÉS BONYOLULTSÁGELMÉLET Matematika MSc hallgatók számára. 1. Előadás

Diszkrét matematika 2.C szakirány

Diszkrét matematika 1. estis képzés

Bonyolultságelmélet gyakorlat 06 Gráfos visszavezetések II.

Informatika 1 2. el adás: Absztrakt számítógépek

Sorozatok és Sorozatok és / 18

Predikátumkalkulus. Predikátumkalkulus alapfogalmai, formalizálás, tagadás, logikailag igaz formulák. Vizsgáljuk meg a következ két kijelentést.

A matematika nyelvér l bevezetés

Nagyságrendek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz. Friedl Katalin BME SZIT február 1.

Diszkrét matematika 2. estis képzés

ÍTÉLETKALKULUS (NULLADRENDŰ LOGIKA)

Relációk. 1. Descartes-szorzat

Bonyolultsági vizsgálatok egy szépirodalmi m kapcsán

Boros Zoltán február

6. előadás A reguláris nyelvek jellemzése 2.

Abszolút folytonos valószín ségi változó (4. el adás)

Diszkrét matematika 1. estis képzés

Diszkrét matematika 2.C szakirány

Gráfelméleti feladatok programozóknak

Logika és informatikai alkalmazásai kiskérdések február Mikor mondjuk, hogy az F formula a G-nek részformulája?

Diszkrét matematika 2. estis képzés

Relációk. 1. Descartes-szorzat. 2. Relációk

Formális módszerek GM_IN003_1 Program verifikálás, formalizmusok

Chomsky-féle hierarchia

Diszkrét matematika 2.

Diszkrét matematika 2.C szakirány

1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje

ALGORITMUSOK ÉS BONYOLULTSÁGELMÉLET Matematika MSc hallgatók számára. Alapok

Algoritmuselmélet 18. előadás

Matematikai logika. 3. fejezet. Logikai m veletek, kvantorok 3-1

Bevezetés az informatikába

Tételsor a szóbeli számításelmélet vizsgához

A digitális számítás elmélete

2. Visszalépéses stratégia

Diszkrét matematika 2. estis képzés

ALGORITMUSOK ÉS BONYOLULTSÁGELMÉLET Matematika MSc hallgatók számára. 6. Előadás

Dicsőségtabló Beadós programozási feladatok

Számítógép és programozás 2

Átírás:

Számításelmélet Will 2010. június 13. A kiszámíthatóság fogalma és a Church-Turing tézis. A Turing gép, mint algoritmus modell. A rekurzív és a rekurzívan felsorolható nyelvek. Algoritmikusan eldönthet és eldönthetetlen problémák. Problémák egymásra való visszavezethet sége. Id - és tárbonyolultsági osztályok. A P, NP. Polinomiális idej visszavezetések. P-teljes, NP-teljes problémák. A kiszámíthatóság fogalma és a Church-Turing tézis Deníció: Számítási probléma Egy olyan, matematikailag megfogalmazott probléma, amelyre számítógéppel szeretnénk választ kapni. A való életb l megfelel absztrakcióval származtathatóak. A számítási probléma egy konkrét bemenettel való megadását a probléma egy példányának hívjuk. Például: Adott egy teherautó és sok azonos magasságú, de különböz rtartalmú hordó. Feladatunk, hogy minél nagyobb összesített rtartalmat szállítsunk a teherautóval. Az absztrakció: az adott téglalapot fedjük le minél jobban az adott körökkel. A feladat a probléma egy példánya, ha megadjuk a téglalap és a körök pontos méreteit. Deníció: Eldöntési probléma Olyan számítási probléma, amelynek kimenete igen vagy nem. Például: SAT probléma (Satisability problem): adott φ zérusrend konjuktív normálforma kielégítheto-e avagy sem. Reprezentáció: Egy számítási probléma reprezentálható egy f A B parciális függvénnyel. A-ban a probléma példányai, B-ben pedig az algoritmus által adott válaszok vannak. Eldöntési problémánál B kételem ({igen, nem}, {0, 1}, stb.). f parciális, mert egy problémának lehetnek példányai, amelyek algoritmikusan kiszámíthatatlanok. Deníció: Kiszámíthatóság Egy számítási probléma kiszámítható def. algoritmus: x A : véges sok lépésben kiszámolja f(x) B-t. Azaz f : A B. Ha egy eldöntési probléma kiszámítható, akkor szoktuk eldönthet nek is nevezni. Például: A SAT probléma eldönthet, mert a deníció nem szab id korlátot! A valóságban egy 100 változót tartalmazó φ KNF kielégíthet ségének eldöntése általában 2 100 lépés, ami egy 10 12 m velet / sec-es gépen is 4 10 16 évig tartana, ez pedig több, mint az Univerzum jelenlegi életkora. Reprezentáció: Egy eldönthet probléma tekinthet úgy is, mint egy formális nyelv. Ekkor a probléma példányait a megfelel ábécé felett elkódoljuk, és a formális nyelv azokat fogja tartalmazni, amelyek az igen példányok. Tézis: Church-Turing tézis Hilbert Entscheidungsproblem-je (Eldöntési Probléma): adjunk olyan univerzális algoritmust, amely egy tetsz leges matematikai állításról eldönti, hogy igaz vagy hamis. 1

Gödel nemteljességi tétele: Minden olyan mechanikusan kiszámítható elméletben, ami tartalmazza az elemi aritmetikát, létezik olyan állítás, hogy az adott elméletben sem az állítás, sem annak tagadása nem bizonyítható. De akkor még nem volt precíz deníció az algoritmusra! Ehhez kellettek a matematikai modellek (λ-kalkulus, Turing-gép voltak az els k), melyek alapján a Church- Turing tézis: A kiszámíthatóság különböz matematikai modelljei mind az eektíven kiszámítható függvények osztályát deniálják. Vagyis a Gödel-féle rekurzív függvények, a Church-féle λ-kalkulus, a Turing-gép, a többszalagos Turing-gép, a RAM gépek, a Post-gépek, a Markov-algoritmusok mind ekvivalensek. A Turing-gép, mint algoritmus modell Deníció: Turing-gép Informálisan: egy olyan véges állapotú eszköz, amely egy egy irányban végtelen szalagon dolgozik (ez egyben a kvázi végtelen memóriája). A szalag bal szélén kezdetben a bemen szó van, ezen kívül üres ( ) szimbólumokat tartalmaz. A gép író-olvasó feje tetsz legesen léphet, dolgozhat, de nem eshet le a szalag bal oldalán. Két kit ntetett állapot a q i és a q n (elfogadó és elutasító állapot). A Turing-gép egy olyan M = (Q, Σ, Γ, δ, q 0, q i, q n ) rendszer, ahol: Q az állapotok véges, nem üres halmaza, q 0, q i, q n Q, q 0 a kezd -, q i az elfogadó- és q n az elutasító állapot, Σ és Γ ábécék, a bemen jelek illetve a szalag szimbólumok ábécéi úgy, hogy Σ Γ és Γ Σ, δ : (Q {q i, q n }) Γ Q Γ {L, R} az átmenet függvény. Deníció: Konguráció A Turing-gép egy kongurációja egy uqv szó, ahol q Q és u, v Γ, v ε. Ekkor a szalag tartalma uv szó és a gép q állapotban van, az író-olvasó fej v els bet jére mutat. Ebb l látszik, hogy a gép kezd kongurációja: q 0 u, ahol u Σ. Ha q {q i, q n }, akkor uqv egy megállási konguráció (elfogadó vagy elutasító). Deníció: Konguráció-átmenet Legyen uqav egy konguráció, vagyis a Γ és u, v Γ. Ekkor: δ(q, a) = (r, b, R) uqav ubrv, ahol v = v v ε, egyébként v =. δ(q, a) = (r, b, L) u ε : uqav u rcbv(c Γ, u c = u); u = ε : uqav urbv. M véges sok lépésben eljut C kongurációból C kongurációba (C C ), ha n 0 : C 1,..., C n kongurációsorozat, ahol C 1 = C, C n = C és 1 i < n : C i C i+1. Turing-gép változatai: Megállásos: az író-olvasó fej munkavégzés után nem kell, hogy lépjen, maradhat helyben is, Többszalagos: k > 1 szalagja van, mindegyikhez külön író-olvasó fej (ez is megállásos!), Kétirányú: mindkét irányban végtelen a szalag, Nemdeterminisztikus Turing-géppel ekvivalens modellek: 2

Többvermes automaták: k > 1 verem, közös veremábécével ( egy nyelv Turing-felismerhet felismerhet kétvermes automatával), Számlálós gépek: k > 1 számlálója van (amelyek n N számokat tudnak mutatni). A gép csak azt tudja megmondani, hogy egy számláló 0 vagy nem 0 ( minden Turing-géphez adható egy vele ekvivalens három számlálós gép), RAM gépek (Közvetlen hozzáférés gépek): véges utasításkészlet és egész érték, potenciálisan végtelen számú regiszter A rekurzív és a rekurzívan felsorolható nyelvek Deníció: Turing-gép által felismert nyelv Az M által felismert nyelv (L(M)-mel jelöljük), azoknak az u Σ q 0 u xq i y, ahol x, y Γ, y ε. szavaknak a halmaza, amelyekre: Deníció: Turing-felismerhet nyelv L Σ Turing-felismerhet def. M : L = L(M). Továbbá: L Σ nyelv eldönthet def. M, amit minden bemeneten megállási kongurációba jut és felismeri L-et. A Turing-felismerhet nyelveket hívják még rekurzívan felsorolhatónak, míg az eldönthet nyelveket rekurzívnak is. Másképp megfogalmazva: egy L Σ nyelv Turing-felismerhet (rekurzívan felsorolható RE), ha létezik M Turing-gép, ami minden L-beli szóra q i -ben áll meg, minden más szóra pedig q n -ben áll meg vagy nem áll meg soha. L eldönthet (rekurzív R), ha M minden bemeneten megáll (q i -ben vagy q n -ben). Például: rekurzív nyelv a következ : L = {u#u u {0, 1} + } R RE (a tartalmazás valódi!) Módszer: Turing-gépek kódolása Legyen az ábécé {0, 1}. Az e feletti szavak felsorolhatóak, legyen {0, 1} felsorolása: w 1 = ε, w 2 = 0, w 3 = 1, w 4 = 00, w 5 = 01, stb. Legyen M = (Q, {0, 1}, Γ, δ, q 0, q i, q n ), ekkor a kódolás: Q = {q 0,..., q k }, ahol q k 1 = q i és q k = q n, m > 0 : Γ = {X 1,..., X m }, ahol X 1 = 0, X 2 = 1, X 3 =, a többiek a többi szalagszimbólum, L, R, S D 1, D 2, D 3, Ekkor: δ(q l, X j ) = (q r, X s, D t ), ahol 0 l, r k, 1 j, s m, 1 t 3, átmenet elkódolható 0 l+1 10 j 10 r+1 10 s 10 t szóban. Ebben nincs 11 részszó, tehát azt extremális elemnek használva összef zhetjük az összes átmenetet egy szóvá. Jelöljük M i -vel (i 1) azt a Turing-gépet, amit w i bináris szó kódol. Ha w i nem kódol Turing-gépet, akkor L(M i ) :=. (M, w) kódolása (ahol w egy bemeneti szó) úgy történik, hogy M fenti kódolása utána 111-et f zünk, majd leírjük a szót. Jelölés: (M i, w)-t kódolja: w i 111w =: M, w. 3

Algoritmikusan eldönthet és eldönthetetlen problémák Deníció: L u, L átló L u := {w i 111w j i, j 1, w j L(M i )}, vagyis M i elfogadja w j -t. L átló := {w i i 1, w i / L(M i )}, vagyis M i nem fogadja el önmagát. Deníció: Karakterisztikus táblázat Legyenek egy táblázat oszlopai és sorai rendre w i -k. A táblázat i, j (sor, oszlop) eleme legyen 1, ha w j L(M i ), egyébként legyen 0. L átló nem rekurzívan felsorolható (bizonyítás indirekt). Deníció: Komplementer nyelv L Σ : L := {w w Σ, w / L}. L R L R. L RE L RE L R. Deníció: Univerzális Turing-gép (U) Négyszalagos Turing-gép. Els szalagon a bemenet, másodikon M szalagja elkódolva, harmadikon M állapota elkódolva, negyedik segédszalag. U M ködése v bemeneten: 1. U megvizsgálja, hogy v M, w alakú-e. Ha nem, akkor elutasítja. 2. U rámásolja w-t a második szalagra, kódolva. 3. U 0-t ír a harmadik szalagra (M kezd állapota). 4. U szimulálja M egy lépését: Keres 0 i 10 j 10 r 10 s 10 t alakú részszót, ahol 0 i = 3. szalag, 0 j pedig a 2. szalag azon 0-ás blokkja, amely a fejpozícióban kezd dik. 3. szalagról törli 0 i -t, 2.-ról 3.-ra másolja 0 r -t (a következ állapot kódja, amibe M lép). 2. szalagon 0 j helyébe 0 s -t (M szalagszimbóluma a konguráció átmenetnek megfelel en). Ehhez felhasználja a negyedik szalagot (0 j mögötti rész változatlan kell maradjon). 2. szalagon fej pozícióján kezd d 0-s blokktól egy blokkot balra/jobbra lép, vagy helyben marad (t = 1, 2, 3). 5. Ha 4-ik lépésben M állapota q i vagy q n, akkor U q i -be vagy q n -be lép. Egyébként GOTO 4. Látszik, hogy M, w L(U) w L(M) vagyis, ha M, w L u. Tehát U felismeri L u -t L u RE. L u RE és L u / R (bizonyítás indirekt). Problémák egymásra való visszavezethet sége Deníció: Visszavezetés Legyen Σ, két ábécé, f : Σ. f kiszámítható, ha M : w Σ szóval indítva M úgy áll meg, hogy 4

szalagján f(w) van. Legyen L 1 Σ, L 2. L 1 visszavezethet L 2 -re, ha f : Σ : f kiszámítható és w Σ : w L 1 f(w) L 2. Visszavezetési tételek Legyen L 1, L 2 két eldöntési probléma, és tfh. L 1 visszavezethet L 2 -re, ekkor: i) L 1 eldönthetetlen L 2 is az. ii) L 1 / RE L 2 / RE. Deníció: L halt L halt := { M, w M megáll w bemeneten}. L halt RE. Az L halt nyelv eldönthetetlen. Deníció: Nyelv tulajdonsága P {L L RE}. Ekkor P-t a rekurzívan felsorolható nyelvek egy tulajdonságának nevezzük. P nemtriviális tulajdonság, ha P P RE. L RE nyelv rendelkezik P tulajdonsággal, ha L P. Legyen L P az a nyelv, ami azon Turing-gépek kódjait tartalmazza, amelyek rendelkeznek P tulajdonsággal. Rice tétele Legyen P a rekurzívan felsorolható nyelvek egy nemtriviális tulajdonsága. Ekkor L P nyelv eldönthetetlen. Id - és tárbonyolultsági osztályok Deníció: Nagyságrend f, g : N R + ekkor f legfeljebb olyan gyorsan n, mint g, azaz f(n) = O(g(n)) def. c R +, n 0 N : n n 0, n N : f(n) c g(n) Deníció: Turing-gép futásának id igénye Legyen M egy Turing-gép, u Σ a bemen szó. Azt mondjuk, hogy M futási ideje (id igénye) u-n n (n 0), ha M a q 0 u kezd kongurációból n lépésben el tud jutni megállási kongurációba. Ha nincs ilyen, akkor M futási ideje u-n végtelen. Legyen f : N N. M id igénye f(n) (M egy f(n) id korlátos gép), ha u Σ : M id igénye u-n f(l(u)). Deníció: TIME Legyen f(n) : N N. Ekkor: TIME(f(n)) := {L L eldönthet O(f(n)) id igény Turing-géppel}. Továbbá: P := k 1 TIME(nk ). Tehát P-be azon nyelvek tartoznak, amelyek eldönthet ek polinom id korlátos, determinisztikus Turinggéppel. Például: ELÉRHETŽSÉG probléma: van-e út G-gráfban s csúcsból t csúcsba. Deníció: NTIME Legyen f(n) : N N. Ekkor: NTIME(f(n)) := {L L eldönthet O(f(n)) id igény, nemdeterminisztikus Turing-géppel}. 5

Továbbá: NP := k 1 NTIME(nk ). Deníció: Turing-gép futásának tárigénye Megjegyzések: A tár újrafelhasználható, ett l más, mint az id igény. Az ún. szublineáris tárbonyolultsággal foglalkozunk, vagyis a bemenet hossza nem számít bele a tárigénybe. SPACE := {L L eldönthet O(f(n)) tárigény Turing-géppel}. NSPACE := {L L eldönthet O(f(n)) tárigény, nemdeterminisztikus Turing-géppel}. PSPACE := k 0 SPACE(nk ) NPSPACE := k 0 NSPACE(nk ) Deníció: Oine Turing-gép Olyan többszalagos Turing-gép, amelynek a bemeneti szalagja csak olvasható. A tárigénybe csak a munkaszalag(ok)on felhasznált tár számít bele. Savitch tétele f(n) O(log n) NSPACE(f(n)) SPACE(f 2 (n)) Következmény: PSPACE = NPSPACE A P, NP Jellemzés: NP problémák közös tulajdonsága Az NP problémák egy adott példányának ellen rzése (például, hogy a példány igen példány) polinom id ben elvégezhet. A nemdeterminisztikus Turing-gép ennek megfelel en úgy m ködik, hogy megsejt egy megoldást, majd ezt ellen rzi le. Például: a SAT probléma megoldásának id igénye a φ KNF változóitól exponenciálisan függ. Azonban a nemdeterminisztikus Turing-gép (nem életh tulajdonságának hála) ráhibázhat egy helyes megoldásra. Sejtés: P NP. A sejtés, hogy a tartalmazás valódi. Polinomiális idej visszavezetések Deníció: Polinomiális idej visszavezetés Legyen Σ, egy-egy ábécé, f : Σ. Ekkor f polinom id ben kiszámítható, ha létezik Turing-gép, ami polinom id ben kiszámolja. Legyenek L 1 Σ, L 2. Ekkor L 1 polinom id ben visszavezethet L 2 -re (L 1 p L 2 ), ha f : Σ polinom id ben kiszámítható függvény, hogy w Σ : w L 1 f(w) L 2. Visszavezetési tételek Legyen L 1, L 2 két probléma, amikre L 1 p L 2. Ekkor: i) L 2 P L 1 P. ii) L 2 NP L 1 NP. P-teljes, NP-teljes problémák Deníció: NP-teljesség Legyen L egy probléma. L-t NP-teljesnek hívjuk, ha: 1. L NP, 6

2. L NP: L p L. Legyen L egy NP-teljes probléma. L P P = NP. Vagyis ha találnánk egy NP-teljes problémát, ami determinisztikus Turing-géppel polinom id ben kiszámítható, akkor minden NP-beli probléma kiszámítható lenne determinisztikus Turing-géppel, polinom id ben. Legyen L 1, L 2 NP, ráadásul L 1 legyen NP-teljes. Ekkor L 1 p L 2 L 2 is NP-teljes. Cook tétele A SAT NP-teljes probléma. Más NP-teljes problémák: 3SAT: olyan φ KNF, aminek minden tagjában 3 literál van, Teljes részgráf: egy adott gráf olyan k csúcsú teljes részgráfját keressük, amelyben minden két csúcs között van él, Független csúcshalmaz: egy adott gráfban van-e k darab olyan csúcs, amelyek közül egyik sincs összekötve másikkal, Csúcslefedés: egy adott gráfnak van-e olyan k elem csúcshalmaza, amely tartalmazza a gráf minden élének legalább egyik végpontját, Hamilton-út / Irányítatlan Hamilton-út: egy adott gráfban s csúcsból t csúcsba vezet-e (irányítatlan) Hamilton-út, Utazóügynök: egy adott, véges, irányítatlan, pozitív egész élsúlyú gráfban van-e legfeljebb k összsúlyú Hamilton-kör. 7