FlexiLayout の各要素には、MaxHypothesesCount という重要な Parameter があります。ユーザーはこの Parameter を使って、プログラムが次の要素を探索する際に用いる仮説数を制限できます。既定では、この値は単純要素で 5、Group 要素で 1 に設定されています。つまり、ある要素についてプログラムが 15 個の仮説を見つけた場合、上位 5 件のみを選択し、残りの 10 件は仮説チェーンが未完のままになります。一般に、Group 要素は単純要素よりも高い信頼度で検出されます。そのため、Group 要素に対する最良の仮説が正解となることが多くあります。
多くの場合、プログラムは複数の未完の仮説チェーンを保持しており、その結果として複数の探索方向が生じます。プログラムは古典的な「幅探索」アルゴリズムを用いて最良の仮説を探します。このアルゴリズムでは、チェーンの長さに関係なく、その時点で品質が最も高いチェーンの完成を優先的に試みます。
30 個の要素を記述する FlexiLayout があり、2 本の仮説チェーンが生成されたとします。1 本は推定品質が 0.89 の 29 要素のチェーン、もう 1 本は推定品質が 0.92 の 2 要素のチェーンです。プログラムは、品質の点で優れている短いほうのチェーンを、拡張したすべての候補の品質が最初のチェーンを下回るようになるまで優先して完成させようとします。
Group 要素の場合、プログラムは「品質の最適化」を行います。特定の Group 要素について、完全な仮説チェーンが理想的(すなわち、そのチェーンの品質が 1)であることが判明した場合、他のすべての候補は無視されます。各要素に対する仮説の総数は 10,000 に制限されています。
ある要素に対して生成される仮説の数が MaxHypothesesCount の設定値を上回ることがあります。この場合、ユーザーが指定した件数分の最良の仮説のみが仮説ツリーに取り込まれます。