<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator><link href="https://program.sonsuz.us/feed.xml" rel="self" type="application/atom+xml" /><link href="https://program.sonsuz.us/" rel="alternate" type="text/html" /><updated>2026-10-29T06:05:58+00:00</updated><id>https://program.sonsuz.us/feed.xml</id><title type="html">SonsuzUs</title><subtitle>Programlama ve Yazılım</subtitle><author><name>Sonsuz Us</name></author><entry><title type="html">Akıllı Priz Verisiyle Elektrik Faturasını Küçültme Rehberi</title><link href="https://program.sonsuz.us/posts/akilli-priz-verisiyle-elektrik-faturasini-kucultme-rehberi/" rel="alternate" type="text/html" title="Akıllı Priz Verisiyle Elektrik Faturasını Küçültme Rehberi" /><published>2026-10-29T00:00:00+00:00</published><updated>2026-10-29T00:00:00+00:00</updated><id>https://program.sonsuz.us/posts/akilli-priz-verisiyle-elektrik-faturasini-kucultme-rehberi</id><content type="html" xml:base="https://program.sonsuz.us/posts/akilli-priz-verisiyle-elektrik-faturasini-kucultme-rehberi/"><![CDATA[<p><img src="/img/akilli-priz-verisiyle-23.svg" alt="akilli-priz-verisiyle-23" /></p>

<p>Elektrik faturası bazen evde görünmez bir canavar dolaşıyormuş hissi verir: Buzdolabı sessizce çalışır, televizyon bekleme modunda enerji tüketir, elektrikli ısıtıcı ise bütçeyi adeta közler. Akıllı prizler bu canavarı görünür hâle getirir. Cihaz bazında güç ve enerji ölçümü yaparak hangi cihazın ne zaman, ne kadar tükettiğini anlamamızı; tahminlere değil, verilere dayalı tasarruf kararları almamızı sağlar.</p>

<p>``</p>

<h2 id="akıllı-priz-hangi-verileri-toplar">Akıllı priz hangi verileri toplar?</h2>

<p>Tipik bir akıllı priz belirli aralıklarla gerilim, akım ve aktif güç değerlerini kaydeder. Bazı modeller güç faktörü, frekans ve toplam enerji tüketimi de sunar. Temel elektrik ilişkisi şöyledir:</p>

\[P = V \times I \times \cos(\varphi)\]

<p>Burada $P$ aktif gücü (W), $V$ gerilimi, $I$ akımı ve $\cos(\varphi)$ güç faktörünü gösterir. Bir cihazın tükettiği enerji ise gücün zaman boyunca birikimidir:</p>

\[E = \sum_{i=1}^{n} \frac{P_i \times \Delta t_i}{1000}\]

<p>$P_i$ watt, $\Delta t_i$ saat cinsindeyse sonuç kilovatsaat, yani kWh olur. Faturanın enerji kısmını yaklaşık hesaplamak için $E$ değeri birim fiyatla çarpılır.</p>

<table>
  <thead>
    <tr>
      <th>Veri</th>
      <th style="text-align: right">Birim</th>
      <th>Bize ne anlatır?</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Gerilim</td>
      <td style="text-align: right">V</td>
      <td>Şebeke seviyesini ve dalgalanmaları</td>
    </tr>
    <tr>
      <td>Aktif güç</td>
      <td style="text-align: right">W</td>
      <td>Cihazın o andaki tüketimini</td>
    </tr>
    <tr>
      <td>Enerji</td>
      <td style="text-align: right">kWh</td>
      <td>Zaman içinde biriken tüketimi</td>
    </tr>
    <tr>
      <td>Güç faktörü</td>
      <td style="text-align: right">0–1</td>
      <td>Elektriğin ne kadar verimli kullanıldığını</td>
    </tr>
    <tr>
      <td>Zaman damgası</td>
      <td style="text-align: right">Tarih/saat</td>
      <td>Kullanım alışkanlıklarını ve pik saatleri</td>
    </tr>
  </tbody>
</table>

<h2 id="ham-veriden-anlamlı-sonuca">Ham veriden anlamlı sonuca</h2>

<p>Akıllı priz kayıtları önce temizlenmelidir. Eksik ölçümler, tekrarlanan satırlar ve gerçek dışı sıçramalar analizi yanıltabilir. Örneğin normalde 100 W çeken bir televizyonun bir saniyeliğine 30.000 W görünmesi büyük olasılıkla ölçüm veya iletişim hatasıdır.</p>

<p>Temiz veride şu göstergeler özellikle değerlidir:</p>

<ul>
  <li><strong>Baz yük:</strong> Cihaz kapalı sanılırken devam eden tüketim.</li>
  <li><strong>Pik güç:</strong> Cihazın ulaştığı en yüksek güç seviyesi.</li>
  <li><strong>Çalışma süresi:</strong> Gücün belirlenen eşiğin üzerinde kaldığı süre.</li>
  <li><strong>Günlük enerji:</strong> Gün boyunca biriken kWh miktarı.</li>
  <li><strong>Kullanım deseni:</strong> Cihazın hangi saatlerde ve ne sıklıkta çalıştığı.</li>
</ul>

<p>Aşağıdaki Python örneği, CSV dosyasındaki ölçümlerden günlük enerji ve maliyet üretir:</p>

<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">import</span> <span class="n">pandas</span> <span class="k">as</span> <span class="n">pd</span>

<span class="n">BIRIM_FIYAT</span> <span class="o">=</span> <span class="mf">2.60</span>  <span class="c1"># Örnek TL/kWh
</span>
<span class="n">veri</span> <span class="o">=</span> <span class="n">pd</span><span class="p">.</span><span class="nf">read_csv</span><span class="p">(</span><span class="sh">"</span><span class="s">priz_verisi.csv</span><span class="sh">"</span><span class="p">,</span> <span class="n">parse_dates</span><span class="o">=</span><span class="p">[</span><span class="sh">"</span><span class="s">zaman</span><span class="sh">"</span><span class="p">])</span>
<span class="n">veri</span> <span class="o">=</span> <span class="n">veri</span><span class="p">.</span><span class="nf">sort_values</span><span class="p">(</span><span class="sh">"</span><span class="s">zaman</span><span class="sh">"</span><span class="p">).</span><span class="nf">drop_duplicates</span><span class="p">(</span><span class="sh">"</span><span class="s">zaman</span><span class="sh">"</span><span class="p">)</span>

<span class="c1"># Ölçümler arasındaki süreyi saate çevirir.
</span><span class="n">veri</span><span class="p">[</span><span class="sh">"</span><span class="s">sure_saat</span><span class="sh">"</span><span class="p">]</span> <span class="o">=</span> <span class="n">veri</span><span class="p">[</span><span class="sh">"</span><span class="s">zaman</span><span class="sh">"</span><span class="p">].</span><span class="nf">diff</span><span class="p">().</span><span class="n">dt</span><span class="p">.</span><span class="nf">total_seconds</span><span class="p">()</span> <span class="o">/</span> <span class="mi">3600</span>
<span class="n">veri</span><span class="p">[</span><span class="sh">"</span><span class="s">sure_saat</span><span class="sh">"</span><span class="p">]</span> <span class="o">=</span> <span class="n">veri</span><span class="p">[</span><span class="sh">"</span><span class="s">sure_saat</span><span class="sh">"</span><span class="p">].</span><span class="nf">clip</span><span class="p">(</span><span class="n">lower</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">upper</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>

<span class="c1"># Watt-saat hesabını kWh değerine dönüştürür.
</span><span class="n">veri</span><span class="p">[</span><span class="sh">"</span><span class="s">enerji_kwh</span><span class="sh">"</span><span class="p">]</span> <span class="o">=</span> <span class="n">veri</span><span class="p">[</span><span class="sh">"</span><span class="s">guc_watt</span><span class="sh">"</span><span class="p">]</span> <span class="o">*</span> <span class="n">veri</span><span class="p">[</span><span class="sh">"</span><span class="s">sure_saat</span><span class="sh">"</span><span class="p">]</span> <span class="o">/</span> <span class="mi">1000</span>
<span class="n">veri</span><span class="p">[</span><span class="sh">"</span><span class="s">gun</span><span class="sh">"</span><span class="p">]</span> <span class="o">=</span> <span class="n">veri</span><span class="p">[</span><span class="sh">"</span><span class="s">zaman</span><span class="sh">"</span><span class="p">].</span><span class="n">dt</span><span class="p">.</span><span class="n">date</span>

<span class="n">ozet</span> <span class="o">=</span> <span class="n">veri</span><span class="p">.</span><span class="nf">groupby</span><span class="p">(</span><span class="sh">"</span><span class="s">gun</span><span class="sh">"</span><span class="p">)[</span><span class="sh">"</span><span class="s">enerji_kwh</span><span class="sh">"</span><span class="p">].</span><span class="nf">sum</span><span class="p">().</span><span class="nf">to_frame</span><span class="p">()</span>
<span class="n">ozet</span><span class="p">[</span><span class="sh">"</span><span class="s">maliyet_tl</span><span class="sh">"</span><span class="p">]</span> <span class="o">=</span> <span class="n">ozet</span><span class="p">[</span><span class="sh">"</span><span class="s">enerji_kwh</span><span class="sh">"</span><span class="p">]</span> <span class="o">*</span> <span class="n">BIRIM_FIYAT</span>
<span class="nf">print</span><span class="p">(</span><span class="n">ozet</span><span class="p">)</span>
</code></pre></div></div>

<p>Kod, ardışık kayıtlar arasındaki süreyi hesaplar ve ölçülen güçle çarpar. Bir saatten uzun veri boşluklarını sınırlamak, eksik kayıtların tüketimi yapay biçimde büyütmesini engeller.</p>

<h2 id="tasarruf-fırsatlarını-sınıflandırmak">Tasarruf fırsatlarını sınıflandırmak</h2>

<p>Her yüksek tüketim gereksiz değildir. Buzdolabının sürekli çalışması normal olabilir; fakat eski bir modelin yeni modele göre iki kat enerji harcaması değişim kararını destekleyebilir.</p>

<table>
  <thead>
    <tr>
      <th>Gözlem</th>
      <th>Olası neden</th>
      <th>Uygulanabilecek işlem</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Gece boyunca sabit tüketim</td>
      <td>Bekleme modu</td>
      <td>Zamanlayıcıyla elektriği kesmek</td>
    </tr>
    <tr>
      <td>Uzun ve sık çalışma döngüsü</td>
      <td>Bakım ihtiyacı</td>
      <td>Filtre, conta veya termostat kontrolü</td>
    </tr>
    <tr>
      <td>Pik saatlerde yoğun kullanım</td>
      <td>Kullanım alışkanlığı</td>
      <td>Çalışmayı uygun saatlere taşımak</td>
    </tr>
    <tr>
      <td>Benzer cihazdan yüksek tüketim</td>
      <td>Düşük verimlilik</td>
      <td>Verimli modelle değiştirmeyi değerlendirmek</td>
    </tr>
  </tbody>
</table>

<p>Bir önlemin aylık kazancı yaklaşık olarak</p>

\[Tasarruf = Azaltılan\ kWh \times Birim\ Fiyat\]

<p>formülüyle bulunabilir. Yeni cihaz alınacaksa geri ödeme süresi de $Yatırım\ Maliyeti / Aylık\ Tasarruf$ şeklinde hesaplanır.</p>

<p>Sonuç olarak akıllı priz, tek başına faturayı düşüren sihirli bir düğme değildir; doğru soruları sormayı sağlayan küçük bir veri laboratuvarıdır. En etkili yaklaşım, birkaç hafta ölçüm yapmak, baz tüketimi ve çalışma döngülerini karşılaştırmak, ardından zamanlama, bakım veya cihaz değişimi gibi müdahalelerin sonucunu yeniden ölçmektir. Ölç, değiştir, tekrar ölç: Enerji optimizasyonunun en kısa ve en güvenilir döngüsü budur.</p>]]></content><author><name>Sonsuz Us</name></author><category term="Bilgi" /><category term="akıllı priz" /><category term="enerji optimizasyonu" /><category term="veri analizi" /><category term="python" /><category term="iot" /><category term="elektrik tüketimi" /><summary type="html"><![CDATA[Elektrik faturası bazen evde görünmez bir canavar dolaşıyormuş hissi verir: Buzdolabı sessizce çalışır, televizyon bekleme modunda enerji tüketir, elektrikli ısıtıcı ise bütçeyi adeta közler. Akıllı prizler bu canavarı görünür hâle getirir. Cihaz bazında güç ve enerji ölçümü yaparak hangi cihazın ne zaman, ne kadar tükettiğini anlamamızı; tahminlere değil, verilere dayalı tasarruf kararları almamızı sağlar.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://program.sonsuz.us/img/akilli-priz-verisiyle-23.png" /><media:content medium="image" url="https://program.sonsuz.us/img/akilli-priz-verisiyle-23.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Belirtilerden Önce Alarm: Makine Öğrenmesiyle Erken Hastalık Risk Tahmini</title><link href="https://program.sonsuz.us/posts/belirtilerden-once-alarm-makine-ogrenmesiyle-erken-hastalik-risk-tahmini/" rel="alternate" type="text/html" title="Belirtilerden Önce Alarm: Makine Öğrenmesiyle Erken Hastalık Risk Tahmini" /><published>2026-10-29T00:00:00+00:00</published><updated>2026-10-29T00:00:00+00:00</updated><id>https://program.sonsuz.us/posts/belirtilerden-once-alarm-makine-ogrenmesiyle-erken-hastalik-risk-tahmini</id><content type="html" xml:base="https://program.sonsuz.us/posts/belirtilerden-once-alarm-makine-ogrenmesiyle-erken-hastalik-risk-tahmini/"><![CDATA[<p>Bir hastalığı belirtiler ortaya çıkmadan tahmin etmek bilim kurgu gibi gelebilir. Oysa elektronik sağlık kayıtları, laboratuvar sonuçları, tıbbi görüntüler, genetik veriler ve akıllı saat ölçümleri bir araya geldiğinde makine öğrenmesi önemli risk sinyallerini yakalayabilir. Ancak burada kritik bir ayrım vardır: Model çoğunlukla hastalığa kesin tanı koymaz; belirli bir zaman aralığında hastalığın gelişme olasılığını hesaplar.</p>

<p>``</p>

<h2 id="risk-tahmini-nasıl-çalışır">Risk tahmini nasıl çalışır?</h2>

<p>Makine öğrenmesi, geçmişte sonucu bilinen hasta verilerindeki örüntüleri öğrenir. Örneğin diyabet riskini tahmin eden bir sistem; yaş, vücut kitle indeksi, açlık glukozu, aile öyküsü ve fiziksel aktivite gibi değişkenleri kullanabilir.</p>

<p>Bir hastanın özelliklerini $x$ ile gösterirsek modelin temel amacı şu olasılığı kestirmektir:</p>

\[P(Y=1 \mid X=x)\]

<p>Burada $Y=1$, belirlenen süre içinde hastalığın geliştiği anlamına gelir. Lojistik regresyon gibi açıklanabilir bir model bu olasılığı şöyle hesaplayabilir:</p>

\[P(Y=1)=\frac{1}{1+e^{-(\beta_0+\beta_1x_1+\cdots+\beta_nx_n)}}\]

<p>Katsayılar, her değişkenin risk üzerindeki etkisini temsil eder. Derin öğrenme modelleriyse çok daha karmaşık ilişkileri öğrenebilir; fakat kararlarını açıklamak genellikle daha zordur.</p>

<h2 id="hangi-veriler-erken-sinyal-taşıyabilir">Hangi veriler erken sinyal taşıyabilir?</h2>

<table>
  <thead>
    <tr>
      <th>Veri türü</th>
      <th>Yakalanabilecek sinyal</th>
      <th>Örnek kullanım</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Kan testleri</td>
      <td>Küçük biyobelirteç değişimleri</td>
      <td>Diyabet veya böbrek hastalığı riski</td>
    </tr>
    <tr>
      <td>Tıbbi görüntüler</td>
      <td>İnsan gözünün zor seçtiği dokusal örüntüler</td>
      <td>Kanser taraması</td>
    </tr>
    <tr>
      <td>Elektronik kayıtlar</td>
      <td>Tanı, ilaç ve başvuru geçmişi</td>
      <td>Kalp yetmezliği riski</td>
    </tr>
    <tr>
      <td>Giyilebilir cihazlar</td>
      <td>Nabız, uyku ve hareket sapmaları</td>
      <td>Ritim bozukluğu uyarısı</td>
    </tr>
    <tr>
      <td>Genetik veriler</td>
      <td>Kalıtsal yatkınlık</td>
      <td>Bazı kanser türleri</td>
    </tr>
  </tbody>
</table>

<p><img src="/img/belirtilerden-once-alarm-54.svg" alt="belirtilerden-once-alarm-54" /></p>

<p>Tek bir ölçüm yerine zaman içindeki değişim çoğu zaman daha değerlidir. Örneğin nabzın 80 olması tek başına anlamlı olmayabilir; kişinin aylar boyunca 60 civarında seyreden nabzının sürekli 80’e çıkması dikkat çekici olabilir.</p>

<h2 id="basit-bir-risk-modeli">Basit bir risk modeli</h2>

<p>Aşağıdaki örnek, hasta özelliklerinden ikili risk tahmini yapan sade bir Python iş akışıdır:</p>

<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">from</span> <span class="n">sklearn.model_selection</span> <span class="kn">import</span> <span class="n">train_test_split</span>
<span class="kn">from</span> <span class="n">sklearn.preprocessing</span> <span class="kn">import</span> <span class="n">StandardScaler</span>
<span class="kn">from</span> <span class="n">sklearn.pipeline</span> <span class="kn">import</span> <span class="n">make_pipeline</span>
<span class="kn">from</span> <span class="n">sklearn.linear_model</span> <span class="kn">import</span> <span class="n">LogisticRegression</span>
<span class="kn">from</span> <span class="n">sklearn.metrics</span> <span class="kn">import</span> <span class="n">roc_auc_score</span>

<span class="n">X_train</span><span class="p">,</span> <span class="n">X_test</span><span class="p">,</span> <span class="n">y_train</span><span class="p">,</span> <span class="n">y_test</span> <span class="o">=</span> <span class="nf">train_test_split</span><span class="p">(</span>
    <span class="n">X</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">test_size</span><span class="o">=</span><span class="mf">0.2</span><span class="p">,</span> <span class="n">stratify</span><span class="o">=</span><span class="n">y</span><span class="p">,</span> <span class="n">random_state</span><span class="o">=</span><span class="mi">42</span>
<span class="p">)</span>

<span class="n">model</span> <span class="o">=</span> <span class="nf">make_pipeline</span><span class="p">(</span>
    <span class="nc">StandardScaler</span><span class="p">(),</span>
    <span class="nc">LogisticRegression</span><span class="p">(</span><span class="n">class_weight</span><span class="o">=</span><span class="sh">"</span><span class="s">balanced</span><span class="sh">"</span><span class="p">)</span>
<span class="p">)</span>

<span class="n">model</span><span class="p">.</span><span class="nf">fit</span><span class="p">(</span><span class="n">X_train</span><span class="p">,</span> <span class="n">y_train</span><span class="p">)</span>
<span class="n">risk_scores</span> <span class="o">=</span> <span class="n">model</span><span class="p">.</span><span class="nf">predict_proba</span><span class="p">(</span><span class="n">X_test</span><span class="p">)[:,</span> <span class="mi">1</span><span class="p">]</span>
<span class="nf">print</span><span class="p">(</span><span class="sh">"</span><span class="s">ROC-AUC:</span><span class="sh">"</span><span class="p">,</span> <span class="nf">roc_auc_score</span><span class="p">(</span><span class="n">y_test</span><span class="p">,</span> <span class="n">risk_scores</span><span class="p">))</span>
</code></pre></div></div>

<p><code class="language-plaintext highlighter-rouge">StandardScaler</code>, değişkenleri benzer ölçeklere getirir. <code class="language-plaintext highlighter-rouge">class_weight="balanced"</code> ise hasta sayısının sağlıklı bireylerden çok az olduğu dengesiz veri kümelerinde modele yardımcı olur. <code class="language-plaintext highlighter-rouge">predict_proba</code>, kesin bir etiket yerine risk skoru üretir.</p>

<h2 id="başarı-yalnızca-doğruluk-değildir">Başarı yalnızca doğruluk değildir</h2>

<p>Nadir hastalıklarda herkese “sağlıklı” diyen bir model yüksek doğruluk gösterebilir. Bu nedenle farklı ölçütler birlikte değerlendirilmelidir:</p>

<table>
  <thead>
    <tr>
      <th>Ölçüt</th>
      <th>Yanıtladığı soru</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Duyarlılık</td>
      <td>Gerçek hastaların ne kadarı yakalandı?</td>
    </tr>
    <tr>
      <td>Özgüllük</td>
      <td>Sağlıklı kişilerin ne kadarı doğru elendi?</td>
    </tr>
    <tr>
      <td>Kesinlik</td>
      <td>Riskli denilenlerin ne kadarı gerçekten hastalandı?</td>
    </tr>
    <tr>
      <td>ROC-AUC</td>
      <td>Model riskli ve risksiz kişileri ne kadar ayırabiliyor?</td>
    </tr>
    <tr>
      <td>Kalibrasyon</td>
      <td>Yüzde 20 risk verilen grubun gerçekten yaklaşık yüzde 20’si hastalanıyor mu?</td>
    </tr>
  </tbody>
</table>

<p>Tarama sistemlerinde yanlış negatifler tehlikelidir; ancak çok fazla yanlış pozitif de gereksiz testlere, maliyete ve kaygıya yol açabilir. Bu yüzden karar eşiği klinik bağlama göre belirlenmelidir.</p>

<h2 id="peki-gerçekten-mümkün-mü">Peki gerçekten mümkün mü?</h2>

<p>Evet, bazı hastalıklar için belirtilerden önce anlamlı risk tahmini yapılabilir. Fakat veri kalitesi, farklı topluluklarda doğrulama, mahremiyet, algoritmik önyargı ve klinik denetim vazgeçilmezdir. Bir hastanede başarılı olan model, başka bir bölgede aynı sonucu vermeyebilir.</p>

<p>En sağlıklı yaklaşım, makine öğrenmesini doktorun yerine geçen dijital bir kâhin olarak değil, dikkat edilmesi gereken hastaları önceliklendiren bir erken uyarı sistemi olarak görmektir. Nihai tanı; hekim değerlendirmesi, doğrulayıcı testler ve hastanın klinik öyküsüyle konmalıdır.</p>]]></content><author><name>Sonsuz Us</name></author><category term="Bilgi" /><category term="makine öğrenmesi" /><category term="erken teşhis" /><category term="sağlık teknolojileri" /><category term="yapay zeka" /><category term="risk tahmini" /><category term="veri bilimi" /><summary type="html"><![CDATA[Bir hastalığı belirtiler ortaya çıkmadan tahmin etmek bilim kurgu gibi gelebilir. Oysa elektronik sağlık kayıtları, laboratuvar sonuçları, tıbbi görüntüler, genetik veriler ve akıllı saat ölçümleri bir araya geldiğinde makine öğrenmesi önemli risk sinyallerini yakalayabilir. Ancak burada kritik bir ayrım vardır: Model çoğunlukla hastalığa kesin tanı koymaz; belirli bir zaman aralığında hastalığın gelişme olasılığını hesaplar.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://program.sonsuz.us/img/belirtilerden-once-alarm-54.png" /><media:content medium="image" url="https://program.sonsuz.us/img/belirtilerden-once-alarm-54.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">GIS ile Arazi Kullanım Analizi: Şehirler Katmanlarla Nasıl Planlanır?</title><link href="https://program.sonsuz.us/posts/gis-ile-arazi-kullanim-analizi-sehirler-katmanlarla-nasil-planlanir/" rel="alternate" type="text/html" title="GIS ile Arazi Kullanım Analizi: Şehirler Katmanlarla Nasıl Planlanır?" /><published>2026-10-29T00:00:00+00:00</published><updated>2026-10-29T00:00:00+00:00</updated><id>https://program.sonsuz.us/posts/gis-ile-arazi-kullanim-analizi-sehirler-katmanlarla-nasil-planlanir</id><content type="html" xml:base="https://program.sonsuz.us/posts/gis-ile-arazi-kullanim-analizi-sehirler-katmanlarla-nasil-planlanir/"><![CDATA[<p>Bir şehrin nereye doğru büyümesi gerektiğine karar vermek, boş görünen bir araziyi işaretlemekten çok daha karmaşıktır. Zeminin eğimi, ulaşım ağı, nüfus yoğunluğu, tarım alanları, su kaynakları ve afet riskleri aynı anda değerlendirilmelidir. Coğrafi Bilgi Sistemleri (GIS), tüm bu verileri katmanlar hâlinde bir araya getirerek yapılaşma kararlarını ölçülebilir, karşılaştırılabilir ve görsel olarak anlaşılır hâle getirir.
``</p>

<h2 id="katman-mantığı-nedir">Katman mantığı nedir?</h2>

<p>GIS ortamında gerçek dünyanın farklı özellikleri ayrı veri katmanlarında tutulur. Yol ağı bir çizgi katmanı, binalar poligon katmanı, hastaneler nokta katmanı olabilir. Uydu görüntüsü ve yükseklik modeli gibi kesintisiz veriler ise genellikle raster biçimindedir.</p>

<table>
  <thead>
    <tr>
      <th>Veri katmanı</th>
      <th>Tipik veri modeli</th>
      <th>Planlamadaki rolü</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Mevcut binalar</td>
      <td>Vektör-poligon</td>
      <td>Yapı yoğunluğunu gösterir</td>
    </tr>
    <tr>
      <td>Ulaşım ağı</td>
      <td>Vektör-çizgi</td>
      <td>Erişilebilirliği ölçer</td>
    </tr>
    <tr>
      <td>Sayısal yükseklik modeli</td>
      <td>Raster</td>
      <td>Eğim ve bakı üretir</td>
    </tr>
    <tr>
      <td>Taşkın alanları</td>
      <td>Raster veya poligon</td>
      <td>Riskli bölgeleri dışlar</td>
    </tr>
    <tr>
      <td>Tarım ve orman alanları</td>
      <td>Poligon</td>
      <td>Korunacak bölgeleri belirler</td>
    </tr>
    <tr>
      <td>Nüfus yoğunluğu</td>
      <td>Raster veya bölgesel tablo</td>
      <td>Hizmet talebini açıklar</td>
    </tr>
  </tbody>
</table>

<p><img src="/img/gis-ile-arazi-88.svg" alt="gis-ile-arazi-88" /></p>

<p>Bu katmanların birlikte kullanılabilmesi için aynı koordinat referans sistemine dönüştürülmesi gerekir. Örneğin mesafe ve alan hesabı yapılacaksa derece kullanan coğrafi koordinatlar yerine metre tabanlı uygun bir projeksiyon tercih edilmelidir. Aksi hâlde harita güzel görünürken hesaplar sessizce hatalı sonuç verebilir.</p>

<h2 id="uygunluk-modeli-nasıl-kurulur">Uygunluk modeli nasıl kurulur?</h2>

<p>Yeni bir konut bölgesi aradığımızı düşünelim. Düz araziler, ana yollara yakın bölgeler ve mevcut altyapıya erişebilen alanlar avantajlıdır. Taşkın riski yüksek, orman niteliğindeki veya aşırı eğimli bölgeler ise elenmelidir.</p>

<p>Her ölçüt ortak bir ölçeğe, örneğin 0 ile 1 arasına normalize edilebilir. Ardından ağırlıklı doğrusal birleşim uygulanır:</p>

\[S = \sum_{i=1}^{n} w_i x_i\]

<p>Burada $S$ toplam uygunluk puanı, $x_i$ normalize edilmiş ölçüt değeri ve $w_i$ karar vericinin belirlediği ağırlıktır. Ağırlıkların toplamı genellikle $\sum w_i = 1$ olacak şekilde düzenlenir. Örnek olarak eğim için 0,30; ulaşım için 0,25; altyapı için 0,25 ve nüfus talebi için 0,20 kullanılabilir.</p>

<p>Ancak yüksek puan, alanın otomatik olarak imara açılması gerektiği anlamına gelmez. Yasal koruma sınırları gibi kesin kısıtlar ayrı bir maske ile uygulanır:</p>

\[S_{son} = S \times M\]

<p>$M$ değeri yasak bölgelerde 0, değerlendirilebilir bölgelerde 1 olur. Böylece çok erişilebilir olsa bile bir sulak alan sonuç listesinden çıkarılır.</p>

<h2 id="python-ile-basit-bir-mekânsal-eleme">Python ile basit bir mekânsal eleme</h2>

<p>Aşağıdaki GeoPandas örneği, aday parsellerden taşkın alanlarıyla kesişenleri çıkarır ve yollara yakın olanları seçer:</p>

<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">import</span> <span class="n">geopandas</span> <span class="k">as</span> <span class="n">gpd</span>

<span class="n">parseller</span> <span class="o">=</span> <span class="n">gpd</span><span class="p">.</span><span class="nf">read_file</span><span class="p">(</span><span class="sh">"</span><span class="s">aday_parseller.geojson</span><span class="sh">"</span><span class="p">)</span>
<span class="n">yollar</span> <span class="o">=</span> <span class="n">gpd</span><span class="p">.</span><span class="nf">read_file</span><span class="p">(</span><span class="sh">"</span><span class="s">ana_yollar.geojson</span><span class="sh">"</span><span class="p">)</span>
<span class="n">taskin</span> <span class="o">=</span> <span class="n">gpd</span><span class="p">.</span><span class="nf">read_file</span><span class="p">(</span><span class="sh">"</span><span class="s">taskin_alani.geojson</span><span class="sh">"</span><span class="p">)</span>

<span class="c1"># Tüm katmanları metre tabanlı aynı koordinat sistemine getirir.
</span><span class="n">hedef_crs</span> <span class="o">=</span> <span class="sh">"</span><span class="s">EPSG:32636</span><span class="sh">"</span>
<span class="n">parseller</span> <span class="o">=</span> <span class="n">parseller</span><span class="p">.</span><span class="nf">to_crs</span><span class="p">(</span><span class="n">hedef_crs</span><span class="p">)</span>
<span class="n">yollar</span> <span class="o">=</span> <span class="n">yollar</span><span class="p">.</span><span class="nf">to_crs</span><span class="p">(</span><span class="n">hedef_crs</span><span class="p">)</span>
<span class="n">taskin</span> <span class="o">=</span> <span class="n">taskin</span><span class="p">.</span><span class="nf">to_crs</span><span class="p">(</span><span class="n">hedef_crs</span><span class="p">)</span>

<span class="c1"># Ana yolların çevresinde 1000 metrelik erişim bölgesi oluşturur.
</span><span class="n">yol_tamponu</span> <span class="o">=</span> <span class="n">yollar</span><span class="p">.</span><span class="nf">buffer</span><span class="p">(</span><span class="mi">1000</span><span class="p">).</span><span class="nf">union_all</span><span class="p">()</span>

<span class="c1"># Yola yakın ve taşkın alanıyla kesişmeyen parselleri belirler.
</span><span class="n">uygun</span> <span class="o">=</span> <span class="n">parseller</span><span class="p">[</span>
    <span class="n">parseller</span><span class="p">.</span><span class="nf">intersects</span><span class="p">(</span><span class="n">yol_tamponu</span><span class="p">)</span>
    <span class="o">&amp;</span> <span class="o">~</span><span class="n">parseller</span><span class="p">.</span><span class="nf">intersects</span><span class="p">(</span><span class="n">taskin</span><span class="p">.</span><span class="nf">union_all</span><span class="p">())</span>
<span class="p">].</span><span class="nf">copy</span><span class="p">()</span>

<span class="n">uygun</span><span class="p">.</span><span class="nf">to_file</span><span class="p">(</span><span class="sh">"</span><span class="s">uygun_parseller.geojson</span><span class="sh">"</span><span class="p">,</span> <span class="n">driver</span><span class="o">=</span><span class="sh">"</span><span class="s">GeoJSON</span><span class="sh">"</span><span class="p">)</span>
</code></pre></div></div>

<p>Bu işlem yalnızca ilk elemedir. Sonraki aşamada parsel alanı, eğim ortalaması, toplu taşımaya mesafe ve altyapı maliyeti gibi nitelikler puanlanabilir.</p>

<h2 id="harita-kararın-kendisi-değildir">Harita kararın kendisi değildir</h2>

<p>GIS güçlü bir karar destek aracıdır; fakat verinin güncelliği, çözünürlüğü ve kaynağı sonucu doğrudan etkiler. Ayrıca ağırlıklar teknik uzmanlar, yerel yönetimler ve bölge halkıyla birlikte belirlenmelidir. Farklı ağırlık senaryolarını karşılaştıran duyarlılık analizi, hangi kararların sağlam kaldığını gösterir.</p>

<p>Sonuç olarak katmanlı analiz, şehir planlamasını sezgisel bir çizim çalışmasından şeffaf bir değerlendirme sürecine taşır. En iyi harita yalnızca nerede yapılaşılabileceğini değil, neden orada yapılaşmanın daha dengeli olduğunu da açıklayabilen haritadır.</p>]]></content><author><name>Sonsuz Us</name></author><category term="Bilgi" /><category term="gis" /><category term="arazi kullanımı" /><category term="şehir planlama" /><category term="mekânsal analiz" /><category term="python" /><category term="geopandas" /><summary type="html"><![CDATA[Bir şehrin nereye doğru büyümesi gerektiğine karar vermek, boş görünen bir araziyi işaretlemekten çok daha karmaşıktır. Zeminin eğimi, ulaşım ağı, nüfus yoğunluğu, tarım alanları, su kaynakları ve afet riskleri aynı anda değerlendirilmelidir. Coğrafi Bilgi Sistemleri (GIS), tüm bu verileri katmanlar hâlinde bir araya getirerek yapılaşma kararlarını ölçülebilir, karşılaştırılabilir ve görsel olarak anlaşılır hâle getirir.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://program.sonsuz.us/img/gis-ile-arazi-88.png" /><media:content medium="image" url="https://program.sonsuz.us/img/gis-ile-arazi-88.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Prosedürel Zindan Üretimi: Hücresel Otomata mı, BSP mi?</title><link href="https://program.sonsuz.us/posts/prosedurel-zindan-uretimi-hucresel-otomata-mi-bsp-mi/" rel="alternate" type="text/html" title="Prosedürel Zindan Üretimi: Hücresel Otomata mı, BSP mi?" /><published>2026-10-29T00:00:00+00:00</published><updated>2026-10-29T00:00:00+00:00</updated><id>https://program.sonsuz.us/posts/prosedurel-zindan-uretimi-hucresel-otomata-mi-bsp-mi</id><content type="html" xml:base="https://program.sonsuz.us/posts/prosedurel-zindan-uretimi-hucresel-otomata-mi-bsp-mi/"><![CDATA[<p>Bir zindanı elle tasarlamak keyiflidir; yüzüncü zindanı tasarlamak ise insanı duvarlarla konuşmaya başlatabilir. Prosedürel üretim algoritmaları, belirli kurallardan yararlanarak her oyun oturumunda farklı haritalar oluşturur. Hücresel otomata doğal mağaralar üretirken Binary Space Partitioning, yani BSP, düzenli odalar ve koridorlar konusunda parlar. Peki projeniz için hangisini seçmelisiniz?</p>

<p>``</p>

<h2 id="temel-problem-rastgelelik-mi-oynanabilirlik-mi">Temel problem: Rastgelelik mi, oynanabilirlik mi?</h2>

<p>Bir harita $W \times H$ boyutlarında hücrelerden oluşsun. En basit temsil şöyledir:</p>

\[M(x,y) \in \{0,1\}\]

<p>Burada $0$ yürünebilir zemini, $1$ ise duvarı gösterebilir. Algoritmanın görevi yalnızca hücreleri doldurmak değildir; bağlantılı, dengeli ve oyun mekaniğine uygun bir düzen üretmektir. Tam rastgele dağılım çoğunlukla kopuk odalar, erişilemeyen bölgeler ve anlamsız duvar kümeleri doğurur. Bu nedenle kontrollü rastgelelik gerekir.</p>

<h2 id="hücresel-otomata-mağaraların-mimarı">Hücresel otomata: Mağaraların mimarı</h2>

<p>Hücresel otomata önce her hücreyi belirli bir olasılıkla duvar yapar. Ardından komşulara bakarak haritayı birkaç tur yumuşatır. Bir hücrenin sonraki durumu kabaca şöyle tanımlanabilir:</p>

\[M_{t+1}(x,y)=\begin{cases}1, &amp; N_t(x,y) \geq T \\ 0, &amp; N_t(x,y)&lt;T\end{cases}\]

<p>$N_t$, çevredeki duvar sayısını; $T$ ise eşik değerini temsil eder. Örneğin sekiz komşudan en az beşi duvarsa merkez hücre de duvara dönüşür.</p>

<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">import</span> <span class="n">random</span>

<span class="k">def</span> <span class="nf">cellular_step</span><span class="p">(</span><span class="n">grid</span><span class="p">,</span> <span class="n">threshold</span><span class="o">=</span><span class="mi">5</span><span class="p">):</span>
    <span class="n">height</span><span class="p">,</span> <span class="n">width</span> <span class="o">=</span> <span class="nf">len</span><span class="p">(</span><span class="n">grid</span><span class="p">),</span> <span class="nf">len</span><span class="p">(</span><span class="n">grid</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
    <span class="n">result</span> <span class="o">=</span> <span class="p">[[</span><span class="mi">1</span><span class="p">]</span> <span class="o">*</span> <span class="n">width</span> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nf">range</span><span class="p">(</span><span class="n">height</span><span class="p">)]</span>

    <span class="k">for</span> <span class="n">y</span> <span class="ow">in</span> <span class="nf">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">height</span> <span class="o">-</span> <span class="mi">1</span><span class="p">):</span>
        <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="nf">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">width</span> <span class="o">-</span> <span class="mi">1</span><span class="p">):</span>
            <span class="n">walls</span> <span class="o">=</span> <span class="nf">sum</span><span class="p">(</span>
                <span class="n">grid</span><span class="p">[</span><span class="n">y</span> <span class="o">+</span> <span class="n">dy</span><span class="p">][</span><span class="n">x</span> <span class="o">+</span> <span class="n">dx</span><span class="p">]</span>
                <span class="k">for</span> <span class="n">dy</span> <span class="ow">in</span> <span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
                <span class="k">for</span> <span class="n">dx</span> <span class="ow">in</span> <span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
                <span class="nf">if </span><span class="p">(</span><span class="n">dx</span><span class="p">,</span> <span class="n">dy</span><span class="p">)</span> <span class="o">!=</span> <span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
            <span class="p">)</span>
            <span class="n">result</span><span class="p">[</span><span class="n">y</span><span class="p">][</span><span class="n">x</span><span class="p">]</span> <span class="o">=</span> <span class="mi">1</span> <span class="k">if</span> <span class="n">walls</span> <span class="o">&gt;=</span> <span class="n">threshold</span> <span class="k">else</span> <span class="mi">0</span>
    <span class="k">return</span> <span class="n">result</span>
</code></pre></div></div>

<p>Bu fonksiyon tek bir yumuşatma turu uygular. Üç ila altı tur genellikle organik boşluklar oluşturur. Ancak sonuçların bağlantılı olduğu garanti edilmez. Flood fill ile erişilemeyen bölgeleri tespit etmek ve küçük alanları kapatmak gerekebilir.</p>

<h2 id="bsp-düzen-seven-zindan-ustası">BSP: Düzen seven zindan ustası</h2>

<p>BSP, haritayı dikdörtgen bölgelere ayırır. Her bölge yeterince büyükse yatay veya dikey olarak ikiye bölünür. Yaprak bölgelerin içine odalar yerleştirilir; ardından kardeş bölgelerdeki odalar koridorlarla bağlanır.</p>

<p>Bir bölgenin alanı $A=w \cdot h$ olsun. Bölme işlemi, $A$ belirlenen minimum oda alanından büyük olduğu sürece devam eder. En-boy oranına bakmak aşırı ince bölgeleri önler.</p>

<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">def</span> <span class="nf">split</span><span class="p">(</span><span class="n">rect</span><span class="p">,</span> <span class="n">min_size</span><span class="o">=</span><span class="mi">12</span><span class="p">):</span>
    <span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">h</span> <span class="o">=</span> <span class="n">rect</span>
    <span class="k">if</span> <span class="n">w</span> <span class="o">&lt;</span> <span class="n">min_size</span> <span class="o">*</span> <span class="mi">2</span> <span class="ow">and</span> <span class="n">h</span> <span class="o">&lt;</span> <span class="n">min_size</span> <span class="o">*</span> <span class="mi">2</span><span class="p">:</span>
        <span class="k">return</span> <span class="p">[</span><span class="n">rect</span><span class="p">]</span>

    <span class="k">if</span> <span class="n">w</span> <span class="o">&gt;</span> <span class="n">h</span> <span class="ow">and</span> <span class="n">w</span> <span class="o">&gt;=</span> <span class="n">min_size</span> <span class="o">*</span> <span class="mi">2</span><span class="p">:</span>
        <span class="n">cut</span> <span class="o">=</span> <span class="n">random</span><span class="p">.</span><span class="nf">randint</span><span class="p">(</span><span class="n">min_size</span><span class="p">,</span> <span class="n">w</span> <span class="o">-</span> <span class="n">min_size</span><span class="p">)</span>
        <span class="k">return</span> <span class="p">[(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">cut</span><span class="p">,</span> <span class="n">h</span><span class="p">),</span> <span class="p">(</span><span class="n">x</span> <span class="o">+</span> <span class="n">cut</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">w</span> <span class="o">-</span> <span class="n">cut</span><span class="p">,</span> <span class="n">h</span><span class="p">)]</span>

    <span class="k">if</span> <span class="n">h</span> <span class="o">&gt;=</span> <span class="n">min_size</span> <span class="o">*</span> <span class="mi">2</span><span class="p">:</span>
        <span class="n">cut</span> <span class="o">=</span> <span class="n">random</span><span class="p">.</span><span class="nf">randint</span><span class="p">(</span><span class="n">min_size</span><span class="p">,</span> <span class="n">h</span> <span class="o">-</span> <span class="n">min_size</span><span class="p">)</span>
        <span class="k">return</span> <span class="p">[(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">cut</span><span class="p">),</span> <span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span> <span class="o">+</span> <span class="n">cut</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">h</span> <span class="o">-</span> <span class="n">cut</span><span class="p">)]</span>

    <span class="k">return</span> <span class="p">[</span><span class="n">rect</span><span class="p">]</span>
</code></pre></div></div>

<p>Kod, tek bir dikdörtgeni güvenli ölçülerde iki parçaya ayırır. Gerçek üretimde fonksiyon yapraklara özyinelemeli uygulanır; odalar küçültülerek bölge sınırlarından pay bırakılır.</p>

<h2 id="yöntemlerin-karşılaştırması">Yöntemlerin karşılaştırması</h2>

<table>
  <thead>
    <tr>
      <th>Özellik</th>
      <th>Hücresel otomata</th>
      <th>BSP</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Görsel karakter</td>
      <td>Organik ve mağaramsı</td>
      <td>Geometrik ve mimari</td>
    </tr>
    <tr>
      <td>Bağlantı garantisi</td>
      <td>Doğrudan yok</td>
      <td>Koridorlarla kolay</td>
    </tr>
    <tr>
      <td>Parametreler</td>
      <td>Duvar olasılığı, eşik, tur</td>
      <td>Minimum boyut, bölme yönü</td>
    </tr>
    <tr>
      <td>Oda kontrolü</td>
      <td>Düşük</td>
      <td>Yüksek</td>
    </tr>
    <tr>
      <td>Uygun türler</td>
      <td>Roguelike, hayatta kalma</td>
      <td>RPG, taktik, klasik dungeon</td>
    </tr>
    <tr>
      <td>Son işlem ihtiyacı</td>
      <td>Genellikle yüksek</td>
      <td>Genellikle orta</td>
    </tr>
  </tbody>
</table>

<p><img src="/img/prosedurel-zindan-uretimi-30.svg" alt="prosedurel-zindan-uretimi-30" /></p>

<h2 id="hangisini-seçmeli">Hangisini seçmeli?</h2>

<p>Doğal mağaralar, belirsiz görüş hatları ve keşif hissi istiyorsanız hücresel otomata güçlü bir tercihtir. Anahtar odaları, boss alanlarını ve görev rotalarını hassas biçimde konumlandırmanız gerekiyorsa BSP daha öngörülebilir davranır.</p>

<p>İki yöntemi birleştirmek de mümkündür: Önce BSP ile bağlantılı ana odaları kurabilir, ardından bazı bölgelerin içini hücresel otomata ile aşındırabilirsiniz. Böylece BSP’nin oynanabilirlik garantisi ile hücresel otomatanın organik görünümü birleşir. Kısacası en iyi algoritma evrensel değildir; oyununuzun mekânsal ihtiyaçlarını en az son işlemle karşılayan algoritmadır.</p>]]></content><author><name>Sonsuz Us</name></author><category term="Bilgi" /><category term="prosedürel üretim" /><category term="hücresel otomata" /><category term="bsp" /><category term="oyun geliştirme" /><category term="algoritma" /><category term="zindan tasarımı" /><summary type="html"><![CDATA[Bir zindanı elle tasarlamak keyiflidir; yüzüncü zindanı tasarlamak ise insanı duvarlarla konuşmaya başlatabilir. Prosedürel üretim algoritmaları, belirli kurallardan yararlanarak her oyun oturumunda farklı haritalar oluşturur. Hücresel otomata doğal mağaralar üretirken Binary Space Partitioning, yani BSP, düzenli odalar ve koridorlar konusunda parlar. Peki projeniz için hangisini seçmelisiniz?]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://program.sonsuz.us/img/prosedurel-zindan-uretimi-30.png" /><media:content medium="image" url="https://program.sonsuz.us/img/prosedurel-zindan-uretimi-30.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Tıbbi Veri Gizliliği: Şifreleme ve Anonimleştirme Nasıl Çalışır?</title><link href="https://program.sonsuz.us/posts/tibbi-veri-gizliligi-sifreleme-ve-anonimlestirme-nasil-calisir/" rel="alternate" type="text/html" title="Tıbbi Veri Gizliliği: Şifreleme ve Anonimleştirme Nasıl Çalışır?" /><published>2026-10-29T00:00:00+00:00</published><updated>2026-10-29T00:00:00+00:00</updated><id>https://program.sonsuz.us/posts/tibbi-veri-gizliligi-sifreleme-ve-anonimlestirme-nasil-calisir</id><content type="html" xml:base="https://program.sonsuz.us/posts/tibbi-veri-gizliligi-sifreleme-ve-anonimlestirme-nasil-calisir/"><![CDATA[<p>Bir hastane kaydında yalnızca tanı ve tahlil sonuçları bulunmaz; ad, kimlik numarası, genetik özellikler, kullanılan ilaçlar ve hatta psikolojik değerlendirmeler de yer alabilir. Bu bilgiler yanlış ellere geçtiğinde kredi kartı gibi kolayca değiştirilemez. İşte bu nedenle tıbbi verilerin korunması, kapıya güçlü bir kilit takmaktan çok daha fazlasını gerektirir.</p>

<p>``</p>

<h2 id="önce-tehdit-modelini-anlayalım">Önce tehdit modelini anlayalım</h2>

<p>Veri güvenliği planlanırken “Neyi kimden koruyoruz?” sorusu sorulur. Saldırgan dışarıdan sisteme sızan biri olabileceği gibi gereğinden fazla yetkiye sahip bir çalışan veya yanlış yapılandırılmış bir bulut servisi de olabilir.</p>

<p>Tıbbi veriler genellikle üç durumda korunur:</p>

<ul>
  <li><strong>Depolanan veri:</strong> Veritabanı, disk, yedek veya arşiv içindeki kayıtlar.</li>
  <li><strong>Aktarılan veri:</strong> Hastane ile laboratuvar arasında dolaşan bilgiler.</li>
  <li><strong>İşlenen veri:</strong> Bir uygulamanın belleğinde aktif olarak kullanılan kayıtlar.</li>
</ul>

<p>Şifreleme ilk iki durumda oldukça etkilidir. İşlenen veride ise erişim kontrolü, denetim kayıtları ve güvenli çalışma ortamları devreye girer.</p>

<h2 id="şifreleme-veriyi-okunamaz-hâle-getirmek">Şifreleme: Veriyi okunamaz hâle getirmek</h2>

<p>Şifreleme, açık veriyi bir anahtar yardımıyla anlamsız görünen şifreli metne dönüştürür. Basitleştirilmiş biçimiyle:</p>

\[C = E_K(P)\]

<p>Burada $P$ açık tıbbi kayıt, $K$ anahtar, $E$ şifreleme işlemi ve $C$ şifreli çıktıdır. Yetkili taraf aynı veya ilişkili anahtarla veriyi çözer.</p>

<table>
  <thead>
    <tr>
      <th>Yöntem</th>
      <th>Temel özellik</th>
      <th>Sağlık sistemindeki kullanım</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Simetrik şifreleme</td>
      <td>Aynı anahtar kullanılır, hızlıdır</td>
      <td>Veritabanı ve yedek şifreleme</td>
    </tr>
    <tr>
      <td>Asimetrik şifreleme</td>
      <td>Açık ve özel anahtar çifti kullanır</td>
      <td>Anahtar paylaşımı, dijital imza</td>
    </tr>
    <tr>
      <td>TLS</td>
      <td>Aktarım kanalını korur</td>
      <td>Hasta portalı ve laboratuvar bağlantıları</td>
    </tr>
    <tr>
      <td>Hash</td>
      <td>Tek yönlü özet üretir</td>
      <td>Bütünlük kontrolü, parola doğrulama</td>
    </tr>
  </tbody>
</table>

<p><img src="/img/tibbi-veri-gizliligi-10.svg" alt="tibbi-veri-gizliligi-10" /></p>

<p>Şifrelenmiş verinin güvenliği algoritmanın gizli tutulmasına değil, anahtarın korunmasına dayanmalıdır. Anahtarı şifreli verinin yanında düz metin olarak saklamak, kasanın anahtarını kapağına bantlamaya benzer. Üretim sistemlerinde anahtar yönetim servisleri, düzenli anahtar döndürme ve donanımsal güvenlik modülleri tercih edilir.</p>

<h2 id="anonimleştirme-ile-kimliği-ayırmak">Anonimleştirme ile kimliği ayırmak</h2>

<p>Anonimleştirme, bir kişinin makul yöntemlerle yeniden belirlenememesini amaçlar. Ad ve kimlik numarasını silmek tek başına yeterli değildir. Nadir bir hastalık, posta kodu ve doğum tarihi bir araya geldiğinde kişi tekrar bulunabilir.</p>

<p><strong>Takma adlandırma (pseudonymization)</strong> işleminde kimlik, rastgele bir kodla değiştirilir; eşleştirme anahtarı korunduğu sürece işlem geri alınabilir. Gerçek anonimleştirmede ise geri dönüş bağlantısının ortadan kaldırılması hedeflenir.</p>

<table>
  <thead>
    <tr>
      <th>Teknik</th>
      <th>Ne yapar?</th>
      <th>Sınırlaması</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Maskeleme</td>
      <td>Değerin bir bölümünü gizler</td>
      <td>Bağlam kimliği ele verebilir</td>
    </tr>
    <tr>
      <td>Genelleştirme</td>
      <td>Yaşı 47 yerine 40–50 yapar</td>
      <td>Analiz hassasiyeti azalır</td>
    </tr>
    <tr>
      <td>$k$-anonimlik</td>
      <td>Her kaydı en az $k-1$ kayda benzetir</td>
      <td>Hassas değer çeşitliliğini garanti etmez</td>
    </tr>
    <tr>
      <td>Diferansiyel gizlilik</td>
      <td>Sonuçlara kontrollü gürültü ekler</td>
      <td>Gizlilik-doğruluk dengesi gerekir</td>
    </tr>
  </tbody>
</table>

<p>Diferansiyel gizlilikte küçük bir $epsilon$ değeri daha güçlü gizliliği, fakat daha fazla gürültüyü ifade eder. Temel düşünce, tek bir kişinin veri kümesine eklenmesinin istatistiksel sonucu belirgin biçimde değiştirmemesidir.</p>

<h2 id="basit-bir-takma-adlandırma-örneği">Basit bir takma adlandırma örneği</h2>

<p>Aşağıdaki Python kodu hasta numarasını gizli bir anahtarla HMAC özetine dönüştürür. Aynı numara aynı kodu üretir; böylece kayıtlar gerçek kimlik gösterilmeden ilişkilendirilebilir.</p>

<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">import</span> <span class="n">hmac</span>
<span class="kn">import</span> <span class="n">hashlib</span>

<span class="k">def</span> <span class="nf">hasta_kodu</span><span class="p">(</span><span class="n">hasta_no</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">gizli_anahtar</span><span class="p">:</span> <span class="nb">bytes</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
    <span class="n">ozet</span> <span class="o">=</span> <span class="n">hmac</span><span class="p">.</span><span class="nf">new</span><span class="p">(</span>
        <span class="n">gizli_anahtar</span><span class="p">,</span>
        <span class="n">hasta_no</span><span class="p">.</span><span class="nf">encode</span><span class="p">(</span><span class="sh">"</span><span class="s">utf-8</span><span class="sh">"</span><span class="p">),</span>
        <span class="n">hashlib</span><span class="p">.</span><span class="n">sha256</span>
    <span class="p">).</span><span class="nf">hexdigest</span><span class="p">()</span>
    <span class="k">return</span> <span class="n">ozet</span><span class="p">[:</span><span class="mi">16</span><span class="p">]</span>

<span class="n">kod</span> <span class="o">=</span> <span class="nf">hasta_kodu</span><span class="p">(</span><span class="sh">"</span><span class="s">HASTA-1042</span><span class="sh">"</span><span class="p">,</span> <span class="sa">b</span><span class="sh">"</span><span class="s">ornek-gizli-anahtar</span><span class="sh">"</span><span class="p">)</span>
<span class="nf">print</span><span class="p">(</span><span class="n">kod</span><span class="p">)</span>
</code></pre></div></div>

<p>Bu örnek eğitim amaçlıdır. Gerçek sistemlerde anahtar kaynak koduna yazılmaz; güvenli bir kasada tutulur. Ayrıca çıktı kısaltılırken çakışma riski değerlendirilmelidir.</p>

<h2 id="tek-teknoloji-yetmez">Tek teknoloji yetmez</h2>

<p>Sağlık verilerini korumak katmanlı savunma gerektirir: en az ayrıcalık ilkesi, çok faktörlü kimlik doğrulama, erişim kayıtları, yedekleme, sızıntı izleme ve çalışan eğitimi birlikte uygulanmalıdır. Araştırma için yalnızca gerekli alanlar paylaşılmalı, saklama süresi dolan kayıtlar güvenli biçimde silinmelidir.</p>

<p>Kısacası şifreleme veriyi kilitler, anonimleştirme kişiyle arasındaki bağı zayıflatır. Doğru anahtar yönetimi ve yeniden kimliklendirme riskinin düzenli ölçümü olmadan ise bu iki güçlü araç, beyaz önlük giymiş bir güvenlik illüzyonuna dönüşebilir.</p>]]></content><author><name>Sonsuz Us</name></author><category term="Bilgi" /><category term="tıbbi veri" /><category term="veri gizliliği" /><category term="şifreleme" /><category term="anonimleştirme" /><category term="siber güvenlik" /><category term="sağlık teknolojileri" /><summary type="html"><![CDATA[Bir hastane kaydında yalnızca tanı ve tahlil sonuçları bulunmaz; ad, kimlik numarası, genetik özellikler, kullanılan ilaçlar ve hatta psikolojik değerlendirmeler de yer alabilir. Bu bilgiler yanlış ellere geçtiğinde kredi kartı gibi kolayca değiştirilemez. İşte bu nedenle tıbbi verilerin korunması, kapıya güçlü bir kilit takmaktan çok daha fazlasını gerektirir.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://program.sonsuz.us/img/tibbi-veri-gizliligi-10.png" /><media:content medium="image" url="https://program.sonsuz.us/img/tibbi-veri-gizliligi-10.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Afet Anında En Güvenli Yol: Tahliye Rotası Optimizasyonu</title><link href="https://program.sonsuz.us/posts/afet-aninda-en-guvenli-yol-tahliye-rotasi-optimizasyonu/" rel="alternate" type="text/html" title="Afet Anında En Güvenli Yol: Tahliye Rotası Optimizasyonu" /><published>2026-10-28T00:00:00+00:00</published><updated>2026-10-28T00:00:00+00:00</updated><id>https://program.sonsuz.us/posts/afet-aninda-en-guvenli-yol-tahliye-rotasi-optimizasyonu</id><content type="html" xml:base="https://program.sonsuz.us/posts/afet-aninda-en-guvenli-yol-tahliye-rotasi-optimizasyonu/"><![CDATA[<p><img src="/img/afet-aninda-en-29.svg" alt="afet-aninda-en-29" /></p>

<p>Bir deprem ya da sel sırasında en kısa yol, her zaman en güvenli yol değildir. Normalde beş dakikada geçilen bir cadde yıkılmış binalar, yükselen su, yangın veya yoğun insan kalabalığı nedeniyle ölümcül hâle gelebilir. Tahliye rotası optimizasyonu; yol uzunluğunu, tehlike seviyesini, kapasiteyi ve sürekli değişen çevre koşullarını birlikte değerlendirerek insanları güvenli bölgelere yönlendirmeyi amaçlar.
``</p>

<h2 id="şehri-bir-graf-olarak-düşünmek">Şehri bir graf olarak düşünmek</h2>

<p>Algoritmik çözümün temelinde <strong>graf teorisi</strong> bulunur. Bir şehir haritası, düğümler ve kenarlardan oluşan bir graf şeklinde modellenebilir. Kavşaklar, binalar, toplanma alanları ve köprüler birer düğüm; bunları birbirine bağlayan yollar ise kenardır.</p>

<p>Her yolun yalnızca uzunluğu değil, afet koşullarındaki riski de hesaba katılmalıdır. Bir kenarın toplam maliyeti şu şekilde tanımlanabilir:</p>

\[C(e) = \alpha D(e) + \beta R(e) + \gamma T(e) + \delta K(e)\]

<p>Burada $D(e)$ mesafeyi, $R(e)$ tehlike puanını, $T(e)$ tahmini geçiş süresini, $K(e)$ ise kalabalık veya kapasite maliyetini temsil eder. $\alpha$, $\beta$, $\gamma$ ve $\delta$ katsayıları hangi ölçütün daha önemli olduğunu belirler. Örneğin sel sırasında risk katsayısı yükseltilerek su basmış kısa yolların tercih edilmesi engellenebilir.</p>

<table>
  <thead>
    <tr>
      <th>Ölçüt</th>
      <th>Normal navigasyon</th>
      <th>Afet navigasyonu</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Ana hedef</td>
      <td>En kısa veya hızlı yol</td>
      <td>En güvenli uygulanabilir yol</td>
    </tr>
    <tr>
      <td>Yol maliyeti</td>
      <td>Mesafe ve trafik</td>
      <td>Risk, hasar, kapasite ve süre</td>
    </tr>
    <tr>
      <td>Veri değişimi</td>
      <td>Görece yavaş</td>
      <td>Saniyeler içinde değişebilir</td>
    </tr>
    <tr>
      <td>Rota yaklaşımı</td>
      <td>Genellikle tek rota</td>
      <td>Alternatif ve yedek rotalar</td>
    </tr>
    <tr>
      <td>Kritik sonuç</td>
      <td>Gecikme</td>
      <td>Can güvenliği</td>
    </tr>
  </tbody>
</table>

<h2 id="hangi-algoritma-kullanılmalı">Hangi algoritma kullanılmalı?</h2>

<p>Pozitif maliyetli yollar için <strong>Dijkstra algoritması</strong>, başlangıç noktasından en düşük toplam maliyetli rotayı bulabilir. <strong>A*</strong> algoritması ise hedefe olan tahmini uzaklığı sezgisel bilgi olarak kullanır ve büyük haritalarda aramayı hızlandırır. Ancak afet sırasında tek bir kişinin rotasını bulmak yeterli değildir. Binlerce kişinin aynı dar köprüye yönlendirilmesi, teoride güvenli görünen yolu pratikte kullanılamaz hâle getirebilir.</p>

<p>Bu nedenle çoklu tahliye problemlerinde maksimum akış, minimum maliyetli akış ve zaman bağımlı graf modelleri kullanılabilir. Yol kapasitesi doldukça maliyetin yükseltilmesi, algoritmanın insanları farklı güzergâhlara dağıtmasını sağlar.</p>

<p>Aşağıdaki Python örneği, tehlike puanını ve mesafeyi birleştirerek güvenli rotayı hesaplar:</p>

<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">import</span> <span class="n">networkx</span> <span class="k">as</span> <span class="n">nx</span>

<span class="n">G</span> <span class="o">=</span> <span class="n">nx</span><span class="p">.</span><span class="nc">Graph</span><span class="p">()</span>

<span class="c1"># Mesafe kilometre, risk ise 0 ile 10 arasındadır.
</span><span class="n">yollar</span> <span class="o">=</span> <span class="p">[</span>
    <span class="p">(</span><span class="sh">"</span><span class="s">A</span><span class="sh">"</span><span class="p">,</span> <span class="sh">"</span><span class="s">B</span><span class="sh">"</span><span class="p">,</span> <span class="mf">2.0</span><span class="p">,</span> <span class="mi">1</span><span class="p">),</span>
    <span class="p">(</span><span class="sh">"</span><span class="s">B</span><span class="sh">"</span><span class="p">,</span> <span class="sh">"</span><span class="s">D</span><span class="sh">"</span><span class="p">,</span> <span class="mf">2.5</span><span class="p">,</span> <span class="mi">8</span><span class="p">),</span>  <span class="c1"># Hasarlı köprü
</span>    <span class="p">(</span><span class="sh">"</span><span class="s">A</span><span class="sh">"</span><span class="p">,</span> <span class="sh">"</span><span class="s">C</span><span class="sh">"</span><span class="p">,</span> <span class="mf">3.0</span><span class="p">,</span> <span class="mi">2</span><span class="p">),</span>
    <span class="p">(</span><span class="sh">"</span><span class="s">C</span><span class="sh">"</span><span class="p">,</span> <span class="sh">"</span><span class="s">D</span><span class="sh">"</span><span class="p">,</span> <span class="mf">3.0</span><span class="p">,</span> <span class="mi">1</span><span class="p">),</span>
<span class="p">]</span>

<span class="k">for</span> <span class="n">baslangic</span><span class="p">,</span> <span class="n">bitis</span><span class="p">,</span> <span class="n">mesafe</span><span class="p">,</span> <span class="n">risk</span> <span class="ow">in</span> <span class="n">yollar</span><span class="p">:</span>
    <span class="n">maliyet</span> <span class="o">=</span> <span class="n">mesafe</span> <span class="o">+</span> <span class="mi">4</span> <span class="o">*</span> <span class="n">risk</span>
    <span class="n">G</span><span class="p">.</span><span class="nf">add_edge</span><span class="p">(</span><span class="n">baslangic</span><span class="p">,</span> <span class="n">bitis</span><span class="p">,</span> <span class="n">weight</span><span class="o">=</span><span class="n">maliyet</span><span class="p">)</span>

<span class="n">rota</span> <span class="o">=</span> <span class="n">nx</span><span class="p">.</span><span class="nf">shortest_path</span><span class="p">(</span><span class="n">G</span><span class="p">,</span> <span class="sh">"</span><span class="s">A</span><span class="sh">"</span><span class="p">,</span> <span class="sh">"</span><span class="s">D</span><span class="sh">"</span><span class="p">,</span> <span class="n">weight</span><span class="o">=</span><span class="sh">"</span><span class="s">weight</span><span class="sh">"</span><span class="p">)</span>
<span class="n">toplam</span> <span class="o">=</span> <span class="n">nx</span><span class="p">.</span><span class="nf">shortest_path_length</span><span class="p">(</span><span class="n">G</span><span class="p">,</span> <span class="sh">"</span><span class="s">A</span><span class="sh">"</span><span class="p">,</span> <span class="sh">"</span><span class="s">D</span><span class="sh">"</span><span class="p">,</span> <span class="n">weight</span><span class="o">=</span><span class="sh">"</span><span class="s">weight</span><span class="sh">"</span><span class="p">)</span>

<span class="nf">print</span><span class="p">(</span><span class="sh">"</span><span class="s">Güvenli rota:</span><span class="sh">"</span><span class="p">,</span> <span class="sh">"</span><span class="s"> -&gt; </span><span class="sh">"</span><span class="p">.</span><span class="nf">join</span><span class="p">(</span><span class="n">rota</span><span class="p">))</span>
<span class="nf">print</span><span class="p">(</span><span class="sh">"</span><span class="s">Toplam maliyet:</span><span class="sh">"</span><span class="p">,</span> <span class="n">toplam</span><span class="p">)</span>
</code></pre></div></div>

<p>Kodda risk, mesafeden dört kat daha etkili olacak biçimde ağırlıklandırılmıştır. Böylece kısa olmasına rağmen hasarlı köprüden geçen <code class="language-plaintext highlighter-rouge">A-B-D</code> rotası yerine daha uzun fakat güvenli <code class="language-plaintext highlighter-rouge">A-C-D</code> rotası seçilebilir.</p>

<h2 id="dinamik-veriler-neden-önemlidir">Dinamik veriler neden önemlidir?</h2>

<p>Afet haritaları sabit değildir. Deprem artçıları yeni yolları kapatabilir; sel suyu birkaç dakika içinde yükselebilir. Sensörler, uydu görüntüleri, dronlar, belediye verileri ve vatandaş bildirimleri grafın kenar maliyetlerini gerçek zamanlı güncelleyebilir. Bir yol kapanırsa kenar silinir; risk artarsa maliyeti yükseltilir ve rota yeniden hesaplanır.</p>

<p>Yine de sistem yalnızca algoritmadan ibaret değildir. Hatalı sensör verileri doğrulanmalı, internet kesintisine karşı çevrimdışı haritalar hazırlanmalı ve engelli bireyler için erişilebilir rotalar üretilmelidir. Başarılı bir tahliye sistemi, matematiksel olarak iyi bir yol bulmanın yanında belirsizliğe dayanıklı, anlaşılır ve adil olmalıdır. Çünkü afet anında algoritmanın gerçek başarısı birkaç saniye kazanmak değil, mümkün olduğunca çok insanı güvenle hedefe ulaştırmaktır.</p>]]></content><author><name>Sonsuz Us</name></author><category term="Proje" /><category term="algoritma" /><category term="optimizasyon" /><category term="afet yönetimi" /><category term="graf teorisi" /><category term="python" /><category term="yapay zeka" /><summary type="html"><![CDATA[Bir deprem ya da sel sırasında en kısa yol, her zaman en güvenli yol değildir. Normalde beş dakikada geçilen bir cadde yıkılmış binalar, yükselen su, yangın veya yoğun insan kalabalığı nedeniyle ölümcül hâle gelebilir. Tahliye rotası optimizasyonu; yol uzunluğunu, tehlike seviyesini, kapasiteyi ve sürekli değişen çevre koşullarını birlikte değerlendirerek insanları güvenli bölgelere yönlendirmeyi amaçlar.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://program.sonsuz.us/img/afet-aninda-en-29.png" /><media:content medium="image" url="https://program.sonsuz.us/img/afet-aninda-en-29.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Akıllı Ev Ağlarında Mahremiyet ve Veri Güvenliği: Eviniz Sizi Dinliyor mu?</title><link href="https://program.sonsuz.us/posts/akilli-ev-aglarinda-mahremiyet-ve-veri-guvenligi-eviniz-sizi-dinliyor-mu/" rel="alternate" type="text/html" title="Akıllı Ev Ağlarında Mahremiyet ve Veri Güvenliği: Eviniz Sizi Dinliyor mu?" /><published>2026-10-28T00:00:00+00:00</published><updated>2026-10-28T00:00:00+00:00</updated><id>https://program.sonsuz.us/posts/akilli-ev-aglarinda-mahremiyet-ve-veri-guvenligi-eviniz-sizi-dinliyor-mu</id><content type="html" xml:base="https://program.sonsuz.us/posts/akilli-ev-aglarinda-mahremiyet-ve-veri-guvenligi-eviniz-sizi-dinliyor-mu/"><![CDATA[<p>Akıllı hoparlörlerden güvenlik kameralarına, robot süpürgelerden internete bağlı ampullere kadar evlerimiz giderek daha fazla veri üretiyor. Bu cihazlar yaşamı kolaylaştırırken ses kayıtları, görüntüler, hareket bilgileri ve günlük alışkanlıklar gibi oldukça kişisel verileri de işliyor. Dolayısıyla ev ağındaki güvenlik açığı yalnızca internetin yavaşlaması değil, özel hayatın görünür hâle gelmesi anlamına gelebilir.</p>

<p><img src="/img/akilli-ev-aglarinda-39.svg" alt="akilli-ev-aglarinda-39" /></p>

<p>``</p>

<h2 id="akıllı-ev-cihazları-hangi-verileri-toplar">Akıllı ev cihazları hangi verileri toplar?</h2>

<p>Bir cihazın topladığı veri, sunduğu özellikle doğrudan ilişkilidir. Akıllı termostat sıcaklık tercihlerini öğrenirken robot süpürge evin haritasını çıkarabilir. Kapı sensörleri ise evde bulunulan saatlerin tahmin edilmesine yardımcı olabilir. Tek başına önemsiz görünen bu kayıtlar birleştirildiğinde ayrıntılı bir davranış profili ortaya çıkar.</p>

<table>
  <thead>
    <tr>
      <th>Cihaz</th>
      <th>Toplanan veri</th>
      <th>Olası risk</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Akıllı kamera</td>
      <td>Görüntü, ses, hareket</td>
      <td>İzinsiz gözetleme</td>
    </tr>
    <tr>
      <td>Akıllı hoparlör</td>
      <td>Sesli komutlar, arama geçmişi</td>
      <td>Konuşmaların ifşası</td>
    </tr>
    <tr>
      <td>Robot süpürge</td>
      <td>Oda haritası, çalışma saatleri</td>
      <td>Ev düzeninin öğrenilmesi</td>
    </tr>
    <tr>
      <td>Akıllı priz</td>
      <td>Enerji kullanımı, zaman bilgisi</td>
      <td>Günlük rutinin tahmini</td>
    </tr>
    <tr>
      <td>Akıllı kilit</td>
      <td>Giriş-çıkış kayıtları</td>
      <td>Fiziksel güvenlik riski</td>
    </tr>
  </tbody>
</table>

<p>Mahremiyet riski basitçe şu modelle düşünülebilir:</p>

\[R = P \times E \times V\]

<p>Burada $P$ saldırının gerçekleşme olasılığını, $E$ açığa çıkacak verinin miktarını, $V$ ise verinin hassasiyetini temsil eder. Çok güçlü şifrelenen bir sistemde $P$ azalır; cihaz gereksiz veri toplamıyorsa $E$ küçülür. Sağlık veya kamera verileri söz konusu olduğunda ise $V$ doğal olarak yüksektir.</p>

<h2 id="veriler-nasıl-kötüye-kullanılabilir">Veriler nasıl kötüye kullanılabilir?</h2>

<p>En yaygın tehlikelerden biri varsayılan parolaların değiştirilmemesidir. Saldırganlar internete açık cihazları tarayarak bilinen kullanıcı adı ve parola kombinasyonlarını deneyebilir. Güncellenmeyen yazılımlar, güvensiz bulut servisleri ve şifrelenmemiş bağlantılar da diğer giriş kapılarıdır.</p>

<p>Tehlike her zaman dışarıdan gelmez. Üretici firmalar kullanım verilerini reklam, analiz veya ürün geliştirme amacıyla üçüncü taraflarla paylaşabilir. Kullanıcı sözleşmesindeki belirsiz ifadeler, teknik olarak izin verilmiş fakat kullanıcı açısından beklenmeyen veri kullanımlarına yol açabilir.</p>

<h2 id="temel-koruma-katmanları">Temel koruma katmanları</h2>

<p>Güvenli bir akıllı ev, tek bir sihirli ayar yerine katmanlı savunma yaklaşımıyla kurulur.</p>

<ol>
  <li><strong>Varsayılan parolaları değiştirin:</strong> Her cihaz için uzun ve benzersiz parola kullanın.</li>
  <li><strong>Çok faktörlü doğrulamayı açın:</strong> Hesap parolası sızsa bile ikinci bir kontrol katmanı oluşturur.</li>
  <li><strong>Cihazları ayrı ağa alın:</strong> IoT cihazlarını bilgisayar ve telefonlardan ayıran misafir ağı veya VLAN kullanın.</li>
  <li><strong>Güncellemeleri izleyin:</strong> Otomatik güncellemeyi açın; desteği sona ermiş cihazları değiştirin.</li>
  <li><strong>Gereksiz özellikleri kapatın:</strong> Kullanılmayan mikrofonu, uzaktan erişimi ve konum takibini devre dışı bırakın.</li>
  <li><strong>Gizlilik politikasını okuyun:</strong> Verinin nerede saklandığını ve nasıl silinebildiğini kontrol edin.</li>
</ol>

<table>
  <thead>
    <tr>
      <th>Zayıf yaklaşım</th>
      <th>Daha güvenli yaklaşım</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Tüm cihazları aynı Wi-Fi ağına bağlamak</td>
      <td>IoT cihazlarını ayrı ağda tutmak</td>
    </tr>
    <tr>
      <td>Aynı parolayı tekrar kullanmak</td>
      <td>Parola yöneticisiyle benzersiz parola üretmek</td>
    </tr>
    <tr>
      <td>Güncellemeleri ertelemek</td>
      <td>Güvenlik yamalarını otomatik yüklemek</td>
    </tr>
    <tr>
      <td>Sürekli bulut kaydı</td>
      <td>Mümkünse yerel ve şifreli kayıt</td>
    </tr>
  </tbody>
</table>

<h2 id="ağınızdaki-cihazları-kontrol-edin">Ağınızdaki cihazları kontrol edin</h2>

<p>Teknik kullanıcılar, yönlendirici kayıtlarını incelemenin yanında yerel ağdaki aktif cihazları Python ile listeleyebilir. Aşağıdaki örnek, sistemdeki ARP tablosunu göstererek ağa yakın zamanda bağlanmış cihazların IP ve MAC adreslerini görmeye yardımcı olur:</p>

<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">import</span> <span class="n">subprocess</span>

<span class="n">result</span> <span class="o">=</span> <span class="n">subprocess</span><span class="p">.</span><span class="nf">run</span><span class="p">(</span>
    <span class="p">[</span><span class="sh">"</span><span class="s">arp</span><span class="sh">"</span><span class="p">,</span> <span class="sh">"</span><span class="s">-a</span><span class="sh">"</span><span class="p">],</span>
    <span class="n">capture_output</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
    <span class="n">text</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
    <span class="n">check</span><span class="o">=</span><span class="bp">True</span>
<span class="p">)</span>

<span class="nf">print</span><span class="p">(</span><span class="sh">"</span><span class="s">Ağda görülen cihazlar:</span><span class="sh">"</span><span class="p">)</span>
<span class="nf">print</span><span class="p">(</span><span class="n">result</span><span class="p">.</span><span class="n">stdout</span><span class="p">)</span>
</code></pre></div></div>

<p>Bu kod bir güvenlik tarayıcısı değildir; yalnızca envanter çıkarmanın basit başlangıcıdır. Tanımadığınız bir cihaz görürseniz yönlendirici panelinden bağlantıyı engelleyebilir ve Wi-Fi parolanızı yenileyebilirsiniz.</p>

<p>Sonuç olarak akıllı ev güvenliği, cihaz satın alınırken başlamalıdır. Düzenli güncelleme sunan, açık gizlilik politikası bulunan ve yerel veri işleme seçenekleri sağlayan üreticiler tercih edilmelidir. Evinizi akıllandırırken temel ilke şu olmalı: Toplanmayan veri sızdırılamaz, erişilemeyen cihaz kolayca ele geçirilemez.</p>]]></content><author><name>Sonsuz Us</name></author><category term="Bilgi" /><category term="akıllı ev" /><category term="siber güvenlik" /><category term="mahremiyet" /><category term="nesnelerin interneti" /><category term="veri güvenliği" /><category term="iot" /><summary type="html"><![CDATA[Akıllı hoparlörlerden güvenlik kameralarına, robot süpürgelerden internete bağlı ampullere kadar evlerimiz giderek daha fazla veri üretiyor. Bu cihazlar yaşamı kolaylaştırırken ses kayıtları, görüntüler, hareket bilgileri ve günlük alışkanlıklar gibi oldukça kişisel verileri de işliyor. Dolayısıyla ev ağındaki güvenlik açığı yalnızca internetin yavaşlaması değil, özel hayatın görünür hâle gelmesi anlamına gelebilir.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://program.sonsuz.us/img/akilli-ev-aglarinda-39.png" /><media:content medium="image" url="https://program.sonsuz.us/img/akilli-ev-aglarinda-39.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Akıllı Sözleşmeler Bankacılığı Nasıl Değiştirebilir?</title><link href="https://program.sonsuz.us/posts/akilli-sozlesmeler-bankaciligi-nasil-degistirebilir/" rel="alternate" type="text/html" title="Akıllı Sözleşmeler Bankacılığı Nasıl Değiştirebilir?" /><published>2026-10-28T00:00:00+00:00</published><updated>2026-10-28T00:00:00+00:00</updated><id>https://program.sonsuz.us/posts/akilli-sozlesmeler-bankaciligi-nasil-degistirebilir</id><content type="html" xml:base="https://program.sonsuz.us/posts/akilli-sozlesmeler-bankaciligi-nasil-degistirebilir/"><![CDATA[<p>Bir kredi başvurusu yaptığınızı ve banka görevlisi, mesai saati ya da birkaç günlük onay süreci beklemeden paranızın saniyeler içinde hesabınıza geçtiğini düşünün. Üstelik faiz hesabı, teminat kontrolü ve geri ödeme takibi otomatik yürütülüyor. Akıllı sözleşmeler, finans dünyasına tam olarak bu tür programlanabilir işlemler vadediyor.</p>

<p>``</p>

<h2 id="akıllı-sözleşme-nedir">Akıllı sözleşme nedir?</h2>

<p>Akıllı sözleşme, belirli koşullar gerçekleştiğinde önceden tanımlanmış işlemleri otomatik olarak yürüten blokzincir tabanlı bir programdır. Geleneksel sözleşmeler hukuki metinlerle “ne yapılacağını” söylerken akıllı sözleşmeler, uygun şartlar oluştuğunda işlemi doğrudan gerçekleştirir.</p>

<p>Temel mantık oldukça tanıdıktır:</p>

<blockquote>
  <p>Eğer X koşulu gerçekleşirse Y işlemini yap.</p>
</blockquote>

<p>Örneğin bir borçlu, ödeme tarihine kadar gerekli tutarı gönderirse sistem borcu kapatabilir ve teminatı serbest bırakabilir. İşlem kayıtları blokzincire yazıldığı için tarafların aynı veri üzerinde uzlaşması kolaylaşır.</p>

<p>Basit bir kredinin toplam geri ödemesi şöyle modellenebilir:</p>

\[G = A(1 + r \cdot t)\]

<p>Burada $A$ anapara, $r$ faiz oranı, $t$ süre ve $G$ toplam geri ödemedir. Akıllı sözleşme bu hesabı yalnızca göstermekle kalmaz; ödeme geldiğinde bakiyeleri kurallara göre değiştirebilir.</p>

<h2 id="geleneksel-bankacılık-ile-karşılaştırma">Geleneksel bankacılık ile karşılaştırma</h2>

<table>
  <thead>
    <tr>
      <th>Özellik</th>
      <th>Geleneksel sistem</th>
      <th>Akıllı sözleşme tabanlı sistem</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Çalışma zamanı</td>
      <td>Mesai ve kurum altyapısına bağlı</td>
      <td>7/24 çalışabilir</td>
    </tr>
    <tr>
      <td>Aracı ihtiyacı</td>
      <td>Banka, takas kurumu, noter</td>
      <td>Bazı aracılar kodla değiştirilebilir</td>
    </tr>
    <tr>
      <td>İşlem hızı</td>
      <td>Saatler veya günler</td>
      <td>Ağ durumuna göre saniyeler veya dakikalar</td>
    </tr>
    <tr>
      <td>Şeffaflık</td>
      <td>Kayıtlar çoğunlukla kurum içindedir</td>
      <td>Kod ve işlemler incelenebilir</td>
    </tr>
    <tr>
      <td>Hata kaynağı</td>
      <td>İnsan ve yazılım hataları</td>
      <td>Yazılım, veri ve tasarım hataları</td>
    </tr>
    <tr>
      <td>Geri alma</td>
      <td>Kurumsal süreçlerle mümkün olabilir</td>
      <td>Çoğu işlem kolayca geri alınamaz</td>
    </tr>
  </tbody>
</table>

<p><img src="/img/akilli-sozlesmeler-bankaciligi-63.svg" alt="akilli-sozlesmeler-bankaciligi-63" /></p>

<p>Bu tablo, bankaların tamamen ortadan kalkacağı anlamına gelmez. Bankalar kimlik doğrulama, mevzuata uyum, risk değerlendirmesi ve müşteri desteği gibi görevleri sürdürürken operasyonlarının bir bölümünü akıllı sözleşmelere devredebilir.</p>

<h2 id="kodla-çalışan-küçük-bir-emanet-hesabı">Kodla çalışan küçük bir emanet hesabı</h2>

<p>Aşağıdaki Solidity örneği, alıcının parasını teslim koşulu gerçekleşene kadar sözleşmede tutar:</p>

<pre><code class="language-solidity">// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

contract Emanet {
    address public alici;
    address payable public satici;
    bool public tamamlandi;

    constructor(address payable _satici) payable {
        alici = msg.sender;
        satici = _satici;
    }

    function teslimiOnayla() external {
        require(msg.sender == alici, "Yalnizca alici onaylayabilir");
        require(!tamamlandi, "Islem zaten tamamlandi");

        tamamlandi = true;
        satici.transfer(address(this).balance);
    }
}
</code></pre>

<p>Kurucu fonksiyona gönderilen para sözleşmede kilitlenir. <code class="language-plaintext highlighter-rouge">teslimiOnayla</code> çağrıldığında önce çağrıyı yapan kişinin alıcı olup olmadığı kontrol edilir; ardından bakiye satıcıya aktarılır. Böylece basit bir emanet hizmetinin temel davranışı kodlanmış olur. Gerçek kullanımda iade süresi, anlaşmazlık çözümü ve güvenlik kontrolleri de eklenmelidir.</p>

<h2 id="finans-dünyasında-olası-kullanım-alanları">Finans dünyasında olası kullanım alanları</h2>

<p>Akıllı sözleşmeler; otomatik kredi ödemeleri, sigorta tazminatları, uluslararası para transferleri, menkul kıymet takası ve dijital varlık yönetiminde kullanılabilir. Örneğin uçuş gecikme verisini güvenilir bir kaynaktan alan sigorta sözleşmesi, koşul sağlandığında müşteriye otomatik ödeme yapabilir.</p>

<p>Ancak blokzincir dışındaki bilgileri sisteme taşıyan <strong>oracle</strong> servisleri kritik bir risk oluşturur. Kod doğru olsa bile yanlış fiyat veya olay verisi, yanlış ödeme üretebilir. Ayrıca yazılım açıkları, özel anahtar kaybı, ağ ücretleri ve değişen düzenlemeler dikkatle yönetilmelidir.</p>

<h2 id="bankasız-değil-programlanabilir-bankacılık">Bankasız değil, programlanabilir bankacılık</h2>

<p>Akıllı sözleşmelerin en güçlü etkisi bankaları yok etmekten çok finansal süreçleri programlanabilir hâle getirmektir. Mutabakat ve ödeme gibi tekrarlı işlemler otomatikleşirken kurumlar denetim, güvenlik ve müşteri ilişkilerine odaklanabilir. Geleceğin bankası muhtemelen yalnızca kasalar ve hesaplardan değil; denetlenmiş kodlardan, güvenilir veri kaynaklarından ve hukuki kurallarla uyumlu dijital protokollerden oluşacaktır.</p>]]></content><author><name>Sonsuz Us</name></author><category term="Bilgi" /><category term="akıllı sözleşmeler" /><category term="blockchain" /><category term="fintech" /><category term="bankacılık" /><category term="solidity" /><category term="merkeziyetsiz finans" /><summary type="html"><![CDATA[Bir kredi başvurusu yaptığınızı ve banka görevlisi, mesai saati ya da birkaç günlük onay süreci beklemeden paranızın saniyeler içinde hesabınıza geçtiğini düşünün. Üstelik faiz hesabı, teminat kontrolü ve geri ödeme takibi otomatik yürütülüyor. Akıllı sözleşmeler, finans dünyasına tam olarak bu tür programlanabilir işlemler vadediyor.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://program.sonsuz.us/img/akilli-sozlesmeler-bankaciligi-63.png" /><media:content medium="image" url="https://program.sonsuz.us/img/akilli-sozlesmeler-bankaciligi-63.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Algorithmic Trading: Algoritmalar Finansal Piyasalarda Nasıl İşlem Yapar?</title><link href="https://program.sonsuz.us/posts/algorithmic-trading-algoritmalar-finansal-piyasalarda-nasil-islem-yapar/" rel="alternate" type="text/html" title="Algorithmic Trading: Algoritmalar Finansal Piyasalarda Nasıl İşlem Yapar?" /><published>2026-10-28T00:00:00+00:00</published><updated>2026-10-28T00:00:00+00:00</updated><id>https://program.sonsuz.us/posts/algorithmic-trading-algoritmalar-finansal-piyasalarda-nasil-islem-yapar</id><content type="html" xml:base="https://program.sonsuz.us/posts/algorithmic-trading-algoritmalar-finansal-piyasalarda-nasil-islem-yapar/"><![CDATA[<p>Finansal piyasalarda fiyatlar saniyeler içinde değişirken insan gözü grafiklere, haberlere ve kahve fincanına aynı anda yetişemez. Algorithmic trading, yani algoritmik işlem, önceden tanımlanmış kuralları kullanarak piyasa verilerini analiz eden ve otomatik biçimde emir gönderen sistemlerin genel adıdır. Buradaki amaç geleceği sihirli şekilde bilmek değil; ölçülebilir bir fikri hızlı, tutarlı ve test edilebilir bir sürece dönüştürmektir.</p>

<p>``</p>

<h2 id="temel-çalışma-mantığı">Temel çalışma mantığı</h2>

<p>Bir işlem algoritması genellikle dört aşamadan oluşur: veri toplama, sinyal üretme, risk kontrolü ve emir yürütme. Sistem önce fiyat, işlem hacmi, emir defteri veya ekonomik gösterge gibi verileri alır. Ardından bu verilerden alım ya da satım sinyali çıkarır. Risk motoru pozisyon büyüklüğünü sınırlar; yürütme katmanı ise emri borsaya iletir.</p>

<p>Basit bir hareketli ortalama stratejisinde kısa dönem ortalaması uzun dönem ortalamasını geçtiğinde alım sinyali üretilebilir:</p>

\[SMA_n(t)=\frac{1}{n}\sum_{i=0}^{n-1}P_{t-i}\]

<p>Burada $P_t$ ilgili zamandaki fiyatı, $n$ ise incelenen dönem sayısını gösterir. Örneğin $SMA_{10} &gt; SMA_{50}$ olduğunda algoritma yükseliş eğilimi varsayabilir. Ancak bu yalnızca bir hipotezdir; kesin kazanç garantisi değildir.</p>

<table>
  <thead>
    <tr>
      <th>Yaklaşım</th>
      <th>Temel fikir</th>
      <th>Güçlü yanı</th>
      <th>Başlıca riski</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Trend takibi</td>
      <td>Mevcut yönün süreceğini varsayar</td>
      <td>Güçlü trendlerde etkilidir</td>
      <td>Yatay piyasada sık hata</td>
    </tr>
    <tr>
      <td>Ortalama dönüş</td>
      <td>Fiyatın ortalamaya yaklaşmasını bekler</td>
      <td>Aşırı hareketleri değerlendirebilir</td>
      <td>Yeni trendi yanlış yorumlayabilir</td>
    </tr>
    <tr>
      <td>Arbitraj</td>
      <td>Benzer varlıkların fiyat farkını kullanır</td>
      <td>Piyasa yönüne daha az bağımlıdır</td>
      <td>Fark çok hızlı kapanabilir</td>
    </tr>
    <tr>
      <td>Piyasa yapıcılık</td>
      <td>Alış ve satış fiyatı sunar</td>
      <td>Fiyat farkından gelir hedefler</td>
      <td>Envanter ve ani hareket riski</td>
    </tr>
  </tbody>
</table>

<h2 id="sinyalden-gerçek-emre">Sinyalden gerçek emre</h2>

<p>Doğru sinyal üretmek tek başına yeterli değildir. Algoritma piyasa emri verdiğinde hızlı gerçekleşme elde eder, fakat beklenenden kötü bir fiyatla karşılaşabilir. Limit emri fiyatı kontrol eder, ancak hiç gerçekleşmeyebilir. Büyük emirler de piyasayı hareket ettirebilir. Bu nedenle bazı sistemler emri küçük parçalara ayırarak zamana yayar.</p>

<p>Gerçekleşme fiyatı ile karar anındaki beklenen fiyat arasındaki fark <strong>kayma</strong> olarak adlandırılır. Yaklaşık işlem sonucu şöyle modellenebilir:</p>

\[Net\ Getiri = Brüt\ Getiri - Komisyon - Kayma - Vergiler\]

<p>Kâğıt üzerinde başarılı görünen pek çok strateji, bu maliyetler eklendiğinde cazibesini kaybeder.</p>

<h2 id="küçük-bir-python-örneği">Küçük bir Python örneği</h2>

<p>Aşağıdaki kod, kısa ve uzun hareketli ortalamaları karşılaştırarak örnek sinyal üretir. Gerçek para ile emir göndermez; yalnızca stratejinin karar katmanını gösterir.</p>

<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">import</span> <span class="n">pandas</span> <span class="k">as</span> <span class="n">pd</span>

<span class="k">def</span> <span class="nf">sinyal_uret</span><span class="p">(</span><span class="n">fiyatlar</span><span class="p">:</span> <span class="n">pd</span><span class="p">.</span><span class="n">Series</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">pd</span><span class="p">.</span><span class="n">DataFrame</span><span class="p">:</span>
    <span class="n">sonuc</span> <span class="o">=</span> <span class="n">pd</span><span class="p">.</span><span class="nc">DataFrame</span><span class="p">({</span><span class="sh">"</span><span class="s">fiyat</span><span class="sh">"</span><span class="p">:</span> <span class="n">fiyatlar</span><span class="p">})</span>
    <span class="n">sonuc</span><span class="p">[</span><span class="sh">"</span><span class="s">kisa_ortalama</span><span class="sh">"</span><span class="p">]</span> <span class="o">=</span> <span class="n">fiyatlar</span><span class="p">.</span><span class="nf">rolling</span><span class="p">(</span><span class="mi">10</span><span class="p">).</span><span class="nf">mean</span><span class="p">()</span>
    <span class="n">sonuc</span><span class="p">[</span><span class="sh">"</span><span class="s">uzun_ortalama</span><span class="sh">"</span><span class="p">]</span> <span class="o">=</span> <span class="n">fiyatlar</span><span class="p">.</span><span class="nf">rolling</span><span class="p">(</span><span class="mi">50</span><span class="p">).</span><span class="nf">mean</span><span class="p">()</span>

    <span class="n">sonuc</span><span class="p">[</span><span class="sh">"</span><span class="s">sinyal</span><span class="sh">"</span><span class="p">]</span> <span class="o">=</span> <span class="mi">0</span>
    <span class="n">sonuc</span><span class="p">.</span><span class="n">loc</span><span class="p">[</span>
        <span class="n">sonuc</span><span class="p">[</span><span class="sh">"</span><span class="s">kisa_ortalama</span><span class="sh">"</span><span class="p">]</span> <span class="o">&gt;</span> <span class="n">sonuc</span><span class="p">[</span><span class="sh">"</span><span class="s">uzun_ortalama</span><span class="sh">"</span><span class="p">],</span> <span class="sh">"</span><span class="s">sinyal</span><span class="sh">"</span>
    <span class="p">]</span> <span class="o">=</span> <span class="mi">1</span>
    <span class="n">sonuc</span><span class="p">.</span><span class="n">loc</span><span class="p">[</span>
        <span class="n">sonuc</span><span class="p">[</span><span class="sh">"</span><span class="s">kisa_ortalama</span><span class="sh">"</span><span class="p">]</span> <span class="o">&lt;</span> <span class="n">sonuc</span><span class="p">[</span><span class="sh">"</span><span class="s">uzun_ortalama</span><span class="sh">"</span><span class="p">],</span> <span class="sh">"</span><span class="s">sinyal</span><span class="sh">"</span>
    <span class="p">]</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span>

    <span class="k">return</span> <span class="n">sonuc</span>
</code></pre></div></div>

<p>Burada <code class="language-plaintext highlighter-rouge">1</code> alım yönünü, <code class="language-plaintext highlighter-rouge">-1</code> satış yönünü, <code class="language-plaintext highlighter-rouge">0</code> ise kararsız durumu temsil eder. Üretim ortamında veri eksikliği, bağlantı kopması, tekrar gönderilen emirler ve borsa reddi gibi durumlar ayrıca yönetilmelidir.</p>

<h2 id="backtest-neden-yeterli-değildir">Backtest neden yeterli değildir?</h2>

<p>Backtest, stratejiyi geçmiş veriler üzerinde çalıştırır. Fakat geçmişte iyi görünen sonuçlar aşırı uyumdan kaynaklanabilir. Algoritma piyasa davranışını değil, veri setindeki tesadüfleri ezberlemiş olabilir.</p>

<table>
  <thead>
    <tr>
      <th>Test türü</th>
      <th>Amaç</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Eğitim dönemi</td>
      <td>Kuralları ve parametreleri geliştirmek</td>
    </tr>
    <tr>
      <td>Doğrulama dönemi</td>
      <td>Parametre seçimini kontrol etmek</td>
    </tr>
    <tr>
      <td>Test dönemi</td>
      <td>Görülmemiş veride performansı ölçmek</td>
    </tr>
    <tr>
      <td>Paper trading</td>
      <td>Canlı piyasada sanal emirlerle denemek</td>
    </tr>
  </tbody>
</table>

<p>Risk yönetiminde maksimum pozisyon, günlük zarar limiti ve acil durdurma mekanizması bulunmalıdır. Sharpe oranı gibi ölçüler de getiri ile oynaklığı birlikte değerlendirir:</p>

\[Sharpe=\frac{R_p-R_f}{\sigma_p}\]

<p>Sonuç olarak algoritmik işlem; finans, istatistik, yazılım mühendisliği ve operasyon disiplininin birleşimidir. En iyi algoritma en karmaşık olan değil, varsayımları anlaşılır, maliyetleri gerçekçi ve risk sınırları açık olandır. Kod hızlı olabilir; fakat kontrolsüz risk ondan da hızlıdır. Bu içerik yatırım tavsiyesi değil, teknolojik sürecin eğitim amaçlı açıklamasıdır.</p>

<p><img src="/img/algorithmic-trading-algoritmalar-14.svg" alt="algorithmic-trading-algoritmalar-14" /></p>]]></content><author><name>Sonsuz Us</name></author><category term="Bilgi" /><category term="algorithmic trading" /><category term="algoritma" /><category term="finans" /><category term="python" /><category term="borsa" /><category term="nicel analiz" /><summary type="html"><![CDATA[Finansal piyasalarda fiyatlar saniyeler içinde değişirken insan gözü grafiklere, haberlere ve kahve fincanına aynı anda yetişemez. Algorithmic trading, yani algoritmik işlem, önceden tanımlanmış kuralları kullanarak piyasa verilerini analiz eden ve otomatik biçimde emir gönderen sistemlerin genel adıdır. Buradaki amaç geleceği sihirli şekilde bilmek değil; ölçülebilir bir fikri hızlı, tutarlı ve test edilebilir bir sürece dönüştürmektir.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://program.sonsuz.us/img/algorithmic-trading-algoritmalar-14.png" /><media:content medium="image" url="https://program.sonsuz.us/img/algorithmic-trading-algoritmalar-14.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Dijital İkizlerle Kişiselleştirilmiş Tedavi: Hastanın Sanal Kopyası Nasıl Çalışır?</title><link href="https://program.sonsuz.us/posts/dijital-ikizlerle-kisisellestirilmis-tedavi-hastanin-sanal-kopyasi-nasil-calisir/" rel="alternate" type="text/html" title="Dijital İkizlerle Kişiselleştirilmiş Tedavi: Hastanın Sanal Kopyası Nasıl Çalışır?" /><published>2026-10-28T00:00:00+00:00</published><updated>2026-10-28T00:00:00+00:00</updated><id>https://program.sonsuz.us/posts/dijital-ikizlerle-kisisellestirilmis-tedavi-hastanin-sanal-kopyasi-nasil-calisir</id><content type="html" xml:base="https://program.sonsuz.us/posts/dijital-ikizlerle-kisisellestirilmis-tedavi-hastanin-sanal-kopyasi-nasil-calisir/"><![CDATA[<p><img src="/img/dijital-ikizlerle-kisisellestirilmis-14.svg" alt="dijital-ikizlerle-kisisellestirilmis-14" /></p>

<p>Bir tedavinin işe yarayıp yaramayacağını hastaya uygulamadan önce görebildiğimizi düşünün. Dijital ikiz teknolojisi, bir organın veya fizyolojik sistemin verilerle beslenen sanal bir kopyasını oluşturarak bu fikri gerçeğe yaklaştırıyor. Böylece farklı ilaç dozları, cerrahi yaklaşımlar ya da yaşam tarzı değişiklikleri bilgisayar ortamında sınanabiliyor. Kısacası doktorlar, gerçek hastaya dokunmadan önce onun dijital benzeri üzerinde güvenli bir prova yapabiliyor.
``</p>

<h2 id="dijital-ikiz-tam-olarak-nedir">Dijital ikiz tam olarak nedir?</h2>

<p>Dijital ikiz, yalnızca üç boyutlu bir organ modeli değildir. Anatomik yapının yanında kan akışı, elektriksel aktivite, metabolizma ve ilaçlara verilen tepki gibi dinamik süreçleri de temsil eder. Manyetik rezonans görüntüleri, bilgisayarlı tomografi, laboratuvar sonuçları, genetik veriler ve giyilebilir sensör ölçümleri ortak bir modelde birleştirilebilir.</p>

<p>Modelin temelinde matematiksel denklemler bulunur. Örneğin kandaki ilaç yoğunluğunun zamanla değişimi basitleştirilmiş olarak şöyle gösterilebilir:</p>

\[\frac{dC}{dt} = \frac{D}{V} - kC\]

<p>Burada $C$ ilaç konsantrasyonunu, $D$ uygulanan dozu, $V$ dağılım hacmini ve $k$ ilacın vücuttan uzaklaştırılma hızını temsil eder. Hastaya özgü böbrek fonksiyonu veya vücut ağırlığı değiştiğinde bu parametreler güncellenir. Böylece aynı ilacın iki kişide neden farklı sonuçlar doğurabileceği simüle edilir.</p>

<h2 id="sanal-hasta-nasıl-oluşturulur">Sanal hasta nasıl oluşturulur?</h2>

<p>Süreç genellikle dört aşamada ilerler:</p>

<ol>
  <li><strong>Veri toplama:</strong> Görüntüleme, tahlil, sensör ve hasta geçmişi verileri alınır.</li>
  <li><strong>Model kurma:</strong> Organın geometrisi çıkarılır ve fizyolojik kurallar modele eklenir.</li>
  <li><strong>Kalibrasyon:</strong> Simülasyon sonuçları hastanın gerçek ölçümleriyle karşılaştırılır.</li>
  <li><strong>Senaryo denemeleri:</strong> Farklı dozlar ve tedavi seçenekleri sanal ortamda test edilir.</li>
</ol>

<table>
  <thead>
    <tr>
      <th>Geleneksel yaklaşım</th>
      <th>Dijital ikiz yaklaşımı</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Ortalama hasta verilerine dayanabilir</td>
      <td>Hastaya özgü parametreleri kullanır</td>
    </tr>
    <tr>
      <td>Tedavi etkisi uygulamadan sonra gözlenir</td>
      <td>Olası etkiler önceden simüle edilir</td>
    </tr>
    <tr>
      <td>Doz ayarlaması deneme-yanılma içerebilir</td>
      <td>Çok sayıda doz sanal olarak karşılaştırılır</td>
    </tr>
    <tr>
      <td>Sınırlı sayıda senaryo değerlendirilebilir</td>
      <td>Binlerce senaryo hızlıca taranabilir</td>
    </tr>
  </tbody>
</table>

<h2 id="basitleştirilmiş-bir-doz-simülasyonu">Basitleştirilmiş bir doz simülasyonu</h2>

<p>Aşağıdaki Python örneği, farklı dozların kandaki tahmini ilaç yoğunluğunu nasıl değiştirdiğini hesaplar. Gerçek klinik modeller çok daha karmaşıktır; bu kod yalnızca temel mantığı gösterir.</p>

<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">import</span> <span class="n">math</span>

<span class="k">def</span> <span class="nf">konsantrasyon</span><span class="p">(</span><span class="n">doz</span><span class="p">,</span> <span class="n">hacim</span><span class="p">,</span> <span class="n">atilim_hizi</span><span class="p">,</span> <span class="n">saat</span><span class="p">):</span>
    <span class="c1"># Tek doz sonrası üstel azalmayı yaklaşık olarak hesaplar.
</span>    <span class="n">baslangic</span> <span class="o">=</span> <span class="n">doz</span> <span class="o">/</span> <span class="n">hacim</span>
    <span class="k">return</span> <span class="n">baslangic</span> <span class="o">*</span> <span class="n">math</span><span class="p">.</span><span class="nf">exp</span><span class="p">(</span><span class="o">-</span><span class="n">atilim_hizi</span> <span class="o">*</span> <span class="n">saat</span><span class="p">)</span>

<span class="n">hasta</span> <span class="o">=</span> <span class="p">{</span>
    <span class="sh">"</span><span class="s">dagilim_hacmi</span><span class="sh">"</span><span class="p">:</span> <span class="mi">42</span><span class="p">,</span>
    <span class="sh">"</span><span class="s">atilim_hizi</span><span class="sh">"</span><span class="p">:</span> <span class="mf">0.12</span>
<span class="p">}</span>

<span class="k">for</span> <span class="n">doz</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">50</span><span class="p">,</span> <span class="mi">100</span><span class="p">,</span> <span class="mi">150</span><span class="p">]:</span>
    <span class="n">sonuc</span> <span class="o">=</span> <span class="nf">konsantrasyon</span><span class="p">(</span>
        <span class="n">doz</span><span class="p">,</span>
        <span class="n">hasta</span><span class="p">[</span><span class="sh">"</span><span class="s">dagilim_hacmi</span><span class="sh">"</span><span class="p">],</span>
        <span class="n">hasta</span><span class="p">[</span><span class="sh">"</span><span class="s">atilim_hizi</span><span class="sh">"</span><span class="p">],</span>
        <span class="n">saat</span><span class="o">=</span><span class="mi">8</span>
    <span class="p">)</span>
    <span class="nf">print</span><span class="p">(</span><span class="sa">f</span><span class="sh">"</span><span class="si">{</span><span class="n">doz</span><span class="si">}</span><span class="s"> mg için 8. saat: </span><span class="si">{</span><span class="n">sonuc</span><span class="si">:</span><span class="p">.</span><span class="mi">2</span><span class="n">f</span><span class="si">}</span><span class="s"> mg/L</span><span class="sh">"</span><span class="p">)</span>
</code></pre></div></div>

<p>Bu simülasyonda dağılım hacmi ve atılım hızı hastaya göre değiştirilerek kişiselleştirme yapılır. Ardından sonuçlar, hedeflenen güvenli konsantrasyon aralığıyla karşılaştırılabilir. Ancak model çıktısı tek başına tedavi kararı değildir; doktor değerlendirmesi ve klinik kanıt gerekir.</p>

<h2 id="nerelerde-kullanılabilir">Nerelerde kullanılabilir?</h2>

<p>Kalbin dijital ikizi, ritim bozukluğunda elektrotların en uygun konumunu araştırabilir. Tümör modelleri, radyoterapi dozunun sağlıklı dokuya etkisini tahmin edebilir. Akciğer ikizleri ventilatör ayarlarını, damar modelleri ise stent yerleşimini değerlendirebilir. Sürekli sensör verisi geldiğinde ikiz de güncellenir; yani statik bir fotoğraf değil, hastayla birlikte değişen dijital bir yol arkadaşıdır.</p>

<h2 id="güçlü-fakat-kusursuz-değil">Güçlü fakat kusursuz değil</h2>

<p>Eksik veri, hatalı sensörler ve aşırı basitleştirilmiş biyolojik varsayımlar güvenilmez sonuçlar üretebilir. Ayrıca sağlık verilerinin mahremiyeti, algoritmik önyargı ve modelin kararından kimin sorumlu olacağı önemli tartışma alanlarıdır. Bu nedenle dijital ikizler doktorların yerini alan makineler olarak değil, kararlarını sayısal deneylerle destekleyen araçlar olarak görülmelidir.</p>

<p>Gelecekte daha hızlı hesaplama, gelişmiş yapay zekâ ve standartlaştırılmış sağlık verileri sayesinde kişiye özel sanal denemeler yaygınlaşabilir. Belki de reçete yazılmadan önce dijital ikizimiz kısa bir prova yapacak; fakat son sözü yine klinik uzmanlık, etik ilkeler ve gerçek dünya kanıtları söyleyecek.</p>]]></content><author><name>Sonsuz Us</name></author><category term="Bilgi" /><category term="dijital ikiz" /><category term="kişiselleştirilmiş tıp" /><category term="sağlık teknolojileri" /><category term="yapay zeka" /><category term="simülasyon" /><category term="biyoinformatik" /><summary type="html"><![CDATA[Bir tedavinin işe yarayıp yaramayacağını hastaya uygulamadan önce görebildiğimizi düşünün. Dijital ikiz teknolojisi, bir organın veya fizyolojik sistemin verilerle beslenen sanal bir kopyasını oluşturarak bu fikri gerçeğe yaklaştırıyor. Böylece farklı ilaç dozları, cerrahi yaklaşımlar ya da yaşam tarzı değişiklikleri bilgisayar ortamında sınanabiliyor. Kısacası doktorlar, gerçek hastaya dokunmadan önce onun dijital benzeri üzerinde güvenli bir prova yapabiliyor.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://program.sonsuz.us/img/dijital-ikizlerle-kisisellestirilmis-14.png" /><media:content medium="image" url="https://program.sonsuz.us/img/dijital-ikizlerle-kisisellestirilmis-14.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry></feed>