Masalah Super Mario Galaxy


140

Misalkan Mario sedang berjalan di permukaan sebuah planet. Jika dia mulai berjalan dari lokasi yang diketahui, ke arah yang tetap, untuk jarak yang telah ditentukan, seberapa cepat kita dapat menentukan di mana dia akan berhenti?

masukkan deskripsi gambar di sini

PsPvpPP

Psv

PO(1)P

(Dalam praktiknya, panjang jalur sebenarnya tidak terikat; ada batas atas global dalam hal jumlah bit yang diperlukan untuk mewakili input. Tetapi bersikeras pada input integer menimbulkan beberapa masalah numerik yang agak buruk - Bagaimana kita menghitung dengan tepat di mana untuk berhenti? - jadi mari kita tetap berpegang pada input nyata dan menghitung aritmatika nyata.)

Apakah ada yang tidak diketahui tentang kompleksitas masalah ini?

n[0,1]2(0,1/2)(1,0)O(log)nlog


5
Saya memikirkan masalah yang lebih sederhana, yaitu: kami memiliki poligon polos dan seberkas cahaya yang bergerak dari titik tertentu. Ketika mencapai tepi itu baru saja dicerminkan. Kami ingin tahu di mana sinar akan mengakhiri perjalanannya setelah jarak yang diberikan. Itu bisa (hampir) dikurangi menjadi yang satu ini, dengan mengambil polytope yang merupakan prisma dengan ketinggian sangat kecil dengan sisi atas dan bawah dalam bentuk poligon tertentu. Mungkin menyelesaikan ini dulu bisa membantu.
julkiewicz

3
“[T] ime polinomial in n and log l” tidak masuk akal bagi saya. Jika tergantung pada l, itu juga harus bergantung pada koordinat P, dan jika Anda menambahkan log semua angka dalam input, itulah jumlah bit yang diperlukan untuk mewakili input ketika koordinat input dibatasi untuk bilangan bulat. Saya pikir Anda sedang melihat kompleksitas waktu pada RAM nyata ketika input diberikan sebagai string kecil.
Tsuyoshi Ito

4

2
Tidak benar-benar terkait, tetapi makalah ini tentang NP-Kelengkapan Super Mario benar-benar menakjubkan: arxiv.org/pdf/1203.1895v1.pdf
Lamine

10
"Mungkin itu sebabnya nilainya sangat tinggi," kata seseorang yang benar-benar apatis tentang teori kompleksitas.
Jeffε

Jawaban:


7

Masalah ini sangat sangat sulit. Kita bisa menyederhanakannya agar lebih mudah, sebagai berikut.

  1. Pπ

  2. Kita dapat mengasumsikan bahwa polytope tidak benar-benar tiga dimensi, tetapi sebaliknya adalah "ganda" dari sebuah poligon; ini terlihat seperti sarung bantal. Kita dapat menyederhanakan lebih jauh dan mengira bahwa poligon memiliki sisi yang sama dan sejajar; misalnya bujur sangkar, seperti pada game Astroids.

O(log())

Jika kita tidak menganggap rasionalitas, tetapi berasumsi bahwa polytope adalah dobel poligon, maka kita sedang mendiskusikan teori "memotong urutan dalam biliar irasional". Tampaknya pada dasarnya tidak ada yang diketahui di sini; misalnya, lihat kalimat terakhir dari ceramah ini oleh Corinna Ulcigrai.

Jika kita tidak membuat asumsi, well, saya tidak bisa memikirkan apa pun dalam literatur.

O(log())


0

Saya pikir Anda bisa melakukan yang lebih baik daripada linear. Saya baru mengenal ilmu komputer teoretis, jadi maafkan saya jika ini adalah sampah.

Beberapa gagasan umum (dengan nilai bervariasi):

  • Jika kita memberi masing-masing segi simbol, orbit Mario di atas mereka dapat digambarkan sebagai string, di mana simbol terakhir dalam string adalah jawabannya.
  • Kita dapat mengasumsikan tanpa kehilangan keumuman bahwa Mario mulai di tepi (hanya berjalan mundur dan memperpanjang l ke tepi)
  • Ruang 2D dari posisi awal dan sudut dapat dipartisi dengan tepi berikutnya. Jadi mulai dari tepi a, x unit dari bawah, dengan sudut a, kita berakhir di tepi V setelah melewati satu sisi.
  • Pada titik itu kita berada di tepi lain dengan orientasi lain, sehingga kita dapat memanggil fungsi secara rekursif untuk membagi ruang menjadi partisi dari string 2-simbol dan seterusnya.
  • Pada titik ini kita selesai jika kita mengatakan bahwa ruang tersebut harus didiskritisasi agar masalah dapat diimplementasikan pada TM. Itu berarti bahwa setiap orbit harus periodik karena hanya ada banyak titik di planet yang telah didiskritisasi. Kami dapat menghitung fungsi yang dijelaskan di atas sampai kami memiliki orbit untuk semua titik awal dan menyimpan informasi ini. Maka masalahnya menjadi O (1).
  • Mungkin itu sedikit masalah. Beberapa googling memberi tahu saya bahwa hampir semua orbit biliar di dalam poligon cembung rasional bersifat periodik (mis. Orbit periodik padat). Jadi untuk planet-planet persegi katakanlah pendekatan yang sama mungkin berhasil.
  • Pendekatan lain adalah dengan mempertimbangkan sistem sebagai generator / pengenal string (sekali lagi dengan menetapkan masing-masing segi simbolnya sendiri). Jika bahasa tersebut memiliki kelas kompleksitas yang diketahui, itulah jawaban Anda. Jika Anda memperluas keluarga polytopes menjadi non-cembung dan dimensi apa pun, Anda dapat menangkap kelas bahasa yang sangat luas.

Ini sebenarnya bukan jawaban, tetapi saya harus kembali bekerja. :)


10
"Pada titik ini kita selesai jika kita mengatakan bahwa ruang harus didiskritisasi untuk masalah yang akan diterapkan pada TM. Itu berarti bahwa setiap orbit harus periodik karena hanya ada banyak titik di planet yang didiskritisasi." Anda baru saja menghancurkan bagian yang menarik dari masalah. Saya tidak ingin menganggap inputnya diskrit; Saya ingin memecahkan masalah terus menerus yang sebenarnya, meskipun ini membutuhkan komputer yang ideal yang dapat melakukan aritmatika nyata yang tepat dalam waktu yang konstan. Secara khusus, jalur Mario tidak perlu menyentuh titik.
Jeff

Saya pikir itu terlalu mudah. Anda bisa melakukan versi kontinu pada mesin yang terbatas, selama titik awal dan planet dapat dijelaskan secara halus. Anda bisa mewakili jalur secara simbolis (gaya matematika). Anda hanya perlu mengevaluasi batas-batas tertentu untuk menemukan sisi mana Anda berakhir. Jika Anda dapat membuktikan bahwa jalan hampir pasti periodik (seperti untuk biliar pada poligon cembung rasional), Anda masih dapat menerapkan trik yang sama, tetapi hasilnya tidak akan sangat praktis.
Peter

12
Sayangnya, geodesik generik pada polyhedra generik tidak periodik. (Khususnya, poligon generik tidak rasional.)
Jeffε

Anda (Peter), saya kira, mengacu pada makalah "Orbit biliar periodik padat dalam poligon rasional". Ini tidak berarti bahwa jalur periodik adalah generik dalam poligon rasional. Pada kenyataannya, hanya ada banyak jalur periodik yang dapat dihitung (hingga paralelisme) sehingga mereka tidak memiliki peluang untuk menjadi generik.
Sam Nead

Bahkan, dalam poligon "Veech" jalur "unik ergodik" adalah ukuran penuh. Jadi jika kita mengirim Mario adalah arah yang acak, dia akan (a) tidak pernah menyentuh titik (seperti yang dikatakan Jeffe dalam pernyataan masalah), (b) jalannya tidak akan pernah ditutup, dan (c) pada skala besar, urutan wajah yang dikunjungi akan terlihat acak (karena properti "pencampuran lemah"). Ini tidak menyarankan jawaban negatif untuk masalah - misalnya, digit pi juga terlihat acak ...
Sam Nead
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.