Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INTELIGENCIA ARTIFICIAL 1
UNIDAD 3
TAREA: 3.7 ESPACIOS DE ESTADOS DETERMINÍSTICOS Y ESPACIOS DE
ESTADOS NO DETERMINÍSTICOS.
3.8 BUSQUEDA SISTEMATICA
3.8.1 BÚSQUEDA DE METAS A PROFUNDIDAD
funcion buscar_en_hijos(Nodo:n)
variable encontrado=boolean
inicio
si solucion(n->hijo)
retornar n->hijo
sino
n1=n->hijo
encontrado=falso
mientras no (encontrado)
n1=n1->hermano
sisolucion(n1)
retornar n1
sino
n1=null
romper ciclo
buscar_en_hijos(n->hijo)
n2->n->hijo
mientras(n2->hermano!=null)
n2=n2->hermano
buscar_en_hijos(n2)
fin si
fin mientras
fin función
while(!q.empty())
{
State st = q.front();
q.pop();
if (st.node == nodo){
printf("'%d'n",nodo);
return;
}else printf("%d ",st.node);
int T = (int)graph.G[st.node].size();
for(int i = 0; i < T; ++i)
{
if (!mark[graph.G[st.node][i].node])
{
mark[graph.G[st.node][i].node] = true;
q.push(State(graph.G[st.node][i].node));
}
}
}
Podríamos hacer otro tipo de mensaje para indicar que el elemento ha sido
encontrado, calcular el número de nodos que fueron visitados o incluso generar un
mensaje especial en el caso de que el elemento no haya sido encontrado. Por el
momento la función ha quedado lo más sencilla posible para enfocarnos
únicamente en cómo hacer el recorrido.