---
title: "Story Proof'lar ve Olasılık Aksiyomları"
subtitle: "Aynı şeyi iki yolla say + olasılığı iki kurala indir"
---
::: {.callout-note title="Bölüm bilgisi"}
- **Blitzstein'in videosu:** [YouTube — Lecture 2: Story Proofs, Axioms of Probability](https://www.youtube.com/watch?v=FJd_1H3rZGg) (≈46 dk)
- **Okuma süresi:** ≈25 dk
:::
## Bu Derste Ne Var? {#sec-bu-derste}
[Ders 1](01-olasilik-sayma.qmd)'de naif tanımı ve saymanın temel araçlarını kurduk. Burada iki büyük adım atıyoruz:
1. **Etiketleme + story proof** — sayma problemlerini doğru kurmanın ve kombinatorik özdeşlikleri cebirsiz, "hikâyeyle" ispatlamanın yolu.
2. **Stars and bars** — "yerine koyarak, sırasız" örneklemenin neden $\binom{n+k-1}{k}$ olduğunun ispatı.
3. **Olasılık uzayı $(S, P)$ + iki aksiyom** — tüm olasılık teorisinin dayandığı temel.
```{mermaid}
%%| label: fig-concept-map-2
%%| fig-cap: "Ders 2 yapısı: sayma → story proof → stars and bars; ve eşit-olası varsayımının ötesine geçen aksiyomatik tanım"
flowchart LR
A["Etiketle:<br/>nesneleri numaralandır"] --> B["Story Proof<br/>(2 yolla say)"]
B --> C["C(n,k)=C(n,n−k)"]
B --> D["n·C(n−1,k−1)<br/>= k·C(n,k)<br/>(başkanlı komite)"]
B --> E["Vandermonde<br/>= konvolüsyon"]
B --> F["Stars and Bars<br/>= C(n+k−1, k)"]
G["Aksiyomatik<br/>Olasılık (S, P)"] --> H["A1: P(∅)=0, P(S)=1"]
G --> I["A2: ayrık toplanabilirlik"]
H --> J["💎 Her teorem<br/>bu ikisinden çıkar"]
I --> J
style B fill:#fff7ed,stroke:#DD6B20,stroke-width:2px
style G fill:#eef2ff,stroke:#6B46C1,stroke-width:2px
style J fill:#fce7f3,stroke:#A51C30,stroke-width:3px
```
> *"every single theorem and result in probability eventually follows from these two rules."* — Blitzstein, 45:34
::: {.callout-tip title="Builder Notu — ML Köprüleri"}
- **Story proof = "aynı şeyi iki yolla say"** bijektif akıl yürütmedir; parametre sayma, kombinatorik kimlikler ve olasılık türetmelerinde sürekli görülür.
- **Vandermonde özdeşliği** bir **konvolüsyondur** — bağımsız dağılımların toplamının dağılımı. Ders 22'de FFT ile akraba.
- **Aksiyomlar**, bir modelin çıktısının uymak zorunda olduğu kurallardır: softmax toplamı 1 (= $P(S)=1$), olasılıklar negatif olamaz, ayrık olaylar toplanır (= marjinalleştirme).
- **Ayırt edilemezlik (exchangeability)** — i.i.d. varsayımının, bag-of-words'ün, set modellerinin (Deep Sets) temeli.
:::
## Etiketleme: Önce Numaralandır {#sec-etiketleme}
Blitzstein'in en pratik tavsiyesi: bir problemde "$n$ kişi", "$n$ top" veya "$n$ geyik" geçiyorsa, onları zihninde **$1$'den $n$'e numaralandır** (her birine ID ver) — görünüşte özdeş olsalar bile.
> *"assume that they're labeled with the numbers 1 up to n."* — Blitzstein, 4:56
Neden? Çünkü doğa, toplar sana tıpatıp aynı görünse de onları **ayrı nesnelermiş gibi** sayar. Bir kavanozdaki 10 yeşil top gözüne özdeş gelir; ama olasılık hesabı, sanki üzerlerinde 1–10 yazılıymış gibi doğru sonuç verir. "Bunlar aynı, ayırt edilemez" deyip etiketlemezsen başın derde girer.
> *"as far as nature is concerned, it behaves as if they are distinguishable and labeled."* — Blitzstein, 6:40
Bu, naif tanım için kritik: eşit-olası sonuçları doğru kurmak ancak nesneleri etiketleyince mümkün olur.
::: {.callout-tip title="Builder Notu — İndeksleme vs Exchangeability"}
Etiketleme = veri noktalarını **indeksleme**. Bir batch'teki örnekler ayrı ayrıdır (indeksli), ama bazı yapılar **değiştirilebilir (exchangeable)** — sırası önemsiz, etiketleri atılabilir. "Ayırt edilebilir mi, edilemez mi" sorusu [Ders 1 §sec-ornekleme](01-olasilik-sayma.qmd#sec-ornekleme)'deki "sıra önemli mi"nin ta kendisidir ve sequence modeli (RNN, positional transformer) ile set modeli (Deep Sets, pozisyonsuz attention) arasındaki seçimi belirler.
:::
## İki Yolla Saymak: Takımlara Bölme {#sec-takim}
İlk story proof örneği basit bir sayma sorusundan çıkıyor: 10 kişiyi 6 kişilik ve 4 kişilik iki takıma kaç şekilde bölersin?
**Yol A:** 4 kişilik takımı seç, geri kalan otomatik 6 kişilik takım — $\binom{10}{4}$.
**Yol B:** Önce 6 kişilik takımı seç — $\binom{10}{6}$.
Aynı şeyi iki farklı yolla saydık, demek ki eşitler:
$$
\binom{10}{4} = \binom{10}{6}
$$
Genel hâli, önemli bir özdeşlik:
$$
\binom{n}{k} = \binom{n}{n-k}
$$
Bir **incelik**: ya iki takımın da 5'er kişi olmasını isteseydik? Cevap $\binom{10}{5}$ **değil**. Çünkü "Takım A / Takım B" ayrımı yok; $\{1\text{–}5\}$ ile $\{6\text{–}10\}$ bölmesi, $\{6\text{–}10\}$ ile $\{1\text{–}5\}$ bölmesi **aynı** bölmedir. Her bölmeyi iki kez saydık, $2$'ye böleriz:
$$
\frac{1}{2}\binom{10}{5}
$$
> *"there is a clear difference between a team of 4 and a team of 6. While 2 teams of 5 ... it's equivalent."* — Blitzstein, 10:15
Ders: "sıra önemli mi" demek fazla basit; asıl mesele **neyin gerçekten farklı sayıldığını** düşünmek.
::: {.callout-tip title="Builder Notu — Dropout ve Label Switching"}
$\binom{n}{k} = \binom{n}{n-k}$ doğrudan **dropout simetrisidir**: $n$ nöronun $k$ tanesini söndürmek = $n-k$ tanesini aktif bırakmak. "Etiketsiz iki gruba bölüp 2'ye bölme" hamlesi clustering'deki **label switching** problemiyle aynı: küme etiketleri keyfi olduğundan, aynı bölümlemeyi $k!$ kez sayarsın ve düzeltmen gerekir (mixture modellerin posterior'unda).
:::
## Örnekleme Tablosunun Dördüncü Hücresi: Stars and Bars {#sec-stars-bars}
[Ders 1](01-olasilik-sayma.qmd#sec-ornekleme)'de örnekleme tablosunun en zor hücresini "yerine koyarak, sırasız" $\to \binom{n+k-1}{k}$ olarak vermiş ama ispatlamamıştık. Blitzstein'in iki tavsiyesini uyguluyoruz: önce basit/uç durumlarla kontrol et, sonra diyagram çiz.
**Uç durum kontrolleri:**
- $k = 0$: $\binom{n-1}{0} = 1$. Hiçbir şey seçmemenin tek bir yolu. ✓
- $k = 1$: $\binom{n}{1} = n$. Bir kez seçiyorsun; yerine koyma/sıra fark etmez. ✓
- $n = 2$: $\binom{k+1}{k} = k+1$. İki kutu, $k$ nokta: birinci kutuda kaç nokta var söylemek yeterli ($0, 1, \ldots, k \to k+1$ seçenek). ✓
**Genel ispat (stars and bars).** Asıl numara, problemin başka bir probleme **denk** olduğunu görmek: "$n$ ayırt edilebilir kutuya $k$ ayırt edilemez parçacığı kaç şekilde yerleştirirsin?"
> *"recognizing when two problems are equivalent even if they sound different. ... that's a thinking thing."* — Blitzstein, 19:33
Parçacıkları **nokta** (★), kutu sınırlarını **ayraç** (|) olarak kodla. $n$ kutu için $n-1$ ayraç, artı $k$ nokta var → toplam $n+k-1$ konum. Bir yerleşimi belirlemek için tek yapman gereken, bu konumlardan hangilerinin **nokta** olduğunu seçmek:
$$
\binom{n+k-1}{k} = \binom{n+k-1}{n-1}
$$
```{python}
#| label: fig-stars-bars
#| fig-cap: "Stars and bars: $n=4$ kutuya $k=5$ ayırt edilemez parçacığı yerleştirme. Toplam $n+k-1=8$ konumdan $k=5$ tanesi nokta seçilir. Üç örnek yerleşim: $(1,2,0,2)$, $(0,0,3,2)$, $(2,1,1,1)$."
#| fig-width: 11
#| fig-height: 4
import matplotlib.pyplot as plt
from matplotlib.patches import Rectangle, FancyBboxPatch
fig, axes = plt.subplots(3, 1, figsize=(11, 4))
orneklemeler = [
([1, 2, 0, 2], '(1, 2, 0, 2)'),
([0, 0, 3, 2], '(0, 0, 3, 2)'),
([2, 1, 1, 1], '(2, 1, 1, 1)'),
]
for ax, (kutular, etiket) in zip(axes, orneklemeler):
# Düzeni hazırla: sembolleri ★ ve | olarak
semboller = []
for i, c in enumerate(kutular):
semboller.extend(['★'] * c)
if i < len(kutular) - 1:
semboller.append('|')
for j, s in enumerate(semboller):
renk = '#DD6B20' if s == '★' else '#1f2937'
ax.text(j, 0.5, s, ha='center', va='center', fontsize=20,
color=renk, weight='bold')
ax.text(len(semboller) + 0.6, 0.5, f'→ {etiket}', va='center',
fontsize=11, color='#A51C30', weight='bold')
ax.set_xlim(-0.5, len(semboller) + 4)
ax.set_ylim(0, 1)
ax.set_xticks([]); ax.set_yticks([])
for sp in ax.spines.values(): sp.set_visible(False)
fig.suptitle(r'$n=4$ kutu, $k=5$ parçacık → $\binom{4+5-1}{5} = \binom{8}{5} = 56$ yerleşim',
fontsize=12, y=1.02)
plt.tight_layout()
plt.show()
```
::: {.callout-tip title="Builder Notu — Bag-of-Words ve Olasılık Simpleksi"}
"$n$ kutuya $k$ ayırt edilemez parçacık" tam olarak bir **sayım vektörü / histogram** saymaktır. Bag-of-words'te $V$ kelimelik sözlükten uzunluğu $k$ olan bir belgenin kelime-sayım vektörü tam bu yapıdır — $\binom{V+k-1}{k}$ olası histogram. Aynı kombinatorik **Dirichlet-multinomial** modellerin temelidir. Stars and bars'ın sürekli karşılığı, softmax çıktılarının yaşadığı **olasılık simpleksidir** ($\sum p_i = 1$, $p_i \ge 0$).
:::
## Ayırt Edilemezlik ve Bose-Einstein {#sec-bose-einstein}
$n = 2$ durumunun fiziksel yorumu var. İki parayı at: normalde 4 eşit-olası sonuç (HH, HT, TH, TT). Peki paralar sana tıpatıp aynı görünüyorsa?
1920'lerde fizikçi Bose, parçacıklar için (paralar için değil) yalnızca **3 eşit-olası sonuç** olduğunu öne sürdü: HH, TT ve "bir yazı-bir tura" (HT ile TH ayırt edilemiyor). Önce alay edildi; Einstein fikri beğendi → Bose-Einstein istatistiği doğdu ve **Bose-Einstein yoğuşması** öngörüldü (70 yıl sonra deneysel gözlendi).
Blitzstein'in kritik uyarısı: **paralar için doğru model etiketlidir** (4 sonuç), Bose'unki (3 sonuç) değil. Stars-and-bars *sayma* için doğrudur, ama naif olasılık tanımıyla birlikte kullanma — gerçek nesneler (zar, kart, top) etiketliymiş gibi davranır.
> *"you have to be careful about using this with the naive definition of probability."* — Blitzstein, 29:37
```{python}
#| label: fig-bose-vs-etiketli
#| fig-cap: "İki para atışında etiketli (Maxwell-Boltzmann) ve ayırt edilemez (Bose-Einstein) modeller. Sol: 4 sonuç eşit-olası, $P(\\text{karışık}) = 1/2$. Sağ: 3 sonuç eşit-olası, $P(\\text{karışık}) = 1/3$. Gerçek paralar SOLA uyar."
#| fig-width: 10
#| fig-height: 4.5
import matplotlib.pyplot as plt
from matplotlib.patches import Rectangle
fig, axes = plt.subplots(1, 2, figsize=(10, 4.5))
# Sol: etiketli (gerçek)
ax = axes[0]
sonuclar = [('H₁H₂', 0, 1, '#fef3c7'), ('H₁T₂', 1, 1, '#fed7aa'),
('T₁H₂', 0, 0, '#fed7aa'), ('T₁T₂', 1, 0, '#fef3c7')]
for s, x, y, c in sonuclar:
ax.add_patch(Rectangle((x, y), 0.95, 0.95, facecolor=c, edgecolor='#A51C30', linewidth=2))
ax.text(x + 0.475, y + 0.7, s, ha='center', va='center', fontsize=14, weight='bold')
ax.text(x + 0.475, y + 0.25, '$P=1/4$', ha='center', va='center', fontsize=11, color='#6B0E1B')
ax.set_xlim(-0.1, 2.05); ax.set_ylim(-0.1, 2.05); ax.set_aspect('equal')
ax.set_title('Etiketli — Maxwell-Boltzmann\n(gerçek paralar)', fontsize=12)
ax.set_xticks([]); ax.set_yticks([])
for sp in ax.spines.values(): sp.set_visible(False)
# Sağ: Bose-Einstein
ax = axes[1]
bose_sonuclar = [('★★ | ·', 0.5, 1.3, '#fef3c7', '2 tura'),
('★ | ★', 0.5, 0.6, '#fed7aa', '1H 1T'),
('· | ★★', 0.5, -0.1, '#fef3c7', '2 yazı')]
for s, x, y, c, etiket in bose_sonuclar:
ax.add_patch(Rectangle((x - 0.5, y - 0.05), 1.9, 0.55, facecolor=c,
edgecolor='#6B46C1', linewidth=2))
ax.text(x + 0.4, y + 0.32, s, ha='center', va='center', fontsize=14, weight='bold')
ax.text(x + 0.4, y + 0.10, f'$P=1/3$ — {etiket}', ha='center', va='center',
fontsize=10, color='#553C9A')
ax.set_xlim(-0.3, 3); ax.set_ylim(-0.3, 2.05); ax.set_aspect('auto')
ax.set_title('Bose-Einstein — ayırt edilemez\n(kuantum parçacıklar)', fontsize=12)
ax.set_xticks([]); ax.set_yticks([])
for sp in ax.spines.values(): sp.set_visible(False)
plt.tight_layout()
plt.show()
```
::: {.callout-tip title="Builder Notu — Exchangeability ve de Finetti"}
Bose-Einstein durumu tam **değiştirilebilirlik (exchangeability)** demektir — parçacıklar öyle ayırt edilemez ki "Tanrı bile" sırayı söyleyemez. ML'de bu, **de Finetti teoreminin** kalbidir: sonsuz değiştirilebilir bir dizi, gizli bir parametreye koşullandığında i.i.d. olur. Yani "veriyi i.i.d. varsay" cümlesinin teorik temeli exchangeability'dir. Pratikte set modelleri (Deep Sets, set transformer) bu ayırt-edilemezliği mimariye gömer.
:::
## Story Proof Nedir? {#sec-story-proof}
Bir **story proof**, bir kombinatorik özdeşliği cebirle değil, **yorumla** ispatlamaktır — "proof by interpretation". Sembolleri faktöriyel olarak açıp sadeleştirmek yerine, her iki tarafın *neyi saydığını* anlatırsın.
> *"proof by interpretation ... rather than proof by algebra or calculus."* — Blitzstein, 30:20
İlk örneği gördük: $\binom{n}{k} = \binom{n}{n-k}$. Cebirle de gösterilebilir ama hikâyesi daha aydınlatıcı: $n$ kişiden $k$ tanesini **seçmek**, aslında dışarıda bırakılacak $n-k$ tanesini seçmekle aynı şeydir. Faktöriyel manipülasyonu sana *neden* doğru olduğunu söylemez; hikâye söyler.
## Story Proof: Başkanlı Komite {#sec-baskanli-komite}
Çok kullanışlı bir özdeşlik:
$$
n\binom{n-1}{k-1} = k\binom{n}{k}
$$
Blitzstein bunu ezberlemediğini, her seferinde hikâyeyle **türettiğini** söylüyor. Hikâye: $n$ kişiden, biri **başkan** olarak atanmış bir $k$ kişilik komite seçmek istiyoruz.
- **Yol A:** Önce komiteyi seç ($\binom{n}{k}$), sonra $k$ üye arasından başkanı seç ($k$ yol) → $k \cdot \binom{n}{k}$.
- **Yol B:** Önce başkanı seç ($n$ yol), sonra kalan $n-1$ kişiden $k-1$ üyeyi seç ($\binom{n-1}{k-1}$) → $n \cdot \binom{n-1}{k-1}$.
İkisi de aynı şeyi (başkanlı komite) sayar, eşittir.
> *"count the same thing in two ways. ... if both ways are correct, they must agree."* — Blitzstein, 34:46
::: {.callout-tip title="Builder Notu — Gösterge Hilesi"}
"Özel bir eleman işaretle" (başkanı seç) numarası, beklenen değer hesaplarının kalbindeki **gösterge (indicator) hilesidir** — [Ders 9](09-beklenti-gosterge-dogrusallik.qmd)'da göreceğiz. Bir toplama özel bir terim ekleyip simetriden yararlanmak, hipergeometrik ve binom beklentilerini tek satırda çıkarmanı sağlar.
:::
## Story Proof: Vandermonde Özdeşliği {#sec-vandermonde}
Cebirsel olarak korkunç, hikâyeyle çocuk oyuncağı olan ünlü bir özdeşlik:
$$
\binom{m+n}{k} = \sum_{j=0}^{k} \binom{m}{j} \binom{n}{k-j}
$$
**Hikâye:** $m + n$ kişiyi, biri $m$ kişilik diğeri $n$ kişilik iki gruba ayır. Toplam $k$ kişi seçeceğiz. İlk gruptan $j$ kişi seçersek, ikinci gruptan $k-j$ kişi seçmek zorundayız. $j$ kişiyi ve $k-j$ kişiyi seçmenin yolu $\binom{m}{j} \cdot \binom{n}{k-j}$ (çarpma kuralı). $j$ sıfırdan $k$'ye kadar tüm değerleri alabilir ve bu durumlar **ayrık** (örtüşmüyor), o yüzden toplarız.
```{python}
#| label: fig-vandermonde
#| fig-cap: "Vandermonde özdeşliğinin sayısal doğrulaması: $m=8, n=6, k=5$ için sol taraf $\\binom{14}{5}=2002$ ve sağ taraftaki $j$ üzerinde toplam birebir eşleşir."
#| fig-width: 9
#| fig-height: 4.5
import math
import matplotlib.pyplot as plt
m, n, k = 8, 6, 5
sol = math.comb(m + n, k)
sag_terimler = [math.comb(m, j) * math.comb(n, k - j) for j in range(k + 1)]
sag_toplam = sum(sag_terimler)
fig, ax = plt.subplots(figsize=(9, 4.5))
ax.bar(range(k + 1), sag_terimler, color='#A51C30', edgecolor='#6B0E1B', alpha=0.85)
for j, t in enumerate(sag_terimler):
ax.text(j, t + 30, f'{t}', ha='center', fontsize=11, color='#6B0E1B', weight='bold')
ax.text(j, t / 2, f'C({m},{j})·C({n},{k-j})',
ha='center', va='center', fontsize=9, color='white', weight='bold')
ax.axhline(y=sol, color='#DD6B20', linestyle='--', linewidth=2,
label=f'C({m+n}, {k}) = {sol} (sol taraf)')
ax.set_xlabel('$j$ (ilk gruptan seçilen)', fontsize=12)
ax.set_ylabel('terim değeri', fontsize=12)
ax.set_title(f'Vandermonde: sum_j C(m, j)·C(n, k−j) = {sag_toplam} (= sol taraf)',
fontsize=12)
ax.legend(loc='upper right', fontsize=11)
ax.grid(True, alpha=0.3)
plt.tight_layout()
plt.show()
assert sol == sag_toplam
print(f"sol = sağ = {sol} ✓")
```
::: {.callout-tip title="Builder Notu — Konvolüsyon ve Bağımsız Toplamlar"}
Vandermonde bir **konvolüsyondur** — sağ taraf iki dizinin konvolüsyonu. Bu, **bağımsız rastgele değişkenlerin toplamının dağılımına** karşılık gelir: $X \sim \text{Binom}(m, p)$ ve $Y \sim \text{Binom}(n, p)$ bağımsızsa, $X + Y \sim \text{Binom}(m+n, p)$ ve ispatı tam olarak Vandermonde'dur. Konvolüsyon, [Ders 22](22-donusumler-konvolusyon.qmd)'de tekrar gelecek; FFT konvolüsyonun ve diffusion'da gürültü eklemenin matematiği aynı yerden çıkar.
:::
## Olasılığın Aksiyomatik Tanımı {#sec-aksiyomlar}
Şimdi naif tanımın ötesine geçiyoruz. Artık ne sonuçların eşit-olası olmasını, ne de sonlu sayıda olmasını varsaymak istiyoruz. Bunun için bir **olasılık uzayı** kuruyoruz — iki bileşenli: $(S, P)$.
- $S$ örnek uzaydır (Ders 1, ama artık sonlu/eşit-olası olmak zorunda değil).
- $P$ bir **fonksiyondur.** Ama alışık olduğun $f(x) = x^2$ gibi değil: girdisi bir **olay** ($S$'nin alt-kümesi), çıktısı $0$ ile $1$ arasında bir sayıdır.
Bir olay $A$'nın "**gerçekleştiğini**" şöyle tanımlarız: deney sonunda gözlenen sonuç $s_0$, $A$'nın içindeyse $A$ gerçekleşmiştir; dışındaysa gerçekleşmemiştir.
$P$ fonksiyonunun uyması gereken **yalnızca iki aksiyom** var:
**Aksiyom 1.** Boş kümenin olasılığı $0$, tüm uzayın olasılığı $1$:
$$
P(\varnothing) = 0, \quad P(S) = 1
$$
**Aksiyom 2 (sayılabilir toplanabilirlik).** Ayrık (örtüşmeyen) olaylar $A_1, A_2, \ldots$ için:
$$
P\left(\bigcup_{n=1}^{\infty} A_n\right) = \sum_{n=1}^{\infty} P(A_n)
$$
($A_n$'ler ayrık olmak şartıyla.)
> *"actually we only need two axioms, two rules."* — Blitzstein, 42:38
Şaşırtıcı: olasılığın her teoremi eninde sonunda bu iki kuraldan türetilir.
::: {.callout-important title="Builder Notu — Geçerli Bir Dağılım Ne Demek?"}
Bu iki aksiyom, bir **softmax çıktısını geçerli dağılım** yapan tam koşullardır: değerler negatif değil ($P \ge 0$), hepsinin toplamı $1$ (= $P(S) = 1$). Sayılabilir toplanabilirlik, **marjinalleştirmenin** (bir değişkeni toplayıp/integralleyip atmanın) temelidir — bir modelde $p(x) = \sum_y p(x, y)$ yazabilmenin nedeni. Ölçü teorisi bu aksiyomları sürekli uzaylara genelleştirir (Ders 12+). Bir sinir ağının olasılıksal başlığı bu aksiyomlara uymazsa, ürettiği şey olasılık dağılımı değildir.
:::
## Bu Dersin Özeti {#sec-ozet}
1. **Etiketleme:** Görünüşte özdeş nesneleri $1\ldots n$ diye numaralandır; doğa onları ayırt edilebilirmiş gibi sayar.
2. **Story proof:** Aynı şeyi iki yolla say — iki sayım doğruysa eşit olmak zorundadır.
3. $\binom{n}{k} = \binom{n}{n-k}$: $k$ seçmek = $n-k$'yı dışarıda bırakmak.
4. $n\binom{n-1}{k-1} = k\binom{n}{k}$: başkanlı komite, iki yolla.
5. **Vandermonde:** $\binom{m+n}{k} = \sum_j \binom{m}{j}\binom{n}{k-j}$ — bir konvolüsyon, bağımsız toplamların habercisi.
6. **Stars and bars:** "yerine koyarak, sırasız" = $n$ kutuya $k$ ayırt edilemez parçacık = $\binom{n+k-1}{k}$.
7. **Ayırt edilemezlik:** Bose-Einstein (3 sonuç) sayma ve fizik için geçerli; naif olasılıkta nesneler etiketli (4 sonuç) davranır.
8. **Olasılık uzayı $(S, P)$ + iki aksiyom:** $P(\varnothing)=0, P(S)=1$ ve ayrık olaylar için sayılabilir toplanabilirlik.
::: {.callout-important title="Tek bir cümle"}
"**Aynı şeyi iki farklı yoldan say**" hem kombinatorik özdeşliklerin en zarif ispatıdır (story proof) hem de olasılığı sayımın ötesine taşıyan **iki aksiyomun** ortak ruhudur: olasılık, tutarlı sayma kurallarından ibarettir.
:::
## Kontrol Soruları {#sec-sorular}
::: {.callout-note collapse="true" title="Soru 1: 4 çeşitli dondurmacıda 6 toplu kâse — sıra önemsiz, tekrar serbest. Kaç farklı kâse?"}
**Cevap:** "Yerine koyarak, sırasız": $n = 4, k = 6$. Stars and bars: $\binom{n+k-1}{k} = \binom{9}{6} = \binom{9}{3} = 84$ kâse.
:::
::: {.callout-note collapse="true" title="Soru 2: Vandermonde özdeşliğini $m = n = 2, k = 2$ için elle doğrula."}
**Cevap:** Sol: $\binom{4}{2} = 6$. Sağ: $\binom{2}{0}\binom{2}{2} + \binom{2}{1}\binom{2}{1} + \binom{2}{2}\binom{2}{0} = 1 + 4 + 1 = 6$. Eşit. ✓
:::
::: {.callout-note collapse="true" title="Soru 3: 10 kişiyi 5-5 takıma bölmek neden $\\binom{10}{5}/2$, ama 6-4 bölmek $\\binom{10}{4}$?"}
**Cevap:** 6'lık ve 4'lük takımlar boyutlarıyla ayırt edilir, her bölme bir kez sayılır. İki 5'erli takım ayırt edilemez ($\{1\text{–}5\} \cup \{6\text{–}10\}$ = $\{6\text{–}10\} \cup \{1\text{–}5\}$): $\binom{10}{5}$ bunu iki kez sayar, $2$'ye böleriz.
:::
::: {.callout-note collapse="true" title="Soru 4: (Builder) Bir model üç sınıfa [0.5, 0.3, 0.4] atıyor. Hangi aksiyomu ihlal eder ve softmax nasıl düzeltir?"}
**Cevap:** Toplam $0{,}5 + 0{,}3 + 0{,}4 = 1{,}2 \ne 1$, yani **$P(S) = 1$** aksiyomu (normalizasyon) ihlal. Softmax tam bunu düzeltir: $\exp$'ler ve toplama böler — çıktı negatif olmaz ve toplam $1$.
:::
## Egzersizler {#sec-egzersizler}
**Egzersiz 1.** 5 çeşit çaylı dükkânda 3 paketlik set — sıra önemsiz, tekrar serbest. Kaç set mümkün? (Stars and bars.)
**Egzersiz 2.** Story proof yaz: komite ($k$ kişi) + alt-komite ($j$ kişi) seçmeyi iki yolla sayarak şunu kanıtla:
$$
\binom{n}{k}\binom{k}{j} = \binom{n}{j}\binom{n-j}{k-j}
$$
**Egzersiz 3.** "PEPPER" kelimesinin harfleri kaç farklı şekilde dizilebilir? (6 harf, 3 P, 2 E — fazla saymayı düzelt.)
**Egzersiz 4.** *(Python — Vandermonde doğrula)*
```{python}
#| label: ex-vandermonde
#| code-fold: false
import math, random
random.seed(42)
def vandermonde_ok(m, n, k):
sol = math.comb(m + n, k)
sag = sum(math.comb(m, j) * math.comb(n, k - j) for j in range(0, k + 1))
return sol == sag
for _ in range(10):
m, n = random.randint(1, 12), random.randint(1, 12)
k = random.randint(0, m + n)
print(f"m={m:2d}, n={n:2d}, k={k:2d} → {vandermonde_ok(m, n, k)}")
```
**Egzersiz 5.** *(Sonraki ders)* Yalnızca iki aksiyomu kullanarak $P(A^c) = 1 - P(A)$ olduğunu göster. (İpucu: $A$ ile $A^c$ ayrıktır ve birleşimleri $S$'dir; Aksiyom 2'yi uygula, sonra Aksiyom 1'i.)
## Sonraki Ders İçin Hazırlık {#sec-sonraki}
**Ders 3: Doğum Günü Problemi, Olasılığın Özellikleri**
Aksiyomlardan **pratik özellikler** türetiyoruz: tümleyen kuralı $P(A^c) = 1 - P(A)$, tekdüzelik, içerme-dışarma. Sonra olasılığın en ünlü sezgi-karşıtı sonucu: **doğum günü problemi** — bir odada 23 kişi varsa, ikisinin aynı gün doğmuş olma olasılığı %50'yi geçer.
::: {.callout-warning title="Ders 3 öncesi yapılacak"}
- Egzersizleri çöz — özellikle 5 (tümleyen kuralının aksiyomlardan ispatı).
- Python'da bir "doğum günü" simülasyonu kurmayı dene.
- Ana cümleyi tekrar oku: *"Aynı şeyi iki farklı yoldan saymak…"*
:::
## Anahtar Kavramlar (Cheat Sheet) {#sec-cheat-sheet}
| Kavram | Tanım | Blitzstein'de |
|--------|-------|---------------|
| **Etiketleme** | Özdeş nesneleri $1\ldots n$ diye numaralandır | 4m56 |
| $\binom{n}{k} = \binom{n}{n-k}$ | $k$ seçmek = $n-k$'yı dışarıda bırakmak | 9m05 |
| **İki eşit takım** | $10 \to 5\text{-}5$ = $\binom{10}{5}/2$ (ayırt edilemez) | 10m03 |
| **Stars and bars** | $n$ kutuya $k$ parçacık = $\binom{n+k-1}{k}$ | 26m08 |
| **Bose-Einstein** | Tam ayırt edilemezlik; 2 para → 3 sonuç (fizik) | 28m13 |
| **Story proof** | Aynı şeyi iki yolla say — yorumla ispat | 30m20 |
| **Başkanlı komite** | $n\binom{n-1}{k-1} = k\binom{n}{k}$ | 32m17 |
| **Vandermonde** | $\binom{m+n}{k} = \sum_j \binom{m}{j}\binom{n}{k-j}$ | 35m06 |
| **Olasılık uzayı** | $(S, P)$; $P$: olaylar $\to [0, 1]$ | 40m13 |
| **Aksiyom 1** | $P(\varnothing) = 0$ ve $P(S) = 1$ | 42m50 |
| **Aksiyom 2** | Ayrık olaylar için sayılabilir toplanabilirlik | 44m51 |
## ML Bağlantıları Özeti {#sec-ml-baglantilar}
::: {.callout-tip title="7 köprü"}
1. **Etiketleme / ayırt edilemezlik** → i.i.d. ve de Finetti (exchangeability); set modelleri (Deep Sets).
2. **Stars and bars** → bag-of-words sayım vektörü, Dirichlet-multinomial, olasılık simpleksi.
3. **Story proof** → bijektif akıl yürütme; parametre/yol sayma, kombinatorik türetmeler.
4. **Vandermonde = konvolüsyon** → bağımsız toplamlar (Binom+Binom), FFT konvolüsyon, diffusion'da gürültü ekleme.
5. **Başkanlı komite (işaretleme)** → gösterge hilesi, beklenti hesapları (Ders 9).
6. **İki aksiyom** → softmax'ı geçerli dağılım yapar; sayılabilir toplanabilirlik = marjinalleştirme.
7. $\binom{n}{k}=\binom{n}{n-k}$ → dropout simetrisi ($k$ söndür = $n-k$ aktif).
:::
::: {.callout-important title="Tek bir şey alıp gideceksen"}
"Aynı şeyi iki farklı yoldan say" — en zarif kombinatorik ispatın (story proof) ve olasılığı sayımın ötesine taşıyan iki aksiyomun ortak ruhudur. **Olasılık, tutarlı sayma kurallarından doğar — ve bu kurallar yalnızca iki tanedir.**
:::