Apakah ada beberapa bentuk matematika tertutup (atau agak asimtotik yang ketat) untuk "Google Eggs Puzzle"?

8

Deskripsi singkat berikut tentang "Puzzle Telur Google" yang diketahui terutama berasal dari situs web Google Eggs :

Google Eggs Puzzle: Diberikan pada lantai dan telur, apa pendekatan untuk menemukan lantai tertinggi dari mana telur dapat dilemparkan dengan aman, sambil meminimalkan lemparan (bukan telur yang pecah).

Yang disebut "lantai tertinggi" dalam masalah di atas layak mendapatkan definisi yang lebih formal:

"tertinggi:" harus ada lantai f (dalam setiap bangunan yang cukup tinggi) sehingga telur turun dari f th lantai istirahat, tapi satu turun dari ( f-1 ) lantai st tidak akan. Lalu, f-1 di sini adalah lantai tertinggi.

Sebenarnya, deskripsi "tertinggi" adalah kutipan dari buku "Manual Algoritma Desain (Edisi Kedua)" oleh Steven S. Skiena. Menjadi latihan dalam Bab 8 "Pemrograman Dinamis", ada banyak sumber daya di Web yang ditujukan untuk memecahkan teka-teki dengan cara pemrograman dinamis, seperti Google Eggs dan The Two Egg Problem .

Namun, ada pertanyaan dari buku di atas:

E(n,m)=Θ(n1m)E()

Ini adalah pertanyaan yang memotivasi masalah saya:

E(n,m)=Θ(n1m)

Hengxin
sumber
4
mm=lognΘ(minkmkn1/k)mlognm
Θ(minkmkn1k)kkn1k
Saya bisa mencoba menjelaskan maknanya, tapi agak lama jadi saya akan mempostingnya sebagai jawaban.
Robin Kothari

Jawaban:

8

Dengan pengukuran m telur dan k, sebagian besar lantai yang dapat diperiksa adalah persis (mungkin tergantung pada def yang tepat). Bukti sepele oleh induksi. Ekspresi ini tidak memiliki bentuk terbalik terbalik tetapi memberikan asimptotik yang baik.

n(m,k)=(k0)+(k1)++(km),
±1
domotorp
sumber
4
Hanya membuat sketsa strategi menjatuhkan sedikit saja akan membuat jawabannya lebih lengkap. Mungkin itu tidak tepat, karena saya kira itu bukan tingkat penelitian. Bagaimanapun, dengan 2 telur, Anda dapat melewatkan lantai pada drop pertama Anda, dan jika tidak pecah, lewati , dan jika tidak pecah lewati , dll. Yang menghasilkan sebagai lantai tertinggi yang bisa Anda jangkau menggunakan strategi ini. kk1k2k(k+1)/2
Joe
@domotorp Tampaknya konstruktif untuk memeriksa puzzle dari perspektif yang baru saja Anda tunjukkan. Dan persamaan tentang dapat dibuktikan dengan induksi pada dan . Meskipun tidak ada bentuk tertutup yang jelas untuk sisi kanan persamaan ini, dapatkah ia memberikan ekspresi asimptotik ? n(m,k)mkk(n,m)=Θ(n1m)
hengxin
2
@ Hengxin, yesish, karena adalah polinomial dalam dari derajat , jadi ini menunjukkan bahwa memegang konstanta memberi . Tapi lihat komentar Robin pada pertanyaan itu. Pertanyaan yang lebih menarik adalah apakah ungkapan yang tepat ini memungkinkan ikatan yang lebih tepat dengan memperkirakan ekor binomial misalnya dengan erf. (km)kmmn(m,k)=Θ(km)
Peter Taylor
2

Dalam komentar saya di atas saya katakan mungkin adalah ikatan yang ketat. Saya tidak yakin tentang batas bawah, tetapi karena Anda hanya ingin penjelasan untuk arti , saya bisa menjelaskan intuisi menggunakan batas atas.Θ(minkmkn1k)k

Seperti yang Anda tebak, adalah jumlah telur yang sebenarnya digunakan. Itu menjelaskan di luar. Sekarang setelah kita memutuskan untuk menggunakan telur, inilah strategi yang berfungsi: Pikirkan angka sebagai yang dituliskan di pangkalan . Jadi representasi akan memiliki "digit" (kata "digit" biasanya dicadangkan untuk basis 10, tetapi saya akan menggunakannya di sini), dan setiap digit memiliki nilai dari 0 hingga . Dengan telur kami , kami mencoba mengekstraksi digit satu per satu. Pertama kita mulai dengan digit paling signifikan. Ini bisa ditentukan dengan melempar sebutir telur dari lantai bernomorkminknn1/knkn1/k1kn100..00 , , dan seterusnya. Setelah paling banyak melempar, kami telah belajar apa bit yang paling signifikan, dan dalam kasus terburuk kami hanya mematahkan 1 butir telur. Sekarang kita lakukan ini untuk semua digit lainnya. Karena ada digit , kita membutuhkan lemparan .200..00n1/k1kO(kn1/k)

Sebagai pemeriksaan kewarasan, amati bahwa ketika , strategi ini bermuara pada menjatuhkan telur dari setiap lantai satu per satu mulai dari lantai 1. Ketika , kami hanya bekerja di basis 2. Jadi ini menghasilkan algoritma pencarian biner.k=1k=logn

Robin Kothari
sumber
1
Fitur menarik dari solusi domotorp, tidak seperti solusi Anda, adalah bahwa ia tidak memerlukan pengetahuan sebelumnya!
Jeffε