Estoy tratando con grafos dirigidos que constan de dos tipos de nodos (con ponderación única no negativa), los nodos "OR" y los nodos "AND". Dado un único origen y un único destino, quiero encontrar el camino más corto (con un peso mínimo) entre ellos.
Los nodos "OR" son nodos regulares: pueden ser visitados si al menos uno de sus padres ha sido visitado primero. Los nodos "AND" tienen una restricción: todos sus padres deben haber sido visitados primero.
Ahora bien, cuando se trata de encontrar el camino más corto hacia un nodo "AND", la simple suma del peso de los padres del nodo no funcionará, ya que podrían tener antepasados en común, lo que llevaría a que el peso de los antepasados se contabilizara varias veces.
¿Alguien conoce un algoritmo que solucione esto? Y si es así, ¿cuál sería su complejidad? No he podido encontrar mucho en la literatura. Probablemente no estoy utilizando la terminología correcta. ¿O?
¡Muchas gracias!