Ajuste de Parâmetro - Tempo do canhão

Visão geral
Ajuste de parâmetro e a forma mais simples de aprendizagem. Composta por procedimentos bem definidos para resolução de problemas em um número finito de etapas. A solução pode ser a melhor entre todas as soluções, mas também pode ser uma solução próxima a melhor.

Funcionamento
Ajuste de Parâmetros trata-se de problema de otimização. Os procedimentos destes algoritmos geralmente envolvem a definição das variáveis a serem otimizadas, das restrições impostas pelo problema, da definição da função objetivo e dos limites das variáveis. A formulação de um problema de otimização começa com a identificação das variáveis que são modificadas durante o processo de otimização. Não existe um guia para escolher tais variáveis pois elas variam em cada problema. As restrições do problema normalmente estão associadas em satisfazer determinadas condições usando uma quantidade limitada de recursos. A definição da função objetivo normalmente está associada à maximização ou minimização de um parâmetro, como redução do custo de um processo, maximização do lucro, maximização do ciclo de vida ou outros. A definição dos limites das variáveis é associada aos valores máximos e mínimos que cada variável pode assumir.
 * Formulação
 * Restrições
 * Definição da função objetivo
 * Definição dos limites
 * Técnicas
 * Método de coordenadas descendentes:
 * Escolhe-se arbitrariamente uma faixa de valores para cada parâmetros
 * Realiza-se combinações desses valores e ao final coleta-se os valores que levam à melhores soluções.
 * Hill climbing:
 * Você olha para cima e obtém a direção que o leve para o topo (vetor gradiente).
 * Então decide percorre uma distância d seguindo esta direção.
 * Ao finalizar o percurso da distância d, você volta ao passo 1, enquanto não atingir o objetivo.
 * Algoritmos genéticos: técnica baseada na teoria de Charles Darwin sobre as evoluções das espécies, com elitismo, cruzamento, mutação, gerações evolutivas, genótipo, fenótipo dos cromossomos.

Exemplo
O vídeo a seguir mostra um exemplo de um canhão que ajusta o tempo do disparo de um projétil com velocidade constante se ajustando para acertar um alvo com velocidade constante utilizando o Método de coordenadas descendentes. Este exemplo pode ser aplicado em um jogo de Tower Defense onde a torre pode ajustar o tempo do tiro de acordo com a posição do inimigo
 * 1) Escolhe-se um valor aleatório de tempo para o canhão e uma taxa de aprendizado
 * 2) Inicia a simulação
 * 3) Se o projétil acertou o alvo : termine a simulação
 * 4) Se o projétil passou antes do alvo cair: o tempo de disparo e reduzido de acordo com a taxa de aprendizado
 * 5) Se o projétil passou depois do alvo cair : o tempo de disparo e ampliado de acordo com a taxa de aprendizado
 * 6) Volte ao passo 2

Aluno: Fabrício Moreira dos Santos - 558568