Saltar al contenido principal
Cada elemento de FlexiLayout tiene un parámetro importante llamado MaxHypothesesCount. El usuario puede usar este parámetro para limitar la cantidad de hipótesis que el programa puede considerar al buscar el elemento siguiente. De forma predeterminada, este parámetro se establece en 5 para elementos simples y en 1 para elementos Group. Esto significa que, si el programa encuentra 15 hipótesis para un elemento determinado, seleccionará las cinco mejores y dejará las otras 10 cadenas de hipótesis incompletas. Los elementos Group, por lo general, se detectan con mayor fiabilidad que los elementos simples. Por lo tanto, la mejor hipótesis para un elemento Group suele ser la correcta. En la mayoría de los casos, el programa dispone de varias cadenas de hipótesis incompletas y, en consecuencia, de varias posibles direcciones de búsqueda. El programa busca la mejor hipótesis utilizando el algoritmo clásico de “búsqueda en anchura”. Este algoritmo implica que el programa siempre intenta completar la cadena que en ese momento presenta la mejor calidad, independientemente de su longitud. Supongamos que tenemos un FlexiLayout que describe 30 elementos para los cuales se han creado dos cadenas de hipótesis: una cadena de 29 elementos con una calidad estimada de 0,89 y una cadena de 2 elementos con una calidad estimada de 0,92. El programa intentará completar la cadena más corta, que es mejor en términos de calidad, hasta que la calidad de todas sus extensiones resulte peor que la de la primera cadena. En el caso de un elemento Group, el programa utiliza la llamada optimización por calidad. Cuando encuentra una cadena completa de hipótesis ideal para un elemento Group dado (es decir, la calidad de esta cadena es 1), ignora todas las demás variantes. El número total de hipótesis para cada elemento está limitado a 10 000. La cantidad de hipótesis creadas para un elemento puede superar el número establecido en MaxHypothesesCount. En ese caso, solo el número de mejores hipótesis definido por el usuario pasará al árbol de hipótesis.