Basit olması için, sadece evet / hayır cevabı olan "karar" problemlerini dikkate alarak başlayacağım. İşlev sorunları kabaca aynı şekilde çalışır, ancak evet / hayır yerine, her giriş sözcüğüyle ilişkilendirilmiş belirli bir çıkış sözcüğü vardır.
Dil : bir dil sadece bir dizi karakterdir. gibi bir alfabeniz varsa
, Σ ∗ , sadece Σ sembollerini içeren tüm kelimelerin kümesidir . Örneğin, { 0 , 1 } * herhangi bir uzunlukta tüm ikili dizilerin bir kümesidir. Yine de bir alfabenin ikili olması gerekmez. Unary, ternary vb. Olabilir.ΣΣ∗Σ{0,1}∗
Bir alfabe üzerinde bir dil herhangi alt kümesidir Σ * .ΣΣ∗
Sorun : Bir sorun cevaplanmasını istediğimiz bazı girdilerle ilgili bir soru. Spesifik olarak, bir karar problemi, “Girilen girdiler özelliğini yerine getiriyor mu?X
X
L={w∣wyXyX}
Bir karar problemine giriş için cevabın "evet" olup olmadığını belirlemek, o girişin bir alfabe üzerinde kodlanmasının ilgili dilde olup olmadığını belirlemekle aynıdır.
Algoritma : Bir algoritma, sorunu çözmek için adım adım bir yoldur. Bir algoritmanın birçok şekilde ve birçok dilde ifade edilebileceğini ve verilen herhangi bir sorunu çözen birçok farklı algoritma olduğunu unutmayın.
M
L(M)={w∣Mw}
RRE
Dil ve Turing Makineleri arasındaki ilişki aşağıdaki gibidir
Her Turing Makinesi tam olarak bir dil kabul ediyor
Belirli bir dili kabul eden birden fazla Turing Makinesi olabilir
Belirli bir dili kabul eden bir Turing Makinesi olmayabilir.
Algoritmalar ve problemler hakkında kabaca aynı şeyi söyleyebiliriz: her algoritma tek bir problemi çözer, fakat verilen problemi çözen 0 veya daha fazla algoritma olabilir.
Zaman Karmaşıklığı : Algoritmalar ve problemler arasındaki en yaygın karışıklık kaynaklarından biri karmaşıklık sınıfları ile ilgilidir. Doğru tahsis aşağıdaki gibi özetlenebilir:
- Bir algoritma vardır bir zaman karmaşıklığını
- Bir problem karmaşıklık sınıfına aittir .
f(n)f(n)n
Sorunların çalışma zamanları yoktur, çünkü bir sorun aslında çalışan belirli bir algoritmaya bağlı değildir. Bunun yerine, orada varsa bir sorun, bir karmaşıklık sınıfına ait olduğunu söylemek bazı belirli bir zaman karmaşıklığı ile bu sorunu çözme algoritması.
P,NP,PSPACE,EXPTIMEPXXPXXP