Home Tecnologia Questo nuovo algoritmo per l’ordinamento di libri o file è vicino alla...

Questo nuovo algoritmo per l’ordinamento di libri o file è vicino alla perfezione

12
0

La versione originale Di questa storia è apparso sulla rivista Quanta.

Gli informatici spesso affrontano problemi astratti che sono difficili da comprendere, ma un nuovo entusiasmante algoritmo è importante per chiunque possieda libri e almeno uno scaffale. L’algoritmo affronta qualcosa chiamato problema di ordinamento della libreria (più formalmente, il problema di “etichettatura dell’elenco”). La sfida è quella di escogitare una strategia per l’organizzazione di libri in una sorta di ordine ordinato, ad esempio alfabeticamente, che minimizza quanto tempo impiega per posizionare un nuovo libro sullo scaffale.

Immagina, ad esempio, di mantenere i tuoi libri raggruppati insieme, lasciando spazio vuoto all’estrema destra dello scaffale. Quindi, se aggiungi un libro di Isabel Allende alla tua collezione, potresti dover spostare ogni libro sullo scaffale per farci spazio. Sarebbe un’operazione che richiede tempo. E se poi ottieni un libro di Douglas Adams, dovrai rifare tutto da capo. Un accordo migliore lascerebbe gli spazi non occupati distribuiti in tutto lo scaffale, ma come, esattamente, dovrebbero essere distribuiti?

Questo problema è stato introdotto in un documento del 1981 e va oltre il semplice fornendo ai bibliotecari una guida organizzativa. Questo perché il problema si applica anche alla disposizione dei file su dischi rigidi e nei database, in cui gli elementi da organizzare potrebbero essere numerati nei miliardi. Un sistema inefficiente significa tempi di attesa significativi e importanti spese computazionali. I ricercatori hanno inventato alcuni metodi efficienti per la conservazione degli articoli, ma hanno desiderato a lungo determinare il modo migliore possibile.

L’anno scorso, in uno studio che è stato presentato alla Conferenza di Foundations of Computer Science a Chicago, un team di sette ricercatori ha descritto un modo per organizzare oggetti che si avvicinano allettanti all’ideale teorico. Il nuovo approccio combina un po ‘di conoscenza dei contenuti passati dello scaffale con il sorprendente potere della casualità.

“È un problema molto importante”, ha affermato Seth Pettie, un informatico dell’Università del Michigan, perché molte delle strutture di dati su cui facciamo affidamento oggi archiviano le informazioni in sequenza. Ha definito il nuovo lavoro “estremamente ispirato [and] Facilmente uno dei miei tre migliori giornali preferiti dell’anno. “

Limiti di restrizione

Quindi, come si misura una libreria ben ordinata? Un modo comune è vedere quanto tempo impiega per inserire un singolo oggetto. Naturalmente, dipende da quanti elementi ci sono in primo luogo, un valore tipicamente indicato da N. Nell’esempio Allende Isabel, quando tutti i libri devono spostarsi per ospitarne uno nuovo, il tempo impiegato è proporzionale N. Maggiore è il Npiù tempo ci vuole. Questo rende questo un “limite superiore” al problema: non ci vorrà mai più di un tempo proporzionale a N Per aggiungere un libro allo scaffale.

Gli autori del documento del 1981 che hanno inaugurato questo problema volevano sapere se era possibile progettare un algoritmo con un tempo medio di inserzione molto inferiore a N. E in effetti, hanno dimostrato che si potrebbe fare di meglio. Hanno creato un algoritmo che era garantito per ottenere un tempo medio di inserimento proporzionale a (registro N)2. Questo algoritmo aveva due proprietà: era “deterministico”, il che significa che le sue decisioni non dipendevano da alcuna casualità, ed era anche “liscio”, il che significa che i libri dovevano essere diffusi in modo uniforme all’interno delle sottosezioni dello scaffale in cui inserzioni (o cancellazioni) sono fatti. Gli autori hanno lasciato aperta la questione se il limite superiore potesse essere migliorato ulteriormente. Per oltre quattro decenni, nessuno è riuscito a farlo.

Tuttavia, gli anni successivi hanno visto miglioramenti al limite inferiore. Mentre il limite superiore specifica il tempo massimo possibile necessario per inserire un libro, il limite inferiore dà il tempo di inserimento più rapido possibile. Per trovare una soluzione definitiva a un problema, i ricercatori si sforzano di restringere il divario tra i limiti superiore e inferiore, idealmente fino a quando non coincidono. Quando ciò accade, l’algoritmo è considerato ottimale: allineato dal sopra e sotto, non lasciando spazio a un ulteriore perfezionamento.

Fonte

LEAVE A REPLY

Please enter your comment!
Please enter your name here