94 printf(
"--<([%u])>--",
id);
112 instancia = {
"Problema", 1,1,10,
"Caracteristicas dos problemas",
NULL };
150void CProblemaArtificial::CarregaInstancia() {
152 {2,2,4,5,10,1,0,0,1},
153 {4,4,1,6,10,1,100,0,2},
154 {6,6,5,7,10,1,0,100,3},
155 {1,4,4,7,10,10,0,0,4},
156 {1,4,20,20,100,2,0,0,5},
157 {1,4,1,20,100,2,10000,0,6},
158 {1,4,20,20,100,2,0,1000,7},
159 {10,20,10,20,100,1,0,0,8},
160 {10,20,1,20,100,1,10000,0,9},
161 {20,100,40,60,100,2,0,0,10},
@ verAcoes
Mostra estado a cada K ações. Se 1, mostra sempre estados e nunca ações.
@ limiteIteracoes
Número máximo de iterações (0 significa sem limite).
Representa um estado num problema artificial.
void Debug(void)
Mostra o estado no ecrã, para debug.
CProblemaArtificial(void)
bool Distinto(TNo estado)
Verifica se o estado actual distinto do fornecido.
~CProblemaArtificial(void)
bool SolucaoCompleta(void)
Verifica se o estado actual é objectivo (é uma solução completa)
void Sucessores(TVector< TNo > &sucessores)
Coloca em sucessores a lista de estados sucessores.
static TParametrosEspaco espaco
void Codifica(uint64_t estado[OBJETO_HASHTABLE])
Codifica o estado para um vetor de inteiros de 64 bits.
void Inicializar(void)
Coloca o objecto no estado inicial da procura.
int Heuristica(void)
Função para calcular quanto falta para o final, o valor da heurÃstica.
TProcuraConstrutiva * Duplicar(void)
Cria um objecto que é uma cópia deste.
void ResetParametros()
Inicializa os parametros, indicadores e instâncias.
const char * Acao(TProcuraConstrutiva *sucessor)
void Copiar(TNo objecto)
Fica com uma cópia do objecto.
Representa um estado no espaço de estados.
void NovaLinha(bool tudo=true)
static bool memoriaEsgotada
Flag indicando problemas de memória esgotada.
static int resultado
Resultado retornado pelo algoritmo na última execução.
static TParametro instancia
ID da instância atual, a ser utilizado em SolucaoVazia().
static TVector< TParametro > parametro
Parâmetros a serem utilizados na configuração atual.
virtual void Sucessores(TVector< TNo > &sucessores)
Coloca em sucessores a lista de estados sucessores.
void Inicializar(void) override
Coloca o objecto no estado inicial da procura.
void ResetParametros() override
Redefinição. Ver TProcura::ResetParametros().
virtual int Heuristica(void)
Função para calcular quanto falta para o final, o valor da heurÃstica.
virtual void Codifica(uint64_t estado[OBJETO_HASHTABLE])
Codifica o estado para um vetor de inteiros de 64 bits.
int heuristica
Estimativa para o custo até um estado objetivo, se disponÃvel.
static int tamanhoCodificado
Número de inteiros de 64 bits utilizados para codificar um objeto (≤ OBJETO_HASHTABLE).
unsigned int rand(int seq)
Retorna o próximo valor pseudo-aleatório.
void srand(unsigned int seed, int seq)
Inicializa a semente da geração pseudo-aleatória.
int valor
valor do parametro
unsigned int sementeAleatoria