LFA05 - Autômato Finito Determinístico | Construção

Поділитися
Вставка
  • Опубліковано 16 гру 2024

КОМЕНТАРІ • 49

  • @leirtonfreitasmaia7347
    @leirtonfreitasmaia7347 Рік тому +10

    Professor, suas aulas são muito boas, sua didática é excelente. Parabéns

    •  Рік тому

      Obrigado Leirton Freitas, nos ajude a crescer compartilhando e se inscrevendo em nosso canal. Tem muito material legal aí, aproveite.

  • @marcossilva3390
    @marcossilva3390 Рік тому +3

    Na letra E), minuto 13:05, o 0 também é múltiplo de 3. Dessa forma, o estado inicial também deveria ser um possível estado final, não? Pois podemos ter um conjunto vázio, em que |{ }| = 0.

    •  Рік тому +2

      Perfeita observação Marcos Silva. 0 é múltiplo de qualquer número e eu acabei me esquecendo dele neste exemplo.

  • @ronildo.facanha
    @ronildo.facanha 2 роки тому +3

    OPA! Melhor video sobre o assunto.

    •  2 роки тому

      Fala Ronildo! Muito obrigado, peço que nos ajude a compartilhar o conteúdo para alcançarmos mais estudantes!

  • @28lfss
    @28lfss 2 місяці тому

    Esse diagrama em 21:30, eu posso definir o caso inicial "q0" como caso final também? Porquê na linguagem não diz que é necessário utilizar o número 0.

  • @andresqueirozcesariodefran4942

    Professor, me tira uma duvida. No exercicio F, não fala que não pode ter {111}, mas fala que depois de um 0 deve vir pelo menos dois uns.Mas então aceitaria caso fosse {1} ou {11} ou {11...1} porém neste automato não aceitaria, ele ficaria apenas no começo. A partir daí, eu deveria criar um estado alternativo onde do q0 poderia pular direto para o estado final caso recebesse 1 após estar no estado final faria um loop para manter ali, e caso se viesse um ''0 eu voltava pro segundo estado ali do video e conferiria o restante para saber se seria aceita... É isso? sendo bem preciso no que pede a questão, eu entendi isso. Aguardo resposta

    •  Рік тому +8

      Ola Andres, sim você está correto, a linguagem exige que aceite 11111...1 e de fato a solução apresentada não está cobrindo este caso. A sua solução vai funcionar, porém tenho uma mais simples ainda. Basta colocar o estado inicial como final e tudo se ajeita. Obrigado pela observação.

    • @saviofialho143
      @saviofialho143 9 місяців тому +1

      ​@Também fiz como ele. Há várias soluções possíveis. Obrigado pela aula, professor!

    • @marcospiredda
      @marcospiredda 8 місяців тому

      @ Professor, o estado inicial sendo final, eu não teria que aceitar também a cadeia vazia ?

    •  8 місяців тому +1

      Sim ​@@marcospiredda, sempre que o estado inicial também for final o autômato irá aceitar a palavra vazia.

    •  7 місяців тому

      @@marcospiredda, sim, sempre que o estado inicial também for final, a linguagem aceitará palavra vazia.

  • @otavioknaippdesousa1504
    @otavioknaippdesousa1504 3 місяці тому +1

    Bom dia professor Rui. Acredito estar aprendendo muito com o seu curso.
    Com relação à construção do autômato que aceita a linguagem
    L = { w E {a,b}* | w tem tamanho múltiplo de 3} eu desenvolvi um autômato
    com somente 3 estados e 3 transições, em que o meu estado inicial
    também é o meu estado final, da seguinte forma:
    (q0)----a,b------>(q1)-------a,b------>(q2)-------a,b-------->(q0)
    Fiz os teste e deu certo.
    Está correta esta forma de pensar?

    •  3 місяці тому

      Ola Otávio, é sempre bom ouvir que os alunos estão aprendendo, me motiva ainda mais fazer conteúdos de qualidade.
      Qto ao autômato parece que está certo sim. Parabéns!

  • @GabrielAlves-gd9yh
    @GabrielAlves-gd9yh 2 роки тому +1

    Vídeo bem explicativo! Obrigado

    •  2 роки тому

      Muito obrigado Gabriel, nos ajude a compartilhar e chegar nos mil inscritos.

  • @Sr_Ningvem
    @Sr_Ningvem 2 місяці тому

    Esse programa é uma mão na roda.

    •  2 місяці тому

      Jflap é muito bom mesmo

  • @alanocamile
    @alanocamile Місяць тому

    Excelente professor! Mas fiquei com essa dúvida:
    Na questão F, vi nos comentários que você disse que pra corrigir o problema encontrado dos 1111 teria que tornar o estado q0 final, mas ele também é inicial. Um estado inicial pode ser um estafo final simultaneamente?

  • @DragzBall
    @DragzBall 3 роки тому +3

    Em alguns desses exercícios que foram feitos (como no exercício E, considerando que o zero é múltiplo de qualquer natural), não deveria ocorrer aceitação da palavra vazia também?

    •  3 роки тому +2

      Bom dia Andrei. Você está correto, para isso basta colocar o estado Q0 como final que a palavra vazia (que é múltiplo de 3) será aceita.

  • @edilbertocantuaria2502
    @edilbertocantuaria2502 7 місяців тому

    Professor, parabéns pela aula. Está me ajudando bastante!!
    Minha dúvida: em 25:16, se a palavra fosse 1111111, pela regra da gramática, ela deveria ser aceita?
    E se sim, o AFD estaria errado?

    •  7 місяців тому

      Obrigado @EdilbertoCantuaria. Quanto a sua dúvida, não consegui entender direito, pois a referencia 25:16 para o video é o final do video. Logo, se puder explicar melhor talvez eu consiga te orientar um pouco mais.

  • @camillamendes3732
    @camillamendes3732 Рік тому

    Otima aula!

    •  Рік тому

      Olá Camila, obrigado. Nos ajude compartilhando e curtindo nosso canal.

  • @brunospolavori9730
    @brunospolavori9730 Місяць тому

    Acredito que a resolução da questão F está incorreta, pois não foi previsto o caso onde a palavra nao contem 0

  • @gustavobernardo3321
    @gustavobernardo3321 Рік тому

    Professor, duas dúvidas:
    na questão C ( 8:50 ) não deveria existir uma seta no estado Q1 que volta para Q0 em caso de ler um "b" ?
    e no exercício F o estado Q2 tem que ter uma seta apontando de volta ao alerta Q1, em caso de receber "0".

    •  7 місяців тому

      Sobre a Letra C: Não, pq a ideia que o automato já "trave" logo de cara quando deparar com b sem ter garantido a existencia de aa. Ou seja, quando for pedido PREFIXO não dá pra abrir exceção alguma senao não cumprimos o que o exercício pede.
      Agora sobre a Letra F: você coberto de razão, faltou criar uma transição de q2 para q1 ao ler 0. Com isso fica mais completo que o meu.

  • @luanrodrigues4901
    @luanrodrigues4901 2 роки тому +1

    Estava tentando fazer os exercícios e cheguei a uma resposta diferente na letra F.
    F) { w E {0, 1}* | cada 0 de w é imediatamente seguido de no mínimo dois 1's }.
    No seu autômato a seguinte palavra não seria aceita: 111 , porque ficaria sempre no estado q0.
    Mas pelo enunciado entendi que a palavra contendo somente 1's deveria ser aceita também.
    Portanto, cheguei na seguinte função de estados:
    0 1
    qo q1 q3
    q1 q2
    q2 q3
    q3 q2 q3
    no lugar do "loop" em q0 quando recebe 1 (q0, 1) -> q0 ,
    eu coloquei (q0, 1) -> q3 ,
    ou seja, se no estado inicial já receber 1, então vai para estado final e lá fica em "loop" caso seja 1 (q3, 1) -> q3

    • @pedropaiva1898
      @pedropaiva1898 2 роки тому

      da pra transformar o q0 em estado final tb (permanecendo com o loop em q0), daí aceita as palavras que só têm 1's, além de aceitar também a palavra vazia, que aparentemente deve ser aceita por esse autômato.

  • @calebesucupira7664
    @calebesucupira7664 2 дні тому

    No item F eu fiz com duas transições a mais, coloquei um loop de 0 no estado q1 e quando o q2 lê um 0 ele volta pro q1, está certo tbm?

    •  День тому

      Se eu entendi bem seu raciocínio, acredito que sim. Mas faz o seguinte, teste algumas palavras pra garantir.

  • @jonaas
    @jonaas 2 роки тому +3

    Muito obrigado pela aula! Excelente. Nesse último exercício, ele cobre casos em que a palavra é, tipo, 1111? Pelo que entendi, o autômato que o senhor fez só é possível chegar ao estado final se tiver um 0 na palavra, mas se ela só tiver 1s, ela fica pra sempre no estado inicial. Como resolver isso? Eu pensei em tornar o estado inicial um possível final tbm, mas nao tenho certeza se pode fazer isso.

    •  2 роки тому +3

      Perfeito Jonas. Seu comentário está correto e acabou de me mostrar um erro no meu autômato.
      Sim, palavras do tipo 11111 pode ser aceitas sim. E portanto, a forma de resolver isso é colocar marcar o q0 como estado final.
      Obrigado pela observação Jonas e nos ajude a ter um alcance maior compartilhando nosso conteúdo.

    • @leirtonfreitasmaia7347
      @leirtonfreitasmaia7347 Рік тому

      @ Eu fiz que se no estado inicial recebesse um 1 ela já ia direto pro estado final.

    •  Рік тому

      ​@@leirtonfreitasmaia7347 ótimo também funciona normalmente. Como conversamos nos vídeos anteriores não existe apenas uma forma de fazer.
      Mais a frente vc verá que o automato mínimo é único (teorema da unicidade) aí lá não terá jeito de soluções diferentes para um mesmo problema. Cenas dos próximos capítulos.

  • @goncalopaulos02
    @goncalopaulos02 3 роки тому +2

    Podia disponibilizar
    o link do programa que usa ?

    •  3 роки тому +2

      Ola Gonçalo, o programa que utilizo nos videos é o JFLAP da universidade DUKE (www.jflap.org/) cujo site tem tudo sobre o JFLAP. Sempre sugiro aos alunos para a construção de qualquer autômato o bom e velho PAPEL e Lápis! O JFLAP é só para os videos mesmo.

  • @barddz4646
    @barddz4646 Рік тому

    Na questão f, caso iniciasse com "1" a palavra, não deveria ir direto para o estado final? Pois a palavra "1" por exemplo, não iria chegar no estado final do jeito que o Sr fez. Ou não pode fazer esse pulo?

    •  Рік тому

      Ola @barddz4646, sim de fato você tem razão. Em algum dos comentarios daqui um aluno levantou este erro. Para corrigir basta colocar o q0 como final e tudo se ajeita. Afinal as palavras do tipo 111111111 que não possuem nenhum 0 também deverão ser aceitas e agora, com esta alteração (colocar q0 como final) fica certinho.

  • @otavioknaippdesousa1504
    @otavioknaippdesousa1504 3 місяці тому

    Qual o software que o Sr está utilizando para simulação dos autômatos?
    É gratuito?
    Att

    •  2 місяці тому

      É o JFLAP, da unversidade de DUKE no EUA. É totalmente gratuito. É escrito em java.

    • @otavioknaippdesousa1504
      @otavioknaippdesousa1504 2 місяці тому

      Obrigado!

  • @MattSilverio
    @MattSilverio 5 місяців тому

    Professor, na letra B o loop não poderia ter sido criado no estado q3 o mantendo como estado final, ao invés de criar o q4 para isso ?

    • @tioyour1281
      @tioyour1281 2 місяці тому

      nesse caso não, porque dai seria um fecho de kleene, teoricamente o tamanho ainda seria 3, visto que eu posso ou não ter, ao executar o automato, repetições desse lop, e o enunciado pede que o tamanho seja diferente de 3 e seja maior, se eu fizer um loop ali, pode ter algum automato que seja reconhecido com 3 letras

  • @jordannmendez1150
    @jordannmendez1150 2 роки тому

    No 1ro exercicio ñ é determinístico, porque o q3 ñ tem saída para as letras a, b. Pelo que sería un Autômato Finito Ñ Determinístico

    •  2 роки тому +1

      Ola Jordann Mendez, a definição de não determinismo é ter duas ou mais saídas consumindo uma mesma letra.
      Por exemplo:
      d(q1, a) = q2
      d(q1,a) = q3
      Ou seja, estando no estado q1 e consumindo a letra 'a', podemos ir para o estado q2 ou q3. Portanto, estamos diante de um não determinismo.