Ho un grande set di dati di alberi e vorrei cercarlo specificando un treelet ( subgraph collegato). La query dovrebbe restituire tutte le occorrenze del treelet nel set di dati.
Ci sono algoritmi efficienti per farlo?
Stavo pensando a qualcosa come array di suffissi, tuttavia, codificare ingenuamente gli alberi in quanto le stringhe (mediante un ordinamento trasversale fisso dei loro nodi) non funzioneranno, poiché il treelet di ricerca può avere qualsiasi forma arbitraria.
AGGIORNARE:
Alcuni dettagli sui casi tipici che mi aspetto:
Il set di dati consisterà in almeno decine di migliaia di alberi, ciascuno costituito da circa venti o trenta nodi. Gli alberi non saranno binari, ma il numero tipico dei bambini per nodo sarà piccolo (di solito non più grande di quattro o cinque, anche se in alcuni casi degeneri può arrivare a circa trenta). Il numero di etichette sarà in decine di migliaia.
Ne ho bisogno per le applicazioni della PNL: ogni albero sarà l'analisi delle dipendenze di una frase, ogni nodo rappresenterà una parola occourrence e ogni etichetta una parola del dizionario (con qualche decorazione).