Bu soruların özel ve cevaplanabilir olması koşuluyla, ana konu üzerinde sorunlu yazma sorularına meta konusunda oldukça güçlü bir destek bulunmaktadır . Ancak, henüz böyle bir sorumuz yok, bu yüzden suları test edeceğimi düşündüm. Bu soru muhtemelen iyi öznel, kötü öznel bölgelere giriyor , ancak bunun zorlayıcı soruların ne olması gerektiğini düşünüyorum. Hala yüksek kaliteli içerik üretmelerini sağlamak için, lütfen cevaplara vahşi spekülatif fikirler göndermeyin. Aşağıda belirtilen sorunlardan neden kaçındıklarını açıklayın veya ideal olarak geçmişte önerilen tekniği başarıyla kullanan mevcut zorlukları işaret edin.
Bazı optimizasyon zorlukları için, mücadelenin belirlenmesinde serbest bir parametre, optimize edilecek problemin boyutudur. "İyileştirme mücadelesi" ile , cevapların genellikle tam / optimal olması gerektiği ve en zorlu problem boyutunda veya ele alınabilecek en büyük problem boyutunda puanlandırıldığı en hızlı kod türümüz gibi bir şey ifade etmiyorum. sabit bir sürede. Özellikle, altta yatan soruna asgari çözümlerin izin verildiği ve hatta muhtemel olduğu durumlarda zorlukların ve hedefin mümkün olduğu kadar iyi yapmak olduğu anlamına gelir.
Kesinlik uğruna, meşgul kunduz zorluklarını göz önünde bulundurun , ilke olarak bu, bilinen en iyi çözümleri olmayan diğer zorluk türleri için de geçerlidir (burada sadece aşağıda belirtilen sorunları daha kötü hale getirdikleri için yoğun kunduz kullanıyorum). Demek ki, en işlek Brainfuck kunduzunu bulmak için bir meydan okuma yapmak istedim. Meşgul kunduz problemlerinde serbest parametre kodun büyüklüğüdür. Bir şekilde kodun boyutuna referans yapmadan zorluğu belirleyemem. Bir şekilde, sorun büyüklüğü parametresinin her değeri N
ayrı (giderek daha zor) bir mücadele verir. Asıl sorum, dengeleme problemlerine girmeden nasıl böyle bir zorlukla başa çıkabileceğim.
Bariz çözüm şu N
şekildedir: " N
Mümkün olduğu kadar çok sayıda karakter basabilen / mümkün olduğu kadar çok sayıda keneye basan, kaynak kod baytlı sonlandırıcı bir Brainfuck programı bulun ." Bu devasa dengeleme sorunları vardır: Ben çok küçük boyutu seçerseniz, birisi hızla bulabiliren yoğun kunduz ve meydan bitti. Boyutu çok büyük seçersem, en uygun çözüm, sonlandırmadan önce astronomik miktarda karakter basar; bu, muhtemelen bu tür programları bulmanın önemsiz olduğu ve zorluğun sabır içinde bir angarya / egzersiz haline geleceği anlamına gelir; yoğun kunduzlar programlı olarak bulunabilir ve bunun yerine insanların sonuçlarının resmi olarak kanıtlamaya başlaması gerekirdi; Tabii ki, bu problem, en uygun çözümlerin büyümesi nedeniyle diğer türlerden daha yoğun kunduz mücadelelerinde daha belirgindir, ancak yine de diğer zorluklar için de geçerlidir.
Bir sonraki seçenek N
sınırsız bırakmak ve onu bir işlev aracılığıyla puanlamanın bir parçası haline getirmek olacaktır. "Normal" zorluklar için bile, birleştirilmiş puanların dengesini doğru bir şekilde elde etmek inanılmaz derecede zordur, ancak yoğun kunduzlar için, en iyi çözümlerin N
herhangi bir hesaplanabilir işlevden daha hızlı büyümesi nedeniyle, esasen imkansızdır . Bu, var olan en iyi cevabı her zaman, yeterince N
uzun bir programa kolayca bulabildiğim ve çok fazla çaba harcamadan daha iyi bir puan alabileceğim bir program bularak bulabildiğim anlamına gelir .
Ayrıca sabit ayarlamayı N
ve insanların N
art arda bağ kırıcı olarak kullanılacak daha büyükler için kunduz göndermelerine izin vermeyi de düşündüm . Bunun da benzer bir sorunu var, çünkü birisinin “eşit derecede iyi bir meşgul kunduz bulması” N
, böylece bir kravat oluşturması ve daha sonra N
büyük bir puan bulmanın daha kolay olduğu bir sonraki için hemen hemen her şeyi göndermesi yeterlidir. optimal puan zorlaşır). Bu gibi durumlarda, aynı çözümü kullanan birden fazla kişiyle nasıl başa çıkacaksınız? Yasaklamak, optimum olması durumunda da garip olurdu.
Belki bir kişi, makul bir seviyede eğitimli bir tahmin yaparak N
ve ardından 5 bayt içindeki tüm boyutlar için yoğun kunduzlar isteyerek bir orta sahaya varabilir N
, böylece her iki yönde de bir miktar boşluk olabilir (ve ardından ~ 10 puanını birleştirirsiniz). tek bir teknikle veya başka bir yöntemle tek) Bu da pek tatmin edici gelmiyor çünkü ilk tahminim N
hala ilginç zorluklar yaratan aralığın dışında olabilir.
TL; DR: Zorluğun, büyüklüğü değişken olan bir problemi (en üst düzeyde çözüp çözmek) olduğu durumlarda, boyutu zorluğa nasıl dahil edebilirim? İdeal olarak, insanların N
izlenebilir boyut aralığının üst sınırına yakın bir değerle çalışabilmesini isterdim . Ancak bunun için optimal çözümlerin mümkün olduğu ortaya N
çıkarsa, biraz daha büyük olan çözümler N
tartılmaya başlarsa, meydan okuma daha ilginç bir problem boyutuyla devam edebilecekse harika olur .