Problema di altezza massima di impilamento


8

Il problema seguente è stato studiato in precedenza? Se sì, quali approcci / algoritmi sono stati sviluppati per risolverlo?

Problema ("Problema altezza massima di impilamento")

Dati poligoni, trovano la loro disposizione stabile e non sovrapposta che massimizza la loro altezza di accatastamento su un piano fisso sotto l'influenza della gravità.n


Esempio

Tre poligoni:

inserisci qui la descrizione dell'immagine

e tre delle loro infinite disposizioni stabili e non sovrapposte, con diverse altezze di accatastamento:

inserisci qui la descrizione dell'immagine


chiarimenti

  • Tutti i poligoni hanno massa uniforme e uguale densità
  • L'attrito è zero
  • La gravità agisce su ogni punto nella direzione verso il basso (cioè i vettori di forza sono tutti paralleli)
  • Una configurazione non è considerata stabile se poggia su un punto di equilibrio instabile (ad esempio, il triangolo verde nelle immagini non può bilanciarsi su nessuno dei suoi vertici, anche se la massa a sinistra e a destra del punto di equilibrio è uguale)
  • Per chiarire ulteriormente il punto precedente: un poligono è considerato instabile ("rovesciamento") a meno che non poggi su almeno un punto rigorosamente a sinistra e almeno un punto strettamente a destra del suo centro di gravità (questa definizione semplifica notevolmente la simulazione e in particolare rende superflua l'integrazione di posizione ecc. al fine di valutare se un accordo sia stabile o meno.
  • Il problema nella sua forma "fisica" è un problema continuo che può essere risolto approssimativamente solo nella maggior parte dei casi. Per ottenere un problema discreto che può essere affrontato in modo algoritmico, vincolare i vertici poligonali e il loro posizionamento nella disposizione a reticoli adeguati.


Appunti

  • Approcci di forza bruta di qualsiasi tipo sono chiaramente irrealizzabili. Anche con vincoli rigorosi per il posizionamento dei poligoni all'interno del reticolo (come fornire uno "spazio reticolare" limitato nella regione), la complessità esplode semplicemente per più di qualche poligono.
  • Gli algoritmi iterativi devono apportare alcune euristiche molto intelligenti poiché è facile costruire disposizioni in cui la rimozione di qualsiasi singolo poligono fa diventare instabile la configurazione e tali disposizioni sono irraggiungibili da algoritmi basati su ogni passaggio intermedio che è stabile.
  • Dal momento che il problema ha un odore di NP, ma molto probabilmente EXPTIME completo nel numero totale di vertici, anche l'euristica sarebbe di notevole interesse. Una cosa che dà speranza è il fatto che la maggior parte degli umani riconoscerà che la terza disposizione nell'esempio è ottimale.

Per quella definizione di "instabile" (anche se forse non per quelli più precisi), in linea di principio si può risolvere il problema esattamente eliminando quantificatori di campi chiusi reali .

@RickyDemer: Mi piacerebbe davvero capirlo, ma purtroppo, nonostante abbia dato un'occhiata al documento e seguito i punti principali, non riesco a vedere la connessione. Potresti darmi qualche altro suggerimento? Un legame tra il problema dello stacking e l'algebra sembra sicuramente intrigante.

1
Ciò può essere dovuto al fatto che mi sono erroneamente collegato a una procedura decisionale piuttosto che a un algoritmo di eliminazione del quantificatore . Questo documento è un riferimento molto migliore per quello di cui stavo parlando. Ho anche trovato un articolo su alcuni casi quadratici che potrebbero essere sufficienti quando le coordinate del vertice sono tutte razionali.

:) Ho anche trovato altro materiale che collega esplicitamente la geometria computazionale all'eliminazione del quantificatore. Ora capisco cosa intendevi per "anche se forse non per quelli più precisi"; in effetti, sembra impossibile estendere tali metodi puramente formali alla fisica "reale", dove entrano in gioco vincoli complessi come le equazioni differenziali. Tuttavia, grazie per l'angolo di attacco molto interessante, passerò un po 'di tempo a studiarlo.

Risposte:


1

Anche se non conosco algoritmi specifici per questo problema, potresti affrontarlo in un metodo piuttosto efficiente suddividendolo in parti separate.

Vorrei iniziare trovando la rotazione per ogni singola forma che fornisce un'altezza massima mantenendo un orientamento di bilanciamento valido (è: non su un punto come con il triangolo). Se una forma ha più altezze uguali, andrei con la configurazione che dà la più grande superficie su di essa. Una volta che hai questo, puoi quindi capire come impilare al meglio ogni oggetto in un maniero in grado di essere bilanciato.


4
È abbastanza facile costruire esempi in cui questo approccio porta a una soluzione non ottimale. Ad esempio, considera un parallelogramma ottenuto tagliando un rettangolo molto lungo (per renderlo stabile solo se poggia sul suo lato lungo) più un triangolo che corrisponde al suo angolo di taglio. Individualmente, con il tuo approccio saresti costretto a girare il parallelogramma in modo che poggi sul suo lato lungo, ma il triangolo può supportarlo per farlo "stare in piedi" (nota che il problema dell'attrito zero può essere facilmente superato aggiungendo un piccolo angolo al parallelogramma che consente al triangolo di "agganciarsi").

È vero, non ci avevo pensato. Una soluzione potrebbe essere quella di verificare la presenza di forme che possano essere utilizzate come supporto per l'oggetto, ma che potrebbero non fornire sempre un'altezza ottimale. Potresti comunque provarlo e verificare contro più configurazioni totali per la migliore altezza, poiché dovrebbe comunque essere migliore di una forza bruta.
GEMISIS

Anche qui si incontrano problemi significativi, vale a dire quando non è un oggetto che ne supporta un altro, ma una pila di oggetti che ha la giusta altezza per supportare un oggetto molto grande in piedi. Gli algoritmi per verificare tutto ciò che diventa arbitrariamente complesso. Detto questo, concordo sul fatto che dovrebbe essere possibile ottenere una durata "migliore della forza bruta" con alcune eliminazioni sensate.
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.