Yazılımdaki algoritmaları ve engelin üstesinden gelmenin olası yollarını düşünüyordum O(nlogn)
. Pratik anlamda daha hızlı sıralamanın mümkün olduğunu sanmıyorum, bu yüzden lütfen yaptığımı düşünmeyin.
Bununla birlikte, neredeyse tüm sıralama algoritmalarında, yazılımın her bir öğenin konumunu bilmesi gerekir. Hangisi mantıklı, aksi takdirde, her bir öğeyi bir sıralama kriterine göre nereye yerleştireceğini nasıl bilecek?
Ancak bu düşünceyi gerçek dünya ile kesiştiğimde, bir santrifüjün, molekülleri yoğunluğa göre "sıraladığında" her molekülün hangi konumda olduğu hakkında hiçbir fikri yoktur. Aslında, her molekülün konumu umurunda değil. Bununla birlikte, her molekülün yoğunluk ve yerçekimi yasalarını takip etmesi nedeniyle, nispeten kısa bir süre içinde trilyonlarca maddeyi sıralayabilir - bu da beni düşündürdü.
Listenin sırasını 'zorlamak' her düğümde bir miktar ek yük ile (düğümlerin her birine bağlı bir değer veya yöntem) mümkün olabilir mi? Santrifüj gibi bir şey, burada yalnızca her bir eleman uzaydaki göreceli konumunu önemsiyor (diğer düğümlerle ilişkili olarak). Veya bu, hesaplamadaki bazı kuralları ihlal ediyor mu?
Bence burada öne sürülen en büyük noktalardan biri doğanın kuantum mekaniksel etkileri ve tüm parçacıklara aynı anda paralel olarak nasıl uygulandıklarıdır.
Belki de klasik bilgisayarlar, sıralamayı doğası gereği O(nlogn)
, kuantum bilgisayarların bu eşiği geçip O(logn)
paralel olarak hareket eden algoritmalara geçebildiği etki alanına sınırlar.
Bir santrifüjün temelde paralel bir balon türü olduğu nokta doğru görünüyor, ki bu da bir zaman karmaşıklığına sahiptir O(n)
.
Sanırım bir sonraki düşünce, eğer doğa sıralayabiliyorsa O(n)
, bilgisayarlar neden olamıyor?