Arsa denetim buluşsal nasıl kandırılır?


23

Aşırı burada Dave Clarke asimptotik büyümesini karşılaştırmak amacıyla eldeki fonksiyonun grafiğinin gerektiğini önerdi. Teorik olarak eğimli bir bilgisayar bilimcisi olarak, bu vodooyu bir komplo olarak kanıtlamayan olarak adlandırdım. İkinci düşünceme göre, bunun bazen kullanılmayan bir yaklaşım olduğu konusunda hemfikir olduğumda; bir komplo ilk fikirleri edinmenin etkili bir yoludur ve bazen tek ihtiyacınız olan şey budur.

TCS'yi öğretirken, her zaman şunu soran öğrenci vardır: "Sadece her zaman işe yarayan X'i yapabilirsem, resmi kanıtlara ihtiyacım var mı?" Hatalılığı işaret etmek ve göstermek onun öğretmenine kalmıştır. Sonunda matematiğin başarısız olduğu göze çarpan desen örnekleri için mükemmel bir örnek var. IS, ancak bunlar oldukça matematiksel senaryolardır.

Peki, arsa teftişini sezgisel olarak nasıl kandırıyorsun? Farklılıkların appart'ı anlatmakta zorlandığı bazı durumlar vardır, örneğin;

örnek örnek örnek
[ kaynak ]

Bir tahmin yapın ve ardından gerçek fonksiyonların kaynağını kontrol edin. Fakat bunlar, umduğum kadar muhteşem değil, özellikle de gerçek ilişkiler yeni başlayanlar için bile tek başına işlevlerden kolayca anlaşılabilir.

Fonksiyon tanımlamasında gerçeğin açık olmadığı ve oldukça büyük arsa incelemesi yapıldığında (göreceli) asimptotik büyüme örnekleri var mı? size tamamen yanlış bir fikir veriyor mu? Matematiksel fonksiyonlar ve gerçek veri kümeleri (örneğin, belirli bir algoritmanın çalışma zamanı) memnuniyetle karşılanmaktadır; lütfen parça parça tanımlanmış işlevlerden kaçının.n


2
Aslında, sorunu anlamak için bir ipucu olarak önerdim.
Dave Clarke

@DaveClarke: Biliyorum; İlk formülasyonunu sadece kışkırtıcı bir açıcı olarak kullandım. Amaçlanan hiçbir suç.
Raphael

Yanıtlar:


23

Bazı gözlenen fonksiyon için büyüme oranı dışarı rakam çalışırken, deneyimlerinden konuşan (diyelim ki, zaman ya da algoritma çalışma süresini karıştırma Markov zinciri), faktörlerini anlatmak çok zordur den . Örneğin, gibi görünüyor :n b O ( (logn)anbO(n 0,6 )O(nlogn)O(n0.6)

arsa
[ kaynak ]

Örneğin, Bentley ve arkadaşlarının "bin ambalajı için beklenmeyen bazı beklenen davranış sonuçları" nda , tekdüzen ambalaj malzemelerinin ampirik olarak hesaplandığı zaman, Best Fit ve First Fit bin ambalaj algoritmaları için boş alanın büyüme hızı ve , sırasıyla. Doğru ifadeler ve .n, 0.6 N 0.7 N 1 / 2 log 3 / 4 , n , n 2 / 3[0,1]n0.6n0.7n1/2log3/4nn2/3


15

İşte bir başka (kuşkusuz inşa edilmiş) bir örnek, ama yine de dikkat çekici buluyorum. Grafiklerin asimptotik büyümeyi değerlendirmede çok yanıltıcı olabileceğini göstermesi amaçlanmıştır.

Aşağıdaki grafikler ve - aşağıda açıklanan iki işlevi göstermektedir ;) - farklı aralıklarda. Dikkat çekici bir şekilde, her iki fonksiyon da monoton (kesinlikle) artmakta, (sonsuz sıklıkta) sürekli farklılaşabilmekte ve dışbükeydir, bu yüzden birçok açıdan “iyi” dir.gfg

Hangi fonksiyonların (asimptotik olarak) daha hızlı büyüdüğünü tahmin edebiliyor musunuz?

2000 yılına kadar f ve g arsa 10.000'e kadar f ve g arsa 200.000'e kadar f ve g arsa

Cevap: , yani fonksiyonlar asimptotik olarak eşdeğerdir . İşlevler fg

f(x)=x2
g(x)=sin(log(x))+1dxdx=x2(135cos(log(x))+15sin(log(x))).

Bu nedenle, esasen , yani aynıdır , fakat ikinci türevi tekdüze değildir , fakat üssel olarak büyüyen periyod ile ila arasında salınır . Bu salınım, normal parsellerde görünmez.gx2f204

İçin bu örnekte, bir log-log-arsa dikkate alınarak salınımlar Demask edebilirsiniz:

f-g'nin log-log-arsa 200.000

Tabii ki, bu genel olarak yardımcı olmuyor; Mesela, iki kat üstel bir döneme sahip olabiliriz ...


12

Güzel bir örnek Brzozowski'nin en büyülü asgari DFA algoritması. Sonlu bir otomat verilmişse, , ondan minimal bir deterministik sonlu otomatı hesaplayabiliriz:N=(Q,SQ,FQ,RQ×Σ×Q)

Minimize:NFADFA=DeterminizeReverseDeterminizeReverse

Bu açık bir şekilde en kötü durumlu üstel zaman algoritmasıdır, çünkü karakteristik olmayan bir otomasyona sahip olabilir ve size deterministik bir tane verebilir (ya da daha açık bir şekilde alt küme yapısını iki kez çağırır).

Bununla birlikte, eğer Brzozowski'nin algoritmasına bir giriş olarak bir DFA verirseniz , birçok yaygın giriş türünde (genellikle veya olan özel DFA-minimizasyon algoritmaları ile rekabet edebilir ve sıklıkla üstün performans gösterir. Eğer çekirdekli iseniz ve Hopcraft'ın algoritmasını uygularsanız).O ( n, log ( n ) )O(n2)O(nlog(n))

Bu, “arsa inceleme sezgisel” in “arsa” kısmına değinir --- arsa çizerken hangi noktaları seçeceğimizi seçmeliyiz ve puanlarınızı dikkatlice seçmezseniz naif bir arsa kandırabilirsin. Bu, Quicksort ve Simplex algoritması gibi diğer örnekler için de geçerlidir, ancak pedagoji için bu algoritmayı bu ikisine tercih ederim.

Quicksort'un farkı "yalnızca" ikinci dereceden, log-linear'e göredir, polinom / üstel bir farktan daha az muhteşemdir. Simpleks algoritması, benzer şekilde muhteşem bir farka sahiptir, ancak analizi Brzozowski'nin algoritmasından çok daha karmaşıktır.

(Ayrıca, Brzozowski'nin DFA minimizasyon algoritmasının, hak ettiğinden çok daha az biliniyor olduğunu biliyorum, ama elbette bu bir zevk meselesi.)


Üzgünüz, fakat fonksiyon parsellerini yorumlamanın bağlantısını pek göremiyorum.
Raphael

3
Bir örnekleme örneği için örnekleme boyutuna göre arsa performansı gibi bir şey yapacağınızı ve bence üstel zamanını seçmediğiniz sürece Brzozowski'nin algoritması polinomu "görecektir".
Neel Krishnaswami

1
Anlıyorum. Algoritmaların kıyaslanması ve ortalama çalışma sürelerinin çizilmesi, yani doğru verilerin çizilmesi sorunu kesinlikle budur . Ben soruyu sorduğumda sadece arsayı doğru yorumlamayı düşünüyordum , bu tamamen başka bir canavardı. Lütfen bu perspektifi cevaba ekleyebilir misiniz?
Raphael

Farklı ortalama ve en kötü durum davranışına sahip tüm algoritmalar için aynı problemi yaşarsınız; Quicksort ve Simplex akla geliyor.
Raphael

8

Eğri uydurma matematik tekniği sorunuza sonsuz sayıda cevap sağlamak için kullanılabilir. Bir eğri ve aralık göz önüne alındığında, herhangi bir doğruluk derecesine uyan bir polinom kolayca bulunabilir. Wikipedia'dan gelen bu örnek, bir günah dalgasının dördüncü dereceden bir polinomla (mavi eğri) nasıl doğru bir şekilde donatılabileceğini göstermektedir.

görüntü tanımını buraya girin

Daha yüksek dereceli polinomları kullanabilir ve arsa incelemesini sezgisel olarak bu grafiğinkinden daha iyi kandırabilirim.


2
Bu doğru. Yine de yapay bir tadı var. Elbette, öğrenciler için bu şekilde karşı örnekler üretebilirim ama ikna edilebilecek daha şüpheci göremiyorum. Yanlış yorumlamanın "ölümcül" olduğu bu olgunun (yani, diğer fonksiyonlarla karıştırılabilecek yüksek dereceli polinom işlevleri) "doğal" oluşumları var mı?
Raphael

Bunun aradığın cevap olmadığını biliyorum.
Dave Clarke
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.