RAM makinesi tarafından T (n) olarak hesaplanabilir bir boole işlevinin DTIME (T (n) ^ 2) olduğunu kanıtlayın


10

Soru, Arora-Barak'ın Hesaplamalı Karmaşıklık - Modern Bir Yaklaşım kitabından 1.9 alıştırmasıdır :


Bir RAM Turing makinesini, rasgele erişim belleği olan bir Turing makinesi olarak tanımlayın. Bunu şu şekilde resmileştiriyoruz: Makinenin tüm boşluklara başlatılan sonsuz bir A dizisi var. Bu diziye aşağıdaki gibi erişir. Makinenin çalışma bantlarından biri adres bandı olarak belirlenmiştir. Ayrıca makine, R ve W ile gösterilen iki özel alfabe sembolüne ve q_access ile belirttiğimiz ek bir duruma sahiptir. Makine q_access'e her girdiğinde, adres bandı 'i'R içeriyorsa (' i 'i'nin ikili temsilini gösterir), R sembolünün yanındaki hücreye A [i] değeri yazılır. Teyp 'i'Wa içeriyorsa (burada a, makinenin alfabesindeki bir semboldür), A [i] a değerine ayarlanır.

Bir Boolean işlevi , bir RAM TM tarafından T ( n ) (bir süre için yapılandırılabilir T ) süresi içinde hesaplanabilirse , D T I M E ( T ( n ) 2 ) içinde olduğunu gösterin .fT(n)TDTIME(T(n)2)


Ek bir kaset kayıt çiftleri (adres, değer) kullanılarak önemsiz çözeltisi içinde olduğu ortaya çıkıyor bu şerit boyutu olabilir çünkü, O ( T ( n ) 2 ) ile O ( T ( n ) ) çiftleri, her çiftin adresi O ( T ( n ) ) büyüklüğünde olabilir .DTIME(T(n)3)O(T(n)2)O(T(n))O(T(n))


Adres boyutundaki sınırı nasıl biliyorsunuz? İlk yazım olamaz mı? Eğer bunu bağlı Ve eğer T ( n ) , ardından adres boyutudur günlük ( T ( n ) ) değil, T ( n ) . 22T(n)T(n)günlük(T(n))T(n)
Xodarap

1
Adres teybe zamanlı Turing Machine tarafından yazılması gerektiğinden, adresin boyutu (yani dize uzunluğu) O ( T ( n ) ) değerini geçemez , erişilebilir adres alanı O ( 2 T ( n ) ) . T(n)Ö(T(n))Ö(2T(n))
cc

3
Arora ve Barak'ın girişlerinde açıkça sorularına cevap vermeyen diğer soruları istediklerini unutmayın. Ödev soruları hakkındaki politikaya da bakınız .
Kaveh

Bunun için özür dilerim. Kitabı kendim inceliyorum ve bu soruda sorun yaşıyorum. Böyle bir simülasyonunun gerçekten var olup olmadığını bilmiyorum ya da sadece bir yazım hatası. Cevabı biliyorsanız, lütfen bana özel olarak ccqmpux@gmail.com adresine e-posta gönderin, sonra soruyu kapatacağım. O(T(n)2)
cc

Teorik bilgisayar bilimleri el kitabının ilk bölümünde daha fazlasını bulabilirsiniz.
Kaveh

Yanıtlar:


2

Sen yazmak yorumlarla :

T(n)O(T(n))

Sınırları iyileştirmek için benzer bir argüman kullanabilir misiniz?

Ö(T(n)2)Ö(T(n))Ö(T(n))

soruda bahsediyor musun? RAM'de sürekli olarak hangi işlemlerin mümkün olduğunu hatırlamanız gerekebilir, bu da yazarların kullandığı kesin tanımı kullanır.


Umarım bu ipucu kitabın yazarlarının isteklerine saygı gösterecek kadar belirsizdir ama aynı zamanda biraz yardımcı olur. (Sezgisel: Bir öğrenciye sorunun egzersiz olarak verilip verilmediğini söylerdim. Muhtemelen bir sınavda olmasa da.)
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.