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.

TORRES DE HANOI

Estado Inicial:                             Estado Final:
        

Espacio de estados:
Operadores:
  • 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


Heuristica por A*









Grafo

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.

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

Entradas más populares de este blog

Proyecto Perceptron Simple (Código C++)

IDA* Algoritmo Inteligencia Artificial

Proyecto Minimax-Scout (Código C++)