Zaman sınıflarını ayırma


16

Bir öğrencim yakın zamanda şu soruyu soruyor:

varsayınBir bulunmalıdır H (n) bu şekilde DTime (f (n)) \ subsetneq DTime (s (n)) \ subsetneq DTime (g (n))?

DTIME(f(n))DTIME(g(n)).
h(n)
DTIME(f(n))DTIME(h(n))DTIME(g(n))?

Eğer f, g zamanla yapılandırılabilirse bu muhtemelen bir h (n) yapılarak doğru gösterilebilir . Ancak genel olarak, buna benzer bir yanlış gerektiğini düşünmektedir Dspace (O (\ log (\ log (n)))) = Dspace (1) .h(n)f,gDSPACE(o(log(log(n))))=DSPACE(1)


Bu kesin modele bağlı olabilir.

Borodin'in burada bahsedilen boşluk teoremi ilgili olabilir: cstheory.stackexchange.com/questions/8583/…
Michael Wehar

F (n), g (n) = O (1) 'e izin veriyor musunuz f(n),g(n)=O(1)? Çünkü o zaman birincisi hariç her yerde sıfır olan bazı işlevler için bazı örnekler bulunmalıdır. Her neyse, bu soru mantıklı yapmazsa fg her yerde tek hariç n ?
domotorp

2
Üzgünüm ben tanım DTIME (f (n)) = DTIME (g (n)) olarak f (n), g (n) = O (1) ile sorunu takip etmiyorum ? f(n),g(n)=O(1)DTIME(f(n))=DTIME(g(n))
S. Pek

Üzgünüm, soruyu yanlış okudum ve önceki yorumum pek mantıklı değildi. Kaldırdım. Teşekkür ederim.
Michael Wehar

Yanıtlar:


8

Eğer DTIME(f(n)) bütün dillerin sınıf içinde Karar verilebilen olarak tanımlanır O(f(n)) , iki şerit Turing makinesi tarafından zaman, o zaman cevap hayır şüpheli. Başka bir deyişle, her zaman katı bir ara zaman karmaşıklığı sınıfı olmadığını düşünüyorum.

Not: Bu cevap tam olarak aradığınız şey olmayabilir, çünkü hesaplanamayan fonksiyonları düşünüyorum ve argümanın her detayını dahil etmiyorum. Ama bunun iyi bir başlangıç ​​olduğunu hissettim. Lütfen herhangi bir soru sormaktan çekinmeyin. Belki bir noktada bu detayları daha fazla doldurabilirim ya da belki bu ilgilenen bir okuyucunun daha iyi bir cevabına yol açacaktır.

formunun işlevlerini göz önünde bulundurun . Bu işlevlerden doğal sayı işlevleri olarak bahsediyoruz.f:NN

İstem 1: Çok yavaş büyüyen, azalmayan, doğal olmayan bir sayı (hesaplanamayan) fonksiyonu oluşturabileceğimizi iddia ediyorum :ε(n)

(1) , azalan olmayan birε(n)

(2)ε(n)=ω(1)

(3) Sınırsız tüm hesaplanabilir için küme sonsuzdur. { nf:NN{n|ε(n)f(n)}

yavaş büyüyen azalmayan adım fonksiyonu olarak inşa ediyoruz . Sınırsız tüm hesaplanabilir fonksiyonları numaralandıralım . Bu inşa etmek isteyen öyle bir şekilde her için ve her , . Başka bir deyişle, numaralandırmadaki ilk işlevleri en az bir kez değerine eşit veya daha büyük bir değere eşleştirilene kadar değerini eşleştirmek için bekleriz. Ardından , devam eder{ f i } i N ε ( n ) i j i m i n { kε(n){fi}iNε(n)ijiε ( n ) i i i ε ( n ) i i + 1 i + 1 i + 1 ε ( n ) ε ( n )min{k|ε(k)i}min{k|fj(k)i}ε(n)iiiε(n)inumaralandırmadaki ilk işlevleri en az bir kez değerine eşit veya daha büyük bir değere eşleştirilene ve bu noktada eşlemeye başlar . oluşturmak için bu yinelemeli sürece devam edersek , herhangi bir sınırsız hesaplanabilir fonksiyon için, her zaman daha küçük olmasa da, sonsuz olarak en azından küçük olacaktır.i+1i+1i+1ε(n)ε(n)

Not: İddia 1'in arkasında biraz sezgi sağladım, ayrıntılı bir kanıt sunmadım. Lütfen aşağıdaki tartışmalara katılmaktan çekinmeyin.

Çünkü böyle yavaş büyüyen fonksiyonudur, aşağıdaki vardır:ε(n)

Talep 2: ve ise, hesaplanabilir tüm doğal sayı fonksiyonları için ve , sonra .h ( n ) h ( n ) = Ω ( f ( n )f(n)h(n)h(n)=O(f(n))h(n)=Θ(f(n))h(n)=Ω(f(n)ε(n))h(n)=O(f(n))h(n)=Θ(f(n))

İstem 2, eğer hesaplanabilir bir fonksiyon söz konusu olmamıştır arasındaki ve bu şekilde , mümkün olmayan den daha yavaş büyüyen sınırsız bir doğal sayı fonksiyonu hesaplayabiliriz . f ( n )h(n) f(n)h(n)Θ(f(n))ε(n)f(n)ε(n)f(n)h(n)Θ(f(n))ε(n)

Bazı ayrıntıları açıklayayım. Varsayalım ki fonksiyonunun var olduğu çelişki . Ardından, sınırsızdır.f ( n )h(n)f(n)h(n)

Not: Önceki işlev hesaplanabilir çünkü ve hesaplanabilir.h ( n )f(n)h(n)

Yana , elimizdeki . Sonuç olarak , tüm yeterince büyük, sabit bir vardır . Bu işlev sınırsız ve hesaplanabilir olduğundan, önceki ifadeyle sınırsız olarak sınırlandırmak için İstem 1'i uygulayabiliriz .f(n)h(n)=Ω(f(n)ε(n))αnαf(n)f(n)h(n)=O(ε(n))αnε(n)αf(n)αf(n)h(n)<ε(n)ε(n)αf(n)h(n)

İstem 3: Bir kez inşa edilebilir fonksiyonu için , sahip olduğu , henüz yok değil mevcut bu şekilde ve .D T I M E ( f ( n )f(n)h ( n ) f ( n )DTIME(f(n)ε(n))DTIME(f(n))h(n)DTIME(f(n)f(n)ε(n)h(n)f(n)DTIME(f(n)ε(n))DTIME(h(n))DTIME(f(n))

Bunu göstermek için, daha güçlü bir zaman hiyerarşisi teoremi kullanmamız gerekir ve işte burada bant sayısının sabit olduğu varsayımı (yukarıda iki bant dedik). Bkz. Martin Furer'ın "Sıkı deterministik zaman hiyerarşisi".DTIME(f(n)ε(n))DTIME(f(n))

ve arasında dışında hesaplanabilir doğal sayı işlevleri olmadığından, her işlev bu şekilde ve , . f(n)f(n)ε(n)f(n)h ( n ) f ( n )Θ(f(n))h(n)saf(n)ε(n)h(n)f(n)D T I M E ( f ( n )h(n)Θ(f(n))DTIME(f(n)ε(n))=DTIME(h(n))


1
Evet, tam da aklımda olan şey bu, ama yol boyunca bir yerlerde kafam karıştı. Sadece şunu belirtmek isterim ki, hiç küçük olmak zorunda değildir; benzer bir argüman, işlevinin her zaman veya olan bir işlevle ve üst işlev her zaman veya olan bir işlevle değiştirilebilir . f ( n )ϵ(n) f(n)0f(n)ϵ(n)f(n)ϵ(n)f(n)0f(n)ϵ(n)f(n)
domotorp

1
(3) sınırsız işlevlerle kısıtlanması gerekir . f

@RickyDemer Evet, haklısın! Bunu yakaladığınız için çok teşekkür ederim. Sınırsız kelimeyi eklemek için cevabımı düzenledim. :)
Michael Wehar

1
İstem 1 hakkında tamamen ikna olmadım. ( ise , düşünün . Bu numaralandırma göz önüne alındığında, mı? n i n - i ϵ ( n ) = Θ ( 1 )fi(n)=1niniϵ(n)=Θ(1)
S. Pek

2
Bu kanıtla ilgili iki endişem daha var: 1) 2. istemde, çelişkinin eşit olduğu için hesaplanabilir bir bulunamamasından kaynaklandığını söylediniz. . Ben bu tipografik bir hata olduğuna inanıyorum, öyle ki bir var ki böyle. Ancak hesaplanabilir olması gerekmediğini, bu yüzden argümanın tutmaya gerek olmadığını unutmayın. 2) Sonucu, İstem 3'te Furer tarafından kullandınız. Bununla birlikte, sonuç yalnızca zamanla oluşturulabilir işlevler için geçerlidir, ancak zamanla yapılandırılabilir olması gerekmez. | h ( n ) - f ( n ) | k ϵ ( n ) = | h ( n )ϵ(n)|h(n)f(n)|kk f ( n )ϵ(n)=|h(n)kf(n)|kf(n)ϵ(n)
S. Pek

4

Bu sonuç doğruysa, en iyi bilinen deterministik zaman hiyerarşisi teoremini güçlendirir. [Bu, bir yanıttan çok bir yorumdur, ancak bir yorum için çok uzun. Karşı bir numunenin doğrudan yapısını açık bırakır.] Şu anda sahip olduğumuz en iyi Deterministik Zaman Hiyerarşi Teoreminin zamanla yapılandırılabilir ve , ardından .g ( n ) o ( f ( n ) / log f ( n ) ) D T If(n),g(n)g(n)o(f(n)/logf(n))DTIME(g(n))DTIME(f(n))

Şimdi istediğiniz sonucu doğrudur varsayalım ve let yakın olan bir zaman-constructible fonksiyonu olabilir, ama, hala çok az-oh , diyelim ki, . (Bu zaman inşa edilebilir herhangi bir zaman-inşa edilebilir için olmayabilir , ama mutlaka çok zaman-inşa edilebilir için Bu , zamana inşa edilebilir içindir.) Şimdi, arzu edilen sonucu, üreten şekilde . Mevcut en iyi zaman hiyerarşi teoremini geliştirmekten kaçınmak için hemf ( n ) / günlük ( f ( n ) ) g ( n ) = f ( n ) / ( log f ( n ) ) 3 / 2 g ön f gg(n)f(n)/log(f(n))g(n)=f(n)/(logf(n))3/2gffgD , T I M E ( g ( n- ) ) D T I M E ( h (hg ( n ) = o ( f ( n ) / log ( f ( n ) ) g ( n ) o (DTIME(g(n))DTIME(h(n))DTIME(f(n))h ( n ) = og(n)=o(h(n)/log(h(n)))ve Bu ikisi birlikte . yana , elimizdeki , veya eşdeğer . Ancak, ; .h(n)=o(f(n)/log(f(n))h ( n ) g ( n ) g ( n ) o ( f ( n )g(n)o(f(n)/(log(f(n))log(h(n)))h(n)g(n)g(n)logg(n)o(f(n)/log(f(n)))g(n)log(g(n))=f(n)/(günlük(g(n)o(f(n)log(f(n))log(g(n)))g(n)logg(n)o(f(n)/log(f(n))) o(f(n)/log(f(n))g(n)log(g(n))=f(n)/(log(f(n))3/2[log(f(n))(3/2)loglog(f(n)]f(n)/log(f(n))o(f(n)/log(f(n))


1
Güzel! Ayrıca, bant sayısı sabitse daha iyi bir zaman hiyerarşi teoremi olduğunu unutmayın. Bkz. Martin Furer'ın "Sıkı deterministik zaman hiyerarşisi".
Michael Wehar

1
@MichaelWehar: İşaretçi için teşekkürler! Gerçekten, Furer bant sayısının ne zaman sabitlendiğini gösterdiği gibi, sadece kadar sıkılaştığında, argümanım ortadan kalkar. (Ve temelde aynı nedenden ötürü, bu soru zaman yerine uzay hiyerarşisi ile g(n)=o(f(n))
ilgiliyse argümanım ortadan kalkar

2

Böyle bir davranışın 1-Tape-DTM'ler için geçerli olduğunu düşünüyorum. Bir yandan, . Ne yazık ki, bildiğim tek referans Almanca: R. Reischuk, Einführung in die Komplexitätstheorie, Teubner, 1990, Theorem 3.1.8.DTIME1(O(n))=DTIME1(o(nlogn))

Öte yandan, ve diliyle ayırmak mümkün olmalıdır standart bir geçiş sırası bağımsız değişkeni kullanarak. D , T I M E 1 (O(n,logn)){x # 2 | x | xx{0,1 } }DTIME1(O(n))DTIME1(O(nlogn)){x#2|x|xx{0,1}}

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.