def problema(self,estado_inicial,estado_objetivo,maze,lista_estados,estrategia):
        '''En este metoodo realizamos la resolucion del problema'''
        visitados=[]
        b=Busqueda()
        frontera= []
        funcion_sucesores=[]        
        estado_inicial=b.conversion_estado(estado_inicial,lista_estados)
        estado_objetivo=b.conversion_estado(estado_objetivo,lista_estados)        
        funcion_sucesores.append(estado_inicial)        
        lista_nodos, identificador = b.creacion_nodo(funcion_sucesores, 0, None ,estrategia,estado_objetivo,None)       
        estado=estado_inicial
        frontera=b.reorden_frontera(frontera, lista_nodos,visitados)

        while(b.objetivo(estado_objetivo,estado)!=True):           
            nodo,frontera=self.comprobarfrontera(visitados,frontera)
            visitados.append(nodo)
            estado=b.nodo_a_estado(nodo,lista_estados)
            funcion_sucesores=b.creacion_sucesores(estado,lista_estados)
            lista_nodos, identificador=b.creacion_nodo(funcion_sucesores, identificador,  estado,estrategia,estado_objetivo,nodo)
            frontera=b.reorden_frontera(frontera, lista_nodos,visitados)        
        frontera=self.comprobarfrontera2(visitados,frontera)       
        frontera=self.ultimosvecinos(lista_nodos,frontera)       
        lista_solucion=b.encontrar_solucion(visitados,estado_inicial)             
        return estado ,frontera , visitados,lista_solucion