Gabarito Simulado Inteligência Artificial
Gabarito Simulado Inteligência Artificial
1º Bimestre
II. Redes Neurais Artificiais são utilizadas no desenvolvimento de sistemas de análise de risco em aplicações
financeiras.
III. Sistemas Especialistas baseados em regras são utilizados no desenvolvimento de sistemas de diagnóstico de
falhas em hardware.
Alternativas
A)
I, apenas.
B)
III, apenas.
C)
I e II, apenas.
D)
II e III, apenas.
E)
I, II e III.
Questão 2 - Conceitos de Inteligência Artificial
Grupos de cientistas e grandes corporações de todo o mundo têm buscado desenvolver sistemas computacionais
inteligentes capazes de ajudar as pessoas a aprenderem. As possibilidades, os efeitos e as implicações éticas da
aplicação da chamada Inteligência Artificial (IA) na educação são temas que vêm ganhando espaço nos debates na
área de tecnologia educacional em todo o mundo.
A respeito da adoção de técnicas de IA no processo educacional, avalie as asserções a seguir e a relação proposta
entre elas.
I. Algoritmos de IA adaptativos podem auxiliar a experiência de aprendizado da pessoa de acordo com o seu perfil.
PORQUE
II. Os sistemas com algoritmos de IA adaptativos analisam respostas anteriores, buscando determinados padrões
que possam indicar pontos de dificuldade ou facilidade da pessoa em relação a determinado assunto.
Alternativas
A)
As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I.
B)
As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I.
C)
A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
D)
A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.
E)
As asserções I e II são proposições falsas.
Questão 3 - Aprendizagem de redes neurais
A Rede Neural Artificial (RNA) é uma abordagem utilizada para aprendizado computacional e possui motivação
biológica na representação simbólica realizada pelo córtex cerebral, área rica em neurônios e é resposável por agir
ou reagir frente a estímulos sensitivos, mecânicos ou cognitivos. Um dos modelos utilizados para representar esta
abordagem é o Perceptron, criado em 1957 por Frank Rosenblatt.
II. Os ajustes aplicados para adequação do aprendizado são realizados nos valores de entrada da rede.
IV. Possui uma boa taxa de acurácia para classes não linearmente separáveis.
Alternativas
A)
I e II, apenas.
B)
I e III, apenas.
C)
I, II e III, apenas.
D)
I, III e IV, apenas.
E)
II, III e IV, apenas.
O modelo de Árvore de Decisão é um exemplo que pode ser aplicado em aprendizado indutivo. Para isso, utiliza-se
um conjunto prévio de dados classificados para treinamento e um outro conjunto para testar sua classificação. Em
cada nó interno da árvore, há um teste sobre determinado atributo e, nas folhas, há as classes.
Considerando os paradigmas existentes de aprendizado, a Árvore de Decisão é um modelo que é classificado como
Alternativas
A)
evolutivo.
B)
conexionista.
C)
simbólico
D)
estatístico.
E)
baseado em exemplos.
Tratar imagens é um processo importante para possibilitar a classificação e a seleção de características relevantes
de uma imagem. Aplicada na área de Processamento de Imagens Digitais (PDI), a resolução radiométrica é
Alternativas
A)
uma técnica utilizada para transformar imagens coloridas em imagens pretas e brancas.
B)
uma técnica para a realização de cortes na imagem, com o objetivo de simplificar a identificação de pontos de
interesse nela.
C)
uma forma de otimizar a variação de características de uma imagem, utilizando escala de cores RGB, totalizando
mais de 16 milhões de variações de cores.
D)
uma técnica para variar as características de uma imagem, utilizando escala de variação da tonalidade cinza,
totalizando 128 variações.
E)
uma forma de otimizar a variação de características de uma imagem, utilizando escala de variação da tonalidade
cinza, totalizando 256 variações.
No ramo da Inteligência Artificial, existem diversas propostas para construção de classificadores sob a perspectiva da
aprendizagem supervisionada. Sobre a aprendizagem supervisionada, julgue os itens a seguir.
B)
II, apenas.
C)
I e II, apenas.
D)
I e III, apenas.
E)
II e III, apenas.
Alternativas
A)
I, apenas.
B)
I e II, apenas.
C)
I e III, apenas.
D)
II e III, apenas.
E)
I, II e III.
Questão 8 - Web semântica: ontologias
A internet tornou-se um enorme banco de dados com muitas informações de todas as áreas. Hoje, ao realizar uma
busca, se não deixá-la muito bem refinada, torna-se difícil encontrar soluções para determinados assuntos devido ao
grande volume de informações que virão como resultado. Para agilizar o processo de buscas e organizar este grande
banco de dados, os sistemas de pesquisas estão cada vez mais trabalhando para que, ao ser realizada uma
determinada busca por palavra-chave, o sistema possa retornar as informações para o usuário baseado no
conhecimento da palavra-chave. Contudo, quando um usuário acessa um sistema de busca hoje e não mais digita uma
palavra-chave e sim uma frase, como: “reservar hotel em fortaleza com valor abaixo de R$ 2.000,00”, o sistema de
busca irá utilizar qual meio de tecnologia para trazer os resultados relevantes desta busca?
Alternativas
A)
Sistemas Inteligentes em .NET.
B)
Realidade Aumentada.
C)
Web Semântica.
D)
XHTML.
E)
Princípios de buscas avançadas.
A internet tornou-se o principal veículo para busca de informações e respostas rápidas sobre diversos assuntos e em
qualquer lugar com suas especificidades e regionalidades. Para proporcionar uma maior agilidade na busca para os
usuários, os sistemas de buscas utilizam cada vez mais a websemântica para melhorar a experiência de respostas das
buscas, trazendo mais assertividade referente ao assunto. Desse modo, a websemântica utiliza algumas tecnologias
para atingir este objetivo. Então, quando dizemos que a tecnologia utiliza metadata para criar modelos para
armazenamento de informações, fala-se da tecnologia
Alternativas
A)
RDF (Resource Description Framework).
B)
Inteligência Artificial.
C)
XHTML.
D)
XML.
E)
HTML 5.0.
Questão 10 - Computação evolutiva
O termo inteligência artificial foi criado em 1956, mas só se popularizou hoje graças aos crescentes volumes de dados
disponíveis, algoritmos avançados e melhorias no poder e no armazenamento computacionais. A inteligência artificial
(IA) possibilita que máquinas aprendam com experiências, se ajustem a novas entradas de dados e executem tarefas
como seres humanos. A maioria dos exemplos de IA sobre os quais se ouve falar hoje dependem de deep learning e
processamento de linguagem natural. Com essas tecnologias, os computadores podem ser treinados para cumprir
tarefas específicas ao processar grandes quantidades de dados e reconhecer padrões nesses dados.
I. pensar e raciocinar.
Alternativas
A)
I e II, apenas.
B)
I, II e III, apenas.
C)
II, III e IV, apenas.
D)
I, III, IV e V, apenas.
E)
I, II, III, IV e V.
Questão 11 - Aprendizagem de redes neurais
A Inteligência Artificial busca combinar grandes quantidades de dados com o processamento rápido e interativo e
algoritmos inteligentes, permitindo ao software aprender automaticamente com padrões ou informações nos dados. A
Inteligência Artificial é um campo de estudo amplo, que engloba muitas teorias, métodos e tecnologias, assim como os
seguintes subcampos. Dentre estes campos, podem ser identificadas as áreas de Ciência Cognitiva, Robótica e
Interface Natural.
I. Lógica Fuzzy.
V. Sistemas de Aprendizagem.
Alternativas
A)
I e II, apenas.
B)
I, II e III, apenas.
C)
II, III e IV, apenas.
D)
I, III, IV e V, apenas.
E)
I, II, III, IV e V.
Questão 12 - Sistemas especialistas
Um Sistema especialista caracteriza-se por reproduzir e explorar os conhecimentos fornecidos por especialistas em
áreas de conhecimento específicas. Estes sistemas são capazes de resolver problemas difíceis, explicando os
resultados obtidos, aprender e reestruturar o conhecimento, determinando as características relevantes. Os sistemas
especialistas atuam em várias aplicações, promovendo maior agilidade, bem como soluções produtivas para as
empresas.
Considerando o que foi apresentado, os sistemas especialistas podem ser aplicados em quais das áreas a seguir?
I. Projeto e configuração.
II. Gerenciamento de Decisões.
III. Seleção e classificação de processos.
IV. Monitoração e controle de processos.
Alternativas
A)
I e II, apenas.
B)
III e IV, apenas.
C)
I, III e IV, apenas.
D)
II, III e IV, apenas.
E)
I, II, III e IV.
Os sistemas especialistas são criados com base em conhecimento especializado, portanto, as respostas produzidas
são restritas a áreas específicas, sem geração de novos conhecimentos. Para alguns autores, os sistemas
especialistas são sistemas computacionais que tentam imitar especialistas humanos, aplicando metodologias sobre
uma área específica.
Alternativas
A)
I e II, apenas.
B)
III e IV, apenas.
C)
I, III e IV, apenas.
D)
II, III e IV, apenas.
E)
I, II, III e IV.
Quanto ao tema Inteligência Artificial e aprendizado de máquina, podemos categorizar este segundo item em:
aprendizado supervisionado e aprendizado não supervisionado.
Com relação a aprendizado supervisionado e aprendizado não supervisionado, avalie as asserções a seguir e a
relação proposta entre elas.
I. Via de regra, no aprendizado não supervisionado, o programador não sabe qual o tipo de resultado será
apresentado pelo sistema, pois não existe uma lista de objetos de comparações. Para aprendizado não
supervisionado não se utiliza técnicas de regressão e classificação.
PORQUE
II. Classificação e regressão são técnicas utilizadas em aprendizado supervisionado. Na regressão, por exemplo,
procura-se prever resultados baseados em saídas discretas, enquanto na classificação, procura-se prever resultados
baseados em uma saída contínua.
Alternativas
A)
As asserções I e II são proposições verdadeiras, e a II é uma justificativa da I.
B)
As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I.
C)
A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
D)
A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.
E)
As asserções I e II são proposições falsas.
I. redes de camada única, onde só existe um nó entre qualquer entrada e qualquer saída da rede.
II. redes de tripla camada, onde existem dois neurônios entre alguma entrada e alguma saída da rede.
III. redes de dupla camada, onde existem dois neurônios entre alguma entrada e alguma saída da rede.
IV. redes de múltiplas camadas, onde existe mais de um neurônio entre alguma entrada e alguma saída da rede.
B)
I e IV, apenas.
C)
I, II e III, apenas.
D)
I, II e IV, apenas.
E)
I, II, III e IV.
O modelo de neurônio artificial MCP proposto por McCulloch e Pitts é muito similar ao que se conhece de um
neurônio biológico. Este modelo resultou em n terminais de entrada e apenas um terminal de saída. Neste modelo, a
ativação do neurônio é obtida por meio de uma função de ativação que ativa a saída com base na soma ponderada
das entradas. O modelo de neurônio artificial supracitado pode ser visualizado na imagem abaixo.
BRAGA, Antônio P., Caralho, André P. L. F., Ludemir, Teresa B. Redes Neurais Artificiais: Teoria e Aplicações. 2.
ed. – Rio de Janeiro: LTC, 2007)
Com base nas informações supracitadas nos aspectos da limitação do modelo de Neurônio Artificial MCP, avalie as
afirmativas a seguir.
B)
I e IV, apenas.
C)
I, II e III, apenas.
D)
I, II e IV, apenas.
E)
I, II, III e IV.
A escolha de uma boa representação de conhecimento é tarefa fundamental na resolução de problemas que
envolvem inteligência artificial. Acerca desse assunto, assinale a opção correta.
Alternativas
A)
O encadeamento regressivo, por utilizar busca em largura para resolução de conflitos, é menos usado que o
progressivo.
B)
O encadeamento progressivo utiliza busca gulosa para fazer a comparação entre os fatos armazenados na memória
de trabalho do sistema e os antecedentes das regras a disparar.
C)
As redes semânticas, mecanismo mais expressivo que a lógica de primeira ordem, foram desenvolvidas para se
superar uma dificuldade dos sistemas embasados em lógica de representar categorias.
D)
A representação de conhecimento frames é uma boa alternativa para esse tipo de problema, por incluir, além de um
mecanismo de inferência semanticamente bem definido, mecanismos de encapsulamento e componentes, comuns
ao paradigma orientado a objeto.
E)
Tanto redes semânticas quanto frames representam facilmente conhecimento estrutural, comportamental e
procedural.
Nos órgãos públicos, o desafio da gestão do conhecimento é contribuir para a modernização da gestão pública no
contexto de um Estado, de forma a garantir-se a participação de toda a sociedade nas atividades desenvolvidas por
seus representantes no Executivo, Legislativo e Judiciário.
Considere soluções de TI para a implementação de uma política pública cujo objetivo seja proporcionar maior
transparência aos gastos de um órgão público e que, para tal, tenha-se optado por uma solução baseada em Web
Semântica, sendo uma das fases para seu desenvolvimento a disponibilização dos dados referentes aos gastos do
órgão.
Considerando esse cenário, avalie as seguintes asserções e a relação proposta entre elas.
I. A publicação de dados na forma de dados abertos vinculados (Linked Open Data - LOD) é apropriada para o uso
generalizado dos dados no âmbito da Web Semântica.
PORQUE
II. Um dos papéis do formato LOD para a Web Semântica é facilitar a integração de dados quando houver
ambiguidade de termos utilizados nos diferentes conjuntos de dados.
A)
B)
C)
D)
E)
(IV) quase tudo é objeto, mesmo os tipos básicos, como números inteiros.
Alternativas
A)
I e II, apenas.
B)
I e III, apenas.
C)
I, II e IV, apenas.
D)
E)
No desenvolvimento de algoritmos, os operadores são símbolos que podem ser utilizados na escrita de expressões,
sendo essenciais para o desenvolvimento de algoritmos em qualquer linguagem de programação. Vale lembrar que
algumas linguagens possuem ordens de prioridade para execução dos operadores. Os operadores de atribuição
possuem o papel de atribuir um determinado valor a uma variável. Já os operadores aritméticos consistem em
operações matemáticas básicas, que podem ser aplicadas a variáveis numéricas.
Na avaliação de uma expressão aritmética, é importante lembrar que alguns operadores serão avaliados antes dos
outros. Na linguagem Python, a ordem de prioridade começa
Alternativas
A)
nos operadores de módulo (%), de potência (*) e de resto da parte inteira (//).
B)
nos operadores de potência (*), de módulo (%) e de resto da parte inteira (//).
C)
nos operadores de potência (*), de resto da parte inteira (//) e de módulo (%).
D)
nos operadores de resto da parte inteira (//), de módulo (%) e de potência (*).
E)
nos operadores de potência (*), de módulo (//) e de resto da parte inteira (%).
Questão 21 - Matrizes em Python
Para obter uma informação de tamanho, continência, contagem ou extremos de uma matriz, existem os métodos in,
not in, count(), len(), max() e min(). Por meio de tais comandos, a busca por alguma informação específica na matriz
é extremamente simples. Todos esses métodos podem ser facilmente criados com um algoritmo simples, usando
estruturas de repetição, como o comando FOR. Porém, esses comandos são nativos da linguagem de programação
Python. A maior vantagem disso é que os comandos nativos são otimizados para uma melhor performance.
Built-in Types. In: Python Software Foundation. Documentation – The Python Standard Library. Wilmington, 2019.
Nesse contexto, a verificação de continência de uma linha em uma matriz, ou de uma coluna dentro de uma linha
específica, pode ser realizada por meio
Alternativas
A)
B)
C)
D)
E)
Matrizes são utilizadas em diversas aplicações, como na navegação de dispositivos móveis usados na robótica, na
criação de objetos 2D e 3D na computação gráfica, na representação de imagens digitais, na implementação de redes
neurais artificiais, entre outras. A linguagem Python é bastante utilizada para solucionar problemas dessas áreas, seja
no desenvolvimento de jogos, na programação de robôs, na análise de dados em Data Science, etc. Esta linguagem
oferece ferramentas para manipular matrizes, proporcionando flexibilidade e versatilidade para trabalhar com esse tipo
de estrutura sequencial. As matrizes são utilizadas para correlacionar informações em alguns casos, podendo
armazenar dados de diversos tipos. Nesse contexto, como uma matriz é uma lista de listas, o acesso a um grupo de
elementos de uma matriz é construído por partes.
Com base no que foi exposto, é possível acessar a um conjunto de elementos da matriz
I. indicando apenas a linha que se deseja acessar, por meio do comando nome_da_matriz[linha].
II. indicando apenas a coluna que se deseja acessar, por meio do comando nome_da_matriz[coluna].
Alternativas
A)
II e IV, apenas.
B)
I e III, apenas.
C)
I, II e IV, apenas.
D)
I, II e III, apenas.
E)
I, II, III e IV.
Uma matriz pode ser compreendida como um conjunto de dados, números e/ou símbolos estruturados em duas ou
mais dimensões. A estrutura matricial mais comum é a matriz bidimensional, ou seja, com duas dimensões, que tem
sua estrutura em forma de tabela, com os elementos organizados em linhas e colunas. Dessa forma, a linguagem de
programação Python permite, além de acessar individualmente um elemento dessas matrizes para ler ou alterar o
seu conteúdo, utilizar operadores para manipulação das mesmas.
Nesse contexto, pode-se afirmar sobre os operadores utilizados em matrizes na linguagem Python que
I. o operador de adição “+” é utilizado para concatenar matrizes.
II. o operador de divisão “/” é utilizado para diminuir as linhas das matrizes em "x" vezes.
III. o operador multiplicativo “*” é utilizado para aumentar as linhas das matrizes em "x" vezes.
IV. o operador de busca “in” é utilizado para procurar se um determinado conteúdo pertence a uma lista.
Alternativas
A)
I e II, apenas.
B)
III e IV, apenas.
C)
I, III e IV, apenas.
D)
I, II e III, apenas.
E)
I, II, III e IV.
Quando se trata de linguagens de programação, uma lista armazena seus dados organizados sequencialmente e
permite o acesso individual a cada um de seus elementos ou o acesso a um grupo de elementos. Nas listas, é
possível percorrer todos os elementos de forma implícita; sendo assim, elas podem ser utilizadas como estruturas
iteráveis. A localização dos elementos em uma lista é indicada por um índice x (coluna), que indica a posição do
elemento, iniciando a contagem sempre pelo valor 0 (zero). Desta forma, o primeiro elemento está na posição coluna
0 (zero), o segundo elemento está na posição coluna 1 (um) e assim por diante.
Nesse contexto, o acesso a um grupo de elementos de uma lista é feito determinando-se o intervalo de elementos
desejado, por meio de algumas formas, dentre as quais:
II. Indicando um intervalo de colunas da lista por meio do comando: nome _ da _ lista[colinicial:colfinal]
III. Utilizando o sinal de “:” entre os colchetes, indicando o acesso a todos os elementos de uma lista por meio do
comando: nome _ da _ lista[:]
Alternativas
A)
I, apenas.
B)
II, apenas.
C)
I e III, apenas.
D)
II e III, apenas.
E)
I, II e III.
Durante a programação de algoritmos na linguagem Python é necessário tomar cuidado quando se copia os elementos
de uma lista para outra. Assim como ocorre com as variáveis, no momento em que uma lista é declarada, ela faz
referência a um objeto. Desta forma, o sinal de atribuição “=” faz com que as duas listas referenciem ao mesmo objeto,
ou seja, ao mesmo endereço de memória. Sendo assim, utilizar o sinal de atribuição “=” para copiar o conteúdo de uma
lista para outra pode gerar um resultado inesperado. Neste sentido, faz-se necessária a utilização de métodos para
tais ações, visando evitar mais de uma lista com referência a um mesmo objeto.
Nesse contexto, para evitar alterações indesejadas no conteúdo de uma lista, é necessário cloná-la, criando assim,
uma nova referência na memória. Tal ação pode ser executada, por exemplo, quando se deseja copiar a lista
minha_lista para a lista chamada nova_lista através do comando
Alternativas
A)
nova_lista = minha_lista.clone().
B)
nova_lista = minha_lista.copy().
C)
nova_lista = minha_lista.xcopy().
D)
nova_lista = minha_lista.xclone().
E)
nova_lista = minha_lista.sclone().
Ao abrir um arquivo em um sistema computacional, existem alguns modos de abertura. O modo de abertura é uma
configuração que se deve especificar para informar ao sistema operacional qual é o nível de controle necessário
sobre o arquivo. Para apenas ler o conteúdo de um arquivo, basta abri-lo em modo de leitura. Para abrir um arquivo
modificando seu conteúdo, seja escrevendo novas linhas no final do arquivo, seja alterando alguma linha existente,
basta abri-lo em modo de escrita. O mesmo pode ser aplicado à linguagem Python, que usa formas diferentes para
abertura de arquivos.
Sobre os principais modos de abertura de arquivos da linguagem Python, julgue os itens a seguir.
Alternativas
A)
I e II, apenas.
B)
II e IV, apenas.
C)
III e IV, apenas.
D)
I, II e III, apenas.
E)
I, II, III e IV.
Na linguagem Python, para acessar e efetuar a leitura de um arquivo csv, é preciso, antes de tudo, que o arquivo seja
aberto. Para isso, é possível usar o mesmo comando usado para abrir um arquivo de texto, que é o comando open.
Um arquivo csv pode ser identificado como um arquivo de texto. Desta forma, o modo de abertura do arquivo deve ser
especificado da mesma forma como para os arquivos texto. Para a maioria das situações, o arquivo csv será aberto no
modo padrão, que é ‘rt. O módulo csv presente na linguagem Python facilita o processo de leitura e interpretação dos
campos separados por vírgulas. Para usar esse módulo, é preciso informar que será utilizado esse módulo antes de
digitar os comandos.
Neste contexto, para efetuar a leitura do arquivo csv, o comando reader pode ser utilizado para
Alternativas
A)
especificar a forma como o arquivo deve ser aberto.
B)
alterar caracteres específicos nas linhas do arquivo csv.
C)
criar um objeto capaz de ler e interpretar cada linha do arquivo csv.
D)
ler linha por linha do arquivo e a imprimir o conteúdo lido na tela.
E)
especificar qual é o caractere que será usado como delimitador de campos.
Questão 28 - Funções em Python
Na linguagem Python, assim como em um sistema computacional, antes de armazenar qualquer informação em um
arquivo de texto, é necessário abrir o mesmo. Após sua abertura, deve-se gravar o dado desejado e fechar o arquivo
logo após seu uso. Para tais ações, é necessária a utilização de métodos pré-definidos por esta linguagem. Estes
métodos englobam funções para manipular o arquivo desde sua abertura, passando por funções de edição e conclusão.
A exemplo, para abrir um arquivo é necessário que o programador informe através da linguagem Python onde está o
arquivo no disco. A maneira que os arquivos são localizados no disco é definida através do seu caminho (path). Para
isso, pode-se pensar em nome_arquivo como o primeiro nome do arquivo e o caminho como seu nome completo.
Sobre os métodos usados pela linguagem Python para manipulação de arquivos, julgue os itens a seguir.
II. O método open() serve para abrir o arquivo indicando o modo de acesso.
III. O método close() serve para fechar o arquivo que foi aberto anteriormente.
IV. O método seek() posiciona o cursor no N-ésimo caractere contado a partir do início do arquivo.
V. O método writelines() escreve no arquivo de texto uma sequência de strings contidas em uma matriz.
Alternativas
A)
I, II e IV, apenas.
B)
II, III e V, apenas.
C)
I, III e V, apenas.
D)
I, II, III e IV, apenas.
E)
I, IV e V, apenas.
Questão 29 - Funções em Python
A linguagem Python fornece métodos simples e de fácil entendimento para manipular arquivos do tipo CSV. Com ela,
os métodos podem ser utilizados nas funções para manipulação de arquivos. Dentre eles, pode-se citar o método
writer(), capaz de criar um objeto writer, que permite escrever as linhas de um arquivo CSV, formatando a sequência
de valores inserida no mesmo. Para gravar dados em um arquivo CSV é necessário abrir o arquivo para escrita (modo
‘w’). O método [Link] recebe como parâmetro um ponteiro para este arquivo aberto. Desta forma, é possível ainda,
alterar o delimitador de campos padrão. Neste contexto, o método writerow escreve uma linha de dados no arquivo
CSV de saída, no entanto, sempre que se usa o comando writer(), é necessário instanciá-lo a um objeto.
II. O argumento csvshow é usado para exibir o objeto instanciado pelo método.
III. O argumento fmtparams pode ser usado para sobrescrever parâmetros formatados.
IV. O argumento dialect define o conjunto de parâmetros específicos a um dialeto CSV em particular.
Alternativas
A)
I e II, apenas.
B)
II e III, apenas.
C)
I, III e IV, apenas.
D)
III e IV, apenas.
E)
I, II, III e IV.
Questão 30 - Estrutura condicional em Python
Na programação, a escolha entre duas ou mais opções ocorre quando o programa lê os dados de um arquivo e realiza
uma ação, tomando como base os dados lidos ou a entrada de um usuário. No ambiente Python, essa escolha é feita
a partir de uma instrução IF, pela qual a condição é avaliada. Caso a condição seja verdadeira, serão realizadas as
instruções apontadas. Se não for verdadeira, verificam-se as instruções após a instrução IF. Em casos onde houver a
necessidade de testes com mais de uma condição, será necessário o uso do comando ELIF. Este comando pode ser
utilizado inúmeras vezes, para testar quantas condições forem necessárias. Caso nenhuma delas seja verdadeira, o
bloco de comandos ELSE será executado.
LEE, K. D. Fundamentos da programação Python. New York: Dordrecht; Heidelberg; London: Springer, 2011
(adaptado).
O comando IF é um comando condicional que pode ser utilizado para a execução de códigos que comparam
condições. Nesse sentido, analise a imagem a seguir, que trata de um conjunto de funções responsáveis por mover
um dispositivo com base em cliques efetuados em botões direcionais, além de imprimir na tela do usuário que
comando está sendo enviado e a direção que está sendo acionada.
Com base na imagem, assinale a alternativa que apresenta a forma correta de utilização para o comando IF.
Alternativas
A)
if frente():
print("FRENTE")
[Link] = 1
print([Link])
if re():
print("RÉ")
[Link] = 2
print([Link])
if direita():
print("DIREITA")
[Link] = 3
print([Link])
if esquerda():
print("ESQUERDA")
[Link] = 4
print([Link])
if centro():
print("CENTRO")
[Link] = 5
print([Link])
B)
if frente():
print("FRENTE")
[Link] = 1
print([Link])
elif re():
print("RÉ")
[Link] = 2
print([Link])
elif direita():
print("DIREITA")
[Link] = 3
print([Link])
elif esquerda():
print("ESQUERDA")
[Link] = 4
print([Link])
elif centro():
print("CENTRO")
[Link] = 5
print([Link])
C)
if frente():
print("FRENTE")
[Link] = 1
print([Link])
else re():
print("RÉ")
[Link] = 2
print([Link])
else direita():
print("DIREITA")
[Link] = 3
print([Link])
else esquerda():
print("ESQUERDA")
[Link] = 4
print([Link])
else centro():
print("CENTRO")
[Link] = 5
print([Link])
D)
if frente():
print("FRENTE")
[Link] = 1
print([Link])
else if re():
print("RÉ")
[Link] = 2
print([Link])
else if direita():
print("DIREITA")
[Link] = 3
print([Link])
else if esquerda():
print("ESQUERDA")
[Link] = 4
print([Link])
else if centro():
print("CENTRO")
[Link] = 5
print([Link])
E)
if frente():
print("FRENTE")
[Link] = 1
print([Link])
elif re():
print("RÉ")
[Link] = 2
print([Link])
elif direita():
print("DIREITA")
[Link] = 3
print([Link])
elif esquerda():
print("ESQUERDA")
[Link] = 4
print([Link])
else centro():
print("CENTRO")
[Link] = 5
print([Link])
Na programação, assim como na linguagem Python, pode-se determinar algo que contenha duas respostas, ou seja,
duas instruções: uma para o caso de a condição ser verdadeira e outra para o caso de a condição ser falsa. O
comando condicional else possibilita fazer algo quando a condição é avaliada como falsa. Nesse caso, a resposta
poderá ser "não", "falso" ou até mesmo 0. Ao utilizar os comandos if e else, a condição é avaliada. Se for verdadeira,
as instruções if são executadas; se for falsa, as instruções else são executadas.
Neste contexto, pode-se ter um ou mais comandos com o uso das estruturas condicionais if e else desde que
Alternativas
A)
seja observada a mesma indentação.
B)
a condição faça uso de variáveis para comparação.
C)
a condição esteja dentro de uma estrutura de repetição.
D)
estes comandos estejam alocados em uma função à parte.
E)
estes comandos sejam utilizados para mais de uma condição.
Na linguagem Python, as estruturas ou laços de repetição são muito utilizadas quando se tem a necessidade de
repetir uma mesma instrução mais de uma vez. Dentre essas estruturas, pode-se destacar o comando FOR. Esse
comando faz uso de dois tipos de variáveis que são muito importantes para seu perfeito funcionamento, sendo elas
as variáveis contadoras e as acumuladoras. As variáveis contadoras são aquelas nas quais cada interação do
comando FOR é incrementada com base em algum critério. Já as variáveis acumuladoras são aquelas nas quais o
seu valor é acumulado a cada iteração do comando FOR.
Assim sendo, ao realizar um teste de mesa que envolva uma variável acumuladora é de suma importância que seja
Alternativas
A)
implementado um ambiente de testes.
B)
anotado o seu valor a cada interação.
C)
criada uma variável secundária para comparação.
D)
utilizada uma variável contadora em paralelo.
E)
criado um diagrama de blocos para comparação do código.
Durante o desenvolvimento dos algoritmos, é necessário que sejam realizados testes no intuito de certificar que o
funcionamento corresponde ao esperado. O teste que é realizado durante a fase de desenvolvimento do algoritmo é
conhecido como teste de mesa. Ele é realizado geralmente à mão, para cada interação do comando for. É muito
importante observar o valor atribuído a cada variável durante cada interação, dessa forma é possível acompanhar a
evolução da variável sob análise. Os testes de mesa podem ser utilizados para avaliar o funcionamento de estruturas
de repetição mesmo quando há presença de variáveis acumuladoras ou contadoras.
SCHACH, Stephen R. Engenharia de software: os paradigmas clássico & orientado a objetos. 7. ed. São Paulo:
McGraw-Hill, 2009.
Neste contexto, para se testar um laço de repetição que contenha uma variável contadora é importante avaliar o
número de
Alternativas
A)
interações que o laço realiza.
B)
variáveis utilizadas pelo laço.
C)
estruturas condicionais presentes.
D)
encadeamentos presentes no laço.
E)
instruções presentes no laço de repetição.
Questão 33 - Bibliotecas em Python
Na linguagem python, um aplicativo muito utilizado para baixar e instalar pacotes é o pip, que pode ser definido como
um gerenciador de pacotes python. A partir da versão 3.4 de python, o pip passou a ser incluído como padrão para o
gerenciamento de pacotes. Os pacotes gerenciados pelo pip são repositórios que contêm todos os arquivos
necessários em um módulo do python. Já os módulos são bibliotecas de código python que podem ser incluídas nos
projetos da linguagem, facilitando a implementação de programas. Por se tratar de um repositório, o pip também auxilia
desenvolvedores python a encontrar e instalar programas de software desenvolvidos na linguagem. Por este motivo,
os desenvolvedores python costumam utilizar o pip para distribuir o código-fonte de seus respectivos programas de
software.
TONSIG, S. L. Engenharia de software: análise e projeto de sistemas. 2. ed. Rio de Janeiro: Ciência Moderna, 2008.
Com base no texto exposto, por se tratar de um gerenciador de pacotes, caso o usuário tenha interesse em baixar e
instalar no sistema operacional o pacote opencv-python [Link], que é uma biblioteca de visão computacional muito
utilizada por desenvolvedores em conjunto com a linguagem python, basta executar o comando
Alternativas
A)
B)
C)
D)
E)
Na linguagem Python, não existe uma palavra-chave específica para declarar variáveis. Para criar uma variável, é
necessário apenas atribuir um valor para um identificador válido, e aquela variável é criada. Uma vez criada, pode-se
usar a instrução “del” para deletar a variável. Assim, ela deixa de existir. Outra característica importante da linguagem
Python é que é possível fazer várias atribuições de variáveis em uma mesma linha. Desta forma, basta separar os
identificadores por vírgula do lado esquerdo da atribuição e manter a mesma ordem no lado direito. Tal função se
relaciona com os chamados tipos nativos, que armazenam a categoria coleções com o tipo conjunto (set), que utiliza
o delimitador chaves { }. Pode-se identificar, com base na tabela a seguir, os tipos que fazem parte da categoria
coleções da linguagem Python.
Um set é uma estrutura disponível de forma nativa em Python, utilizada para representar coleções desordenadas de
elementos únicos. Desta forma, caso o desenvolvedor tenha a necessidade de trabalhar com este tipo de conjunto,
faz-se necessário entender que
Alternativas
A)
os conjuntos, em alguns casos, podem ser implementados usando colchetes [ ] ou parênteses ( ).
B)
os conjuntos podem ter seus elementos separados por meio do sinal de pontuação dois pontos (:).
C)
os conjuntos são imutáveis, ou seja, não podem receber elementos novos, nem excluir elementos existentes.
D)
os conjuntos não contêm elementos repetidos, e estes, por sua vez, não são armazenados em uma ordem
específica.
E)
os conjuntos podem ter seus elementos unidos a elementos de outros conjuntos por meio da implementação da
coleção do tipo tuple.
Questão 33 - Ambientes de Desenvolvimento em Python
A linguagem de programação Python foi criada pelo matemático Guido van Rossum, entre o final da década de 1980
e o início da década de 1990. Ela foi elaborada como uma linguagem de scripts para o sistema operacional Amoeba,
sendo uma evolução da linguagem de programação ABC, que era voltada para físicos, engenheiros e outros. O
Python foi criado para ser uma linguagem de programação utilizada para o ensino da programação, trabalhada por
leigos no assunto, com o objetivo de ser produtiva e legível para desenvolvedores, ou seja, o propósito de sua
criação era o desenvolvimento de software com um código de fácil leitura, que proporcionasse uma manutenção
igualmente fácil e rápida.
SILVA, D. M. Python: história e ascendência. Revista Programar, Lisboa, ed. 59, p. 96-99, fev. 2018.
PYSCIENCE-BRASIL. Python: o que é? Por que usar? (2019). Disponível em: [Link]
[Link]/python:python-oq-e-pq. Acesso em: 10 out. 2019.
O Python é uma linguagem de alto nível, orientada a objetos e gratuita. Ela possui uma sintaxe simples, legível, limpa
e elegante, sendo indicada como uma linguagem ideal para desenvolver aplicações de forma rápida. Para fazer uso
dessa linguagem, uma ferramenta muito utilizada são os ambientes de desenvolvimento (IDE). Os mesmos
proporcionam um ambiente mais amigável, além de oferecer diversas funcionalidades que facilitam o
desenvolvimento. Existem, atualmente, no mercado, diversas ferramentas, sendo as mesmas divididas entre
gratuitas e pagas.
Nesse contexto, julgue as afirmações a seguir, que podem ser levadas em conta para um usuário que tem interesse
em utilizar apenas ferramentas gratuitas durante o desenvolvimento com a linguagem Python.
I. PyPE é um editor para Python, desenvolvido em Python, que, apesar de ser simples e funcional, apresenta muitos
recursos importantes, além de ser multiplataforma.
II. Spyder é uma ferramenta que consiste em um ambiente de desenvolvimento completo e interativo para Python,
com recursos de edição avançada, testes interativos embutidos, recursos de depuração e introspecção.
III. PyCharm é uma das IDEs mais ricas em recursos, propiciando um desenvolvimento eficiente, além de recursos
importantes para o desenvolvimento profissional para Web, suporte para diversos sistemas de controle de versão.
IV. PythonWin é uma IDE que vem acompanhando as extensões PyWin32, que são as extensões Win32 para
Python, e oferece o autocompletar e o debugador, além de recursos interessantes, voltados à programação com
sistema Windows.
V. NINJA-IDE é uma IDE multiplataforma de desenvolvimento integrado, podendo ser executada em sistemas
Windows, Linux e Mac OS, proporcionando aos desenvolvedores a criação de aplicações que podem ser utilizadas
para diversos fins.
Alternativas
A)
I e III, apenas.
B)
II e IV, apenas.
C)
D)
I, II, IV e V, apenas.
E)
I, II, III, IV e V.
Questão 34 - Técnica de agrupamento: clustering
Na busca por dados cada vez mais precisos, a criação de um modelo de mineração faz parte de um processo de
perguntas sobre os dados com modelos de respostas e a implantação de um modelo. Dentre os algoritmos mais
utilizados no processo de data mining, estão as técnicas de associação, classificação, padrões sequenciais, árvores
de decisão e clustering.
Alternativas
A)
uma técnica em que vários atributos podem ser utilizados para a identificação de uma classe específica de itens.
B)
uma técnica para identificar elementos que tenham a presença de outros elementos em uma mesma operação,
encontrando relacionamentos ou padrões entre o conjunto de dados.
C)
uma técnica que agrupa registros semelhantes, ou seja, grupos de elementos que possuem as mesmas
propriedades, a fim de que o usuário final possa, entre outras coisas, saber o que está ocorrendo no banco de dados.
D)
uma técnica que identifica tendências ou a ocorrência de eventos parecidos, sendo geralmente utilizada para
entender comportamentos de usuários em relação às compras, de tal forma que os donos de lojas, a partir da análise
dos dados, tomem decisões sobre quais produtos irão apresentar para os clientes.
E)
uma técnica utilizada para categorização ou previsão de dados que geralmente se inicia com uma pergunta que
tenha duas ou mais respostas, e uma delas direciona para uma questão que será utilizada para classificar ou
identificar dados que serão categorizados.
Questão 36 - Aprendizado supervisionado
Inteligência Artificial é um assunto que tem ganhado notoriedade a cada dia que passa e já não se trata mais de um
tema futurístico, mas de algo que vivenciamos em nosso dia a dia. Uma das metodologias que envolve o tema é o
aprendizado de máquina (machine learning), que consiste em estruturar algoritmos que criem memórias artificiais,
possibilitando sistemas tomarem decisões baseadas em eventos passados.
Podemos dividir o aprendizado de máquina em duas categorias: aprendizado supervisionado e não supervisionado.
O primeiro trata-se
Alternativas
A)
de analisar e elencar os dados que trafegarão pelo algoritmo de aprendizado de máquina, ditando as diretrizes que
formarão as memórias artificiais do sistema.
B)
de apresentar uma gama de dados classificados sobre os quais já se conhece a saída correta - que precisa ser
necessariamente semelhante ao conjunto apresentado, criando um elo entre entrada e saída.
C)
de manter, mesmo que a intervalos controlados, uma equipe de apoio para monitorar os dados que trafegam pelo
algoritmo, direcionando a linha do aprendizado de máquina de um sistema.
D)
de analisar os logs gerados pelo algoritmo de aprendizado de máquina, possibilitando assim gerar memórias
artificiais de maior consistência e próximas do objeto final esperado.
E)
de fazer o cruzamento das memórias artificiais que seriam armazenadas e algum banco de dados (ou arquivo de log)
que contenha possíveis saídas de dados, gerando assim um aprendizado direcionado aos objetivos esperados.
As árvores de decisão são modelos computacionais de classificação que atuam sobre o paradigma bottom-up, em
que a obtenção do modelo de classificação se dá pela identificação de relacionamentos entre variáveis dependentes
e independentes em bases de dados rotuladas. Nesse contexto, o classificador utilizado é induzido por mecanismos
de generalização fundamentados em exemplos específicos.
Podem ser definidas como condições para aplicação de uma árvore de decisão de forma a garantir melhor
aprendizado as informações apresentadas em
Alternativas
A)
I e II, apenas.
B)
I e IV, apenas.
C)
I, II e III, apenas.
D)
I, II e IV, apenas.
E)
"O Modelo Perceptron foi desenvolvido nas décadas de 1950 e 1960 pelo cientista Frank Rosenblatt, inspirado em
trabalhos anteriores de Warren McCulloch e Walter Pitts. Hoje, é mais comum usar outros modelos de neurônios
artificiais, mas o Perceptron permite uma compreensão clara de como funciona uma rede neural em termos
matemáticos, sendo uma excelente introdução".
Considerando o Perceptron - uma das mais simples arquiteturas de redes neurais existentes - podemos afirmar que
ele é
Alternativas
A)
uma função nativa, na maioria das linguagens de programação, implantada a partir da década de 1980 para leitura de
redes neurais artificiais.
B)
um modelo matemático que pode receber múltiplas entradas (inputs) e fornecer apenas uma saída binária (output)
baseada nos cálculos das entradas.
C)
uma função matemática que trabalha com o conceito de multidimensionalidade para prever resultados de uma rede
neural.
D)
uma camada de abstração presente na maioria das arquiteturas de redes neurais, sendo a base para
implementações mais complexas.
E)
uma camada matemática contida dentro da linguagem Python, utilizada prioritariamente para analisar resultados de
entrada da rede neural.
Para que uma Inteligência Artificial possa aprender, é necessário que ela receba diferentes dados e possa analisá-los
separadamente, compreendendo assim as particularidades, similaridades e diferenças de um dado em relação a
outros. Além disso, existem três diferentes tipos de abordagens para realizar o aprendizado de máquina, sendo eles:
a Aprendizagem Supervisionada, a Aprendizagem não Supervisionada e a Aprendizagem por Reforço. Cada um
desses tipos tem sua devida aplicação e a escolha da abordagem mais adequada pode variar de acordo com o tipo
de projeto.
Uma grande rede de supermercados está utilizando novos recursos de tecnologia, experimentalmente, para prever
cenários futuros e também para dispor de forma mais estratégica os produtos nas prateleiras e corredores dos
estabelecimentos. Nesse sentido, a rede precisa conhecer o perfil de consumo de seus clientes para, então, testar
novas disposições dos produtos e analisar os resultados.
Diante desse cenário, Marlon, chefe do departamento de Tecnologia da Informação da rede de supermercados, ficou
responsável por analisar as melhores ferramentas e os recursos de computação para realizar essa tarefa de análise.
Ele já soube que deveria utilizar o Machine Learning (aprendizado de máquina), ou simplesmente ML, para coletar
dados quanto ao comportamento dos consumidores, gerando, assim, um relatório com as possíveis disposições mais
adequadas de itens nos corredores dos estabelecimentos pertencentes à rede.
I. A equipe de desenvolvimento que trabalhará com Marlon deverá utilizar o Aprendizado Não Supervisionado nessa
estrutura de ML, pois o Aprendizado Supervisionado não é muito útil nesse tipo de situação, em que não se tem
dados prévios para alimentar a função de inferência.
PORQUE
II. A abordagem de Aprendizado Supervisionado alimenta a inteligência artificial com dados que já foram
classificados anteriormente e já possuem uma resposta esperada, a qual é analisada para compará-la com a saída
de uma análise.
Alternativas
A)
B)
C)
D)
E)
Por meio do uso de Inteligência Artificial, é possível desenvolver softwares que conseguem aprender e “raciocinar” com
base nas suas experiências passadas e, assim, serem mais precisos e versáteis em suas funcionalidades e escolhas.
Esse “raciocínio” é puramente matemático, ou seja, com base em uma série de cálculos probabilísticos e estatísticos,
sistemas inteligentes tomam decisões nos mais diversos cenários. Para que isso ocorra, é necessário utilizar um
algoritmo de Aprendizado de Máquina, que pode ser feito utilizando diferentes abordagens, como o Aprendizado por
Reforço, o Aprendizado Supervisionado e o Aprendizado não Supervisionado, pois existem diferentes maneiras de se
ensinar uma Inteligência Artificial.
Uma grande livraria na capital observou que existe uma baixa procura por determinadas categorias de livros e, por
isso, pretende investir em tecnologia para que esse cenário seja alterado, fazendo com que a procura por livros de
categorias até então pouco buscadas aumente e, por consequência, os lucros também sofram impactos positivos.
Diante disso, Mário, com sua empresa de tecnologia, a IA Tech, especializada em Ciência de Dados e Aprendizado
de Máquina, foi contratado para prestar uma consultoria e propor uma solução viável para a situação.
Com relação às características do Aprendizado de Máquina e ao cenário apresentado, avalie as asserções a seguir e
a relação proposta entre elas.
I. Para desenvolver, por exemplo, um programa de classificação de livros por meio de suas palavras em comum,
Mário poderá utilizar um algoritmo de Aprendizagem Não Supervisionada, levando em consideração a classificação
prévia do catálogo da livraria.
PORQUE
II. Quando se utiliza o Aprendizado de Máquina Não Supervisionado, a fonte de dados baseia-se na identificação de
pontos semelhantes, ou mesmo na ausência de similaridade no domínio do conjunto de dados analisados.
Alternativas
A)
B)
C)
D)
E)
As técnicas de aprendizado de máquinas empregam um princípio de inferência denominado indução, no qual é possível
obter conclusões genéricas a partir de um conjunto particular de exemplos. Estas técnicas de aprendizados indutivos
podem ser divididas em dois principais tipos: os supervisionados e os não supervisionados. No aprendizado
supervisionado é fornecida uma referência do objetivo a ser alcançado, isto é, um treinamento com o conhecimento do
ambiente. Diferentemente do aprendizado supervisionado, o não supervisionado não utiliza referências, ou seja, não
ocorre um treinamento com o conhecimento do ambiente.
II. A diferença entre a saída desejada e a saída gerada é o valor do erro de um aprendizado não supervisionado.
III. O aprendizado não supervisionado é mais utilizado quando o entendimento dos dados é feito por meio de
reconhecimento de padrões.
IV. O aprendizado supervisionado é capaz de tomar decisões precisas ao receber novos dados a partir de um
treinamento com dados conhecidos.
Alternativas
A)
I e III.
B)
II e III.
C)
II e IV.
D)
I, II e IV.
E)
I, III e IV.
Questão 42 - Machine Learning
O machine learning apresenta algoritmos de computador que são capazes de aprender com o ambiente ao redor para
otimizar a solução para a tarefa em questão. Ele se baseia em conhecimentos de diversos campos, como inteligência
artificial, probabilidade e estatística, ciência da computação, teoria da informação e neuropsicologia cognitiva. Os
algoritmos de machine learning podem ser categorizados em diferentes classes de acordo com a natureza dos dados,
o processo de aprendizado e o tipo de modelo.
EL NAQA, Issam; MURPHY, Martin J. What Is Machine Learning? In: EL NAQA, Issam; LI, Ruijiang; MURPHY, Martin
J. (eds.). Machine Learning in Radiation Oncology: Theory and Applications. New York: Springer, 2015
(adaptado).
Diego é engenheiro e está desenvolvendo um projeto em conjunto com sua colega médica, para fazer o uso do machine
learning na área da saúde. Diego e sua sócia devem apresentar a sua ideia aos potenciais investidores; assim, Diego
deve explicar sobre o machine learning.
I. Diego pode explicar que o machine learning é uma ferramenta de algoritmos para compreender a estrutura de dados
existentes e gerar regras de predição, assim, modelos preditivos podem ser utilizados para estimar riscos à saúde dado
um conjunto de características.
II. Diego pode ressaltar que os resultados fornecidos pelo machine learning na área da saúde, em conjunto com
políticas públicas na área, podem promover redução de custos, maior efetividade nas intervenções, tratamentos e
ações preventivas.
III. Diego pode mencionar que, com o machine learning, é possível conhecer o risco de um desfecho baseado em
dados reais, podendo ser utilizado para rastreamento, diagnóstico e escolha do tratamento adequado em intervenções
na saúde.
Está correto o que se afirma em
Alternativas
A)
I, apenas.
B)
II, apenas.
C)
I e III, apenas.
D)
II e III, apenas.
E)
I, II e III.
Questão 43 - Machine Learning
O aprendizado supervisionado é a tarefa de machine learning de aprender uma função que mapeia uma entrada para
uma saída com base em exemplos de dados de entrada e saída. Ele infere uma função de dados de treinamento
rotulados que consistem em um conjunto de exemplos de treinamento. As Árvores de Decisão são gráficos para
representar escolhas e seus resultados em forma de árvore. Os nós no gráfico representam um evento ou escolha e
as arestas do gráfico representam as regras ou condições de decisão. Cada árvore consiste em nós e ramos.
MAHESH, Batta. Machine learning algorithms-a review. International Journal of Science and Research, [s. l.], v. 9, p.
381-386, 2020 (adaptado).
MAHESH, Batta. Machine learning algorithms-a review. International Journal of Science and Research, [s. l.], v. 9, p.
381-386, 2020 (adaptado).
II. Na figura apresentada, observa-se uma árvore de decisão que pode ser empregada em restaurantes e comércios
que lidam com diferentes tipos de clientes para entender as preferências dos clientes com base em seus pedidos
passados, que podem ser utilizados como dados para treinamento do algoritmo.
III. Em machine learning, as árvores de decisão podem ter diferentes aplicações, mas todas utilizam de conceitos de
classificação e regressão para seu uso; no exemplo da figura, a estrutura da árvore permite classificar dados de
acordo com as respostas em cada nó.
Alternativas
A)
I, apenas.
B)
III, apenas.
C)
I e II, apenas.
D)
II e III, apenas.
E)
I, II e III.
Questão 44 - Aquisição do conhecimento
Atualmente, diversas empresas utilizam sistema baseado em conhecimento (SBC). Esses sistemas são programas de
computador que utilizam uma base de conhecimento para resolver inúmeros problemas complexos, fornecendo
informações relevantes aos usuários por meio da aplicação de um raciocínio humano heurístico. Esses sistemas
utilizam diferentes técnicas e mecanismos específicos para simular a tomada de decisão e inferências humanas em
contextos específicos. Nesses sistemas, é muito importante que a base de conhecimento esteja em constante
atualização para maior eficácia. Entre as inúmeras áreas nas quais o SBC pode ser utilizado, estão: gestão, jurídica,
educação, saúde, finanças e engenharia; sempre lidando com grandes volumes de dados.
Rodolfo, diretor de transformação digital da empresa Alfa do ramo da saúde, está realizando um treinamento sobre
sistemas baseados em conhecimento. Ele explicou que um sistema baseado em conhecimento consiste em um
programa no qual o conhecimento do assunto é considerado um conjunto de fatos e regras que podem ser
questionados e manipulados para fornecer uma solução inferida ou explicação para um determinado problema. Rodolfo
afirmou que, para a organização ser bem-sucedida, será preciso fazer uso do sistema baseado em conhecimento,
possibilitando bons resultados e grandes diferenciais na área da saúde.
Diante do exposto, sabendo-se que os sistemas que a empresa precisa implementar devem apresentar algumas
características, avalie as afirmações a seguir sobre o que Rodolfo pode mencionar em relação a essas características.
I. Rodolfo pode afirmar que os sistemas devem ter alguma base de conhecimento explícita e identificável, uma vez que
o desenvolvedor deve ter a capacidade de desenvolver textos ou objetos e reivindicar que eles são o conhecimento.
II. Ele pode mencionar que os processos de conhecimento e raciocínio devem ser qualitativos em alguma parte, ou
seja, devem lidar com objetos semânticos que precisam de definição.
III. Rodolfo pode dizer, em seu treinamento, que os sistemas devem executar pelo menos algumas das inferências
com base em mudanças dinâmicas no conhecimento.
Alternativas
A)
I, apenas.
B)
II, apenas.
C)
I e III, apenas.
D)
II e III, apenas.
E)
I, II e III.
Inteligência artificial (IA) não é um conceito novo, já existindo há muitas décadas, pois não é de hoje que IA consegue
ganhar do melhor jogador de xadrez. Contudo, nos últimos anos, o campo de pesquisa sobre IA tem crescido muito,
permitindo criar máquinas modernas que simulam o pensamento dos seres humanos. Muitas pessoas ainda têm medo
da IA e de todo o seu potencial, mas a IA está ganhando força para ajudar os seres humanos no trabalho e no cotidiano.
Miguel, dono de uma empresa de viagens, deseja implantar um sistema especialista com IA para auxiliar os clientes
da empresa em suas viagens. Em uma reunião com os funcionários, ele explicou as vantagens da utilização da IA e
descreveu alguns conceitos relacionados.
Diante do exposto e considerando os conceitos explicados por Miguel em relação à IA, avalie as afirmações a seguir.
I. Miguel esclareceu que a IA está presente no dia a dia das pessoas, por exemplo, no atendimento eletrônico das
operadoras de telefonia, na previsão do tempo, nos mecanismos de segurança do Internet Banking, entre outros
campos.
II. Ele afirmou que o machine learning, ou aprendizagem de máquina, tem o objetivo de compreender a estrutura dos
dados utilizados e adaptá-los a modelos conhecidos, facilitando a interpretação, a análise e a predição de
informações por meio de algoritmos.
III. Miguel salientou que a IA permitiu que outras formas de conhecimento e de aprendizagem fossem adquiridas,
sendo uma delas o deep learning, ou aprendizagem profunda, compondo a parte avançada do machine learning.
Alternativas
A)
I, apenas.
B)
II, apenas.
C)
I e III, apenas.
D)
II e III, apenas.
E)
I, II e III.
Questão 46 - Sistemas especialistas
A Inteligência Artificial (IA) vem sendo trazida como uma tecnologia inovadora que vai transformar a vida no planeta e
todas as relações humanas existentes mediante a utilização de máquinas, tecnologias e robôs. Contudo, a IA não
surgiu recentemente, ela já existe há anos. Ela é uma ferramenta importante de colaboração com profissionais e
estudantes, por exemplo, e tem evoluído muito. Seu crescimento se deve às novas técnicas de machine learning, à
análise de dados em larga escala (big data), entre outros avanços.
Miguel é diretor da empresa ABC e responsável por criar sistemas inteligentes com IA que podem apoiar milhões de
clientes. Esses sistemas utilizam a engenharia do conhecimento, que permite simular o conhecimento dos profissionais
que dominam sua área de atuação. Visando vender os produtos para um grupo de clientes, Miguel agendou uma
reunião para explicações.
I. Miguel pode afirmar que os sistemas inteligentes podem ajudar as organizações ao realizar atividades para a
resolução de problemas, armazenando e recuperando de forma eficiente um grande volume de informações que
auxiliam na tomada de decisões, por exemplo.
PORQUE
II. Os sistemas inteligentes utilizam e manipulam o conhecimento e a informação com o intuito de resolver problemas
que precisam de conhecimento humano, podendo estar em áreas como medicina, engenharias, negócios, ciências,
educação, comercial, entre outras.
Alternativas
A)
As asserções I e II são proposições verdadeiras, e a II é uma justificativa da I.
B)
C)
D)
E)
Uma grande vantagem de Python é a legibilidade dos programas escritos nessa linguagem. Outras linguagens de
programação utilizam inúmeras marcações, como ponto (.) ou ponto e vírgula (;), no fim de cada linha, além dos
marcadores de início e fim de bloco como chaves ({ }) ou palavras especiais (begin/ end). Esses marcadores tornam
os programas um tanto mais difíceis de ler e felizmente não são usados em Python.
MENEZES, Nilo Ney Coutinho. Introdução à programação com Python: algoritmos e lógica de programação para
iniciantes. São Paulo: Novatec, 2010.
Considerando o contexto apresentado e a sintaxe e semântica da linguagem Python, assinale a alternativa que
melhor representa a solução para o problema proposto.
Alternativas
A)
else:
B)
elseif:
if:
D)
if:
E)
Senao:
Imagine que você tem um conjunto de dados com características de animais (como peso e altura) e deseja classificar
novos animais como "gato" ou "cachorro" usando o algoritmo k-Nearest Neighbors (k-NN). Explique como você poderia
fazer isso usando a biblioteca do Scikit-Learn. Em sua resposta, aborde:
a. Passos Básicos: Quais são os passos principais que você seguiria para usar o k-NN com a Scikit-Learn
nesse cenário?
b. Treinamento e Previsão: Como você treinaria o modelo e utilizaria ele para classificar novos animais?
c. Interpretação dos Resultados: O que significa quando o modelo diz que um novo animal é "mais parecido"
com gatos ou cães?
Treinamento e Previsão
knn = KNeighborsClassifier(n_neighbors=3)
# Treinamento
[Link](X_train, y_train)
classe_predita = [Link](novo_animal)
y_pred = [Link](X_test)
• O k-NN funciona comparando o novo exemplo com os exemplos já conhecidos no conjunto de treino.
• Quando o modelo diz que um animal é "gato", isso significa que a maioria dos k vizinhos mais próximos no
espaço de características (peso, altura etc.) são gatos.
• De forma análoga, se a maioria dos vizinhos for de cães, o animal será classificado como "cachorro".
• Em outras palavras, a classificação depende da semelhança (distância euclidiana, geralmente) entre o novo
ponto e os dados existentes.
Questão 49 - machine
Pedro tem um conjunto de dados de casas, com informações como área, número de quartos e localização, e deseja
prever o preço das casas utilizando a Regressão Linear com a biblioteca Scikit-Learn. Explique como você poderia
ajudar Pedro a fazer isso. Em sua resposta, aborde:
Passos Básicos: Quais são os passos principais para utilizar a Regressão Linear com a Scikit-Learn nesse cenário?
Treinamento e Previsão: Como você treinaria o modelo de Regressão Linear e utilizaria ele para prever o preço de
novas casas?
1. Preparar os dados
o Organizar o conjunto de dados em duas partes:
▪ X: características (área, número de quartos, localização etc.).
▪ y: variável alvo (preço da casa).
2. Dividir em treino e teste
o Separar o dataset em dados de treinamento (para ajustar o modelo) e de teste (para avaliar o
desempenho).
3. Escolher e criar o modelo
o Usar a classe LinearRegression do Scikit-Learn.
4. Treinar o modelo
o Ajustar o modelo com os dados de treino usando .fit(X_train, y_train).
5. Avaliar o modelo
o Verificar a qualidade das previsões no conjunto de teste usando métricas como r2_score (coeficiente
de determinação) e mean_squared_error (erro quadrático médio).
Treinamento e Previsão
Exemplo em Python:
import numpy as np
import pandas as pd
X = [Link]([
[80, 2, 10],
[120, 3, 5],
[200, 4, 2],
[60, 1, 15],
[150, 3, 7]
])
# 2. Criar o modelo
modelo = LinearRegression()
# 3. Treinar o modelo
[Link](X_train, y_train)
y_pred = [Link](X_test)
print("Preços reais:", y_test)
# 5. Avaliar desempenho
previsao = [Link](nova_casa)
Interpretação do Resultado
onde os coeficientes (a, b, c) representam o quanto cada característica impacta no preço da casa.
• Por exemplo:
o Se o coeficiente da área for alto, significa que casas maiores tendem a ter preços mais altos.
o Se o coeficiente da distância ao centro for negativo, casas mais distantes tendem a ser mais baratas.
Questão 49 - Perceptron
Explique de forma simples o que é um Perceptron, ilustrado na Figura 1, e como ele funciona em termos de entradas,
pesos e saída. Em sua resposta, aborde os seguintes pontos:
Definição do Perceptron
Funcionamento Básico
1. Cada entrada (x1,x2,...,xmx_1, x_2, ..., x_mx1,x2,...,xm) representa uma característica do problema (por
exemplo: altura, peso, cor).
2. Essas entradas são multiplicadas pelos pesos (wk1,wk2,...,wkmw_{k1}, w_{k2}, ..., w_{km}wk1,wk2,...,wkm),
que determinam a importância de cada característica.
3. O perceptron soma esses valores e adiciona um bias (bkb_kbk), que funciona como um ajuste extra.
4. O valor uku_kuk é passado para a função de ativação (φ\varphiφ), que decide se a saída (yky_kyk) será ativada
(1) ou não ativada (0).