Ir al contenido principal

BUSQUEDA HEURISTICA POR COSTO UNIFORME Y HEURISTICA PURA

TORRES DE HANOI:

En la imagen se muestra el grafo de la solución, se señala la mejor solución con color morado.


 HANOI COSTO UNIFORME

LISTA
NODO
SUCESORES
I
I
II(1), III(2)
II(1), III(2)
II(1)
IV(2+1)
III(2), IV(3)
III(2)
V(1+2)
IV(3), V(3)
IV(3)
VI(1+3), VII(1+3)
V(3), VI(4), VII(4)
V(3)
VIII(3+2), IX(3+1)
VI(4), VII(4), VIII(5), IX(4)
VI(4)
STOP
VII(4), VIII(5), IX(4)
VII(4)
VI(4+2), VIII(4+1)
VIII(5), IX(4), VI(6), VIII(5)
IX(4)
VIII(4+1)
VIII(5), VI(6), VIII(5), VIII(5)
VIII(5)
VII(5+1)
VIII(5), VI(6), VIII(5), VII(6)
VIII(5)
VII(5+1)
VI(6), VIII(5), VII(6), VII(6)
VIII(5)
IX(5+1)
VI(6),VII(6), VII(6), IX(6)
VI(6)
STOP
VII(6), VII(6), IX(6)
IX(6)
- - - - - - - - - - - -
VII(6), VII(6)
VII(6)
VI(6+2)





 TALLER HANOI
 


Algoritmo Torres de Hanói (Complejidad \Theta(2^n))
Entrada: Tres pilas de números origenauxiliardestino, con la pila origen ordenada
Salida: La pila destino
  1. si origen \scriptstyle == \{1\} entonces
    1. mover el disco 1 de pila origen a la pila destino (insertarlo arriba de la pila destino)
    2. terminar
  2. si no
    1. hanoi(\scriptstyle \{1, \dots , n-1 \},origen,destinoauxiliar)     //mover todas las fichas menos la más grande (n) a la varilla auxiliar
  3. mover disco n a destino                //mover la ficha grande hasta la varilla final
  4. hanoi (auxiliarorigendestino)          //mover todas las fichas restantes, 1...n–1, encima de la ficha grande (n)
  5. terminarTORRE 6 DISCOS Se requieren 63 Movimientos 1B-2C-1C-3B-1A-2B-1B-4C-1C-2A-1A-3C-1B-2C-1C- 5B-1A-2B-1B-3A-1C-2A-1A-4B-1B-2C-1C-3B-1A-2B-1B-6C-1C-2A-1A-3C-1B-2C-1C-4A-1A-2B-1B-3A-1C-2A-1A-5C-1B-2C-1C-3B-1A-2B- 1B-4C-1C-2A-1A-3C-1B-2C-1C-


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 EN 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');
                

}










REFERENCIAS:
http://www.reglasdel.com/2011/03/torre-de-hanoi.html
http://cremasbasicasytutoriales.blogspot.com.co/

Comentarios

Entradas populares de este blog

TALLER SEMANTICA

Ejercicio: I. Responder las siguientes preguntas. 1.      Explique cada una de las componentes de las redes semánticas 2.      Cuales son las ventajas y desventajas del uso de RS como forma de RC. 3.      Señale la importancia del manejo de herencia en RS 4.      Para que y como se utiliza la operación de confrontación. Explique con un ejemplo. II. Represente utilizando redes semánticas el siguiente conocimiento. ·         Los platelmintos, son animales de simetría bilateral, cuerpo aplanado y vida parasitaria. ·         Los moluscos son animales con simetría bilateral cuerpo blando y vida marina ·         Los artrópodos son animales con simetría bilateral, cuerpo anillado y vida acuática y terrestre ·         Los phylum cordados son del reino anima...

TALLER PROFUNDIDAD - AMPLITUD ITERATIVA

1 . Para el grafo usted deberá llegar de A a H aplicando los algoritmos: A. Interactive Debending (I D) Búsqueda profundización iterativa. B. Amplitud iterativa. 2. Explicar: A. El pseudocodigo de los algoritmos anteriores. B. Su complejidad exponencial y temporal (mejor caso, peor caso, caso medio). C. ¿Es Completo? Justifique su respuesta. D. ¿Es Optimo? Justifique su respuesta. SOLUCIÓN: 1.El problema con exigir un límite de profundidad, está precisamente en escoger un límite adecuado. Profundidad iterativa va aumentando gradualmente la profundidad hasta encontrar una meta. Es óptimo y completo. PRUEBA DE ESCRITORIO. AMPLITUD ITERATIVA: PSEUDOCODIGOS: Búsqueda en profundidad iterativa (límite: entero)   prof=1; Est_abiertos.inicializar()   Mientras  no es_final?(Actual) y prof<limite hacer     Est_abiertos.insertar(Estado inicial)     Actual= Est_abierto...