Zor olan nedir? Sıralı bir desteyi karıştırmak veya karıştırılmış bir desteyi sıralamak?


18

farklı öğeden oluşan bir diziniz var . Bir karşılaştırıcıya (a ve iki öğeyi ve gerçek iff döndüren bir kara kutu işlevi ) ve gerçekten rastgele bir bit kaynağına (bağımsız değişkene eşit olarak rastgele bir bit döndüren bir kara kutu işlevi) erişebilirsiniz . Aşağıdaki iki görevi göz önünde bulundurun:naba<b

  1. Dizi şu anda sıralanıyor. Eşit olarak (veya yaklaşık olarak eşit olarak) rastgele seçilen bir permütasyon üretin.
  2. Dizi, doğası gereği rastgele rasgele seçilen bazı permütasyonlardan oluşur. Sıralı bir dizi oluşturun.

Sorum şu

Hangi görev asemptotik olarak daha fazla enerji gerektirir?

Soruyu daha kesin olarak tanımlayamıyorum çünkü bilgi teorisi, termodinamik veya bu soruyu cevaplamak için başka ne gerekiyorsa arasındaki bağlantı hakkında yeterince bilgim yok. Ancak, sorunun iyi tanımlanabileceğini düşünüyorum (ve birisinin bana bir cevapta bana yardımcı olmasını umuyorum!).

Şimdi, algoritmik olarak, sezgim eşit olmaları. Her çeşit tersine bir karışıklık olduğuna dikkat edin. Sıralama içinKarıştırma sırasında karşılaştırmaları, rastgele bir permütasyon seçtiği içinseçimler, gerektirir rasgele bit. Hem karıştırma hem de sıralama takas gerektirir .logn!nlognn!logn!nlognn

Bununla birlikte, Landauer prensibini uygulayan bir cevap olması gerektiğini hissediyorum , bu da biraz "silmek" için enerji gerektirdiğini söylüyor. Sezgisel olarak, bunun diziyi sıralamanın daha zor olduğu anlamına geldiğini düşünüyorum, çünkü düşük enerjili, yüksek entropi bir zemin durumundan son derece düzenli bir duruma giden "silme" bitlerini gerektirir . Ancak öte yandan, herhangi bir hesaplama için, sıralama sadece bir permütasyonu diğerine dönüştürür. Burada tam bir uzman olmadığım için, fizik bağlantısı hakkında bilgi sahibi birisinin bunu "çözmesine" yardımcı olabileceğini umuyordum!nlogn

(Soru math.se ile ilgili herhangi bir cevap almadı , bu yüzden burada tekrar gönderiyorum . Umarım bu tamam.)


Bunu hiç düşünmedim, o yüzden ihtar lector. Sıralı bir diziyle başlasak, birleştirme sıralaması kullanırsak, ancak karşılaştırmak yerine, birleştirme yapmak için rastgele bitleri kullanırız (bu nedenle doğru iff döndürmek yerine rastgele bit 1 ise doğru döndürüriz ). Bir büyüklükte iki diziye sahip olduğumuz temel durum, eşit büyüklükte iki büyüklükte iki olası diziyi üretir. Bundan daha fazlasını yapmadım. a<b1
Luke Mathieson

2
Bu soruyu cevaplamak için önce operasyonun göreli maliyetlerini tanımlamanız gerektiğini düşünüyorum; veri okumak, veri yazmak ve rastgele bir sayı üretmek / elde etmek ne kadara mal olur?
mitchus

mitchus: "Optimal olarak verimli" bilgisayarlar varsayarsak fiziksel sınırları merak ediyorum. Benim kaba anlayışım, biraz bilgi "silmek" için gerekli olan enerji miktarında fiziksel bir alt sınır vardır, diğer işlemler ise çok daha az enerji gerektirir. Bu yüzden bu sezginin bir cevap verebilecek kadar doğru ve resmileştirilebilir olup olmadığını merak ediyorum.
usul

Biraz silerek ne demek istiyorsun? Üzerine mi yazılıyor? Bildiğim kadarıyla bilgisayarlar genellikle (gizlilik nedenleri hariç) hiçbir şey silmez, ancak ilişkili bellek bölgesini ayırarak sadece "unut". Ama belki de burada soyutlama seviyesini doğru bir şekilde kavrayamıyorum :)
mitchus

2
@ Patrick87 Ne yazık ki, muntazam bir enerji modeli onu kullanmaktan çok uzak; bkz . Fudeus née Bayer ve Nebel (2009) tarafından Algoritmaların Enerji Tüketimlerine Göre Değerlendirilmesi.
Raphael

Yanıtlar:


6

Landauer prensibine göre, tuşunun sıralı bir rasgele permütasyon almak ve sıralı rasgele permütasyonun ne olduğunu ortaya koyan herhangi bir biti bilgisayarda tutmak istemiyorsanız, l o g n'yi silmeniz gerekir ! N log 2 n- bit. Bu alacaktır ( n ln n ) k T enerjisini. Öte yandan, sıralanmış diziyi ve n log 2 n rastgele bitleri rastgele diziye alan hesaplama tersine çevrilebilir ve böylece harcanan enerji keyfi olarak küçük yapılabilir.nlogn!nlog2n(nlnn)kTnlog2n

Bunların sadece teorik alt sınırlar olduğuna dikkat edin. Halihazırda bu işlemler tarafından gerçek bir dijital bilgisayarda tüketilen enerji, yukarıdaki analizle hiçbir ilgisi yoktur.


Çok teşekkürler! Muhtemelen naif bir takip isteyebilir miyim? Sorunun ifadesini değiştirdiğim için, sıralama algoritmasına öğelerin sabit bir permütasyonu verildiğini ve bunları sıralaması gerektiğini varsayalım. Şimdi, bir Bayes felsefesine abone olursanız ve bu girdiye tekdüze bir inancınız varsa, cevap aynı olmalıdır. Ancak girdide herhangi bir rastgelelik olmadığı felsefesi altında (ne olduğunu bilmememe rağmen), argüman başarısız gibi görünüyor. Paradoksu nasıl çözebilirim? Tekrar teşekkürler!!
usul

(nlnn)kT

3

Ne. Herhangi bir devre olabilir tersinir yapılan giriş izleyerek, ve geri hesaplama enerji yitirme yapılabilir keyfi küçük .


ancak tersine çevrilebilir hale getirmek onu verimli olmayabilir. Optimal algoritmalar arasındaki ilişki nedir . BTW, karşılaştırdıklarını sanmıyorum. Karıştırmak doğal olarak rasgelelik gerektirir (ve herhangi bir farklı rasgelelik farklı bir çıktı üretir). Sıralama deterministik olabilir. "Tersine çevirme" sıralama, deterministik bir şekilde karışacaktır.
Ran

1
"Etkili" ile zaman, mekan ya da bu ikisinin bir kombinasyonunu mu kastediyorsunuz? Bir hesaplamayı tersine çevrilebilir yapmak zorunlu olarak asimtotik zaman karmaşıklığı katmaz ve her hesaplamada orijinalinden daha fazla alan kullanmayan geri dönüşümlü versiyonları vardır [Vitányi05] .
rphv

1
Girişi çevrede tuttuğunuz sürece, herhangi bir devre tersine çevrilebilir hale getirilebilir. Orijinal permütasyonu yeniden yapılandırabilecek bilgileri saklamak istemiyorsanız, sıralama devresi geri döndürülemez hale getirilemez.
Peter Shor
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.