Prévia do material em texto
V - Conjunto finito de símbolos ou variáveis Não-Terminais, ou seja, são variáveis a serem substituídas por
outras variáveis ou símbolos terminais nos passos de produção das palavras da gramática e nenhum deles
deverá aparecer nas palavras finais da linguagem gerada por ela.
T -Conjunto finito de símbolos terminais DISJUNTOS , ou seja, que não façam parte de V. Eles são ditos
¿terminais¿ pois são os que farão parte das palavras geradas por essa gramática.
P - Regras de produção da forma:
S - Um símbolo especial escolhido aparte de V denominado inicial. Este é o símbolo por onde começamos a
substituição das regras de produção.
Questão
Um grafo é:
Um conjunto de nós e de arestas disjuntos
Um conjunto de nós interligados por arestas
Apenas um conjunto de arestas
Um conjunto de arestas interligadas por nós
Apenas um conjunto de no.
Respondido em 20/11/2020 16:18:08
Explicação:
Grafos são um conjunto de vértices (ou nós), interconectados dois a dois por arestas.
2
Questão
Considerando A um conjunto e R uma relação em A, há algumas propriedades a serem
respeitadas. No que tange a propriedade Reflexiva é correto afirmar:
aRb e bRc, então aRc
aRb, então bRa
aRb e bRa, então a=b
aRb e bRa, então a≠b
Para todo a ∈ A, aRa
Respondido em 20/11/2020 16:18:43
Explicação:
Em um conjunto qualquer, podemos dizer que existe relação reflexiva se os subconjuntos deste
conjunto possuírem os mesmos elementos.
3
Questão
Quando operamos dois conjuntos e retornamos os elementos existentens no primeiro que não
existem no segundo temos a operação
INTERSECÇÃO
DIFERENÇA
UNIÃO
COMPLEMENTO
PRODUTO CARTESIANO
Respondido em 20/11/2020 16:19:32
Explicação:
a diferença corresponde a operação
A - B = {x | x ∈ A e x ∉ B}
Ex: Seja A = {0, 1, 2} e B = {2, 3}, então A - B = {0, 1}
4
Questão
O modelo de computador, com fundamentos lógicos em seu funcionamento onde é feita a análise
de computação combinação e extensões denomina-se
EXPRESSÕES REGULARES
GRAFO
MAQUINA DE TURING
LINGUAGENS FORMAIS
AUTOMATOS FINITOS
Respondido em 20/11/2020 16:19:57
Explicação:
Máquina de Turing é um modelo de computador, com fundamentos lógicos em seu funcionamento.
Em máquinas de Turing é feita a análise de computação, combinação e extensões das Máquinas de
Turing e ao final Máquinas de Turing não-deterministas
5
Questão
Um grupo de objetos representado como uma unidade é chamado de:
Conjunto
Membro
Elemento
Complemento
Operação
Respondido em 20/11/2020 16:20:17
Explicação:
Conforme mostrado na aula 1, conjunto pode ser definido como um agrupamento contendo zero ou
mais objetos diferentes, chamados de elementos de um conjunto.
6
Questão
Quando operamos dois conjuntos e retornamos todos os elementos existentes tanto no primeiro
como no segundo conjunto temos a operação
DIFERENÇA
PRODUTO CARTESIANO
UNIÃO
INTERSECÇÃO
COMPLEMENTO
Respondido em 20/11/2020 16:20:25
Explicação:
a União corresponde a operação A ∪ B = {x | x ∈ A ou x ∈ B}
Ex: Seja A = {0, 1, 2} e B = {2, 3}, então A ∪ B = {0, 1, 2, 3}
1
Questão
Um grafo consiste num conjunto de nós (ou vértices) e num conjunto de arcos (ou arestas). É
correto afirmar que o grau de um nó é
o número de arcos incidentes nesse nó.
o número de pares ordenados que formam o arco.
a posição deste nó em relação ao nó raiz do grafo
a distância entre este nó e um outro nó qualquer do grafo.
um número associado ao arco, também chamado de peso.
Respondido em 20/11/2020 16:20:56
Explicação:
O grau de um grafo indica o número de arestas que conectam um vértice do grafo a outros
vértices, ou seja, número de vizinhos que aquele vértice possui no grafo (que chegam ou partem
dele). Para grafos direcionados são indicados dois tipos de grau, grau de entrada (número de
arestas que chegam ao vértice) e grau de saída (número de arestas que partem do vértice
2
Questão
É uma noção simples, abstrata e intuitiva, usada para representar a ideia de alguma espécie de
relação entre os objetos. Graficamente, aparece representado por uma figura com nós ou vértices.
Trata-se dos
registros.
objetos geométricos.
dados.
triângulos.
grafos.
Respondido em 20/11/2020 16:21:29
Explicação:
Grafo (graph) é um conjunto de vértices (ou nodos), interconectados dois a dois por arestas (ou
arcos).
3
Questão
Considerando-se os conceitos básicos de grafos e algoritmos em grafos, assinale a alternativa
INCORRETA.
Aresta: conexão entre dois grafos
Grafo trivial: Grafo que possui um único vértice e nenhuma aresta
Vértice: objeto simples que pode ter nome e outros atributos.
Grafo completo: grafo não direcionado, no qual todos os pares de vértices são adjacentes.
Grafo: conjunto de vértices e arestas.
Respondido em 20/11/2020 16:22:08
Explicação:
Grafo (graph) é um conjunto de vértices (ou nodos), interconectados dois a dois por arestas (ou
arcos).
A aresta portanto interliga nós e não grafos
4
Questão
Com relação ao tema Estrutura de Dados ¿ Grafos, entendese por ¿grau de um nó":
sequência de nós interligados que liga um nó (origem) a um outro nó (destino).
uma relação que liga dois nós.
o número de arestas a ele ligadas.
um conjunto de nós e um conjunto de arestas.
uma entidade, tal como "uma fruta", "uma pessoa".
Respondido em 20/11/2020 16:25:09
Explicação:
O grau de um grafo indica o número de arestas que conectam um vértice do grafo a outros
vértices, ou seja, número de vizinhos que aquele vértice possui no grafo (que chegam ou partem
dele). Para grafos direcionados são indicados dois tipos de grau, grau de entrada (número de
arestas que chegam ao vértice) e grau de saída (número de arestas que partem do vértice
5
Questão
Pode-se defir o conceito de Grafo bipartido como sendo:
Grafo que tem pesos associados a cada uma de suas arestas.
Grafo onde seus vértices podem ser divididos em dois conjuntos disjuntos, tais que cada
aresta ligue apenas vértices de grupos diferentes.
Grafo que tem um único vértice e nenhuma aresta
Grafo onde todos os seus vértices têm o mesmo grau
Grafo não direcionado
Respondido em 20/11/2020 16:22:49
Explicação:
Um grafo G(V, A) é bipartido quando o seu conjunto de vértices, V, puder ser particionado em dois
conjuntos V1 e V2 tais que toda aresta de G tem uma extremidade em V1 e outra em V2.
6
Questão
"Um conjunto de pontos com linhas conectando alguns dos pontos, na qual os pontos
são chamados nós ou vértices , e as linhas são chamadas arestas". Esse conceito é a definição
de:
Árvore
Caminho direcionado.
Arestas
Algoritmo
Grafos
Respondido em 20/11/2020 16:25:45
Explicação:
Conforme visto na aula 2, Grafo (graph) é um conjunto de vértices (ou nodos), interconectados
dois a dois por arestas (ou arcos).
1
Questão
Entre os diversos tipos de árvores, a árvore enraizada se caracteriza por:
Uma estrutura de vértices que é definida por meio de um conjunto de vértices.
Não apresentar um vértice (raiz) que se distingue dos demais.
Um grafo acíclico, não orientado e conectado.
Um tipo especial de árvore que apresenta um vértice (raiz) que se distingue dos demais
Um grafo acíclico, não orientado mas, possivelmente desconectado.
Respondido em 20/11/2020 16:25:14
Explicação:Tipo especial de árvore que apresenta um vértice (raiz) que se distingue dos demais. É utilizado o
termo nó para fazer referência aos vértices.
2
Questão
Considere que uma arvore binária foi criada a partir da inserção de dados na seguinte ordem 5, 7,
8, 3, 2, 4, 1, 9
A raiz da subarvore esquerda arvore é o numero
3
7
5
9
1
Respondido em 20/11/2020 16:27:40
Explicação:
A raiz será o primeiro valor na subarvore esquerda, ou seja menor que a raiz que é o 3
3
Questão
Complete o seguinte Teorema sobre árvores: "Se todo nó em uma árvore tem uma quantidade
finita de filhos e todo ramo da árvore tem uma quantidade finita de nós, a árvore
propriamente dita tem uma quantidade ........"
finita de nós.
infinita de nós
infinita de folha
finita de ramo
infinita de ramo
Respondido em 20/11/2020 16:33:57
Explicação:
Como pode ser visto na aula 3 em Percorrendo árvores binárias.
4
Questão
Ao percorrermos uma arvore se visitamos primeiro a subarvore esquerda estamos no percurso em:
Pós Ordem
Ordem Central
Ordem
Ordem Natural
Pré Ordem
Respondido em 20/11/2020 16:34:23
Explicação:
Ordem: Esquerda, Centro, Direita
5
Questão
Considere que uma arvore binária foi criada a partir da inserção de dados na seguinte ordem 5, 7,
8, 3, 2, 4, 1, 9
A raiz da subarvore esquerda arvore é o numero
7
9
3
5
1
Respondido em 20/11/2020 16:34:39
Explicação:
A raiz será o primeiro valor na subarvore direita, ou seja maior que a raiz que é o 7
6
Questão
Ao percorrermos uma arvore se visitamos por ultimo o centro estamos no percurso
Pós Ordem
Ordem Natural
Ordem
Pré Ordem
Ordem Central
Respondido em 20/11/2020 16:37:28
Explicação:
Pós-Ordem: Esquerda, Direita, Centro
1
Questão
Quanto aos automatos deterministicos podemos afirmar que:
Não é representado por uma quíntupla
Para todo estado e todo símbolo de entrada sempre há 0 ou 1 ou n transições possíveis.
Pode estar em muitos estados ao mesmo tempo.
Para cada estado e para cada entrada só há zero ou uma transição possível
É um autômato que permite zero, uma ou mais transições a partir de um estado e para um
mesmo símbolo de entrada.
Respondido em 20/11/2020 16:38:18
Explicação:
Um autômato finito determinístico é um autômato onde para cada estado e para cada entrada só há
zero ou uma transição possível
2
Questão
Um automato finito é representado por um quintupla (Q, Ʃ, δ, q0, F) onde Ʃ representa
O número de estados
as transições
o conjunto de estados finais
os simbolos de entrada
o estado inicial
Respondido em 20/11/2020 16:36:32
Explicação:
Seguindo a propriedade de um autômato finito que é representado por uma quíntupla (Q, Ʃ, δ, q0,
F):
Q = número de estados = {q0, q1, q2, q3}
Ʃ = símbolos de entrada = {0,1}
δ = transições =
δ (q0, 0) = q2
δ (q0, 1) = q1
δ (q1, 0) = q3
δ (q1, 1) = q0
δ (q2, 0) = q0
δ (q2, 1) = q3
δ (q3, 0) = não possui = Ø (vazio)
δ (q3, 1) = q2
q0 = estado inicial = {q0}
F = conjunto de estados finais = {q0}
3
Questão
Uma das formas de representação do autômato finito indeterminístico mais comum é:
Matriz
Símbolo
Setas
Diagrama
Conjunto
Respondido em 20/11/2020 16:39:28
Explicação:
.
4
Questão
Um automato finito é representado por um quintupla (Q, Ʃ, δ, q0, F) onde Q representa
o estado inicial
O número de estados
os simbolos de entrada
o conjunto de estados finais
as transições
Respondido em 20/11/2020 16:39:49
Explicação:
Seguindo a propriedade de um autômato finito que é representado por uma quíntupla (Q, Ʃ, δ, q0,
F):
Q = número de estados = {q0, q1, q2, q3}
Ʃ = símbolos de entrada = {0,1}
δ = transições =
δ (q0, 0) = q2
δ (q0, 1) = q1
δ (q1, 0) = q3
δ (q1, 1) = q0
δ (q2, 0) = q0
δ (q2, 1) = q3
δ (q3, 0) = não possui = Ø (vazio)
δ (q3, 1) = q2
q0 = estado inicial = {q0}
F = conjunto de estados finais = {q0}
5
Questão
Um autômato finito determinístico , também chamado máquina de estados finita determinística
(AFD), é uma Máquina de estados finita que aceita ou rejeita cadeias de símbolos gerando um único
ramo de computação para cada cadeia de entrada. É uma de suas propriedades:
Para todo estado e todo símbolo de entrada sempre há zero ou uma ou n transições
possíveis.
Para todo estado e todo símbolo de entrada sempre há zero ou uma transição possível.
Suas transições são incompletas
Há tabelas de transição
Contém diversos números infinito de estados
Respondido em 20/11/2020 16:38:06
Explicação:
Um autômato finito tem um conjunto de estados, alguns dos quais são denominados estados
finais. À medida que caracteres da string de entrada são lidos, o controle da máquina passa de um
estado a outro, segundo um conjunto de regras de transição especificadas para o autômato.
6
Questão
Os movimentos realizado pelos automatos finitos constituem :
Os dados representados
O conjunto de estados
O controle
O conjunto de transições
O estado final
Respondido em 20/11/2020 16:38:31
Explicação:
Conjunto de transições: movimentos possíveis de um estado para outro
1
Questão
Um automato finito é representado por um quintupla (Q, Ʃ, δ, q0, F) onde q0 representa
O número de estados
o conjunto de estados finais
os simbolos de entrada
o estado inicial
as transições
Respondido em 20/11/2020 16:41:29
Explicação:
Seguindo a propriedade de um autômato finito que é representado por uma quíntupla (Q, Ʃ, δ, q0,
F):
Q = número de estados = {q0, q1, q2, q3}
Ʃ = símbolos de entrada = {0,1}
δ = transições =
δ (q0, 0) = q2
δ (q0, 1) = q1
δ (q1, 0) = q3
δ (q1, 1) = q0
δ (q2, 0) = q0
δ (q2, 1) = q3
δ (q3, 0) = não possui = Ø (vazio)
δ (q3, 1) = q2
q0 = estado inicial = {q0}
F = conjunto de estados finais = {q0}
2
Questão
Se o estado inicial for também estado final em um autômato finito, então esse autômato
é não determinístico.
não tem outros estados finais.
não aceita a cadeia vazia.
aceita a cadeia vazia.
é determinístico.
Respondido em 20/11/2020 16:39:13
Explicação:
Quando o estado inicial também é final num AF, então ele aceita a cadeia vazia.
3
Questão
Seja um Autômato Finito Não Determinístico (AFN) com 4 estados. Aplicando-se o algoritmo de
conversão de um AFN para um Autômato Finito Determinístico (AFD), em quantos estados, no
máximo, resultaria o AFD considerando-se os estados inúteis?
128
32
64
8
16
Respondido em 20/11/2020 16:42:21
Explicação:
O cálculo é simples. Basta calcular 2 elevado ao número de estados do AFN: portanto 16 estados
4
Questão
Constituem um conjunto de linguagens decidíveis bastante simples e com propriedades bem
definidas e compreendidas. Está é uma característica encontrada nos:
Autômatos Finitos
Árvores Binária
Autômatos Indeterminados
Autômatos Infinitos
GrafosRespondido em 20/11/2020 16:40:26
Explicação:
Os Autômatos Finitos são facilmente descritas por expressões simples, chamadas Expressões
Regulares.
5
Questão
Um automato finito é representado por um quintupla (Q, Ʃ, δ, q0, F) onde F representa
o conjunto de estados finais
o estado inicial
os simbolos de entrada
as transições
O número de estados
Respondido em 20/11/2020 16:43:18
Explicação:
Seguindo a propriedade de um autômato finito que é representado por uma quíntupla (Q, Ʃ, δ, q0,
F):
Q = número de estados = {q0, q1, q2, q3}
Ʃ = símbolos de entrada = {0,1}
δ = transições =
δ (q0, 0) = q2
δ (q0, 1) = q1
δ (q1, 0) = q3
δ (q1, 1) = q0
δ (q2, 0) = q0
δ (q2, 1) = q3
δ (q3, 0) = não possui = Ø (vazio)
δ (q3, 1) = q2
q0 = estado inicial = {q0}
F = conjunto de estados finais = {q0}
6
Questão
A definição formal diz que um autômato finito é uma lista de cinco objetos: conjunto de estados,
alfabeto de entrada, regras para movimentação, estado inicial, e estados de aceitação. Essa lista de
cinco elementos é frequentemente chamada:
quíntupla
Mapeamento
Array
Autômato quinto
Five elements
Respondido em 20/11/2020 16:40:52
Explicação:
Dizemos que um autômato finito é representado por uma quíntupla (Q, Ʃ, δ, q0, F), onde Q é o
conjunto finito de estados, Ʃ é o conjunto finito de símbolos de entrada, δ é a função de transição,
q0 é o estado inicial (q0 ∈ Q o estado inicial é apontado por uma seta) e F o conjunto de estados
finais ou de aceitação (os estados de aceitação são apontados por um círculo dentro de outro ou
asterisco e um estado inicial também pode ser final).
Questão
Considere as seguintes expressões regulares cujo alfabeto é {a,b}.
R1 = a(a ∪ b)*
R2 = b(a ∪ b)*
Se L(R) é uma linguagem associada a uma expressão regular R, é correto afirmar que
Se R3 é uma expressão regular tal que L(R3) = L(R1) ∩ L(R2), então L(R3) é uma
linguagem infinita.2).
L(R1) = L(r2)
Um autômato finito não determinístico que reconheça L(R1) ∪ L(R2) tem, pelo menos,
quatro estados.
Existe um autômato finito determinístico cuja linguagem é igual a L(R1) ∪ L(R2).
L(R2) = {w | w termina com b}
Respondido em 20/11/2020 16:45:25
Explicação:
linguagem L(R1) é composta das palavras ou sequências que iniciam com ¿a¿ e a linguagem L(R2)
é composta das palavras ou sequências que iniciam com ¿b¿. Note que a expressão regular (a ∪
b)* gera qualquer sequência de a´s e b´s.
Logo, L(R2) não termina com b necessariamente. Sabemos ainda que a união de L(R1) e L(R2) são
todas as palavras que comecem com ¿a¿ ou com ¿b¿, ou seja qualquer palavra sobre o alfabeto,
exceto a palavra vazia. Este AFD pode ser representado com dois estados apenas. Portanto, resta
apenas a alternativa C, e como afirmado anteriormente, um AFD de dois estados reconhece L(R1) ∪
L(R
2
Questão
Seja Σ={a,b}. Uma expressão regular denotando a linguagem L = {w∈Σ∗ tal que toda ocorrência
de "a" em w é imediatamente seguida de "b"} é:
b+(ab)∗
(b+ab)∗
(a∗b)∗
a∗b
(ab)∗
Respondido em 20/11/2020 16:46:21
Explicação:
(A) (a∗b)∗
(B) (b+ab)∗
(C) a∗b
(D) b+(ab)∗
(E) (ab)∗
As alternativas A e C estão incorretas, pois as expressões regulares reconhecem, por exemplo, a
cadeia aab, que não faz parte da linguagem do enunciado.
A alternativa E também está errada. O problema é que ela não reconhece todas as cadeias da
linguagem do enunciado. Por exemplo, a cadeia bab faz parte de L, mas não é reconhecida pela ER.
A alternativa D está errada. Entretanto, a ER dessa alternativa é confusa, pois não temos como
saber se o operador "+" é o fecho positivo ou o operador de união, que é normalmente
representado por "|". Felizmente, em ambos os casos a alternativa estaria errada.
Portanto, a única alternativa correta é a B.
3
Questão
Uma gramática G é definida por G=({x,y,z},{S,W,X,Y,Z},P,S) na qual os membros de P são
S→WZW→X|YX→x|xXY→y|yYZ→z|zZ
Qual das expressões regulares abaixo corresponde a esta gramática?
xx∗|yy∗|zz∗
(xx∗|yy∗)zz∗
(xx|yy)∗zz∗
xx∗(yy∗|zz∗)
xx∗yy∗zz∗
Respondido em 20/11/2020 16:46:25
Explicação:
Os símbolos não terminais X, Y e Z produzem, respectivamente, xx∗, yy∗ e zz∗. Além disso,
podemos eliminar W substituindo-o na primeira produção:
SXYZ→(X|Y)Z→xx∗→yy∗→zz∗
Substituindo X, Y e Z na primeira produção, obtemos
Portanto a solução é S→(xx∗|yy∗)zz∗
4
Questão
Considere as seguintes afirmações sobre autômatos finitos e expressões regulares:
I A classe de linguagens aceita por um Autômato Finito Determinístico (AFD) não é a mesma que
um Autômato Finito Não Determinístico (AFND).
II Para algumas expressões regulares não é possível construir um AFD.
III A expressão regular (b+ba)+ aceita os "strings" de b's e a's começando com b e não tendo dois
a's consecutivos.
Selecione a afirmativa correta:
As afirmativas II e III são falsas
As afirmativas I e III são falsas
As afirmativas I e III são verdadeiras
Apenas a afirmativa III é verdadeira
As afirmativas I e II são verdadeiras
Respondido em 20/11/2020 16:48:01
Explicação:
A primeira afirmação é falsa porque AFDs e AFNDs reconhecem a mesma classe de linguagens
(linguagens regulares). Além disso, essas duas classes de autômatos são equivalentes.
A afirmativa II também é falsa. Toda expressão regular representa uma linguagem regular que,
consequentemente, é reconhecida por um AFD. Logo, é sempre possível construir um AFD para
uma expressão regular.
A afirmativa III está correta. O único problema é a notação utilizada na expressão regular, que
causa confusão. A ER pode ser escrita da seguinte forma: (b|ba)+. Observe que toda cadeia
reconhecida pela ER inicia com b e que não é possível ter dois a's consecutivos.
5
Questão
Analise as seguintes igualdades de expressões regulares:
I. a∗=(a∗)∗
II. (a+b)∗=(b+a)∗
III. a∗+b∗=(a+b)∗
A análise permite concluir que.
todas as igualdades são verdadeiras.
somente as igualdades I e II são verdadeiras.
nenhuma das igualdades é verdadeira.
somente as igualdades II e III são verdadeiras.
somente a igualdade I é verdadeira.
Respondido em 20/11/2020 16:49:08
Explicação:
(A) somente as igualdades I e II são verdadeiras.
(B) somente a igualdade I é verdadeira.
(C) somente as igualdades II e III são verdadeiras.
(D) todas as igualdades são verdadeiras.
(E) nenhuma das igualdades é verdadeira.
Resolução
Nas afirmativas II e III o operador "+" não é o fecho positivo e sim o operador de união. Podemos
reescrever as afirmativas da seguinte forma:
II. (a|b)∗=(b|a)∗
III. a∗|b∗=(a|b)∗
A afirmativa I está correta (é trivial).
A afirmativa II também está correta (também é trivial, pois o operador de união "|" é comutativo).
A afirmativa III está errada. Enquanto a expressão regular à esquerda reconhece cadeias contendo
apenas a's ou cadeias contendo apenas b's, a expressão regular à direita reconhece qualquer
cadeia de a's e b's. Por exemplo, a cadeia aab é reconhecida por (a|b)∗, mas não é reconhecida por
a∗|b∗.
Portanto, a alternativa correta é a A.
6
Questão
Seja o alfabeto ∑ constituído das 23 letras {a, b,c ...,z}. Se A= {legal, ruim} e B= {menino,
menina} então o resultado de B concatenado A (B.A) será respectivamente:
{legal, ruim, legallegal, legalruim,
ruimruim, legallegal}
{meninolegal, meninaruim, meninoruim,
meninalegal}
{menino, menina, ruim, legal}
{meninolegal, meninalegal, meninoruim
meninaruim}
{legal, ruim,menino, menina}
Respondido em 20/11/2020 16:50:43
Explicação:
Lembrando que concatenação é uma operação que junta cadeias de um conjunto com cadeias de
um outro conjunto.
1
Questão
Sobre a hierarquia de Chomsky podemos afirmar que:
Uma linguagem que não é regular é livre de contexto
Uma linguagem que é recursivamente enumerável não pode ser uma linguagem regular
Há linguagens que não são nem livres de contexto nem sensíveis ao contexto
As linguagens reconhecidas por autômatos a pilha são as linguagens regulares
As linguagens livres de contexto e as linguagens sensíveis ao contexto se excluem
Respondido em 20/11/2020 17:25:25
Explicação:
a - Uma linguagem que é recursivamente enumerável não pode ser uma linguagem regular
b- As linguagens livres de contexto e as linguagens sensíveis ao contexto se excluem
c - Uma linguagem que não é regular é livre de contexto
d - As linguagens reconhecidas por autômatos a pilha são as linguagens regulares
e - Há linguagens que não são nem livres de contexto nem sensíveis ao contexto
A alternativa A é falsa. Segue o teorema das linguagens recursivamente enumeráveis:
Teorema: Qualquer linguagem gerada por uma gramática irrestrita é recursivamente enumerável .
Uma das consequências desse teorema é que todas as linguagens regulares são recursivamente
enumeráveis, uma vez que toda gramática regular também é irrestrita.
Toda linguagem livre de contexto também é sensível ao contexto, portanto a alternativa B é falsa.
A alternativa C está errada porque quando uma linguagem não é regular, ela também pode ser
sensível ao contexto ou irrestrita.
A alternativa D está errada. As linguagens reconhecidas por autômatos a pilha são linguagens livres
de contexto. Apesar das linguagens regulares também serem livres de contexto e, portanto,
também serem reconhecidas por um autômato a pilha, a afirmação exclui as linguagens que são
puramente livres de contexto.
A alternativa E está correta. Tais linguagens são irrestritas (ou estruturadas em frase).
2
Questão
Seja a seguinte linguagem, onde ϵ representa a sentença vazia
SABCD→AB|CD→a|ϵ→b|f→c|g→h|i
Qual o conjunto de terminais que podem começar sentenças derivadas de S?
{a,b,f,c,g,h,i}
{a,c,g}
{a,b,f}
{a,b,f,c,g}
{a,c,g,h,i}
Respondido em 20/11/2020 17:26:59
Explicação:
(A) {a,c,g}
(B) {a,b,f,c,g}
(C) {a,b,f,c,g,h,i}
(D) {a,c,g,h,i}
(E) {a,b,f}
Resolução
Na prática, o enunciado solicita o conjunto FIRST de S.
Todos os terminais que iniciam sentenças produzidas pelos não terminais A e C fazem parte do
conjunto: {a,c,g}. Como A produz a cadeia vazia, então devemos também incluir os não terminais
que iniciam sentenças produzidas pelo não terminal B: {b,f}.
Unindo os conjuntos, temos: {a,b,c,f,g}. Portanto, a alternativa correta é a B.
3
Questão
Analise as seguintes afirmativas.
I. Todo autômato finito não-determinístico pode ser simulado por um autômato finito
determinístico.
II. Todo autômato finito determinístico pode ser simulado por um autômato finito não-
determinístico.
III. Todo autômato finito não-determinístico pode ser simulado por um autômato de pilha
determinístico.
IV. Todo autômato de pilha determinístico pode ser simulado por um autômato finito não-
determinístico.
V. Todo autômato finito não-determinístico pode ser simulado por uma máquina de Turing
determinística.
A análise permite concluir que estão CORRETAS
apenas as afirmativas II, III e V.
apenas as afirmativas I, II, III e IV.
apenas as afirmativas I, II e IV.
apenas as afirmativas II e IV.
apenas as afirmativas I, II, III e V.
Respondido em 20/11/2020 17:27:55
Explicação:
(A) apenas as afirmativas I, II, III e IV.
(B) apenas as afirmativas II, III e V.
(C) apenas as afirmativas I, II, III e V.
(D) apenas as afirmativas II e IV.
(E) apenas as afirmativas I, II e IV.
Resolução
A única afirmativa falsa é a IV. Autômatos de pilha reconhecem linguagens livres de contexto,
enquanto que autômatos finitos reconhecem linguagens regulares.
Portanto, é impossível simular um autômato de pilha utilizando um autômato finito, pois a classe de
linguagens que esse último reconhece é hierarquicamente inferior.
Além disso, autômatos finitos não possuem memória auxiliar para simular a pilha.
Logo, a alternativa correta é a C.
4
Questão
Para gerar o automâto finito mínimo a partir um automâto finito o devemos pelo algoritmo de
minimização é necessario que:
Ele seja deterministico
Todos os estados sejam alcançaveis a partir de qualquer outro estado
A função programa seja parcial
A partir de uma estado existam 0, 1 ou n transições
Ele tenha destinos inalcançaveis
Respondido em 20/11/2020 17:30:56
Explicação:
Algoritmo de Minimização de Autômatos
PRE-REQUISITOS DO AUTÔMATO A SER MINIMIZADO
a.Deve ser determinístico
b.Todos os estados devem poder ser alcançados a partir do estado inicial (Sem estados
inalcançáveis
c.A função programa deve ser total, ou seja, a partir de qualquer estado deve haver transições para
todos os símbolos do alfabeto
5
Questão
Seja a linguagem formal L={anb2nc,n≥0}. Analise as seguintes assertivas.
I. L é uma linguagem livre de contexto.
II. A gramática G=({S,X},{a,b,c},{S→Xc,X→aXbb|ϵ},S) gera a linguagem L.
III. L não pode ser reconhecida por um autômato com pilha.
A análise permite concluir que estão CORRETAS
apenas as assertivas II e III.
apenas as assertivas I e II.
todas as assertivas.
nenhuma das assertivas.
apenas as assertivas I e III.
Respondido em 20/11/2020 17:28:42
Explicação:
(A) apenas as assertivas I e II.
(B) apenas as assertivas I e III.
(C) apenas as assertivas II e III.
(D) todas as assertivas.
(E) nenhuma das assertivas.
Resolução
As afirmativas I e II estão corretas. A gramática G é livre de contexto e produz corretamente a
linguagem L.
A produção X→aXbb|ϵ produz anb2n, isto é, para cada a à esquerda, teremos dois b's à direita.
Essa "simetria" não pode ser expressa por uma gramática regular.
Uma vez que a gramática G é livre de contexto, então a linguagem L, produzida por G, é livre de
contexto.
A afirmativa III está incorreta, pois como a linguagem L é livre de contexto, então ela é
reconhecida por um autômato com pilha.
Portanto, a alternativa correta é a A.
6
Questão
Analise as seguintes afirmativas.I. Todo autômato finito não-determinístico pode ser
simulado por um autômato finito determinístico.
II. Todo autômato finito determinístico pode ser simulado por um autômato finito não-
determinístico.
III. Todo autômato finito não-determinístico pode ser simulado por um autômato de pilha
determinístico.
IV. Todo autômato de pilha determinístico pode ser simulado por um autômato finito não-
determinístico.
V. Todo autômato finito não-determinístico pode ser simulado por uma máquina de Turing
determinística.
A análise permite concluir que estão CORRETAS
apenas as afirmativas I, II e
IV.
apenas as afirmativas I, II,
III e V.
apenas as afirmativas I, II,
III e IV.
apenas as afirmativas II e
IV.
apenas as afirmativas II, III
e V.
Respondido em 20/11/2020 17:32:19
Explicação:
(A) apenas as afirmativas I, II, III e IV.
(B) apenas as afirmativas II, III e V.
(C) apenas as afirmativas I, II, III e V.
(D) apenas as afirmativas II e IV.
(E) apenas as afirmativas I, II e IV.
Resolução
A única afirmativa falsa é a IV. Autômatos de pilha reconhecem linguagens livres de
contexto, enquanto que autômatos finitos reconhecem linguagens regulares.
Portanto, é impossível simular um autômato de pilha utilizando um autômato finito, pois a
classe de linguagens que esse último reconhece é hierarquicamenteinferior.
Além disso, autômatos finitos não possuem memória auxiliar para simular a pilha.
Logo, a alternativa correta é a C.
Questão
No que concerne a utilização e o processamento de máquina de Turing, assinale a opção correta.
Uma máquina de Turing pode alterar várias entradas em cada vez, pois ela é capaz de
transferir sua atenção para mais de uma posição da fita em cada argumento da função de
transição.
As saídas podem ser apenas binárias, pois as referidas máquinas trabalham com
representações lógicas.
Na máquina de Turing, o processamento inclui a sucessiva aplicação da função programada
até ocorrer uma condição de parada.
A máquina em questão registra o valor da palavra de entrada e depois pára, quando a
função indicar um movimento da cabeça para a esquerda e ela já se encontrar no início da
fita.
O conjunto de símbolos usados pela máquina de Turing é infinito.
Respondido em 20/11/2020 17:32:56
Explicação:
.
2
Questão
O problema da parada para máquinas de Turing, ou simplesmente problema da parada, pode
ser assim descrito: determinar, para quaisquer máquinas de Turing M e palavra w, se M irá
eventualmente parar com entrada w.
Mais informalmente, o mesmo problema também pode ser assim descrito: dados um algoritmo e
uma entrada finita, decidir se o algoritmo termina ou se executará indefinidamente.
Para o problema da parada,
não existe algoritmo exato, mas existe algoritmo de aproximação de tempo de execução
exponencial que o soluciona, fornecendo respostas aproximadas.
existe algoritmo exato de tempo de execução polinomial para solucioná-lo.
existe algoritmo exato de tempo de execução exponencial para solucioná-lo.
não existe algoritmo exato, mas existe algoritmo de aproximação de tempo de execução
polinomial que o soluciona, fornecendo respostas aproximadas.
não existe algoritmo que o solucione, não importa quanto tempo seja disponibilizado.
Respondido em 20/11/2020 17:33:42
Explicação:
O problema da parada pode ser definido como:
Seja S o conjunto de todos os pares (A,D), em que A é um algoritmo, e D, dado de entrada; (A,D)
tem a propriedade P se o algoritmo A, quando recebe o dado D, eventualmente produz
um resultado (ou seja, eventualmente para) A tese de Church-Turing mostra que o problema da
parada é não decidível, ou seja, não existe um algoritmo H tal que para todo (A,D) que pertence à
S: H(A,D)= { 1 se A(D) eventualmente para;
0 caso contrário
A prova informal de que tal H não existe é obtida por contradição.
Suponha que H existe. Seja C o algoritmo: ¿entrada A; executa H(A,A); se H(A,A)=0, então,
retorna 1, senão entra em loop¿.
Então, ∀A,(H(A,A)=0 ⇿ ¬A(A) eventualmente para ⇿ H(A,A)=0) (pois H é função total) e
∀A,(H(A,A)=0 ⇿ ¬A(A) eventualmente para).
Tomando A como sendo C, obtemos que C(C) eventualmente para, se e somente se ¬C(C)
eventualmente para, e isto é uma contradição!
Logo, não existe um algoritmo que solucione o problema.
As respostas das alternativas A e B não estão corretas, pois afirmam que existe um algoritmo
que resolve o problema.
As respostas das alternativas D e E não estão corretas, pois afirmam que existe um algoritmo
de aproximação e, pelo exposto na justificativa da resposta correta, tal algoritmo não existe.
3
Questão
Considere a máquina de Turing descrita pelas seguintes regras, iniciando no estado q0:
(q0, 0) (q0, 0, D)
(q0, 1) (q1, 0, D)
(q2, 0) (q2, 1, D)
O que essa máquina faz?
Anda para a direita até encontrar um 1, substitui por 0 e para.
Substitui todos os 1¿s por 0¿s na fita.
Anda para a direita indefinidamente, sem modificar a fita.
Substitui todos os 0¿s por 1¿s na fita.
Para assim que encontrar um 0.
Respondido em 20/11/2020 17:34:54
Explicação:
A máquina inicia no estado q0. Se ela ler um 0,continua em q0 e anda para a direita, conforme a
primeira regra.
Se ela ler um 1, ela o substitui por 0, muda para o estado q1 e vai para a direita, conforme a
segunda regra. Como não existe regra que trate o estado q1, a máquina para.
Logo, a alternativa d está correta.
4
Questão
Correlacionando a hierarquia de Chomsky com os reconhecedores de linguagem, é correto afirmar
que a máquina de Turing, tradicional ou básica, corresponde às gramáticas
sensíveis ao contexto.
regulares.
sem restrição.
livres do contexto.
irregulares.
Respondido em 20/11/2020 17:32:46
Explicação:
A MAQUINA DE TURING CORRESPONDE A GRAMATICAS SEM RESTRIÇÕES
5
Questão
Na máquina de turing o componente que contem o estado corrente da máquina é:
A fita
A unidade de controle
A memoria
O programa
O processador
Respondido em 20/11/2020 17:33:49
Explicação:
UNIDADE DE CONTROLE ¿ Contém o estado corrente da máquina, lê ou escreve dados na fita e
pode se mover para a ¿frente¿(direita) ou para ¿trás¿(esquerda)
6
Questão
Qual das seguintes afirmações é falsa?
O problema da parada é indecidível.
Dada uma máquina de Turing M com alfabeto de entrada Σ e uma string w∈Σ, não se sabe
se a computação de M com entrada w vai ou não parar.
Não existe autômato finito determinístico que reconheça alguma linguagem livre de
contexto.
Um autômato com duas pilhas pode ser simulado por uma máquina de Turing.
Não existe algoritmo que determina quando uma gramática livre de contexto arbitrária é
ambígua.
Respondido em 20/11/2020 17:33:26
Explicação:
(A) Dada uma máquina de Turing M com alfabeto de entrada Σ e uma string w∈Σ, não se sabe se a
computação de M com entrada w vai ou não parar.
(B) O problema da parada é indecidível.
(C) Não existe algoritmo que determina quando uma gramática livre de contexto arbitrária é
ambígua.
(D) Não existe autômato finito determinístico que reconheça alguma linguagem livre de contexto.
(E) Um autômato com duas pilhas pode ser simulado por uma máquina de Turing.
A única alternativa falsa é a D. Linguagens regulares são reconhecidas por autômatos finitos
determinístico e, pela hierarquia de Chomsky, toda linguagem regular também é livre de contexto.
Questão
Considere a gramática G definida pelas regras de produção abaixo, em que os símbolos não-
terminais são S, A e B, e os símbolos terminais são a e b.
S -> AB
AB -> AAB
A -> a
B -> b
Com relação a essa gramática, é correto afirmar que
a gramática G gera a cadeia nula..
é possível encontrar uma gramática regular equivalente a G.
a gramática G é uma gramática livre de contexto.
a cadeia aabbb é gerada por essa gramática.
a gramática G é ambígua.
Respondido em 20/11/2020 17:34:56
Explicação:
Quanto ao tipo da gramática, ela não é livre de contexto (alternativa B), pois uma das regras, a
segunda, tem dois símbolos do lado esquerdo.
As alternativas C e E estão incorretas porque nem a sentença nula, nem a sentença aabbb têm o
formato aa*b (note que as sentenças da linguagem têm exatamente um b)
2
Questão
Em uma gramática sensível ao contexto definida por G = {V, T, P, S} o que T significa?
Uma palavra ¿final¿, composta dos símbolos terminais
Conjunto finito de símbolos terminais DISJUNTOS
Conjunto finito de símbolos ou variáveis Não-Terminais
Um símbolo especial escolhido aparte de V denominado inicial
Regras de produção da forma
Respondido em 20/11/2020 17:37:48
Explicação:
V - Conjunto finito de símbolos ou variáveis Não-Terminais, ou seja, são variáveis a serem
substituídas por outras variáveis ou símbolos terminais nos passos de produção das palavras da
gramática e nenhum deles deverá aparecer nas palavras finais da linguagem gerada por ela.
T -Conjunto finito de símbolosterminais DISJUNTOS , ou seja, que não façam parte de V. Eles são
ditos ¿terminais¿ pois são os que farão parte das palavras geradas por essa gramática.
P - Regras de produção da forma:
S - Um símbolo especial escolhido aparte de V denominado inicial. Este é o símbolo por onde
começamos a substituição das regras de produção.
3
Questão
Um método mais poderoso de descrever linguagens que podem descrever certas características que
têm uma estrutura recursiva o que as torna úteis em uma variedade de aplicações. O texto refere-
se a:
Autômatos finitos
Gramáticas livres-do-contexto
Expressões regulares
Autômatos infinitos
Pilha
Respondido em 20/11/2020 17:38:15
Explicação:
Conforme visto na aula 9, o ponto principal das gramáticas sensíveis ao contexto é que suas regras
de produção não são independentes de uma pré-existência de condições da palavra que está sendo
reconhecida.
4
Questão
Considere a gramática a seguir, em que S, A e B são símbolos não terminais, 0 e 1 são terminais e
ε é a cadeia vazia.
S-> 1S|0A|ε
A-> 1S|0B|ε
B-> 1S|ε
A respeito dessa gramática, analise as afirmações a seguir.
I. Nas cadeias geradas por essa gramática, o último símbolo é 1.
II. O número de zeros consecutivos nas cadeias geradas pela gramática é, no máximo, dois.
III. O número de uns em cada cadeia gerada pela gramática é maior que o número de zeros.
IV. Nas cadeias geradas por essa gramática, todos os uns estão à esquerda de todos os zeros.
É correto apenas o que se afirma em
I e III.
I.
II.
III e IV.
II e IV.
Respondido em 20/11/2020 17:40:07
Explicação:
É uma questão de fácil resolução a partir da correta aplicação das regras de derivação da
gramática para a construção de palavras.
A técnica a ser utilizada para a justificativa de uma alternativa como falsa é a apresentação de um
contraexemplo de sequência de derivações que demonstre a falsidade.
A afirmativa I deve ser considerada falsa. O contraexemplo é a geração da palavra-vazia a partir do
símbolo inicial S (nota do autor: essa é uma suposição, já que a questão pode ser considerada mal
construída já que não informa qual dos símbolos, S, A ou B, é o símbolo inicial).
S => e (aplicação da regra S->e)
A afirmativa II é verdadeira. Considere a seguinte sequência de derivações, na qual W representa
uma cadeia de símbolos terminais. A derivação demonstra as duas únicas regras que podem ser
aplicadas a qualquer momento para remover o símbolo terminal B da palavra sendo gerada, de
forma que número de zeros consecutivos será sempre no máximo dois.
S =>* W0A
=> W00B (Aplicação da regra S->0B é a única que gera zeros seguidos.)
=> W001S (Aplicação da regra B->1S.)
ou
=> W00 (Aplicação da regra B->e.)
A afirmativa III é trivialmente falsa, já que a palavra-vazia pertence ao conjunto de palavras da
linguagem gerada pela gramática apresentada. Ou seja, a quantidade zero de símbolos uns e zeros
torna a afirmativa falsa. A seguinte sequência de derivações é o contraexemplo que justifica a
afirmativa.
S => e (aplicação da regra S->e)
A afirmativa IV deve ser considerada falsa, pois é possível gerar a palavra 01 (na qual uns
aparecem à direita de zeros) a partir da seguinte sequência de derivações do contraexemplo.
S => 0A (Aplicação da regra S->0A.)
S => 01S (Aplicação da regra A->1S.)
S => 01 (Aplicação da regra S->e.)
5
Questão
A gramática dada pelos descritores abaixo é:
G=
N={S,A}
T={0,1} e P é o conjunto de produções
{S → 0S 1A 01ε e A → 0S 1A 0}
Uma gramática sem categorização possível e que gera a coleção das palíndromas em
{0,1} exclusivamente de tamanho par.
Uma gramática regular.
Uma gramática sensível a contexto que não é gramática livre de contexto
Uma gramática do tipo 0 que não é gramática sensível a contexto.
Uma gramática livre de contexto que não é gramática regular
Respondido em 20/11/2020 17:40:25
Explicação:
Pela forma das produções, sabe-se que a gramática é regular já que apresenta produções com
cadeia de tamanho 1 à esquerda que podem ser substituídas por cadeias exclusivamente do tipo
A→α onde onde α é constituída por um terminal ou por um terminal seguido de um não terminal.
Sabe-se também que existe uma hierarquia onde as gramáticas se incluem de modo que uma G0
inclui as GSC´s que por sua vez incluem as GLC´s e estas incluem como tipo especial as gramáticas
regulares. Assim, se as regras satisfazem as condições do tipo mais interior, a opção correta é a
letra D
6
Questão
Em uma gramática sensível ao contexto definida por G = {V, T, P, S} o P significa?
Conjunto finito de símbolos ou
variáveis Não-Terminais
Uma palavra ¿final¿, composta
dos símbolos terminais
Regras de produção da forma
Um símbolo especial escolhido
aparte de V denominado inicial
Conjunto finito de símbolos
terminais DISJUNTOS
Respondido em 20/11/2020 17:40:50
Explicação:
V - Conjunto finito de símbolos ou variáveis Não-Terminais, ou seja, são variáveis a serem
substituídas por outras variáveis ou símbolos terminais nos passos de produção das palavras
da gramática e nenhum deles deverá aparecer nas palavras finais da linguagem gerada por
ela.
T -Conjunto finito de símbolos terminais DISJUNTOS , ou seja, que não façam parte de
V. Eles são ditos ¿terminais¿ pois são os que farão parte das palavras geradas por essa
gramática.
P - Regras de produção da forma:
S - Um símbolo especial escolhido aparte de V denominado inicial. Este é o símbolo por onde
começamos a substituição das regras de produção.
Questão
O problema P versus NP é um problema ainda não resolvido e um dos mais estudados em
Computação. Em inhas gerais, deseja-se saber se todo problema cuja solução pode ser
eficientemente verificada por um computador, também pode ser eficientemente obtida por um
computador. Por ¿eficientemente¿ ou ¿eficiente¿ significa ¿em tempo polinomial¿.
A classe dos problemas cujas soluções podem ser eficientemente obtidas por um computador é
chamada de classe P. Os algoritmos que solucionam os problemas dessa classe têm complexidade
de pior caso polinomial no tamanho das suas entradas.
Para alguns problemas computacionais, não se conhece solução eficiente, isto é, não se conhece
algoritmo eficiente para resolvê-los. No entanto, se para uma dada solução de um problema é
possível verificá-la eficientemente, então o problema é dito estar em NP. Dessa forma, a classe de
problemas para os quais suas soluções podem ser eficientemente verificadas é chamada de classe
NP.
Um problema é dito ser NP-completo se pertence à classe NP e, além disso, se qualquer outro
problema na classe NP pode ser eficientemente transformado nesse problema. Essa transformação
eficiente envolve as entradas e saídas dos problemas.
Considerando as noções de complexidade computacional apresentadas acima, analise as afirmações
que se seguem.
I. Existem problemas na classe P que não estão na classe NP.
II. Se o problema A pode ser eficientemente transformado no problema B e B está na classe P,
então A está na classe P.
III. Se P = NP, então um problema NP-completo pode ser solucionado eficientemente.
IV. Se P é diferente de NP, então existem problemas na classe P que são NP-completos.
É correto apenas o que se afirma em
IV.
I e III.
.
II e III.
II e IV.
I.
Respondido em 20/11/2020 17:43:18
Explicação:
I. Existem problemas na classe P que não estão na classe NP.
Esta asserção é falsa. Qualquer algoritmo de tempo polinomial A que decide uma linguagem L ∈ P
pode ser facilmente convertido em um algoritmo de verificação em tempo polinomial A' que apenas
ignora o segundo argumento (certificado) e simula A. Portanto, temos que P ⊆ NP.
II. Se o problema A pode ser eficientemente transformado no problemaB e B está na classe P,
então A está na classe P.
Esta asserção é verdadeira. Apenas interprete problema como decisão de uma linguagem. Logo, a
afirmação de que a linguagem pode ser transformada eficientemente na linguagem B é equivalente
a dizer que A é redutível em tempo polinomial para B.
III. Se P = NP, então um problema NP-completo pode ser solucionado eficientemente.
Esta é uma asserção condicional. Não se sabe até hoje se o antecedente é verdadeiro ou falso.
(embora a probabilidade de que seja falsa é grande). Se ela for falsa, então a implicação é
trivialmente verdadeira. Se ela for verdadeira, então por definição, qualquer problema em P e,
portanto em NP pode ser solucionado polinomialmente, isto é, de forma eficiente. Desta forma,
como qualquer problema NP-completo está em NP, segue que ele, por estar também em P, teria
também uma solução eficiente.
Logo, a asserção é verdadeira.
IV. Se P ≠ NP, então existem problemas na classe P que são NP-completos.
Esta é também uma asserção condicional. Provamos que ela é falsa, mostrando que ao assumirmos
o antecedente e o consequente, derivamos uma contradição. Da hipótese de que P ≠ NP e levando
em conta que P ⊆ NP (ver alternativa I), segue que P ⊂ NP. Desta forma, seja LP um problema em
P que seja NP-completo. Pela definição 8 todo problema em NP pode ser reduzido de forma
eficiente a LP
Daí segue, pela alternativa II, que todo problema em NP estaria em P, isto é, que P = NP. Mas isto
é uma
contradição com a hipótese de que P ≠ NP. Portanto, esta afirmação é falsa.
Da discussão acima segue que apenas as afirmativas II e III são verdadeiras
2
Questão
Qual das complexidades abaixo é a menor?
O(log n)
O (n3)
O (n2)
O (2n)
O (n)
Respondido em 20/11/2020 17:46:15
Explicação:
A menor complexidade é a linear
3
Questão
Um cientista afirma ter encontrado uma redução polinomial de um problema NP-Completo para um
problema pertencente à classe P. Considerando que esta afirmação tem implicações importantes
no que diz respeito à complexidade computacional, avalie as seguintes asserções e a relação
proposta entre elas.
I. A descoberta do cientista implica que P = NP
PORQUE
II. A descoberta do cientista implica na existência de algoritmos polinomiais para todos os
problemas NP-Completos.
A respeito dessas asserções, assinale a opção correta.
A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.
As asserções I e II são proposições falsas.
As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa
correta da I.
As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I.
Respondido em 20/11/2020 17:44:14
Explicação:
Uma redução polinomial de um problema NP-completo para um problema pertencente à classe P
implica que P=NP, pois se qualquer problema NPcompleto pode ser resolvido em tempo polinomial,
então P=NP, um problema aberto e fundamental na teoria da computação. Logo, a asserção I está
correta.
Por outro lado, quando um problema pertence à classe NP-Completo, o mesmo pode ser reduzido,
em tempo polinomial, a um outro problema da classe NP-Completo. Por isso, ao solucionar um
problema em tempo polinomial, todos podem ser solucionados da mesma forma.
4
Questão
Considere o processo de fabricação de um produto siderúrgico que necessita passar por
n tratamentos térmicos e químicos para ficar pronto. Cada uma das n etapas de tratamento
é realizada uma única vez na mesma caldeira. Além do custo próprio de cada etapa do tratamento,
existe o custo de se passar de uma etapa para a outra, uma vez que, dependendo da sequência
escolhida, pode ser necessário alterar a temperatura da caldeira e limpá-la para evitar a reação
entre os produtos químicos utilizados. Assuma que o processo de fabricação
inicia e termina com a caldeira limpa. Deseja-se projetar um algoritmo para indicar a sequência de
tratamentos que possibilite fabricar o produto com o menor custo total. Nesta situação, conclui-se
que
O problema se reduz a encontrar a árvore geradora mínima para o conjunto de etapas do
processo, requerendo tempo de ordem polinomial para ser solucionado.
Qualquer algoritmo conhecido para a solução do problema descrito possui ordem
de complexidade de tempo não-polinomial, uma vez que o problema do caixeiro
viajante se reduz a ele.
A utilização do algoritmo de Dijkstra para se determinar o caminho de custo mínimo entre
o estado inicial e o final soluciona o problema em tempo polinomial.
A solução do problema é obtida em tempo de ordem O(nlogn), utilizando um algoritmo
ótimo de ordenação.
Uma heurística para a solução do problema de coloração de grafos solucionará o problema
em tempo polinomial.
Respondido em 20/11/2020 17:50:58
Explicação:
Para modelar este problema utilizando grafos se usa um grafo completo com n+1 vértices
representando cada uma das etapas e a etapa inicial caldeira limpa.
As arestas contêm pesos que representam o custo de se passar de uma etapa para a outra. Deseja
se sair do vértice que representa a caldeira limpa passar por todos os vértices uma única vez e
retornar ao vértice caldeira limpa de forma que o custo seja mínimo. O problema não pode ser
resolvido através de uma arvore geradora mínima, pois temos que encontrar um ciclo (exclui C).
Não podemos aplicar Dijkstra, pois
temos que garantir que todos os vértices sejam visitados (exclui D). O problema de coloração
determina conjuntos de tarefas e não uma ordem de tarefas (exclui B). Não é suficiente fazer uma
ordenação dos valores pois isso não garante que os vértices serão todos visitados uma única vez de
forma mínima. Se colocarmos todas as etapas com o mesmo custo como garantir que será
encontrado um ciclo que visite todas os vértices.
O problema em questão corresponde ao problema do Caixeiro Viajante ou Ciclo Hamiltoniano, que é
NP-Completo.
5
Questão
A área de complexidade de algoritmos abrange a medição da eficiência de um algoritmo frente
à quantidade de operações realizadas até que ele encontre seu resultado final.
A respeito desse contexto, suponha que um arquivo texto contenha o nome de N cidades de
determinado estado, que cada nome de cidade esteja separado do seguinte por um caractere
especial de fim de linha e classificado em ordem alfabética crescente. Considere um programa que
realize a leitura linha a linha desse arquivo, à procura de nome de cidade.
Com base nessa descrição, verifica-se que a complexidade desse programa é:
O(1), em caso de busca sequencial.
O(N), em caso de busca sequencial.
O(log2N), em caso de busca binária.
O(N), em caso de transferência dos nomes para uma árvore binária e, então, realizar a
busca.
O(log2N), em caso de transferência dos nomes para uma árvore binária e, então,
realizar a busca.
Respondido em 20/11/2020 17:52:09
Explicação:
A análise de complexidade de algoritmos é realizada através da análise assintótica, que utiliza a
notação O. Existe um arquivo em formato texto e ficamos sabendo que: (a) o tamanho da entrada
é definido pelo número de cidades N, (b) os nomes estão em ordem alfabética e (c) cada nome de
cidade está em uma linha. O programa que deve ser analisado procura o nome de uma cidade no
arquivo, realizando a leitura linha a linha.
A alternativa A assume que a busca sequencial pode ser realizada em tempo constante (0(1)), ou
seja, encontrar o elemento da primeira posição do arquivo tem o mesmo tempo de execução que
encontrar o elemento da segunda posição ou mesmo a última (posição N). Como o arquivo é lido
linha a linha, claramente para encontrar o primeiro elemento será necessário ler apenas a primeira
linha;
parao segundo elemento, as duas primeiras linhas; e assim sucessivamente até necessitar realizar
a leitura das N linhas do arquivo para o último elemento. Desta forma temos um crescimento linear
no número de elementos e não constante, correspondendo à alternativa B, que é a correta para a
questão.
Para a análise da alternativa C, assumimos que não é possível fazer acesso aleatório ao arquivo,
pois as linhas podem ter tamanho variável e o deslocamento para a linha de posição (N/2) teria de
ser realizado linha a linha (sequencial) até encontrar N/2 marcadores de final de linha (e desta
forma não será possível executar o algoritmo em tempo logarítmico). Podemos projetar, ainda, um
algoritmo que calcula o ponto médio do arquivo a partir do seu tamanho em número de bytes e que
¿ajusta¿ para o marcador de final de linha mais próximo. Este algoritmo poderia executar em
tempo logarítmico se o sistema permitisse acesso aleatório por caracteres, o que não é possível,
pois o enunciado define que a leitura é realizada linha a linha; logo a alternativa é falsa.
As duas últimas alternativas supõem a transferência dos dados para uma árvore binária, sem
especificar qual o seu tipo. Em uma árvore binária de pesquisa balanceada, o tempo de busca é
O(log2N) e, em uma implementação simples de árvore binária, o tempo de busca é O(N), que
fazem com que essas alternativas pareçam plausíveis. O tempo de construção da árvore
balanceada é O(N*log2N), com N operações de leitura ao arquivo e, para cada elemento, no
mínimo log2N operações para realizar a inserção. Caso a árvore não seja balanceada, o custo de
inserção de cada elemento é O(N) e o tempo de construção O(N^2). Logo as duas últimas
alternativas são falsas, pois o tempo total do algoritmo será a soma do tempo de construção mais o
tempo de busca
6
Questão
Analise o custo computacional dos algoritmos a seguir, que calculam o valor de um polinômio de
grau n, da forma: P(x) = an xn+an-1 + xn-1+ ... +a1x + a0, onde os coeficientes são números de
ponto flutuante armazenados no vetor a[0..n], e o valor de n é maior que zero. Todos os
coeficientes podem assumir qualquer valor, exceto o coeficiente an que é diferente de zero.
Algoritmo 1:
soma = a[0]
Repita para i = 1 até n
Se a[i] ≠ 0.0 então
potencia = x
Repita para j = 2 até i
potencia = potência * x
Fim repita
soma = soma + a[i] * potencia
Fim se
Fim repita
Imprima (soma)
Algoritmo 2:
soma = a[n]
Repita para i = n-1 até 0 passo -1
soma = soma * x + a[i]
Fim repita
Imprima (soma)
Com base nos algoritmos 1 e 2, avalie as asserções a seguir e a relação proposta entre elas.
I. Os algoritmos possuem a mesma complexidade assintótica.
PORQUE
II. Para o melhor caso, ambos os algoritmos possuem complexidade O(n).
A respeito dessas asserções, assinale a opção correta.
As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta
da I.
A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.
As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I.
As asserções I e II são proposições falsas.
Respondido em 20/11/2020 17:50:38
Explicação:
Observa-se que o algoritmo 1 contêm dois laços, um externo e um interno, e o algoritmo 1
apresenta 1 laço. O laço externo do algoritmo 1 e o laço do algoritmo 2 tem a mesma
complexidade, mas a existência de 2 laços no algoritmo 1 invalida a asserção I.
O algoritmo 1 não necessariamente executa o laço interno, sendo que, no melhor caso, não executa
o laço interno vez alguma. Portanto, a asserção II está correta, e a alternativa D indica esta
situação. Pode-se verificar que a questão não exige que se verifique detalhadamente se os
algoritmos realmente calculam o valor do polinômio, apenas que se analise a complexidade dos
algoritmos,o que se reduz a analisar o possível número de iterações dos mes