Return to Video

Teste de primalidade de Fermat

  • 0:00 - 0:03
    RKA 3 - E aí, pessoal, tudo bem?
  • 0:03 - 0:06
    Nesta aula, vamos fazer o teste
    de primalidade de Fermat.
  • 0:06 - 0:09
    Para isso, vamos determinar uma
  • 0:09 - 0:12
    série de instruções que possam provar
  • 0:12 - 0:14
    se um número inteiro de
    entrada é composto ou primo
  • 0:14 - 0:18
    com alto grau de precisão.
  • 0:18 - 0:20
    Claro, seria mais fácil calcular isso
  • 0:20 - 0:23
    em qualquer máquina.
    E mesmo que um número
  • 0:23 - 0:26
    de entrada aumente isso ainda deveria
  • 0:26 - 0:29
    ser mais rápido correto até agora Nós
  • 0:29 - 0:31
    aprendemos que precisamos reconhecer um
  • 0:31 - 0:34
    padrão que todos os números primos têm e
  • 0:34 - 0:37
    que alguns compostos não e no virgem que
  • 0:37 - 0:40
    fizemos uma demonstração visual do
  • 0:40 - 0:42
    Teorema de enfermar vimos uma regra
  • 0:42 - 0:45
    bastante interessante que era dado um
  • 0:45 - 0:48
    número primo p e eu inteiro a que é
  • 0:48 - 0:51
    menor do que P sabemos que P dividir a
  • 0:51 - 0:56
    elevado up - a e escrevemos isso como a
  • 0:56 - 1:01
    elevado up mod P geral se você encontra
  • 1:01 - 1:04
    o teorema desse jeito e como a equipe
  • 1:04 - 1:07
    não tem um fator comum já que p é primo
  • 1:07 - 1:10
    podemos cancelar esses elementos e às
  • 1:10 - 1:13
    vezes você vai encontrar escrito a
  • 1:13 - 1:19
    elevado a p - 1 = 1 mod p e lembre-se
  • 1:19 - 1:21
    que só podemos fazer isso porque o maior
  • 1:21 - 1:25
    divisor comum entre Ai p é um agora
  • 1:25 - 1:27
    podemos ver uma demonstração de como
  • 1:27 - 1:30
    isso funciona é entender melhor o
  • 1:30 - 1:32
    processo Note que se você colocar um
  • 1:32 - 1:36
    número primo para o P O resultado vai
  • 1:36 - 1:39
    ser sempre igual a 1 não importa o ar
  • 1:39 - 1:41
    que você escolha mas Se colocarmos um
  • 1:41 - 1:44
    número composto para o p podemos ver que
  • 1:44 - 1:47
    normalmente o resultado não vai ser um a
  • 1:47 - 1:50
    maioria das vezes vai ser diferente de
  • 1:50 - 1:53
    um O resultado vai ser composto Isso é
  • 1:53 - 1:55
    uma prova de que o pé que escolhemos não
  • 1:55 - 1:59
    pode ser primo Essa é essência do teste
  • 1:59 - 2:01
    e antes de prosseguir e vamos construir
  • 2:01 - 2:05
    uma estrutura aqui para ele utilizando o
  • 2:05 - 2:08
    padrão que eu mostrei primeiro nós temos
  • 2:08 - 2:10
    uma entrada que vai ser um número
  • 2:10 - 2:14
    inteiro P depois geramos um número
  • 2:14 - 2:17
    inteiro aleatório que é menor do que o
  • 2:17 - 2:20
    escolhido E aí perguntamos o maior
  • 2:20 - 2:24
    divisor comum entre a IP é um senão ou
  • 2:24 - 2:28
    seja se o MDC entre a equipe é maior do
  • 2:28 - 2:30
    que um eles vão compartilhar de um fator
  • 2:30 - 2:33
    comum correto e com isso o p vai ser um
  • 2:33 - 2:36
    número composto com isso O resultado vai
  • 2:36 - 2:39
    ser um número composto agora se tivermos
  • 2:39 - 2:41
    Sim podemos responder à pergunta a chave
  • 2:41 - 2:46
    a elevado a p menos um modo de p = um
  • 2:46 - 2:49
    senão vamos ter que p é composto E
  • 2:49 - 2:52
    paramos por aqui caso contrário se a
  • 2:52 - 2:55
    equação for igual a 1 deve ser primo
  • 2:55 - 2:58
    correto e eu codifiquei essa série de
  • 2:58 - 3:00
    instruções aqui e vamos ver o que
  • 3:00 - 3:02
    acontece e do lado esquerdo nós temos o
  • 3:02 - 3:05
    teste de firmar do lado direito nós
  • 3:05 - 3:08
    temos o teste de divisão experimental
  • 3:08 - 3:11
    veja que parece que sempre vai dar certo
  • 3:11 - 3:14
    só de olhar você consegue ver que os
  • 3:14 - 3:17
    valores são sempre os mesmos não importa
  • 3:17 - 3:19
    o valor que eu modifique no meu
  • 3:19 - 3:22
    algoritmo porém eu encontro um problema
  • 3:22 - 3:25
    aqui eu coloquei o número 511 e o
  • 3:25 - 3:28
    teorema de fermat está dizendo que é
  • 3:28 - 3:31
    primo já o teste da divisão experimental
  • 3:31 - 3:34
    diz que é composto O que será que está
  • 3:34 - 3:37
    acontecendo o 511 de fato não é um
  • 3:37 - 3:40
    número primo e vamos voltar aqui na
  • 3:40 - 3:42
    nossa equação e ver o que aconteceu Esse
  • 3:42 - 3:45
    é um exemplo do que chamamos de falso
  • 3:45 - 3:48
    primo é um número composto mas existem
  • 3:48 - 3:51
    alguns as que escolhemos que resultam em
  • 3:51 - 3:54
    um e eles são chamados de enganadores
  • 3:54 - 3:58
    isso porque eles nos fazem pensar que a
  • 3:58 - 4:00
    resposta é um número primo
  • 4:00 - 4:03
    o que mudando o ar encontramos muitos
  • 4:03 - 4:06
    números compostos que eu vou chamar de
  • 4:06 - 4:08
    Testemunhas eles não são enganadores
  • 4:08 - 4:12
    agora podemos utilizar a mesma lógica
  • 4:12 - 4:14
    que usamos no teste de divisibilidade
  • 4:14 - 4:18
    onde geramos o novo A e torcemos para
  • 4:18 - 4:21
    não encontrar um enganador e agora nós
  • 4:21 - 4:24
    conseguimos ver que esses enganadores
  • 4:24 - 4:27
    dividem o número total do grupo que
  • 4:27 - 4:31
    estamos selecionando Isso significa que
  • 4:31 - 4:34
    no máximo metade das escolhas ou Metade
  • 4:34 - 4:37
    dos elementos selecionados nesse grupo
  • 4:37 - 4:40
    podem ser enganadores então desde que o
  • 4:40 - 4:43
    ar seja encontrado aleatoriamente a
  • 4:43 - 4:46
    chance de encontrar uma testemunha que é
  • 4:46 - 4:49
    o que queremos é pelo menos a metade e
  • 4:49 - 4:52
    depois de ter reflexões a probabilidade
  • 4:52 - 4:54
    de que nenhuma testemunha seja
  • 4:54 - 4:58
    encontrada com um número composto é no
  • 4:58 - 5:03
    máximo um / e vai bater depois de 20
  • 5:03 - 5:06
    tentativas por exemplo a probabilidade
  • 5:06 - 5:09
    de sair um número primo erroneamente é
  • 5:09 - 5:10
    de uma em um milhão
  • 5:10 - 5:13
    aproximadamente é aquele caso onde
  • 5:13 - 5:17
    continuamos com uma má sorte em gerar o
  • 5:17 - 5:20
    site aleatórios e toda vez encontramos
  • 5:20 - 5:23
    um enganador e agora sim podemos ver
  • 5:23 - 5:26
    nosso teste em ação com o maior número
  • 5:26 - 5:29
    de tentativas parece que o teste está
  • 5:29 - 5:32
    funcionando perfeitamente correto e note
  • 5:32 - 5:34
    que no pior caso que sabemos que é
  • 5:34 - 5:37
    quando temos um algoritmo com esse primo
  • 5:37 - 5:39
    a máquina vai ter um trabalho muito
  • 5:39 - 5:42
    grande para gerar o teste de enfermar é
  • 5:42 - 5:44
    muito mais eficiente que a divisão
  • 5:44 - 5:47
    experimental principalmente porque o
  • 5:47 - 5:49
    número de Passos não aumenta com a
  • 5:49 - 5:52
    entrada por exemplo graficamente
  • 5:52 - 5:55
    relacionando o tempo e o tamanho da
  • 5:55 - 5:57
    entrada vai ser algo mais ou menos assim
  • 5:57 - 6:01
    basicamente no teste de fé eu nunca
  • 6:01 - 6:03
    temos que nos preocupar com o algoritmo
  • 6:03 - 6:06
    rodando milhões e milhões de vezes de
  • 6:06 - 6:10
    repetições como fizemos antes então o
  • 6:10 - 6:12
    que eu quero dizer é que isso nada mais
  • 6:12 - 6:15
    é do que matemática aplicada ou seja
  • 6:15 - 6:18
    pegamos um padrão que alguém descobriu e
  • 6:18 - 6:21
    colocamos uma grande quantidade de
  • 6:21 - 6:24
    repetições no computador isso através de
  • 6:24 - 6:27
    programação mas nesse sistema aqui tem
  • 6:27 - 6:29
    uma pequena falha será que você consegue
  • 6:29 - 6:31
    encontrar eu vou deixar aqui como
  • 6:31 - 6:34
    exercício e pesquisa então não perca
  • 6:34 - 6:37
    tempo e tem te buscar a resposta e eu
  • 6:37 - 6:39
    espero que essa aula tenha te ajudado e
  • 6:39 - 6:42
    até a próxima pessoal
Title:
Teste de primalidade de Fermat
Description:

more » « less
Video Language:
Portuguese
Team:
Khan Academy
Project:
Accessibility Brazil - Do not include new videos
Duration:
06:47

Portuguese subtitles

Revisions Compare revisions