# Hackenbush
Hackenbush, matematikçi John Horton Conway tarafından icat edilen iki oyunculu bir oyundur. Birbirlerine ve bir "zemin" çizgisine uç noktaları ile bağlı renkli çubukların herhangi bir konfigürasyonunda oynanabilir.


## Oynanış.
Oyun; oyuncuların bir "zemin" çizgisi (genelde, kağıdın veya diğer oyun alanının altındaki yatay bir çizgi) ve her biri zemine doğrudan bir ucu ile veya dolaylı yoldan, başka çubuklar aracılığıyla bağlı çubuklar çizmesiyle başlar. Bir noktada birden fazla çubuk buluşabilir ve bu nedenle toprağa giden birden fazla yol olabilir.
Sıraları geldiğinde, oyuncular istedikleri herhangi bir çubuğu "keser" (siler). Zemine bağlantısı kalmayan diğer çubuklar düşer (silinir). Kombinatoryal oyun teorisinin standart kuralına göre, hamle yapamayan ilk oyuncu, oyunu kaybeder.
Hackenbush tahtaları, sonlu ("sonlu oyun" durumunda) veya sonsuz sayıda ("sonsuz oyun" durumunda) çubuktan oluşabilir. Sonsuz sayıda çubuğun varlığı, oyun teorisinin, yere doğrudan "değen" sadece sonlu sayıda çubuk olması koşuluyla, oyunun sonlu bir süre içinde bitirilebileceği varsayımını ihlal etmez. Sonsuz bir tahtada, tahtanın düzenine bağlı olarak, yere değen sonsuz çubuk olduğu varsayılırsa oyun sonsuza kadar devam edebilir.


### Varyantlar.
Hackenbush'ın orijinal folklor versiyonunda, her oyuncunun istediği her çubuğu kesme hakkı vardır ve bir tarafsız oyun olduğundan, Sprague-Grundy teoremini kullanarak tam bir analiz yapmak nispeten kolaydır. Bu nedenle, Hackenbush'un kombinatoryal oyun teorisini ilgilendiren versiyonları daha karmaşık partizan oyunlardır, yani bir pozisyonda bir oyuncunun yapabileceği hamleler ile sıra diğer oyuncuda olsaydı yapabileceği hamleler her daim aynı olmak zorunda değildir. Bu, iki farklı yolla sağlanabilir:
  - Orijinal Hackenbush: Tüm çubuklar aynı renktedir ve her iki oyuncu tarafından da kesilebilir. Bu, her oyuncunun mevcut pozisyonda aynı hamle seçeneklerine sahip olduğu anlamına gelir.
  - Mavi-Kırmızı Hackenbush : Her bir çubuk ya kırmızı ya da mavi renklidir. Bir oyuncunun (genellikle birinci veya soldaki oyuncu) yalnızca mavi çubukları kesmesine izin verilirken diğer oyuncunun (genellikle ikinci veya sağdaki oyuncu) yalnızca kırmızı çubukları kesmesine izin verilir.
  - Mavi-Kırmızı-Yeşil Hackenbush : Her bir çubuk kırmızı, mavi veya yeşil renklidir. Temel kuralları mavi-kırmızı Hackenbush ile aynıdır ancak ek olarak her iki oyuncunun da kesebildiği yeşil çubuklar vardır.
Mavi-kırmızı Hackenbush, aslında mavi-kırmızı-yeşil Hackenbush'ın özel bir durumudur, ancak analiz edilmesi genellikle çok daha basit olduğu için ayrı olarak belirtilmeye değer. Bunun nedeni, mavi-kırmızı Hackenbush'ın bir "soğuk oyun" olmasıdır, bu da oyuna başlamanın hiçbir zaman avantajlı olmayacağı anlamına gelir.


## Analiz.
Hackenbush, "Sayılar ve Oyunlar" ve "Matematik Oyunlarınız için Kazanma Yolları" kitaplarında kullanılmasının ardından, sıklıkla kombinatoryal oyun teorisindeki tanımları ve kavramları göstermek için örnek bir oyun olarak kullanılmıştır. Mavi-Kırmızı Hackenbush gerçeküstü sayılar oluşturmak için kullanılabilir: sonlu Mavi-Kırmızı Hackenbush tahtaları ikili rasyonel sayılar oluşturabilirken, sonsuz Mavi-Kırmızı Hackenbush tahtaları gerçek sayıları, sıral sayıları ve hiçbirine dahil olmayan daha birçok sayıyı oluşturur. Mavi-Kırmızı-Yeşil Hackenbush ise yıldız ve diğer "minberler" gibi reel sayı olmayan değerlere sahip oyunları oluşturmakta kullanılabilir.
Oyunun ileri analizi; oyun tahtasını bir düğümler ve yollar bütünü olarak düşünüp, zeminden her düğüme giden yol incelenip, çizge teorisi kullanılarak yapılabilir. (Zemin çizgisi Hackenbush tahtasındaki gibi bir çizgi yerine özel bir düğüm olarak ele alınabilir.)
Hackenbush'ın tarafsız versiyonunda (oyunculara özel renkler olmayan), oyunu birkaç durum halinde analiz ederek nim yığınları olarak görebiliriz. Bu durumlar dikey, yakınsak ve ıraksaktır. Dikey çubuklardan oluşan yığınlara bambu sapları adı da verilir ve bu şekildeki yığınlar doğrudan Nim olarak analiz edilebilir. Iraksak yığınlar veya diğer adıyla ağaçlar birbirlerinden ayrıldıkları bölgeden itibaren ele alınır ve bu noktadan itibaren uzunluklarının nim toplamına eşit tek bir bambu sapı ile değiştirilebilirler. Bu ilkeye kolon prensibi adı verilir. Diğer bir yığın çeşidi de yakınsak yani belli bir noktada birleşen dallar içindir. Füzyon ilkesini kullanarak, herhangi bir döngüdeki tüm köşelerin grafiğin değerini değiştirmeden birbirine kaynaşabileceğini söyleyebiliriz. Bu nedenle, herhangi bir yakınsak grafik, basit bir bambu sapı grafiği olarak da yorumlanabilir. Üç tür kümeyi bir araya getirerek, oyunun nim toplamını hiç değiştirmeden oyunu karmaşıklaştırabilir, böylece Nim stratejilerinin oyunda yer almasını sağlayabiliriz.


## Kolon İlkesinin Kanıtı.
Kolon İlkesi, aynı noktadan çıkan dalların tümü yerine, hepsinin nim toplamına eşit tek bir dal koyulabileceğini söyler. "G" bir ağaç olsun, G üzerinde bir "x" noktası seçelim. "G1" = "G x" : "H 1" ve "G 2" = "Gx" : "H2"... olmak üzere alt ağaçlar seçelim. "Gx" : "Hi" "," ifadesi de "x" noktasından çıkan bir "Hi" ağacı anlamına gelsin. Bir oyuncu herhangi bir. "Gi" "," ağacında toplam nim değerini azalacak bir hamle yapabilir, bu durum ağaçların toplam nim değerine sahip tek bir çubuk için de geçerlidir. Yani bu durum kolon ilkesine ters düşmez. Bir oyuncu herhangi bir ağacın değerini azaltacak ama toplam değeri arttıracak şekilde bir hamle yapabilir. Bu duruma bir örnek: *2 + *3 (=*1) şeklindeki bir oyunda yapılabilecek *2 + *1 (=*3) hamlesidir. bu durumda N oyunundan *M oyununa yapılacak bir hamle; "M >= N olmak üzere *M den *N'e hamle bulunur" kuralına dayanarak geri alınabilir, yani sonuç başlangıç değeri ile aynı olur, bu yüzden *M hamlesi hiç yapılamıyormuş gibi düşünülebilir. Rakibin bu hamleyi geri çevirmek yerine farklı bir pozisyon oluşturarak kendisi için daha avantajlı bir durum elde etme olasılığı var ise, *N den *M'e yapılacak hamle verimsiz bir hamledir ve oyun teorisinin: "oyuncular her zaman en ideal hamleleri yapar" kuralına ters düşer, bu yüzden benzer şekilde bu hamle yok kabul edilebilir. Bu kurallar göz önünde bulundurulduğunda "x" noktasında yapılacak hamlelerin sadece *N'den *K'ye K<=M koşulunu sağlayan hamleler olduğunu görebiliriz. Bu durum *N değerini taşıyan tek bir sap için de geçerli olduğundan kolon ilkesi ile yapılan hiçbir değişimin aslında oyun değerine etki etmediğini görebiliriz