TProcuraAdversa
Algoritmos de procura adversa
Loading...
Searching...
No Matches
Algoritmos de Procura Cega

Functions

int TProcuraConstrutiva::LarguraPrimeiro (int limite=0)
 Executa a procura em largura primeiro, algoritmo cego.
 
int TProcuraConstrutiva::CustoUniforme (int limite=0)
 Executa a procura por custo uniforme, algoritmo cego.
 
int TProcuraConstrutiva::ProfundidadePrimeiro (int nivel=0)
 Executa a procura em profundidade primeiro, algoritmo cego.
 

Detailed Description

Métodos que executam algoritmos de procura sem utilização de heurística.

Function Documentation

◆ CustoUniforme()

int TProcuraConstrutiva::CustoUniforme ( int  limite = 0)

Executa a procura por custo uniforme, algoritmo cego.

Parameters
limiteCom valor 0, executa sem limite. Se maior que 0, limita os estados gerados não expandidos a esse valor.
Returns
Retorna o valor da solução, ou -1 em caso de falha.

Semelhante à procura em largura, mas os estados são ordenados pelo custo. Dessa forma, os estados de menor custo são expandidos antes dos de custo maior, o que preserva a optimalidade mesmo quando os custos são variáveis.

Note
Se o limite de número de estados for atingido, os estados gerados mais recentemente são removidos.
See also
LarguraPrimeiro(), EAlgoritmo, ExecutaAlgoritmo();

Definition at line 273 of file TProcuraConstrutiva.cpp.

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

◆ LarguraPrimeiro()

int TProcuraConstrutiva::LarguraPrimeiro ( int  limite = 0)

Executa a procura em largura primeiro, algoritmo cego.

Parameters
limiteCom valor 0, executa sem limite. Se maior que 0, os estados não expandidos são limitados a este valor.
Returns
Retorna o valor da solução, ou -1 em caso de falha.

O algoritmo expande primeiro os estados mais antigos. Assim, somente após todos os estados de nível K serem expandidos, os estados de nível K+1 começam a ser expandidos.

Caso o custo de cada ação seja unitário, o algoritmo retorna a solução ótima. Se o custo for variável, pode não retornar a solução ótima.

Note
Se o limite de número de estados for atingido, os estados gerados mais recentemente são removidos.
See also
EAlgoritmo, ExecutaAlgoritmo();

Definition at line 181 of file TProcuraConstrutiva.cpp.

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

◆ ProfundidadePrimeiro()

int TProcuraConstrutiva::ProfundidadePrimeiro ( int  nivel = 0)

Executa a procura em profundidade primeiro, algoritmo cego.

Parameters
nivelSe -1, efetua a procura em profundidade sem limite. Se 0, efetua a procura iterativa, incrementando o nível a cada iteração. Se um valor positivo, efetua a procura limitada a esse nível de profundidade.
Returns
Retorna o valor da solução, ou -1 em caso de falha.

O algoritmo expande os estados mais recentes primeiro, explorando em profundidade antes de avaliar os estados vizinhos. Não garante a solução ótima e está implementada na versão recursiva.

See also
EAlgoritmo, ExecutaAlgoritmo();

Definition at line 300 of file TProcuraConstrutiva.cpp.

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