> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Hipótesis y árboles de hipótesis

> Las hipótesis en ABBYY FlexiLayout Studio son posibles coincidencias para elementos: consulte cómo se calcula la calidad, qué son las hipótesis nulas y vea un ejemplo práctico.

Una **hipótesis** es una suposición de FlexiLayout Studio de que los objetos detectados corresponden a un elemento determinado, es decir, que cumplen las propiedades y los criterios de búsqueda especificados para ese elemento.

<Note>
  Puede haber varios objetos o conjuntos de objetos en el área de búsqueda del elemento, y todos ellos pueden corresponder a dicho elemento. En ese caso, FlexiLayout Studio formulará una hipótesis para cada objeto detectado.
</Note>

Por comodidad, el término *hipótesis* también se usa para referirse al conjunto de objetos incluidos en una hipótesis determinada.

<div id="how-hypothesis-quality-is-calculated">
  ## Cómo se calcula la calidad de una hipótesis
</div>

La **calidad** de una hipótesis mide hasta qué punto el objeto detectado coincide con la descripción del elemento correspondiente. Es un valor numérico de 0 a 1.

FlexiLayout Studio calcula la calidad de una hipótesis como **Pre-search quality × Post-search quality**, donde:

* **La calidad de prebúsqueda** – La calidad de la configuración realizada en el cuadro de diálogo **Propiedades** y en el campo **relación avanzada de prebúsqueda**.
* **La calidad de posbúsqueda** – El resultado de aplicar las condiciones especificadas en el campo **Relaciones avanzadas de posbúsqueda**.

La calidad de una hipótesis para un elemento de grupo se calcula multiplicando las calidades de las hipótesis de todos los elementos constituyentes.

<div id="null-hypotheses">
  ## Hipótesis nulas
</div>

Para los [elementos opcionales](/es/flexi-capture/fls/template/elements-optional), FlexiLayout Studio formula una hipótesis nula.

Una **hipótesis nula** es una hipótesis que FlexiLayout Studio formula cuando no detecta ningún objeto correspondiente a un elemento opcional en el área de búsqueda.

Si FlexiLayout Studio no encuentra ningún objeto correspondiente a un elemento opcional, no detiene el emparejamiento de FlexiLayout. En su lugar, formula una hipótesis nula y le asigna la calidad que usted establece al crear el elemento opcional.

<div id="hypotheses-a-practical-example">
  ## Hipótesis: un ejemplo práctico
</div>

Supongamos que necesita crear dos elementos para localizar dos textos estáticos en sus imágenes. El primer texto estático es "mother", el segundo es "father", y el texto "father" siempre se encuentra debajo del texto "mother".

Cree dos elementos Static Text. El primero, **StaticText1**, busca el texto "mother", y el segundo, **StaticText2**, busca el texto "father". Suponga que ambos elementos son opcionales y que la calidad de la hipótesis nula de cada uno de ellos está establecida en 0.97.

No se establece ninguna restricción en el área de búsqueda de **StaticText1**. Como el texto "father" siempre se encuentra debajo del texto "mother", puede especificar que **StaticText2** debe estar siempre debajo de **StaticText1**. Para ello, escriba la restricción correspondiente en la pestaña **Relations** del cuadro de diálogo **Propiedades** del elemento **StaticText2**: `Below: SearchElements.StaticText1;`.

La siguiente figura muestra los resultados del emparejamiento de FlexiLayout con una imagen en la que la palabra "mother" aparece dos veces (encima y debajo de la palabra "father") y se ha cometido un error de OCR en la palabra "mother" situada encima de la palabra "father".

<Frame>
  <img src="https://mintcdn.com/abbyy/fmgRWFNHKYN2MLSg/images/flexi-capture/fls/Example_Father_Mother.gif?fit=max&auto=format&n=fmgRWFNHKYN2MLSg&q=85&s=9daad26cd814a1feb2fd5f58f07a9a0e" alt="Diagrama de los resultados del emparejamiento de FlexiLayout: la palabra mother aparece dos veces, encima y debajo de la palabra father, con un error de OCR en la mother superior, lo que ilustra las hipótesis de StaticText1 y StaticText2." width="549" height="486" data-path="images/flexi-capture/fls/Example_Father_Mother.gif" />
</Frame>

El emparejamiento de FlexiLayout ha generado dos hipótesis para el elemento **StaticText1**. La primera hipótesis corresponde a la palabra "mother", reconocida con un error de OCR y situada encima de la palabra "father", y tiene una calidad de 0.98. La segunda hipótesis corresponde a la palabra "mother" situada debajo de la palabra "father" y tiene una calidad de 1.

En esta etapa, la calidad de cada cadena es la misma que la de la hipótesis correspondiente. Por lo tanto, la mejor cadena consiste en la hipótesis con una calidad de 1.

Como el elemento **StaticText2** debe estar debajo del elemento **StaticText1** y FlexiLayout Studio ha generado dos hipótesis para el elemento **StaticText1**, ahora intenta encontrar el texto estático requerido en dos áreas de búsqueda.

Si FlexiLayout Studio sigue la segunda hipótesis, con una calidad de 1, que encontró la palabra "mother" debajo de la palabra "father", no logra encontrar el elemento **StaticText2** debajo del elemento **StaticText1**. En consecuencia, genera una hipótesis nula con una calidad de 0.97, y la calidad de la cadena de hipótesis resultante es 1 × 0.97 = 0.97.

Si FlexiLayout Studio sigue la primera hipótesis, con una calidad de 0.98, que encontró la palabra "mother" encima de la palabra "father", detecta correctamente el elemento **StaticText2** debajo del elemento **StaticText1** y genera una hipótesis con una calidad de 1. La calidad de la cadena de hipótesis resultante es 0.98 × 1 = 0.98.

Como resultado, FlexiLayout Studio selecciona la cadena con una calidad total de 0.98.
