TProcura
Biblioteca em C++ para testes paramétricos de algoritmos, e coleção de algoritmos de procura e otimização
Loading...
Searching...
No Matches
Métodos desnecessários redefinir

Functions

virtual bool TProcuraConstrutiva::Acao (const char *acao)
 Executa a ação (movimento, passo, jogada, lance, etc.) no estado atual.
 
virtual bool TProcuraConstrutiva::Distinto (TNo estado)
 Verifica se o estado actual distinto do fornecido.
 
void TProcuraConstrutiva::MostrarSolucao (void)
 Mostrar solução, seja um caminho ou o próprio estado.
 
int TProcuraConstrutiva::ExecutaAlgoritmo ()
 Executa o algoritmo com os parametros atuais.
 
int TProcuraConstrutiva::Indicador (int id) override
 Redefinição. Ver TProcura::Indicador().
 

Detailed Description

Métodos que não precisam ser redefinidos para uma implementação eficaz

Function Documentation

◆ Acao()

bool TProcuraConstrutiva::Acao ( const char acao)
virtual

Executa a ação (movimento, passo, jogada, lance, etc.) no estado atual.

Note
Redefinição caso necessário. A implementação é já genérica.
Parameters
acao- texto com a ação a executar
Returns
Retorna verdadeiro, mas caso não seja feito uma ação, devido a ser impossível, retornar falso.
Note
A implementação gera os sucessores, e vê qual o que corresponde à ação fornecida. Copia o estado correspondente para o atual, ou retorna falso caso a ação não seja possível. O método não é eficiente, mas também não utilizado pelos algoritmos, apenas na interface. Caso exista um motivo para que seja eficiente, deve ser implementada uma versão mais eficiente para cada problema, tendo em atenção a sua coerência com a função Sucessores().

Definition at line 87 of file TProcuraConstrutiva.cpp.

Here is the call graph for this function:

◆ Distinto()

virtual bool TProcuraConstrutiva::Distinto ( TNo  estado)
inlinevirtual

Verifica se o estado actual distinto do fornecido.

Note
Redefinição opcional. Necessário para identificação de estados repetidos por teste de ascendentes.
Returns
Retorna verdadeiro se o estado é distinto, e falso se é igual

Compara as variáveis de estado para determinar se dois estados são iguais ou diferentes.

Note
Se a verificação de estados repetidos for baseada na análise de ascendentes, a superclasse chama este método dentro de Sucessores().
bool CSubProblema::Distinto(TNo estado) {
// verificar todas as variáveis de estado
return variavel != outro.variavel;
}
Representa um estado no espaço de estados.
static int resultado
Resultado retornado pelo algoritmo na última execução.
Definition TProcura.h:459

Reimplemented in CAspirador, and CProblemaArtificial.

Definition at line 476 of file TProcuraConstrutiva.h.

◆ ExecutaAlgoritmo()

int TProcuraConstrutiva::ExecutaAlgoritmo ( )
virtual

Executa o algoritmo com os parametros atuais.

Note
Redefinição necessária no caso de se alterar os algoritmos disponíveis.

No caso de adicionar algum algoritmo, chame o algoritmo com base em parametro[algoritmo].valor Se TesteManual() não for utilizado, esta função pode ser chamada diretamente, desde que os parâmetros necessários já estejam configurados corretamente.

See also
TesteManual(), EParametrosConstrutiva, LarguraPrimeiro(), CustoUniforme(), ProfundidadePrimeiro()
MelhorPrimeiro(), AStar(), IDAStar(), BranchAndBound()

Reimplemented from TProcura.

Definition at line 722 of file TProcuraConstrutiva.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Indicador()

int TProcuraConstrutiva::Indicador ( int  id)
overridevirtual

Redefinição. Ver TProcura::Indicador().

Reimplemented from TProcura.

Definition at line 923 of file TProcuraConstrutiva.cpp.

Here is the call graph for this function:

◆ MostrarSolucao()

void TProcuraConstrutiva::MostrarSolucao ( void  )
inlinevirtual

Mostrar solução, seja um caminho ou o próprio estado.

Note
Redefinição opcional.

Esta função exibe a solução, mostrando um estado a cada X ações e exibindo as ações entre os estados. O valor padrão de X é 4, ajustável pelo parâmetro parametro[verAcoes].valor.

Note
Em problemas onde seja simples de seguir a ação, pode-se utilizar valores maiores, sem ser necessário mostrar muitos estados completos. Em problemas que as ações sejam mais complexas, ou alterem mais o estado, poderá ser até preferível colocar este valor a 1, para que o estado seja sempre mostrado em cada ação.
Há problemas em que o estado é já a solução. Neste caso pode-se redefinir esta função chamando a função Debug().
Em situações particulares, poderá ser possível construir a solução de forma mais compacta, num único estado com as ações todas codificadas, por exemplo um caminho num mapa. Nesse caso há que redefinir este método, implementando a visualização da solução de raiz.
void CSubProblema::MostrarSolucao(void)
{
// caso o estado final seja a solução, simplesmente mostrar o estado atual
Debug();
// caso seja um caminho do estado inicial ao final, não redefinir
}
virtual void Debug(void)
Mostra o estado no ecrã, para debug.
Definition TProcura.cpp:87

Reimplemented from TProcura.

Definition at line 507 of file TProcuraConstrutiva.h.

Here is the call graph for this function: