Tag: search

  • Un caso curioso: che algoritmo di ricerca informata usano in Trenitalia?

    Vi racconterò di un caso curioso che mi è capitato; come molti di voi sapranno, sono un pendolare tra Bergamo e Milano.

    Lunedì scorso mi trovavo a Sesto San Giovanni, stazione 1° maggio FS, verso le ore 19:30. Il tabellone della stazione, e anche l’orario online di Trenitalia, indicano che il primo treno disponibile per Bergamo è quello delle 20:13, con arrivo a Bergamo alle 21:08 [il treno 10787].

    Per avvicinarmi a Bergamo, ho deciso di prendere il treno delle 19:33 che partiva di lì a poco e diretto a Lecco [il treno 10582]. Infatti, i treni da Milano per Bergamo/Lecco condividono buona parte del percorso fino a Carnate.

    Sceso a Carnate alle 19:49, mi accorgo che da Carnate a Bergamo è disponibile un treno subito dopo, alle 20:01 [il treno 10747], che arriva da Seregno (e quindi non passa sulla tratta da me frequentata; la prima stazione utile dove salire sul treno è proprio Carnate – la mappa ferroviaria della regione Lombardia e il semplice schema che ho preparato vi aiuteranno a capire).

    Risultato? Sono arrivato a Bergamo alle 20:33, anziché 21:08. La soluzione che ho scoperto per puro caso mi ha fatto risparmiare ben 35 minuti, ed è sconcertante che non sia suggerita dal sito di Trenitalia. Ok, sui tabelloni delle stazioni non ci sarebbe spazio materiale per suggerire tutte le possibili combinazioni; ma il sito di Trenitalia le suggerisce (infatti ci chiede di inserire partenza e destinazione). Solitamente, il sito suggerisce le soluzioni con cambi di treno solo se c’è abbastanza tempo per il cambio; mi sembra che 12 minuti siano più che sufficienti per cambiare il treno; oltretutto risparmiare ben 35 minuti è senza dubbio un buon motivo per includere la soluzione tra quelle proposte sull’orario online.

    La mia domanda è quindi: in Trenitalia, come identificano le soluzioni di viaggio da proporre al cliente? Vista l’esperienza che ho descritto, suggerirei di cambiare l’algoritmo di ricerca informata che usano attualmente… ecco un buon inizio. Buona lettura!

    PS: ovviamente tutti i link verso Trenitalia & co. sono in nofollow.

    Update: Andrea mi segnala e mi allega le immagini di un caso analogo: partenza da Bergamo ed arrivo a Milano Lambrate. L’orario ufficiale offre due corse: 9:02-9:41 e 10:02-10:41. Utilizzando un percorso alternativo, invece, è possibile raggiungere Milano Lambrate alle 10:25 partendo da Bergamo alle 9:21 e cambiando treno a Treviglio (treni 24766 e 2094). La domanda si ripete: Trenitalia, che algoritmo di ricerca informata utilizzate?

    Update 2: Stefano F. mi segnala che è più opportuno modellare la rete Trenitalia con una rete di Petri temporizzataInfatti, un algoritmo di ricerca informata non basta, in quanto non tiene conto dell’eventuale ritardo di ogni treno. Si deve integrare l’informazione sulla località e sulle connessioni delle stazioni utilizzando il fattore tempo, pesando ogni arco con il ritardo accumulato da ciascun treno.

  • Google Desktop vs. Windows Desktop Search

    Ho sempre voluto avere un tool per cercare all’interno di tutti i file del mio computer. Infatti, sempre più frequente non ricordo dove ho messo quel documento o quel file…

    Decido quindi di provare i famigerati desktop search. Tra le varie scelte, prendo in considerazione:

    La scelta ricade inizialmente sul primo per via della deskbar laterale (simile a quella di Windows Vista): meteo, e-mail, RSS… e in più ricerca e indicizzazione di tutti i file. Non ho mai capito il software voglia indicizzare TUTTI i file: che senso ha indicizzare C:\Windows ? Cercherò mai una .dll? Cerco di sopportare questa funzionalità e inizio ad usare Google Desktop: veramente molto semplice e funzionale. D’altronde, Google è il miglior motore di ricerca esistente, e quindi un tool per le ricerche è sicuramente la loro specialità. Ma, tutto d’un tratto, rallentamenti e CPU al 100%: ecco che, dopo un’occhiata con il Task Manager, mi accorgo che il servizio di indicizzazione dei file di Google Desktop sta occupando il 100% di CPU.

    Cerco su Google e approdo a questa pagina; il problema è conosciuto, e si consiglia di reinstallare il prodotto dal sito ufficiale (io l’avevo installato con Google Pack). Detto, fatto. Il problema si ripresenta: Google Desktop sarebbe davvero un ottimo prodotto se non avesse questo problema di esaurimento CPU.

    Decido quindi di passare a Windows Desktop Search. Quest’ultimo non integra una deskbar, ma si interfaccia benissimo a tutti i prodotti Microsoft (vedi Outlook: posso cercare i contatti, mail, eventi del calendario etc.).

    Inoltre, permette di specificare le directory di cui costruire un indice: finalmente decido io in quali directory cercare!

    La ricerca è molto veloce e la creazione dell’indice dei file è rapida; inoltre, le prestazioni di sistema non risentono del desktop search.

    I risultati sono attendibili ed esistono due modalità di ricerca: una ricerca “veloce” attraverso la taskbar (come vedete sopra) e una ricerca più dettagliata con anteprima (come vedete sotto):