Python - justificativa do algoritmo
Para fazer afirmações sobre um algoritmo ser eficiente, precisamos de algumas ferramentas matemáticas como prova. Essas ferramentas nos ajudam a fornecer uma explicação matematicamente satisfatória sobre o desempenho e a precisão dos algoritmos. Abaixo está uma lista de algumas dessas ferramentas matemáticas que podem ser usadas para justificar um algoritmo em detrimento de outro.
- Direct Proof:
É a verificação direta da declaração usando os cálculos diretos. Por exemplo, a soma de dois números pares é sempre um número par. Nesse caso, basta somar os dois números que você está investigando e verificar o resultado como par.
- Proof by induction:
Aqui, começamos com uma instância específica de uma verdade e a generalizamos para todos os valores possíveis que fazem parte da verdade. A abordagem é pegar um caso de verdade verificada e, em seguida, provar que também é verdadeiro para o próximo caso para a mesma condição dada. Por exemplo, todos os números positivos da forma 2n-1 são ímpares. Nós o provamos para um certo valor de n, então o provamos para o próximo valor de n. Isso estabelece a afirmação como geralmente verdadeira por meio de prova de indução.
- Proof by contraposition:
Esta prova é baseada na condição Se Não A implica Não B, então A implica B. Um exemplo simples é se o quadrado de n for par, então n deve ser par. Porque se quadrado em n não é par, então n não é par.
- Proof by exhaustion:
Isso é semelhante à prova direta, mas é estabelecido visitando cada caso separadamente e provando cada um deles. Um exemplo de tal prova é o teorema das quatro cores.