Lambda Kalkülüsünde karmaşıklık teorisinin eşdeğer formülasyonu?


11

Karmaşıklık teorisinde zaman ve mekan karmaşıklığının tanımı, evrensel bir Turing makinesine atıfta bulunur: resp. durmadan önceki adımların sayısı ve banttaki hücrelerin sayısı.

Kilise Turing tezi göz önüne alındığında, lambda hesabı açısından da karmaşıklığı tanımlamak mümkün olmalıdır.

Sezgisel düşüncem, zaman karmaşıklığının β-indirgeme sayısı olarak ifade edilebileceğidir (De Brujin indekslerini kullanarak α-dönüşümünü tanımlayabiliriz ve η zaten neredeyse bir azalmadır), alan karmaşıklığı ise sayı olarak tanımlanabilir semboller halinde (A takımından, DB-endeksler, -Sembollerini “uygulamak”) büyük azalma.

Bu doğru mu? Öyleyse, nereden referans alabilirim? Değilse, nasıl yanılıyorum?


Yanıtlar:


15

İşaret ettiğiniz gibi, λ-hesabı görünüşte basit bir zaman karmaşıklığı kavramına sahiptir: sadece reduction azaltma adımlarının sayısını sayın. Ne yazık ki, işler basit değil. Sormalıyız:

 Is counting β-reduction steps a good complexity measure?

Bu soruyu cevaplamak için öncelikle karmaşıklık ölçüsü ile ne demek istediğimizi açıklığa kavuşturmalıyız. Slot ve van Emde Boas tezi tarafından iyi bir cevap verilir : herhangi bir iyi karmaşıklık ölçüsünün Turing makineleri kullanılarak tanımlanan zaman karmaşıklığı kanonik kavramıyla polinom ilişkisi olmalıdır. Başka bir deyişle, λ-kalkülüs terimlerinden Turing makinelerine makul bir kodlama tr (.) Olmalıdır, öyle ki her M boyutu için |M|: M bir değere azaltan pÖly(|M|) tam olarak ne zaman içinde bir değere azaltan .tr(M)pÖly(|tr(M)|)

Uzun zamandır, bunun λ hesabında elde edilip edilemeyeceği belli değildi. Temel problemler şunlardır.

  • Üstel boyuttaki polinom adımlarında normal formlar üreten terimler vardır. Bkz. (1). Normal formları yazmak bile üstel zaman alır.

  • Seçilen azaltma stratejisi de önemli bir rol oynamaktadır. Örneğin, çok sayıda paralel steps-adımı azaltan (optimal λ-azaltma anlamında (2), ancak karmaşıklığı temel olmayan) bir terimler ailesi vardır (3, 4).

Makale (1), en soldaki En Adla Çağrı azaltmalarını varsayarak karmaşıklık sınıfı PTIME'yi koruyan makul bir kodlama göstererek sorunu açıklığa kavuşturmaktadır . Kilit öngörü, üstel patlamanın sadece alt-terimlerin uygun şekilde paylaşılmasıyla yenilebilecek ilginç olmayan nedenlerden kaynaklanabileceği gibi görünüyor.

(1) gibi kağıtların , PTIME gibi kaba karmaşıklık sınıflarının , β adımlarını veya Turing makinesi adımlarını saymanızın çakıştığını gösterdiğini unutmayın. Bu, O (log n) gibi düşük karmaşıklık sınıflarının da çakıştığı anlamına gelmez . Tabii ki bu tür karmaşıklık sınıfları Turing makinesi modelinin (örneğin 1-bant-çoklu bant) varyasyonu altında da stabil değildir.

D. Mazza'nın çalışması (5), Turing makineleri yerine fonksiyonel bir dil (λ-hesabının bir varyantı) kullanarak Cook-Levin teoremini (𝖭𝖯-SAT tamlığı) kanıtlamaktadır. Ana fikir şudur:

BooleancircuitsTuring makineleri=afin λ-termsλ-terms

Uzay karmaşıklığı ile ilgili durumun anlaşılıp anlaşılmadığını bilmiyorum.


  1. B. Accattoli, U. Dal Lago, Beta İndirgeme Değişmez, Gerçekten .

  2. J.-J. Levy, İndirgemeler düzeltir ve dans le lambda-calcul.

  3. JL Lawall, HG Mairson, Optimallik ve verimsizlik: lambda hesabının maliyet modeli nedir?

  4. A. Asperti, H. Mairson, Paralel beta azaltma ilkel özyinelemeli değildir .

  5. D. Mazza, Kilise Cook ve Levin ile Buluşuyor .


8

Sayma -reductions için karmaşıklığı tedbirin bir tür -calculus ama daha esnek ve makul bir çalışma semantik eksiksiz çeşitli kavramları ile artar maliyet anlam vardır. İyi bir başlangıç ​​noktası, Jan Hoffmann'ın maliyet semantiği üzerine OPLSS 2018 dersleridir (bağlantıda bulunan videolar ve ders materyalleri).βλ


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.