Código C++ Torre de Hanoi Heuristica*
A continuación se puede observar el ejercicio resuelto propuesto en clase, además un código en el lenguaje de programación C++ sobre como se deben mover los discos para llegar al estado final.
Estado Inicial: Estado Final:
Espacio de estados:
Operadores:
Monótona: No es monótona en todos los nodos porque en el nodo iv es menor el costo estimado que el nodo ancestro.
Admisible: No es admisible en todos los nodos porque el costo estimado no siempre es menor en el ancestro con respecto a su nodo generado.
Consistente: Es consistente porque el nodo n no tiene su costo estimado más grande que el costo estimado de su nodo generado.
TORRES DE HANOI
Estado Inicial: Estado Final:
- Mover disco 1 un espacio a la derecha
- Mover disco 1 un espacio a la izquierda
- Mover disco 1 dos espacios a la derecha
- Mover disco 1 dos espacios a la izquierda
- Verificar espacio disponible a la derecha
- Verificar espacio disponible a la izquierda
- Verificar espacio disponible a la derecha de la derecha
- Verificar espacio disponible a la izquierda de la izquierda
- Mover disco 2 un espacio a la derecha
- Mover disco 2 un espacio a la izquierda
- Mover disco 2 dos espacios a la derecha
- Mover disco 2 dos espacios a la izquierda
- Disco más pequeño no puede quedar debajo de disco más grande
Heuristica por A*
Grafo
Admisible: No es admisible en todos los nodos porque el costo estimado no siempre es menor en el ancestro con respecto a su nodo generado.
Consistente: Es consistente porque el nodo n no tiene su costo estimado más grande que el costo estimado de su nodo generado.
Código C++
#include <iostream>
using namespace std;
void hanoi(int num,char A,char C,char B)
{
if(num==1)
{
cout<<"Mueva el bloque "<<num<<" desde "<<A<<" hasta "<<C<<endl;
}
else
{
hanoi(num-1,A,B,C);
cout<<"Mueva el bloque "<<num<<" desde "<<A<<" hasta "<<C<<endl;
hanoi(num-1,B,C,A);
}
}
int main()
{
int n;
char A,B,C;
cout<<"Las torres son A B C\n";
cout<<"Numero de discos: ";
cin>>n;
hanoi(n,'A','C','B');
}
Comentarios
Publicar un comentario