Çekirgeler Eğitim·← BlogEtkileşimli ek · Engin Dikkulak

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).

Başlatılıyor…
 
0% asal (tamamen siyah) 100% asal (tamamen kırmızı)
Kontrol edilen sayı: 0 Bulunan asal sayısı: 0 Yakınlaştırma seviyesi: 1×1

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.

henüz yok…
Bu araç eğitim amaçlıdır. "Zoom yapılmamış hâli indir" düğmesi, o ana kadar test edilmiş tüm sayıların 1:1 (her sayı bir kare) ölçekli SVG görünümünü indirir.
Canlı Ulam Spirali — Gerçek Zamanlı Asallık Testi