Verimli hesaplama kavramları


11

Bir polinom-zaman Turing makinesi algoritması, en kötü durumda çalışma süresi, giriş boyutunda bir polinom fonksiyonu ile sınırlanmışsa verimli kabul edilir. Güçlü Church-Turing tezinin farkındayım:

Turing makinelerinde makul bir hesaplama modeli verimli bir şekilde simüle edilebilir

Ancak, -calculus algoritmalarının hesaplama karmaşıklığını analiz etmek için sağlam bir teorinin farkında değilim .λ

Bilinen her hesaplama modeli için hesaplama verimliliği kavramımız var mı? Yalnızca hesaplanabilirlik soruları için yararlı olan ancak hesaplama karmaşıklığı soruları için işe yaramayan modeller var mı?

Yanıtlar:


9

Bildiğim kadarıyla, hesaplanabilirliğin ana modelleri λ-kalkülüs, Turing makineleri ve özyinelemeli işlevlerdir . Özyinelemeli işlevlerde karmaşıklık ile ilgili durumun farkında değilim, karmaşıklık için yararsız olabilirler veya olmayabilirler.

Çok tartışmasız verimsiz makineler olmayan Turing makinelerinin de çok iyi bir karmaşıklık modeli olması şanslı bir tesadüf olarak görülebilir. İşleri doğal yapan şey, polinom olan TM'leri içeren birçok dönüşümün olmasıdır. (Evrensel makinesi, bir simülasyonu , 1-bantlanmış makine ile -taped makinesi, rasgele bir alfabeden bir ikili birine, bir simüle PRAM , ...) ve polinomları aritmetik işlemleri ve bileşim ile fonksiyonları istikrarlı bir sınıfıdır - bu da onları karmaşıklık teorisi için iyi bir aday yapar.n

Saf λ-hesabı kendi içinde karmaşıklık için işe yaramazdı. Ancak basit bir tip sistemi devreye girdi ve bazı λ terimleri için sonlandırmanın çok kolay bir şekilde yapılmasına izin verdi. Daha sonra diğer bazı sistemler ( T , F , .. sistemleri ) sonlandırmayı korurken büyük bir ifadeye izin verdi.

Verimlilik veya karmaşıklık, sonlandırmanın iyileştirilmesi ve türlerin mantıkla yakından ilişkili olması, daha sonra birkaç karmaşıklık sınıfını karakterize eden hafif doğrusal mantıklar geldi . ( İlköğretim , P ve PSPACE ve diğerleri için bazı varyasyonlar). Bu alandaki araştırma çok aktiftir ve bu karmaşıklık sınıflarıyla sınırlı değildir ve λ-hesabı ile sınırlı değildir .

tl; dr: λ-hesabı hesaplanabilirlik, sonlandırma ve karmaşıklık teorisi için kullanışlıdır.

Bununla birlikte, kredinin vadesi geldiğinde kredi vermek Turing makineleri, karmaşıklığın ne olduğunu tanımlamak için iyi ve oy birliğidir, ancak bu, yalnızca "polinom" gibi gevşek sınırlar için geçerlidir, PRAM benzeri modellerin daha uygun olduğu sıkı sınırlar için geçerli değildir.


Öyleyse neden RAM benzeri modelleri kullanarak çalışma zamanı analizlerimizin çoğunu yapıyoruz?
Raphael

Gerçekliğin temel bellek işlemleri ( ı tartışırım ), bu nedenle RAM benzeri modeller gibi sıkı sınırlar için çok daha uygundur . Yani haklısın: PRAM'dan dönüşüm sınırınızı fazla etkilemediğinde turing makineleri harikadır. (Örneğin, sorununuzun P veya L / NL'de olduğunu O ( log | m e m o r y | ) n log 2 7O(1)O(log|memory|)nlog27
kanıtladığınızda

@Raphael: Son cümleye tepki veriyordun, değil mi?
jmad

Evet, yaptım (deneyimsiz okuyucu uğruna).
Raphael

1

Zaman karmaşıklığı açısından, bunu lambda hesabı için zor düşünüyorum. Bunun nedeni, lambda hesabındaki birim hesaplama adımının azaltma ( wikipedia girişi ): olursa olsun tüm ifadeler bu model altında hesaplama süresi adımı alacaktır .( λ x . t e r m ) v t e r m [ x : = v ] 1β

(λx.term)vterm[x:=v]
1

Üzerinde bir maliyet koyabilirsiniz redexes sayısı veya boyutu açısından Düşürülmesi. Bu aslında kapsamlı bir şekilde incelenmiştir (örneğin, optimal indirgeme ile ilgili referanslar arayın). β
Gilles 'SO- kötü olmayı bırak'

@Gilles: Optimum azaltmanın gerçek (üniter model) maliyetinin ne olduğunu bilmediğimiz göz önüne alındığında, sözünüz gerçekten alakalı değil. Şimdilik, bu çalışmalar sadece bu cevapta belirtilen sorunun düzeltilmesini sağlamaktadır.
Stéphane Gimenez

1

Λ-hesabını standart karmaşıklık modeline dahil etme hakkında, burada konuyla ilgili bazı (çok) yeni araştırmaların özeti. Bazı β azaltma biçimi için bu soruya bir cevap verir. Temel olarak, standart maliyet modelindeki karmaşıklık, kafa azaltma ile sınırlandığında name azaltma adımlarını saymaya benzer (isme göre arama ve değer bazında arama stratejileri içerir).

Beniamino Accattoli ve Ugo Dal Lago'nun Kafa Azaltımı için Üniter Maliyet Modelinin Değişmezliği Üzerine . (WST2012, dava bağlantısı )

Λ-hesabı, yüksek dereceli fonksiyonel programların yaygın olarak kabul edilen bir hesaplama modelidir, ancak bunun için doğrudan ve evrensel olarak kabul edilen herhangi bir maliyet modeli yoktur. Sonuç olarak, λ terimlerini normal formlarına indirmenin hesaplama farklılığı tipik olarak somut uygulama algoritmaları üzerinde düşünülerek incelenir. Burada, kafa azaltma temel dinamik olduğunda, üniter maliyet modelinin gerçekten değişmez olduğunu gösteriyoruz. Bu, yalnızca zayıf (değere göre çağrı veya ada göre) azaltma ile ilgili bilinen sonuçlarda iyileşir. Değişmezlik, λ-kalkülüsünde herhangi bir kafa azaltma adımının daha temel ikame adımlarına güzelce ayrıştırılmasına izin veren, böylece kafa azaltma kombinatoriklerinin akıl yürütmesini kolaylaştıran doğrusal bir açık ikameler hesabı ile kanıtlanmıştır.


OP do modelleri için sorulan değil karmaşıklık analizi itiraf. -calculus sadece bir motivasyon işlevi gördü. λ
Raphael
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.