Algoritmik Oyun Kuramı Dersi Ödevler

1. Ödev: Vize Yerine Geçecek Ödev (Orta Seviye Oyun Analizi ve Tasarım)

Bu ödevde, algoritmik oyun kuramı (AGT) kapsamında orta seviye bir oyun örneği seçeceksiniz. Seçtiğiniz oyun hakkında detaylı bilgi verecek, bir blog yazısı hazırlayacak ve oyunun tasarımını yaparak geliştirme ortamını sunacaksınız. Ödevin amacı, oyun kuramının temel kavramlarını (örneğin Nash dengesi, strateji, ödeme matrisi) pratik bir örnek üzerinden anlamak ve belgelemektir.

Adımlar:

  1. Oyun Seçimi: Aşağıdaki orta seviye AGT oyun örneklerinden birini seçin (veya benzer seviye başka bir oyun önerisiyle onay alın):
    • Mahkumun İkilemi (Prisoner's Dilemma): İki oyuncu işbirliği veya ihanet etme seçenekleriyle karşı karşıya; Nash dengesi ihanetle sonuçlanır.
    • Tavuk Oyunu (Chicken Game): İki oyuncu çarpışma riskiyle karşı karşıya; saf strateji dengesi yoktur, karışık stratejilerde denge aranır.
    • Kuruş Eşleştirme (Matching Pennies): İki oyuncu aynı veya farklı tarafı seçer; sıfır toplamlı oyun, Nash dengesi karışık stratejidedir.
    • Vickrey Müzayedesi (Vickrey Auction): İkinci fiyatlı kapalı müzayede; doğruluğu teşvik eder, kazanan en yüksek teklif verendir ancak ikinci en yüksek fiyatı öder.
    • Tıkanıklık Oyunu (Congestion Game): Kaynak paylaşımı, oyuncular rotalarını seçer; olasılıksal oyun, Nash dengesi hesaplanabilir.
  2. Oyun Hakkında Bilgi: Seçtiğiniz oyunun nasıl oynandığına dair detaylı açıklama yapın. Oyuncular kimler, stratejiler neler, ödeme matrisi veya fonksiyonu nasıl? Kim kazanır (Nash dengesi, Pareto optimum vb. kavramlarla açıklayın).
  3. Blog Yazısı: Yukarıdaki bilgileri içeren bir blog yazısı yazın. Yazıyı Medium, GitHub Pages, WordPress veya benzeri bir platforma yükleyin. Yazıda oyunun matematiksel modeli, algoritmik yönleri (örneğin denge hesaplama algoritması) ve gerçek dünya uygulamaları yer alsın. Yazıyı yükledikten sonra bana linkini e-posta (sercan.kulcu@giresun.edu.tr) üzerinden yollayın.
  4. Tasarım: Seçilen oyun için tasarım yapın. UML diyagramları, akış şemaları veya pseudocode ile oyunun yapısını belirtin. Hangi geliştirme ortamı kullanılacak (örneğin Python ile Jupyter Notebook, JavaScript ile web tabanlı)?
  5. Geliştirme Ortamı Sunumu: Tasarımınıza uygun bir geliştirme ortamı hazırlayın (örneğin GitHub reposu ile kod şablonu). Bu ortamı paylaşın ve linkini yollayın.

Teslim Tarihi: 2 Kasım 2025.

Değerlendirme: İçerik kalitesi (%40), blog tasarımı (%30), oyun analizi derinliği (%30).

2. Ödev: Final Yerine Geçecek Ödev (Oyun Geliştirme ve Canlı Uygulama)

Bu ödevde, 1. ödevde seçtiğiniz ve tasarladığınız oyunu geliştirerek canlı bir web uygulamasına dönüştüreceksiniz. Ödevin amacı, AGT kavramlarını yazılımsal olarak uygulamaktır.

Adımlar:

  1. Oyun Geliştirme: 1. ödevdeki tasarımınıza sadık kalarak oyunu kodlayın. Oyuncular (insan veya AI) stratejilerini seçebilsin, sonuçlar hesaplansın (örneğin Nash dengesi otomatik hesaplanabilsin). Kullanılan dil ve kütüphaneler: Python (NetworkX, NumPy), JavaScript (Node.js) vb.
  2. Canlı Uygulama: Geliştirilen oyunu bir web sunucusuna yükleyin (örneğin Heroku, Vercel, GitHub Pages). Uygulama interaktif olsun: Kullanıcılar oyunu oynayabilsin, sonuçları görebilsin.
  3. Link Teslimi: Canlı uygulamanın URL'sini bana e-posta (sercan.kulcu@giresun.edu.tr) üzerinden yollayın. Ayrıca kaynak kodunu GitHub gibi bir platformda paylaşın ve reposu linkini ekleyin.

Teslim Tarihi: 28 Aralık 2025.

Değerlendirme: Uygulama işlevselliği (%50), kod kalitesi (%30), kullanıcı arayüzü (%20).