Domanda

Ho $ N $ Articoli e un cestino della dimensione $ B $ Unità. Ogni elemento $ J $ consuma $ w_j $ Unità di $ B $ quando collocato nell 'zaino. L'oggetto appare uno per uno in modo online. Una volta articolo Viene visualizzato $ I $ , dobbiamo posizionarlo nel cestino (irrevocabilmente) o ignorarlo. L'obiettivo è massimizzare il numero di elementi collocati nel cestino. (Tutti gli ingressi sono numeri interi positivi.)

L'algoritmo offline è facile: posizionare gli elementi nell'ordine $ w_1 \ leq w_2 \ leq \ cdots \ leq w_n $ fino a quando il cestino è pieno. .

Come posso risolvere questo problema in una moda online? Il mio approccio è quello di raminorizzare le scelte: una volta elemento $ j $ appare, posizionalo nel cestino con probabilità $ p_j $ < / span> e ignoralo altrimenti.

È stato utile?

Soluzione

Beh come hai già notato, o almeno non ha menzionato, è facile vedere che non esiste un algoritmo competitivo deterministico per il tuo problema.(I controexamples necessitano solo di due elementi e puoi usare il fatto che l'algoritmo è deterministico.)

Il tuo approccio prendendo la randomizzazione in realtà non è sufficiente poiché alcune difficoltà non possono essere superate dalla randomizzazione.Ma ci sono alcuni modelli di relax del tuo problema.

Alcuni di quelli, e alcuni dettagli sulla mia risposta possono essere trovati nella carta da Susanne Albers, ARINDAM KHAN e Leon LaDewig denominati "migliorati algoritmi online per zaino e gap nella modalità ordine casuale" (vedere la Sezione 1.1).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a cs.stackexchange
scroll top