Vai al contenuto principale
Ogni elemento in FlexiLayout ha un parametro importante chiamato MaxHypothesesCount. L’utente può usare questo parametro per limitare il numero di ipotesi che il programma può considerare quando cerca l’elemento successivo. Per impostazione predefinita, questo parametro è impostato su 5 per gli elementi semplici e su 1 per gli elementi Group. Ciò significa che, se il programma trova 15 ipotesi per un determinato elemento, selezionerà le cinque migliori, lasciando incomplete le altre 10 catene di ipotesi. Gli elementi Group, di norma, vengono individuati con maggiore affidabilità rispetto agli elementi semplici. Pertanto, la migliore ipotesi per un elemento Group di solito risulta essere quella corretta. Nella maggior parte dei casi, il programma ha diverse catene di ipotesi incomplete e, di conseguenza, più possibili direzioni di ricerca. Il programma cerca la migliore ipotesi utilizzando il classico algoritmo di “ricerca in ampiezza”. Questo algoritmo prevede che il programma provi sempre a completare la catena che, in quel momento, presenta la qualità migliore, indipendentemente dalla sua lunghezza. Supponiamo di avere un FlexiLayout che descrive 30 elementi per i quali sono state create due catene di ipotesi: una catena di 29 elementi con una qualità stimata di 0,89 e una catena di 2 elementi con una qualità stimata di 0,92. Il programma tenterà di completare la catena più corta, migliore in termini di qualità, finché le qualità di tutte le sue estensioni non diventeranno inferiori a quelle della prima catena. Nel caso di un elemento Group, il programma applica la cosiddetta ottimizzazione della qualità. Quando trova una catena completa di ipotesi ideale per un determinato elemento Group (ossia, la qualità di questa catena è 1), ignora tutte le altre varianti. Il numero totale di ipotesi per ciascun elemento è limitato a 10.000. Il numero di ipotesi create per un elemento può superare il valore impostato in MaxHypothesesCount. In tal caso, solo il numero definito dall’utente delle ipotesi migliori confluirà nell’albero delle ipotesi.