Un gráfico de factores se considera conectado si hay una ruta entre cada par de nodos. Por ejemplo, para un gráfico de factores que contiene cuatro nodos de pose, conectados consecutivamente por tres factores, hay rutas en el gráfico de factores desde un nodo del gráfico a cualquier otro nodo del gráfico.

Si el gráfico no contiene el nodo 3, aunque todavía hay una ruta del nodo 1 al nodo 2, no hay ninguna ruta del nodo 1 o del nodo 2 al nodo 4.

Un gráfico de factores completamente conectado es importante para la optimización. Si el gráfico de factores no está completamente conectado, entonces la optimización se produce por separado para cada uno de los gráficos desconectados, lo que puede producir resultados no deseados. La conectividad de los gráficos puede volverse más compleja cuando especifica ciertos subconjuntos de ID de nodos de pose para optimizar. Esto se debe a que la función optimize
optimiza partes del gráfico de factores al usar los ID especificados para identificar qué factores usar para crear un gráfico de factores parciales. optimize
agrega un factor al gráfico de factores parciales si ese factor se conecta a cualquiera de los nodos de pose especificados y no se conecta a ningún nodo de pose no especificado. La función también agrega los nodos que no son de pose a los que se conectan los factores agregados, pero no agrega otros factores conectados a esos nodos. Por ejemplo, para este gráfico de factores hay tres nodos de pose, dos nodos que no son de pose y los factores que conectan los nodos.
Si especifica los nodos 1 y 2, entonces los factores 1, 3, 4 y 5 forman un gráfico de factores para la optimización porque se conectan para posar los nodos 1 y 2. La optimización incluye los nodos 4 y 5 porque se conectan a factores que se relacionan con los ID de nodo de pose especificados.
Si especifica poseNodeIDs
como [1 3]
, entonces la función optimize
optimiza cada gráfico separado por separado porque el gráfico de factor formado no contiene una ruta entre los nodos 1 y 3.