Problema di Super Mario Galaxy


140

Supponiamo che Mario stia camminando sulla superficie di un pianeta. Se inizia a camminare da una posizione nota, in una direzione fissa, per una distanza predeterminata, quanto velocemente possiamo determinare dove si fermerà?

inserisci qui la descrizione dell'immagine

Più formalmente, supponiamo che ci venga dato un polytope convesso in 3 spazi, un punto iniziale sulla superficie di , un vettore di direzione (nel piano di una sfaccettatura contenente ) e una distanza . Quanto velocemente possiamo determinare quale aspetto di Mario si fermerà all'interno? (Dal punto di vista tecnico, supponiamo che se Mario si imbatte in un vertice di , esplode immediatamente; per fortuna, questo non accade quasi mai .)PsPvpPP

O se preferisci: supponiamo che ci vengano dati in anticipo il politopo , il punto di origine e il vettore di direzione . Dopo la preelaborazione, quanto velocemente possiamo rispondere alla domanda per una data distanza ?Psv

È facile tracciare semplicemente i passi di Mario, specialmente se ha solo sfaccettature triangolari. Ogni volta che Mario entra in una sfaccettatura attraverso uno dei suoi bordi, possiamo determinare nel tempo quale degli altri due bordi deve passare. Sebbene il tempo di esecuzione di questo algoritmo è lineare solo nel numero di incroci di bordo, è illimitato in funzione della dimensione di ingresso, perché la distanza potrebbe essere arbitrariamente maggiore del diametro di . Possiamo fare di meglio?PO(1)P

(In pratica, la lunghezza del percorso non è in realtà illimitata; esiste un limite superiore globale in termini di numero di bit necessari per rappresentare l'input. Ma insistere su input di numeri interi solleva alcuni problemi numerici piuttosto sgradevoli: come calcolare esattamente dove smettere? - quindi atteniamoci agli input reali e all'esatta aritmetica reale.)

Si sa qualcosa di non banale sulla complessità di questo problema?

Aggiornamento: alla luce del commento di julkiewicz, sembra chiaro che un tempo di esecuzione della RAM reale limitato esclusivamente in termini di (la complessità del politipo) è impossibile. Considera il caso speciale di un'unità quadrata su due lati , con Mario che inizia da e cammina in direzione . Mario si fermerà sul fronte o sul retro del quadrato a seconda della parità dell'intero . Non possiamo calcolare la funzione di piano in un tempo costante sulla reale RAM, a meno che non siamo felici equiparare PSPACE e P . Ma possiamo calcolare inn[0,1]2(0,1/2)(1,0)O(log)tempo dalla ricerca esponenziale, che è un miglioramento esponenziale rispetto all'algoritmo ingenuo. Il tempo polinomiale in e sempre raggiungibile?nlog


5
Ho pensato a un problema più semplice, ovvero: abbiamo un poligono semplice e un raggio di luce che viaggia da un determinato punto. Quando raggiunge un limite, viene semplicemente specchiato. Vogliamo sapere dove finirà il raggio dopo la data distanza. Potrebbe (quasi) essere ridotto a questo, prendendo un polytope che è un prisma di un'altezza molto piccola con i lati superiore e inferiore a forma di un dato poligono. Forse risolvere questo prima potrebbe aiutare.
julkiewicz,

3
"[T] ime polynomial in n and log l" non ha senso per me. Se dipende da l, deve anche dipendere dalle coordinate di P e se si aggiunge il registro di tutti i numeri nell'input, questo è esattamente il numero di bit necessari per rappresentare l'input quando le coordinate di input sono limitate a numeri interi. Penso che tu stia guardando la complessità temporale su una RAM reale quando l'input è dato come una stringa di bit.
Tsuyoshi Ito,

4
Anche decidere se Mario abbia mai colpito un vertice (indipendente da ) sembra difficile. Penso che qui ci imbattiamo in molte incognite nell'area delle dinamiche del biliardo.
Joseph O'Rourke,

2
Non molto correlato, ma questo articolo sulla completezza NP di Super Mario è davvero sorprendente: arxiv.org/pdf/1203.1895v1.pdf
Lamine

10
"Forse è per questo che è così apprezzato", ha detto qualcuno completamente apatico per la teoria della complessità.
Jeffε

Risposte:


7

Questo problema è molto molto difficile. Potremmo semplificarlo per renderlo più semplice, come segue.

  1. Possiamo aggiungere l'assunto che la somma degli angoli di ogni vertice del politopo è un multiplo razionale di . Questo elimina la maggior parte dei "politopi" ma ci sono ancora molte possibilità interessanti: ad esempio i solidi platonici.Pπ

  2. Possiamo presumere che il politopo non sia realmente tridimensionale, ma invece sia il "doppio" di un poligono; sembra un po 'una federa. Possiamo semplificare ulteriormente e supporre che il poligono abbia lati uguali e paralleli; per esempio un quadrato, come nel gioco Astroids.

Se facciamo entrambe queste ipotesi, allora c'è una grande teoria. (Trovare un algoritmo per il quadrato è un esercizio difficile che comporta l'espansione continua della frazione dell'angolo del percorso di Mario. Per ottenere un risultato simile per l'ottagono regolare è possibile ma più difficile. Le soluzioni per quadrato e ottagono implicano pensare a come codificare in modo efficiente una "sequenza di taglio per un geodetico su una superficie di traduzione". La maggior parte degli altri poligoni razionali porterà rapidamente a problemi aperti.) Un riferimento iniziale, che include un ulteriore riferimento alla discussione di Caroline Series su il toro quadrato, sono queste slide di talk di Diana Davis.O(log())

Se non assumiamo la razionalità, ma supponiamo che il politopo sia il doppio di un poligono, stiamo discutendo la teoria del "taglio delle sequenze nel biliardo irrazionale". Sembra che essenzialmente non si sappia nulla qui; per esempio vedere l'ultima frase di questo discorso di Corinna Ulcigrai.

Se non facciamo nessuna ipotesi, beh, non riesco a pensare a nulla in letteratura.

Infine, immagino che esista una soluzione al problema di Super Mario Galaxy per i solidi platonici. Questo è un buon problema per uno studente laureato che inizia a giocare a biliardo razionale. Ad esempio, il caso del dodecaedro "dovrebbe" seguire la tesi di Diana Davis. (Ma inizia con il tetraedro - che seguirà da un'analisi delle sequenze di taglio per il toro esagonale.)O(log())


0

Penso che tu possa fare di meglio che lineare. Sono nuovo dell'informatica teorica, quindi perdonami se questa è spazzatura.

Alcune idee generali (di diverso valore):

  • Se diamo a ciascun aspetto un simbolo, l'orbita di Mario su di essi può essere descritta come una stringa, in cui il simbolo finale nella stringa è la risposta.
  • Possiamo supporre senza perdita di generalità che Mario inizi su un bordo (basta camminare all'indietro ed estendere l fino al bordo)
  • Lo spazio 2D delle posizioni e degli angoli iniziali può essere suddiviso dal bordo successivo. Quindi partendo dal bordo a, unità x dal basso, con un angolo di a, si finisce nel bordo V dopo aver attraversato una sfaccettatura.
  • A quel punto siamo su un altro bordo con un altro orientamento, quindi possiamo chiamare la funzione ricorsivamente per suddividere lo spazio in partizioni di stringhe di 2 simboli e così via.
  • A questo punto abbiamo finito se diciamo che lo spazio deve essere discretizzato affinché il problema possa essere implementato su una TM. Ciò significa che ogni orbita deve essere periodica perché ci sono solo finitamente molti punti sul pianeta discretizzato. Possiamo calcolare la funzione sopra descritta fino a quando non abbiamo orbite per tutti i punti di partenza e memorizziamo queste informazioni. Quindi il problema diventa O (1).
  • Forse è un po 'fuori di testa. Alcuni googling mi dicono che quasi tutte le orbite da biliardo all'interno dei poligoni convessi razionali sono periodiche (cioè le orbite periodiche sono dense). Quindi per un (diciamo) pianeti quadrati potrebbe funzionare lo stesso approccio.
  • Un altro approccio sarebbe quello di considerare il sistema come un generatore / riconoscitore di stringhe (assegnando di nuovo a ciascun aspetto il proprio simbolo). Se la lingua ha una classe di complessità nota, questa è la tua risposta. Se estendi la famiglia di polipropilene a non convessa e in qualsiasi dimensione, puoi acquisire una classe molto ampia di lingue.

Questo non costituisce una risposta, ma devo tornare al lavoro. :)


10
"A questo punto abbiamo finito se diciamo che lo spazio deve essere discretizzato affinché il problema sia implementato su una TM. Ciò significa che ogni orbita deve essere periodica perché ci sono solo finitamente molti punti sul pianeta discretizzato." Hai appena distrutto la parte interessante del problema. Io non voglio assumere l'ingresso è discreto; Voglio risolvere l'effettivo problema continuo, anche se questo richiede un computer ideale in grado di eseguire l'esatta aritmetica reale in tempo costante. In particolare, il percorso di Mario non deve mai toccare un vertice.
Jeffε

Ho pensato che fosse troppo facile. Potresti fare la versione continua su una macchina finita, purché il punto di partenza e il pianeta possano essere descritti in modo definitivo. Puoi semplicemente rappresentare simbolicamente il percorso (stile matematico). Devi solo valutare determinati limiti per trovare in quale aspetto ti ritrovi. Se puoi provare che il percorso è quasi certamente periodico (come per i biliardi su poligoni convessi razionali), puoi comunque applicare lo stesso trucco, ma il risultato non sarebbe molto pratico.
Peter,

12
Purtroppo, i geodetici generici sui poliedri generici non sono periodici. (In particolare, i poligoni generici non sono razionali.)
Jeffε

Tu (Peter), penso, ti riferisci al documento "Le orbite di biliardo periodiche sono dense di poligoni razionali". Ciò non significa che i percorsi periodici siano generici nei poligoni razionali. In effetti, esistono solo numerosi percorsi periodici (fino al parallelismo), quindi non hanno alcuna possibilità di essere generici.
Sam Nead,

In effetti, in un poligono "Veech" i percorsi "unicamente ergodici" sono pienamente misurati. Quindi, se inviamo Mario è una direzione casuale, (a) non colpirà mai un vertice (come dice Jeffe nella dichiarazione del problema), (b) il suo percorso non si chiuderà mai, e (c) su larga scala, la sequenza di i volti visitati appariranno casuali (a causa di una proprietà di "miscelazione debole"). Questo non suggerisce una risposta negativa al problema - ad esempio, anche le cifre di pi sembrano casuali ...
Sam Nead,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.