Canlı Deney
Ulam Spirali: Sayıları Önceden Bilmeden
"2300 Yıllık Bir Arayışın Tarihi" sayfasındaki Ulam spirali, hangi sayıların asal olduğunu önceden hesaplanmış bir listeden alıyordu. Burada durum farklı: her sayı sıraya geldiğinde, tarayıcınız o anda gerçek bir asallık testi çalıştırıyor ve sonucu spirale işliyor. Sayılar büyüdükçe spiral ekranın dışına taşacağı için, görünüm zaman zaman uzaklaşır (zoom-out).
Renkler Ne Anlatıyor?
Zoom-out ve renk karışımı
Spiral, sayfanın gösterebileceği alana sığdığı sürece her kare tek bir sayıyı temsil eder: kırmızı = asal, siyah = asal değil. Spiral büyüyüp bu alanın dışına taşmaya başladığında, görünüm bir adım uzaklaşır: artık her kare, k×k'lik bir blok içindeki sayıları temsil eder (önce 2×2 = 4 sayı, sonra 3×3 = 9 sayı, sonra 4×4 = 16 sayı, ve böyle devam eder).
Bir blokta asal oranı ne kadar yüksekse, renk o kadar kırmızıya yaklaşır; oran ne kadar düşükse renk o kadar siyaha yaklaşır. Örneğin 2×2'lik bir blokta 4 sayıdan biri asalsa, rengi siyah ile kırmızı arasında %25 kırmızıya kaymış bir tona bürünür; ikisi asalsa %50, üçü asalsa %75 oranında. Bu, blokların içindeki "asal yoğunluğunu" tek bir renkle özetlemenin bir yolu.
Özel Görünüm
Sessiz Şeritler Haritası
Spiral büyüdükçe, merkeze yakın bir noktadan başlayıp dış sınıra kadar hiç kırmızıya rastlamayan, yani baştan sona tamamen asal olmayan sayılardan oluşan düz çizgiler fark edebilirsiniz. Bunlara "Sessiz Şeritler" diyoruz: yatay, dikey veya köşegen yönünde uzanan, asal "sessizliğine" gömülü hatlar.
Sessiz Şeritler Haritası düğmesi artık katmanlı çalışıyor. Önce, orijin (başlangıç noktası) çevresindeki 5×5'lik kareye (|x| ≤ 2 ve |y| ≤ 2) bakılır: bu bölgeden geçen ve kenara kadar uzanan, kesintisiz asal-içermeyen hatlar mavi olur. Sonra bu kareyi kapsayan daha büyük bir kare alınır (|x| ≤ 6, |y| ≤ 6) ve önceki kareyle örtüşmeyen kısmından başlayan benzer hatlar sarı olur. Bu işlem, her adımda kareyi 4 birim büyüterek (10, 14, 18, ...) tekrarlanır ve üçüncü katman yeşil olur; dördüncü katmandan itibaren bu üç renk sırayla tekrar kullanılır (farklı halkalardaki hatlar birbirine karışmaz). Katmanlar, o ana kadar taranan alanın yaklaşık %40'ını kapsayana kadar genişler; daha öteden başlayan hatlar bu haritada renklendirilmez, siyah kalır. Asal hücreler her zaman kırmızı kalır.
Yöntem
Asallık nasıl test ediliyor?
Deneme bölmesi (trial division)
Sıradaki sayı n geldiğinde, önce 2'ye ve 3'e bölünüp bölünmediği kontrol edilir. Sonra, 5'ten başlayarak √n'e kadar, "6k±1" örüntüsünü izleyen sayılara (5, 7, 11, 13, 17, 19, ...) tek tek bölünür. Eğer bu sayıların hiçbirine kalansız bölünmüyorsa, n asaldır; bölündüğü ilk anda n bileşiktir sonucuna varılır ve test durur.
Bu, "2300 Yıllık Bir Arayışın Tarihi" sayfasındaki Eratosthenes Kalburu (madde 2) ile aynı mantığa dayanır, ama burada her sayı için baştan, izole bir şekilde çalıştırılır. Test, arayüzü kilitlememek için ayrı bir web worker üzerinde yürütülür. n büyüdükçe √n de büyür ve test biraz zaman alabilir; bu yüzden bir sayının kontrolü 2 saniyeden uzun sürerse, yukarıda bir "kontrol ediliyor" göstergesi belirir, böylece sayfanın donmadığını anlayabilirsiniz.
Şimdiye Kadar Bulunanlar
Bulunan asal sayılar
Liste, spiral ilerledikçe canlı olarak güncellenir.
Çekirgeler Eğitim