O OpenMP é um modelo de programação de memória compartilhada, que nasceu da cooperação entre um grupo de grandes fabricantes de software e hardware, com o intuito de promover uma padronização nesse campo de aplicação, não sendo, necessariamente, uma implementação, mas sim uma especificação que todos os seus usuários podem utilizá-la. Com relação ao OpenMP e aos seus objetivos, observe as afirmativas a seguir. I. Ser o padrão de programação para arquiteturas de memória compartilhada. II. Estabelecer um conjunto simples e ilimitado de diretivas de programação. III. Possibilitar a paralelização incremental de programas sequenciais. IV. Permitir implementações eficientes em problemas de granularidade. Está correto o que se afirma em:
Explorando o OpenMPI como um dos frameworks da computação paralela, vários conceitos estão relacionados a esse processo, dos quais podemos citar: thread safety, comunicação coletiva, perfis, processo, rank, grupos, comunicador, application buffer, system buffer, count, type, tag e status. O processo tem uma identificação única (um número inteiro positivo) atribuída pelo sistema quando o processo é inicializado. Assinale a alternativa que contém, corretamente, o nome desse conceito demonstrado pelas características anteriores.
O CUDA (Computer Unified Device Architecture), além de ser uma plataforma de computação paralela é também um modelo de programação. Este modelo envolve ______ que possui duas ou três coordenadas dimensionais. Tais ____ são partes de um ______.
Uma aplicação prática do agrupamento de dados (clustering) em aprendizado de máquina é a segmentação de clientes em marketing. Nesse contexto, algoritmos de agrupamento, como K-Means ou DBSCAN, são usados para dividir clientes em grupos com características semelhantes com base em dados como histórico de compras, comportamento de navegação, idade e localização.De acordo com o apresentado, assinale a alternativa que reconhece o conceito de análise de agrupamentos em aprendizado de máquina.
A análise de agrupamento espectral transforma dados em um espaço de autovetores calculados de matrizes de afinidade ou similaridade. Essa técnica permite identificar clusters conectados, utilizando álgebra linear e decomposição espectral.Com relação a este contexto e sobre o conteúdo estudado, examine as asserções a seguir e a relação proposta entre elas.I. Os algoritmos de agrupamento baseados em grafos, como o algoritmo de corte mínimo (Min-Cut), podem particionar os dados em clusters ao remover as arestas de menor peso em um grafo.PORQUEII. Os algoritmos baseados em grafos consideram apenas a conectividade dos nós no grafo, ignorando o peso das arestas.A respeito dessas asserções, assinale a alternativa correta.
No aprendizado baseado em distâncias, modelos como DBSCAN identificam clusters baseando-se em regiões de alta densidade. A matemática envolvida considera vizinhanças de raio fixo em espaços métricos, onde a contagem de pontos determina densidades.Diante do apresentado sobre categorias de algoritmos de agrupamento, compreenda as afirmativas a seguir:I. Algoritmos de agrupamento particional, como o K-means, exigem a definição prévia do número de clusters.II. Algoritmos hierárquicos não podem ser utilizados em grandes conjuntos de dados devido à alta complexidade computacional.III. Algoritmos baseados em densidade, como o DBSCAN, são eficazes para identificar clusters de forma arbitrária e detectar outliers.É correto o que se afirma em:
O agrupamento fuzzy permite que pontos pertençam a múltiplos clusters com diferentes graus de pertinência, baseando-se em distâncias. A função objetivo minimiza uma soma ponderada de distâncias, fundamentada em álgebra linear e funções fuzzy.Considere as tarefas descritivas de aprendizado de máquina: sumarização, associação e agrupamento. Nesse sentido, analise as alternativas e assinale a que apresenta uma característica específica de cada uma dessas tarefas.
Leia o trecho a seguir:No agrupamento, métodos como K-means iterativamente minimizam a soma das distâncias quadradas entre pontos e seus centróides. Essa otimização utiliza conceitos de mínimos locais e funções de custo, com base no cálculo diferencial. O modelo depende de inicializações e convergências que envolvem análise estatística.
Os modelos descritivos, como a análise de agrupamentos, são usados para identificar [preencher 1] nos dados, agrupando amostras com base em [preencher 2].Os termos [preencher 1] e [preencher 2] são corretamente substituídos por:
A métrica de distância é central no aprendizado por agrupamento, permitindo avaliar a semelhança entre elementos de um conjunto. Distâncias como a de Minkowski generalizam métricas específicas, ajustando o impacto de diferenças em cada dimensão.Neste sentido, assinale a alternativa que define corretamente o funcionamento de algoritmos hierárquicos de agrupamento em aprendizado de máquina.
O aprendizado baseado em distâncias encontra aplicações na redução de dimensionalidade, como no método ISOMAP, que preserva distâncias geodésicas. Essa abordagem usa grafos e caminhos mínimos, calculados por algoritmos como Dijkstra.Com relação a este contexto e sobre o conteúdo estudado, avalie as asserções a seguir e a relação proposta entre elas.I. Os algoritmos particionais baseados em erro quadrático, como o K-means, buscam minimizar a soma dos erros quadráticos entre os pontos de dados e os centróides dos clusters.PORQUEII. Os algoritmos particionais baseados em erro quadrático consideram a densidade dos dados como o critério principal para a formação dos clusters.A respeito dessas asserções, assinale a alternativa correta.
O ______ é um dos componentes do Apache Kafka que atua para facilitar a verificação de ______, o gerenciamento e a coordenação. Também pode ser chamado de um serviço centralizado para manter informações de configurações e nomenclaturas entre serviços distribuídos. O Kafka utiliza este componente para sincronizar as configurações entre diferentes clusters.Assinale a alternativa que completa corretamente as lacunas acima:
O Spark lida com o problema de acesso compartilhado por meio de conjuntos de dados distribuídos conhecidos como ______, os quais se destaca como um modelo de programação ______.Assinale a alternativa que completa corretamente as lacunas acima:
Analise as afirmações a seguir sobre o Apache Kafka e o Kubernetes e escolha a alternativa correta.I. O Kubernetes confere ao Apache Kafka a portabilidade entre provedores de infraestrutura e sistemas operacionais.
II. Com o Apache Kafka, os clusters do Kubernetes podem ser distribuídos em ambientes locais e em nuvens públicas, privadas ou públicas.
III. O Kubernetes é uma plataforma escalável para hospedar as aplicações do Kafka.
IV. O Apache Kafka é um sistema open source para gerenciamento de aplicações em containers.
O framework Kafka, para processamento em larga escala, é uma plataforma de streaming distribuído que possui alta escalabilidade, tolerância a falhas, permite alto nível de paralelismo e desacoplamento entre produtores de dados e consumidores de dados.Analise estas duas definições: as mensagens são persistidas em uma fila, mas uma mensagem específica pode ser consumida por, no máximo, um consumidor; as mensagens são persistidas em um tópico, e os consumidores podem se inscrever em um ou mais tópicos e consumir todas as mensagens desse tópico.Assinale a alternativa correta que define os tipos de sistemas de mensagens para a definição dos trechos acima, respectivamente.
_______ no contexto do Spark significa que a execução não será iniciada até que uma ação seja acionada. Isso acontece quando ocorrem transformações do Spark. As transformações são _______ por natureza, ou seja, quando chamamos alguma operação no RDD, ela não é executada imediatamente.Assinale a alternativa que completa corretamente as lacunas acima:
O Spark representa outro framework para processamento de dados em larga escala, que foi motivado, por exemplo, pelo aumento dos datasets na web e pela Internet das Coisas (IoT). O Apache Spark, uma alternativa ao MapReduce para algumas aplicações, é um sistema de computação em cluster com baixa latência e usado para grandes conjuntos de dados.Assinale a alternativa que descreve um dos principais benefícios do Apache Spark.
O Hadoop é uma plataforma de software desenvolvida em Java utilizada para clusters e processamento de grandes volumes de dados. São camadas importantes de uma aplicação no contexto do Hadoop:I. Armazenamento.
II. Processamento.
III. Interface.
IV. Conexão.
O conjunto de soluções do framework Apache Spark é denominado "ecossistema Apache Spark". Esse ecossistema é constituído pelos seguintes elementos: Spark Core, Spark SQL, Spark Streaming, MLLib e GraphX, cada qual com as suas funções específicas no framework.Com relação às funcionalidades dos elementos que compõem o ecossistema do framework Apache Spark, avalie as afirmações a seguir que explicam essas vantagens.I. Spark Core: refere-se ao motor de execução da plataforma e representa um mecanismo de processamento de dados distribuído.
II. Spark SQL: é um mecanismo para o Hadoop Hive que permite que consultas não modificadas sejam executadas de forma mais rápida.
III. Spark Streaming: é um mecanismo que permite aplicativos interativos e analíticos poderosos no streaming de dados.
IV. GraphX: é o mais novo componente do Spark e representa uma biblioteca de aprendizado de máquina escalável.
V. MLLib: é um mecanismo de computação gráfica que fornece vários utilitários úteis para tarefas de aprendizado de máquina.É correto o que se afirma em:
Relacionado a um programa OpenMP, pode-se observar algumas características específicas. Além de utilizar as definições da biblioteca omp.h; implementar o programa em libgomp.so; e usar, na sua compilação, a opção -fopenmp, o programa pode utilizar três tipos de variáveis específicas.Identifique se são (V) verdadeiras ou (F) falsas as afirmativas a seguir, que descrevem os três tipos de variáveis utilizadas em um programa OpenMP.I. ( ) privateII. ( ) sharedIII. ( ) lastprivateAssinale a alternativa que apresenta a sequência correta.Questão 2 Resposta
a.V, F, V.
b.F, F, F.
c.V, V, V.
d.V, V, F.
e.F, V, F.
A computação em grade (Grid Computing) caracteriza-se pela coleção de recursos computacionais de comunicação utilizado para a execução de aplicações. São características de uma Grade (Grid):I. Visão uniforme de recursos computacionais.
II. O nómestre não é um elemento de um grid.
III. O usuário vê um grid como várias entidades.
IV. Ser fundamentado em protocolos da Internet/Web e tecnologias de Web Services.
A Grade (Grid) é uma plataforma para execução de aplicações paralelas amplamente distribuída, heterogênea e compartilhada. Outras importantes características da grade incluem:
Acerca dos tipos de cluster no contexto de computação escalável é correto afirmar que: I. O cluster de balanceamento de carga depende de 1 ou mais nós balanceadores de carga que será enviada aos servidores que de fato vão processar a carga. II. O cluster de alta disponibilidade é aquele que tende a se manter resistente a falhas e quando esta ocorre o usuário não percebe. III. O cluster de alta disponibilidade tem a mesma função que um cluster de alto desempenho. IV. Cluster de alta disponibilidade é aquele usado para distribuir a carga de trabalho.
Cloud computing, ou computação em nuvem, é uma tecnologia em que os servidores são desenvolvidos para armazenar e gerir dados, executar aplicações ou fornecer conteúdos ou um serviço, como transmissão em fluxo de vídeos, webmail, software de produtividade para escritórios ou redes sociais. Assim, temos estas duas definições: (1) recursos são compartilhados entre diversos usuários e alocados com base na demanda; e (2) recursos podem ser acessados, remotamente, usando diversos tipos de dispositivos. Assinale a alternativa que define, corretamente, as características da computação em nuvem para a definição dos trechos anteriores, respectivamente.
Os grids são formados por recursos heterogêneos, englobando clusters, supercomputadores, desktops e até dispositivos móveis, e podem possuir os seguintes elementos: nó mestre (eventualmente, replicado), nós de execução, nós de submissão, interligação e rede de comunicação pública de larga escala: a internet. Identifique se são (V) verdadeiras ou (F) falsas as afirmativas a seguir, que descrevem características dos grids. I. ( ) Pervasividade. II. ( ) Visão uniforme dos recursos computacionais. III. ( ) Armazenamento remoto dos dados. Assinale a alternativa que apresenta a sequência correta.
Os algoritmos probabilísticos também têm impacto significativo em redes e sistemas distribuídos, como na otimização de roteamento e comunicação. Eles utilizam aleatoriedade para explorar caminhos e minimizar conflitos de forma eficiente. Esse uso é essencial em aplicações como redes peer-to-peer e protocolos de consenso em blockchain. Neste contexto, compreenda e associe as descrições aos conceitos correspondentes sobre o problema de balanceamento em Redes Bayesianas:\n\n| Conceitos | Descrição |\n| :--- | :--- |\n| I. Dificuldade de cálculo com muitas variáveis | A. Está associado à dificuldade de calcular probabilidades quando o número de variáveis no grafo aumenta significativamente. |\n| II. Ajuste de pesos para priorização de nós | B. Pode ser resolvido ajustando pesos para priorizar os nós com maior impacto causal. |\n| III. Trade-off entre precisão e custo computacional | C. Refere-se ao equilíbrio entre a precisão do modelo e o custo computacional envolvido. |\n\nAssinale a alternativa que apresenta a associação correta.
Os algoritmos probabilísticos enfrentam desafios relacionados à geração de números verdadeiramente aleatórios. A qualidade da aleatoriedade afeta diretamente a precisão e a robustez dos resultados. Por isso, métodos de geração pseudoaleatória são amplamente estudados para garantir resultados confiáveis em aplicações práticas. Com relação a este contexto e sobre o conteúdo estudado, avalie as asserções a seguir e a relação proposta entre elas.\n\nI. As redes Bayesianas são altamente interpretáveis e permitem a modelagem explícita de relações de dependência entre variáveis.\n\nPORQUE\n\nII. As redes Bayesianas utilizam o Teorema de Bayes e grafos acíclicos direcionados (DAGs) para representar e calcular distribuições de probabilidade conjunta.\n\nA respeito dessas asserções, assinale a alternativa correta.
Leia o trecho a seguir: Em algoritmos probabilísticos, a aleatoriedade é usada para simplificar soluções ou melhorar o desempenho em comparação aos métodos determinísticos. Eles são especialmente úteis em cenários onde a solução exata é computacionalmente inviável, mas uma solução aproximada é suficiente. Exemplos incluem testes de primalidade e algoritmos para encontrar padrões em grandes conjuntos de dados. O classificador Naive-Bayes assume que as variáveis preditoras são [preencher 1] entre si, dado a classe, e utiliza o [preencher 2] para calcular as probabilidades necessárias para a classificação. Os termos [preencher 1] e [preencher 2] são corretamente substituídos por:
Uma aplicação prática para um algoritmo probabilístico é o filtro de spam em e-mails, que utiliza o classificador Naïve Bayes para determinar se uma mensagem é spam ou não. Esse algoritmo calcula a probabilidade de um e-mail ser spam com base na frequência de palavras e outros atributos. Diante do apresentado, assinale a alternativa que identifica a principal característica das redes bayesianas usadas para classificação.
Em computação quântica, algoritmos probabilísticos desempenham um papel fundamental, utilizando propriedades quânticas para gerar soluções probabilísticas rápidas. O algoritmo de Shor, por exemplo, resolve problemas de fatoração de inteiros de forma exponencialmente mais eficiente que os métodos clássicos. Isso demonstra seu potencial revolucionário para criptografia. Analisando os paradigmas de aprendizado de máquina, assinale a alternativa que contém o paradigma que se destaca por utilizar representações explícitas e manipuláveis de conhecimento, como regras lógicas ou árvores de decisão, e tem como principal característica a interpretação clara de suas inferências.