CodeBlanks Logo Icon CodeBlanks

Rastgele algoritmalar

Rastgele seçimle çalışan algoritmaları öğrenirsin.

Rastgele algoritmalar

Rastgele algoritma, rastgele seçimler yaparak çözüme ulaşır. Bazı durumlarda deterministik algoritmalardan daha hızlıdır.

Rastgele algoritmalar iki türlüdür: her zaman doğru sonuç veren Las Vegas ve yüksek olasılıkla doğru veren Monte Carlo.

Örnekleme ile maksimum

Bir dizideki en büyük elemanı, rastgele seçilen indekslerden de bulabiliriz. Bu, rastgele algoritmaların temelini gösterir.

Eğer tüm indeksler seçilirse sonuç kesindir. Alt küme seçilirse olasılıklı sonuçtur. Bu, Monte Carlo tarzıdır.

Uygulama sample_max fonksiyonu

sample_max(arr, indices) yaz. indices listesindeki indekslerin arr değerleri arasından en büyüğü döndür. print(sample_max([3, 5, 7, 1, 9], [0, 2, 4])) ile 9 yazdır.

Başlangıç kodu

solution.py
def sample_max(arr, indices):
    # Örneklenen indekslerde en büyüğü bul

Örnek çözüm

solution.py
def sample_max(arr, indices):
    # Örneklenen indekslerde en büyüğü bul
    best = arr[indices[0]]
    for i in indices:
        if arr[i] > best:
            best = arr[i]
    return best
print(sample_max([3, 5, 7, 1, 9], [0, 2, 4]))

Beklenen çıktı

9

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 örnekleme

Soru
for i in ____:
Cevap
for i in indices:

Açıklama: indices doğru.

2 Monte Carlo algoritması ne sağlar?

  • Hiç sonuç
  • Sabit zaman
  • Yüksek olasılıkla doğru sonuç Doğru cevap
  • Her zaman doğru sonuç

Açıklama: Monte Carlo yüksek olasılıkla doğru sonuç verir.

3 Rastgele algoritmalar: kavramları eşleştir

Kavram Anlamı
random Rastgele
Monte Carlo Olasılıklı
Las Vegas Kesin
örneklem Alt küme

Uzman seviye bölümündeki tüm dersler