Logo Passei Direto
Buscar

Autômato para Equilíbrio de Símbolos

Ferramentas de estudo

Passei Direto Aniversário

Quer receber 70% de desconto para assinar o PasseIA?

Questões resolvidas

Uma das habilidades de um profissional em computação é compreender e detectar erros de lógica em soluções construídas por outras pessoas. Isso requer o entendimento do problema que inicialmente se queria resolver, a maneira como a solução em questão tenta solucionar o problema, quais pontos nos quais a solução pode apresentar um erro e como consertar este erro. Um autômato de pilha pode ser visto como uma solução para o problema de reconhecer uma linguagem formal.

Você está trabalhando em uma empresa que examina padrões em sequências de símbolos. Um desses padrões consiste em determinar se uma sequência finita qualquer de símbolos a e b tem a mesma quantidade desses símbolos em qualquer ordem. Por exemplo, a sequência aabbabb é uma sequência que dispõe da mesma quantidade de símbolos a e b, enquanto a sequência bba não apresenta a mesma quantidade de símbolos.

Para resolver o problema, você precisa construir um autômato de pilha que aceite exatamente a linguagem de palavras com a mesma quantidade de símbolos ‘a’ e ‘b’ em qualquer ordem.
Considerando a descrição e as transições apresentadas para o autômato de pilha que aceita a linguagem com a mesma quantidade de símbolos 'a' e 'b' em qualquer ordem, qual das alternativas abaixo melhor representa a lógica correta para empilhar e desempilhar os símbolos na pilha?
a) Empilhar o símbolo lido quando ele for igual ao símbolo no topo da pilha e desempilhar quando forem diferentes, contando pares correspondentes.
b) Empilhar sempre que o símbolo lido for diferente do símbolo no topo da pilha e desempilhar quando forem iguais.
c) Empilhar apenas símbolos 'a' e desempilhar apenas símbolos 'b'.
d) Desempilhar sempre que o símbolo lido for igual ao símbolo no topo da pilha e empilhar quando forem diferentes.

Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

Uma das habilidades de um profissional em computação é compreender e detectar erros de lógica em soluções construídas por outras pessoas. Isso requer o entendimento do problema que inicialmente se queria resolver, a maneira como a solução em questão tenta solucionar o problema, quais pontos nos quais a solução pode apresentar um erro e como consertar este erro. Um autômato de pilha pode ser visto como uma solução para o problema de reconhecer uma linguagem formal.

Você está trabalhando em uma empresa que examina padrões em sequências de símbolos. Um desses padrões consiste em determinar se uma sequência finita qualquer de símbolos a e b tem a mesma quantidade desses símbolos em qualquer ordem. Por exemplo, a sequência aabbabb é uma sequência que dispõe da mesma quantidade de símbolos a e b, enquanto a sequência bba não apresenta a mesma quantidade de símbolos.

Para resolver o problema, você precisa construir um autômato de pilha que aceite exatamente a linguagem de palavras com a mesma quantidade de símbolos ‘a’ e ‘b’ em qualquer ordem.
Considerando a descrição e as transições apresentadas para o autômato de pilha que aceita a linguagem com a mesma quantidade de símbolos 'a' e 'b' em qualquer ordem, qual das alternativas abaixo melhor representa a lógica correta para empilhar e desempilhar os símbolos na pilha?
a) Empilhar o símbolo lido quando ele for igual ao símbolo no topo da pilha e desempilhar quando forem diferentes, contando pares correspondentes.
b) Empilhar sempre que o símbolo lido for diferente do símbolo no topo da pilha e desempilhar quando forem iguais.
c) Empilhar apenas símbolos 'a' e desempilhar apenas símbolos 'b'.
d) Desempilhar sempre que o símbolo lido for igual ao símbolo no topo da pilha e empilhar quando forem diferentes.

Prévia do material em texto

Uma das habilidades de um profissional em computação é compreender e detectar erros de lógica em soluções construídas por outras pessoas. Isso requer o entendimento do problema que inicialmente se queria resolver, a maneira como a solução em questão tenta solucionar o problema, quais pontos nos quais a solução pode apresentar um erro e como consertar este erro. Um autômato de pilha pode ser visto como uma solução para o problema de reconhecer uma linguagem formal.
Você está trabalhando em uma empresa que examina padrões em sequências de símbolos. Um desses padrões consiste em determinar
se uma sequência finita qualquer de símbolos a e b tem a mesma quantidade desses símbolos em qualquer ordem. Por exemplo,
a sequência aabbabb é uma sequência que dispõe da mesma quantidade de símbolos a e b, enquanto a sequência bba não
apresenta a mesma quantidade de símbolos.
Para resolver o problema, você precisa construir um autômato
de pilha que aceite exatamente a linguagem de palavras com
​​​​​​​a mesma quantidade de símbolos ‘a’ e ‘b’ em qualquer ordem.
Resposta
Para essa linguagem em particular, além de empilhar os elementos, é preciso desempilhá-los. As transições que fazem o empilhamento
“b, b ; bb”, “a, a ; aa”, “b, Z ; bZ” e “a, Z ; aZ” ocorrem quando o autômato lê da entrada o mesmo símbolo que está no topo da pilha, fazendo com que este símbolo seja contado.
Quando a situação é a oposta, o símbolo lido da entrada é diferente do símbolo no topo da pilha “a, b ; ε” e “b, a ; ε”; assim, é possível desempilhar o topo da pilha, já que se pode contar esse par de elementos como um par correspondente.
Veja a sua representação:
image1.jpeg

Mais conteúdos dessa disciplina