Bir kedi ile yüksek bir binada olduğunuzu düşünün. Kedi düşük katlı bir pencereden düşerek hayatta kalabilir, ancak yüksek bir yerden atılırsa ölecektir. En az sayıda denemeyi kullanarak kedinin hayatta kalabileceği en uzun damlayı nasıl anlayabilirsiniz?
Açıkçası, sadece bir kediniz varsa, sadece doğrusal olarak arama yapabilirsiniz. İlk önce kediyi birinci kattan atın. Hayatta kalırsa, ikincisinden atın. Sonunda, f katından atıldıktan sonra kedi ölecek. Daha sonra biliyorsunuz ki f-1 katı maksimum güvenli zemin.
Peki ya birden fazla kediniz varsa? Artık bir çeşit logaritmik aramayı deneyebilirsiniz. Yapının 100 katlı olduğunu ve iki özdeş kedinizin olduğunu varsayalım. İlk kediyi 50. kattan atarsanız ve ölürse, o zaman sadece 50 kat doğrusal olarak arama yapmanız gerekir. İlk denemeniz için bir alt kat seçerseniz daha da iyisini yapabilirsiniz. Diyelim ki bir seferde 20 kat sorunu çözmeyi seçtiniz ve ilk ölümcül kat # 50. Bu durumda, ilk kediniz 60. kattan ölmeden önce 20 ve 40. katlardaki uçuşlarda hayatta kalacaktır. 41'den 49'a kadar olan katları tek tek kontrol etmeniz yeterlidir. Bu, toplam 12 denemedir, ki bu, ikili elemeyi kullanmaya çalışsaydınız, ihtiyacınız olan 50'den çok daha iyidir.
Genel olarak, en iyi strateji nedir ve 2 kedili n katlı bir bina için en kötü durum karmaşıklığı nedir? N kat ve m kediler için ne dersiniz?
Tüm kedilerin eşdeğer olduğunu varsayın: hepsi belirli bir pencereden düşerek hayatta kalacak veya ölecek. Ayrıca, her girişim bağımsızdır: bir kedi bir düşüşten kurtulursa, tamamen zarar görmez.
Bu ev ödevi değil, bir kez okul ödevi için çözmüş olabilirim. Bugün kafamda ortaya çıkan tuhaf bir problem ve çözümü hatırlamıyorum. Bu sorunun veya çözüm algoritmasının adını bilen bonus puanları.