TProcura
Biblioteca em C++ para testes paramétricos de algoritmos, e coleção de algoritmos de procura e otimização
Loading...
Searching...
No Matches
TProcuraConstrutiva.h File Reference
#include "../TVector.h"
#include "../TProcura.h"
Include dependency graph for TProcuraConstrutiva.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  TProcuraConstrutiva
 Representa um estado no espaço de estados. More...
 

Macros

#define _CRT_SECURE_NO_WARNINGS
 
#define TAMANHO_HASHTABLE   1000000
 
#define OBJETO_HASHTABLE   5
 

Typedefs

typedef TProcuraConstrutivaTNo
 Representa um nó na árvore de busca, apontando para um estado.
 

Enumerations

enum  EIndicadoresConstrutiva {
  indCusto = indResultado , indExpansoes = indProcura , indGeracoes , indLowerBound ,
  indConstrutiva
}
 
enum  EParametrosConstrutiva {
  verAcoes = parametrosProcura , limite , estadosRepetidos , pesoAStar ,
  ruidoHeur , baralharSuc , parametrosConstrutivas
}
 Identifica um parâmetro específico no código. More...
 
enum  EAlgoritmo {
  larguraPrimeiro = 1 , custoUniforme , profundidadePrimeiro , melhorPrimeiro ,
  aStar , idAStar , branchAndBound
}
 Algoritmos disponíveis para procura construtiva. More...
 
enum  EEstadosRepetidos { ignorados = 1 , ascendentes , gerados }
 Enumerado com os valores possíveis do parametro estadosRepetidos. More...
 

Macro Definition Documentation

◆ _CRT_SECURE_NO_WARNINGS

#define _CRT_SECURE_NO_WARNINGS

Definition at line 3 of file TProcuraConstrutiva.h.

◆ OBJETO_HASHTABLE

#define OBJETO_HASHTABLE   5

Definition at line 11 of file TProcuraConstrutiva.h.

◆ TAMANHO_HASHTABLE

#define TAMANHO_HASHTABLE   1000000

Definition at line 9 of file TProcuraConstrutiva.h.

Typedef Documentation

◆ TNo

Representa um nó na árvore de busca, apontando para um estado.

Note
É um alias para TProcuraConstrutiva*, facilitando a leitura e uso.

Definition at line 20 of file TProcuraConstrutiva.h.

Enumeration Type Documentation

◆ EAlgoritmo

enum EAlgoritmo

Algoritmos disponíveis para procura construtiva.

Estes algoritmos utilizam diferentes estratégias de expansão de estados e podem ser ajustados conforme os parâmetros de execução.

See also
EParametrosConstrutiva
Enumerator
larguraPrimeiro 

Executa a procura em largura primeiro, algoritmo cego.

See also
TProcuraConstrutiva::LarguraPrimeiro()
custoUniforme 

Executa a procura por custo uniforme, algoritmo cego.

See also
TProcuraConstrutiva::CustoUniforme()
profundidadePrimeiro 

Executa a procura em profundidade primeiro, algoritmo cego.

See also
TProcuraConstrutiva::ProfundidadePrimeiro()
melhorPrimeiro 

Executa a procura melhor primeiro, algoritmo informado.

See also
TProcuraConstrutiva::MelhorPrimeiro()
aStar 

Executa a procura A*, algoritmo informado.

See also
TProcuraConstrutiva::AStar()
idAStar 

Executa a procura IDA*, algoritmo informado.

See also
TProcuraConstrutiva::IDAStar()
branchAndBound 

Executa o algoritmo Branch-and-Bound, um algoritmo informado.

See also
TProcuraConstrutiva::BranchAndBound()

Definition at line 67 of file TProcuraConstrutiva.h.

◆ EEstadosRepetidos

Enumerado com os valores possíveis do parametro estadosRepetidos.

Os estados gerados que sejam repetidos, podem não ser removidos, ou podem ser removidos se existir um ascendente igual, ou ainda serem guardados numa hashtable de modo a serem removidos todos os estados gerados que sejam repetidos.

See also
Sucessores(), estadosRepetidos
Enumerator
ignorados 

ignorados os estados gerados repetidos

ascendentes 

estados são comparados com ascendentes, e se forem repetidos são removidos

gerados 

estados são comparados com todos os gerados, e se forem repetidos são removidos

Definition at line 87 of file TProcuraConstrutiva.h.

◆ EIndicadoresConstrutiva

Enumerator
indCusto 

o resultado é o custo da solução atual, sendo um upper bound

indExpansoes 

número de expansões efetuadas durante a procura

indGeracoes 

número de estados gerados durante a procura

indLowerBound 

valor mínimo para a melhor solução, se igual ao custo da solução obtida, então esta é ótima

indConstrutiva 

Marcador para permitir a extensão do enum em subclasses.

Definition at line 22 of file TProcuraConstrutiva.h.

◆ EParametrosConstrutiva

Identifica um parâmetro específico no código.

Permite aceder a cada parâmetro sem precisar saber seu código numérico. Índice do vetor de parametros, na classe TProcuraConstrutiva.

Note
O último elemento (parametrosConstrutivas) não representa um parâmetro real. Existe para permitir a criação de uma enumeração adicional em subclasses, caso seja necessário adicionar parâmetros específicos.
See also
TParametro, ExecutaAlgoritmo()
if(Parametro(nivelDebug) > passos)
// mostrar informação de debug correspondendo ao nível detalhe ou superior
@ passos
Exibe passos intermedirios.
Definition TProcura.h:65
@ nivelDebug
Nvel de debug, de reduzido a completo.
Definition TProcura.h:43
Enumerator
verAcoes 

Mostra estado a cada K ações. Se 1, mostra sempre estados e nunca ações.

limite 

Valor dependente do algoritmo. Exemplo: Profundidade limitada.

estadosRepetidos 

Forma de lidar com estados repetidos (ignorá-los, ascendentes, gerados).

pesoAStar 

Peso aplicado à heuristica, na soma com o custo para calculo do lower bound.

ruidoHeur 

Ruído a adicionar à heurística para testes de robustez.

baralharSuc 

Baralhar os sucessores ao expandir.

parametrosConstrutivas 

Marcador para permitir a extensão do enum em subclasses.

Definition at line 48 of file TProcuraConstrutiva.h.