Matrizes: Ordem, Elementos e Operações

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Qual é o processo de liberação de energia a partir dos alimentos?

Respiração

Dê um exemplo de fungo unicelular.

Leveduras

Qual é o termo para a parte da planta que contém pétalas, sépalas e estames?

Flor

Como se chamam os fungos multicelulares como os bolores e cogumelos?

<p>Fungos</p> Signup and view all the answers

Qual é um fator abiótico chave que afeta o crescimento dos peixes?

<p>Temperatura da água</p> Signup and view all the answers

Qual é a principal força que obriga os animais a serem noturnos ou crepusculares?

<p>Temperatura</p> Signup and view all the answers

O que forma uma população em um ecossistema?

<p>Todas as zebras</p> Signup and view all the answers

Cite um dos maiores absorvedores de carbono.

<p>Florestas (árvores)</p> Signup and view all the answers

Qual é o nome dado ao primeiro nome na nomenclatura binomial?

<p>Nome do gênero</p> Signup and view all the answers

Qual é a porcentagem aproximada de energia transferida para o próximo nível trófico?

<p>10%</p> Signup and view all the answers

Flashcards

O que é Respiração?

Um processo de liberação de energia dos alimentos.

O que é nutrição?

Um processo pelo qual eles usam alimentos para suporte.

O que é excreção?

Os produtos residuais são removidos de um organismo.

O que são fungos unicelulares (leveduras)?

Um fungo unicelular composto por uma única célula que se reproduz principalmente por brotamento.

Signup and view all the flashcards

O que é uma população?

Um grupo de indivíduos da mesma espécie que vivem na mesma área ao mesmo tempo e capazes de se reproduzir.

Signup and view all the flashcards

Como os decompositores ajudam?

Quebram a matéria orgânica em substâncias mais simples e reciclam os nutrientes de volta ao solo.

Signup and view all the flashcards

Qual é o principal fator?

A temperatura é a principal força que faz com que os animais sejam noturnos ou crepusculares.

Signup and view all the flashcards

Nomenclatura Binomial

O primeiro nome (gênero) é sempre capitalizado e identifica um grupo relacionado de espécies. O segundo nome (espécie) é sempre minúsculo e identifica a espécie dentro do gênero.

Signup and view all the flashcards

O que causa o aquecimento global?

Ocorre principalmente devido ao aquecimento global devido às atividades humanas e fatores naturais, como gases de efeito estufa, desmatamento e poluentes do ar.

Signup and view all the flashcards

Qual a importância da biodiversidade?

A estabilidade e resiliência do ecossistema ajudam os ecossistemas a se recuperarem de distúrbios, fornecem serviços essenciais, como purificação do ar e da água, contribuem para a saúde humana e a medicina e têm valor científico e educacional.

Signup and view all the flashcards

Study Notes

Matrizes

  • Matrizes são tabelas de números utilizadas para organizar dados e solucionar sistemas de equações.

Ordem de uma Matriz

  • A ordem de uma matriz é definida pelo número de linhas ($m$) e colunas ($n$), sendo expressa como $m \times n$.

Elementos de uma Matriz

  • Cada número em uma matriz é um elemento, identificado pela sua posição (linha $i$, coluna $j$) e denotado por $a_{ij}$.

Tipos de Matrizes

  • Matriz Quadrada: Possui o mesmo número de linhas e colunas.
  • Matriz Nula: Todos os elementos são zero.
  • Matriz Identidade: Matriz quadrada com todos os elementos da diagonal principal iguais a 1 e os demais iguais a zero.
  • Matriz Transposta: Obtida trocando as linhas pelas colunas da matriz original.

Operações com Matrizes

  • Adição: Soma dos elementos correspondentes de duas matrizes de mesma ordem.
  • Subtração: Subtração dos elementos correspondentes de duas matrizes de mesma ordem.
  • Multiplicação: A multiplicação de duas matrizes $A$ e $B$ só é possível se o número de colunas de $A$ for igual ao número de linhas de $B.
  • O elemento da linha $i$ e coluna $j$ da matriz produto é obtido somando os produtos dos elementos da linha $i$ de $A$ pelos elementos da coluna $j$ de $B$.

Determinante de uma Matriz

  • O determinante de uma matriz é um número que pode ser calculado a partir dos elementos da matriz.
  • Calculável apenas para matrizes quadradas.
  • Matriz de ordem 2: $det(A) = \begin{vmatrix} a & b \ c & d \end{vmatrix} = ad - bc$
  • Matriz de ordem 3: $det(A) = \begin{vmatrix} a & b & c \ d & e & f \ g & h & i \end{vmatrix} = aei + bfg + cdh - ceg - bdi - afh$

Aplicações de Matrizes

  • Matrizes são utilizadas em ciência da computação, engenharia, física e economia.
  • Elas são usadas para representar grafos, resolver sistemas de equações lineares, realizar transformações geométricas, entre outras aplicações.

Redes Multicamadas

Teorema da Aproximação Universal

  • Uma rede de duas camadas da forma $f(x) = \sum_{i=1}^{N} v_i \sigma(w_i^Tx + b_i)$ pode aproximar qualquer função contínua arbitrariamente bem.
  • $\sigma(\cdot)$ deve ser uma função de ativação "não constante, limitada e contínua".
  • O número de neurônios $N$ pode ser muito grande.
  • Ele não diz nada sobre aprendizado.
  • Existem várias extensões para outras arquiteturas/funções de ativação.

Considerações Práticas

  • Redes mais rasas podem exigir um número exponencialmente maior de neurônios para obter a mesma aproximação.
  • Redes mais rasas também podem ser mais difíceis de treinar.

Gradiente Descendente

  • Os parâmetros de uma rede neural são aprendidos minimizando uma função de custo $J(\theta)$.
  • $\theta$: Todos os pesos e vieses na rede.
  • $J(\theta)$: Mede o quão bem a rede se desempenha em uma determinada tarefa.
  • Gradiente descendente é um algoritmo de otimização iterativo que atualiza os parâmetros na direção oposta do gradiente da função de custo: $\theta \leftarrow \theta - \eta \nabla_{\theta}J(\theta)$
  • $\eta$: Taxa de aprendizado, um hiperparâmetro que controla o tamanho do passo.
  • $\nabla_{\theta}J(\theta)$: Gradiente da função de custo em relação aos parâmetros.

Outros Algoritmos de Otimização

  • Gradiente descendente estocástico (SGD): Atualiza os parâmetros após cada exemplo de treinamento.
  • Gradiente descendente de mini-lote: Atualiza os parâmetros após um pequeno lote de exemplos de treinamento.
  • Momento: Ajuda a acelerar o gradiente descendente na direção relevante e amortece as oscilações.
  • Adam: Estimativa de momento adaptativo, combina as ideias de momento e RMSProp.

Retropropagação

  • Retropropagação é um algoritmo para calcular o gradiente da função de custo em relação aos parâmetros da rede.
  • Baseia-se na regra da cadeia do cálculo.

Exemplo: Rede de Duas Camadas

  • Considere uma rede de duas camadas com uma única saída: $\qquad \hat{y} = \sigma(v^Th)$ $\qquad h = \sigma(Wx + b)$
  • $x \in \mathbb{R}^D$: Vetor de entrada
  • $W \in \mathbb{R}^{H \times D}$: Matriz de peso da primeira camada
  • $b \in \mathbb{R}^H$: Vetor de polarização da primeira camada
  • $v \in \mathbb{R}^H$: Vetor de peso da segunda camada
  • $\sigma(\cdot)$: Função de ativação (aplicada elemento a elemento)
  • $H$: Número de neurônios na camada oculta
  • A função de custo é o erro quadrático: $\qquad J = \frac{1}{2}(\hat{y} - y)^2$
  • $y$: Valor alvo

Equações de Retropropagação

  • Camada de saída: $\qquad \delta = \frac{\partial J}{\partial \hat{y}}\sigma' = (\hat{y} - y)\sigma'(\alpha)$
  • onde $\alpha = v^Th$
  • Camada oculta: $\qquad \Delta = \frac{\partial J}{\partial h} \odot \sigma' = (v \delta) \odot \sigma'(z)$
  • onde $z = Wx + b$ e $\odot$ é a multiplicação elemento a elemento
  • Gradientes: $\qquad \frac{\partial J}{\partial v} = \delta h$ $\qquad \frac{\partial J}{\partial W} = \Delta x^T$ $\qquad \frac{\partial J}{\partial b} = \Delta$

Algoritmo de Retropropagação

  1. Passagem para frente: Calcule as ativações de todos os neurônios na rede.
  2. Passagem para trás: Compute os gradientes da função de custo em relação aos parâmetros da rede, começando pela camada de saída e trabalhando para trás.
  3. Atualização de parâmetros: Atualize os parâmetros da rede usando o gradiente descendente.

Gráficos Computacionais

  • Um gráfico computacional é um gráfico direcionado que representa uma expressão matemática.
  • Os nós no gráfico representam operações ou variáveis.
  • As bordas no gráfico representam o fluxo de dados.
  • Gráficos computacionais podem ser usados para calcular automaticamente os gradientes de uma função.

Exemplo: $e = (a + b) * (b + 1)$

  • Um gráfico computacional representa a equação $e = (a + b) * (b + 1)$.
  • O gráfico contém 5 nós ($a, b, +, +, *$) e 6 bordas indo das entradas $a$ e $b$ através de 2 operadores de adição para um operador de multiplicação que gera $e$.

Teorema de Green

  • O Teorema de Green estabelece uma relação entre uma integral de linha ao redor de uma curva fechada simples $C$ e uma integral dupla sobre a região plana $D$ limitada por $C$.
  • É a versão bidimensional do Teorema de Stokes.
  • Seja $C$ uma curva plana fechada simples, suave por partes, com orientação positiva, e $D$ a região limitada por $C$. Se $P$ e $Q$ possuem derivadas parciais contínuas em uma região aberta contendo $D$, então

$\qquad \oint_C P,dx + Q,dy = \iint_D \left(\frac{\partial Q}{\partial x} - \frac{\partial P}{\partial y}\right) ,dA$

  • A integral de linha é calculada percorrendo $C$ no sentido anti-horário.

Exemplo

  • Avalie a integral de linha $\oint_C x^4,dx + xy,dy$, onde $C$ é o triângulo com vértices em $(0, 0)$, $(1, 0)$ e $(1, 2)$.

  • Solução:*

  • Aqui, $P(x, y) = x^4$ e $Q(x, y) = xy$, então

$\qquad \frac{\partial Q}{\partial x} = y, \qquad \frac{\partial P}{\partial y} = 0.$

  • Aplicando o teorema de Green, obtém-se

$\qquad \begin{aligned} \oint_C x^4,dx + xy,dy &= \iint_D (y - 0),dA = \int_0^1 \int_{0}^{2x} y,dy,dx \ &= \int_0^1 \left[\frac{1}{2}y^2\right]_0^{2x} ,dx = \int_0^1 2x^2,dx \ &= \left[ \frac{2}{3}x^3 \right]_0^1 = \frac{2}{3}. \end{aligned}$

Corolário

  • Seja $C$ uma curva plana fechada simples, suave por partes, com orientação positiva, e seja $D$ a região limitada por $C$.
  • A área de $D$ é dada por

$\qquad A = \frac{1}{2} \oint_C x,dy - y,dx$

Teoria Algorítmica dos Jogos

O que é Teoria Algorítmica dos Jogos?

  • Teoria dos Jogos: estuda interações estratégicas entre agentes racionais.
  • Design de Algoritmos: como projetar algoritmos eficientes para resolver problemas computacionais.

AGT = GT + CS

Teoria dos Jogos Ciência da Computação
Design do Sistema arbitrário algoritmo eficiente
Computacional ignorado central
Questão Central existência e estrutura de equilíbrio complexidade de encontrar equilíbrios
Conceito de Solução Equilíbrio de Nash, Equilíbrio de Nash Bayesiano, ... algoritmo de tempo polinomial, aproximação,

Roteamento Egoísta

Modelo

  • Uma rede de $n$ nós e $m$ arestas.
  • Cada aresta $e$ tem uma função de custo (ou função de latência) $l_e(x)$ que especifica o custo incorrido por cada usuário da aresta, dada a congestão $x$ da aresta.
  • Existem $k$ conjuntos de usuários (ou tráfego), cada conjunto $i$ consistindo de $r_i$ usuários que querem viajar de $s_i$ para $t_i$.

Premissas

  • Funções de custo são não-decrescentes.
  • Usuários são não-atômicos, i.e., cada um controla uma quantidade desprezível de tráfego.

Definição

  • Um fluxo $f$ é uma especificação de uma taxa de tráfego em cada caminho na rede.
  • Um fluxo é viável se satisfaz as taxas de tráfego $r_1, \dots, r_k$.

Custo de um Fluxo

  • O custo do fluxo $f$ é:

$C(f) = \sum_{e \in E} f_e l_e(f_e)$

  • Onde $f_e$ é a quantidade de tráfego na aresta $e$.

Equilíbrio do Usuário

  • Um fluxo $f$ está em equilíbrio do usuário se cada usuário está usando um caminho de custo mínimo.
  • Para cada conjunto de usuários $i$ e cada par de caminhos $P, P'$ de $s_i$ para $t_i$ tal que $f_P > 0$,

$\sum_{e \in P} l_e(f_e) \le \sum_{e \in P'} l_e(f_e)$

  • Todo o fluxo é roteado em caminhos de custo mínimo.

Paradoxo de Braess

  • Adicionar um link pode prejudicar!

  • Suponha 1 unidade de fluxo de $s$ para $t$.

drawing

  • Na imagem, existem duas redes; a primeira tem dois caminhos entre os nós $s$ e $t$, a outra tem um link adicional entre os nós nesses dois caminhos.
  • Para a rede um, as funções de latência são $l_1(x) = x$ e $l_2(x) = 1$; para a rede dois, as funções de latência são $l_1(x) = x$, $l_2(x) = 1$, $l_3(x) = 0$ e $l_4(x) = x$.
  • O custo é 1.
  • Todos os usuários tomarão o caminho $s \rightarrow v \rightarrow w \rightarrow t$, com custo 2.

Negociação Algorítmica e Execução de Ordens

Considerações para Colocação de Ordens

Impacto no Mercado

  • Cada ordem tem uma dimensão. Ordens de tamanho agressivo são muitas vezes tóxicas.

Estrutura de Impacto no Mercado

  • Impacto Temporário

    • Concessão de preço para negociar uma grande quantidade. Retorna rapidamente à medida que a imediatidade é satisfeita.
  • Impacto Permanente

    • A informação revelada altera as expectativas futuras. O preço permanece alterado mesmo após a satisfação da imediatidade.

Execução Ótima

Objetivo da Execução Ótima

  • Minimizar a função de custo:

$C(x) = TC(x) + PC(x) + OC(x)$

Onde,

  • $TC(x)$ são os custos de impacto temporário da negociação
  • $PC(x)$ são os custos de impacto permanente da negociação
  • $OC(x)$ são os custos de oportunidade de não negociar

Estratégias de Execução

  • Meta: Equilíbrio entre urgência e impacto no mercado
    • Mais urgente $\implies$ maior impacto no mercado
  • Ordens Passivas
    • Ordens limitadas longe do toque
    • Evita o impacto no mercado
    • Risco de não execução
  • Ordens Agressivas
    • Ordens de mercado, ou ordens limitadas comercializáveis
    • Alcança imediatidade
    • Incorre impacto no mercado

Seleção de Estratégia de Execução

  • Determine a urgência: Quanto tempo você pode esperar?
  • Determine o risco: Quão certo você está de que quer negociar?
    • Risco de inventário?
  • Especifique o Tipo de Ordem
    • Ordem de Mercado
    • Ordem Limitada
    • Ordem Limitada Comercializável
    • Ordem Discricionária

Roteamento Inteligente de Ordens

Roteador Inteligente de Ordens (SOR)

  • Algoritmo que automaticamente roteia a ordem para a bolsa ideal.
  • Considerações:
    • Preço
    • Liquidez
    • Taxas
    • Seleção Adversa
    • Probabilidade de Preenchimento

Dark Pools

  • Local que não exibe ordens ao público.
  • As negociações são relatadas pós-execução.
  • Projetado para instituições negociarem grandes blocos de ações, anonimamente.
    • Melhoria de Preço
    • Impacto Mínimo no Mercado
    • Risco de vazamento de informações

Déficit de Implementação

Déficit de Implementação (IS)

  • Diferença entre a carteira de papel e o retorno real da carteira.
  • Mede o custo total da estratégia de negociação.

$IS = \text{Custo de Atraso} + \text{Custo de Negociação} + \text{Custo de Oportunidade}$

Custo de Atraso

  • Custo de atrasar o início da negociação.
  • Diferença entre o valor da carteira de papel quando a ordem foi criada, e o valor da carteira de papel quando a ordem foi iniciada.
  • Positivo se o preço se mover a seu favor após a criação, mas antes do início.

Custo de Negociação

  • Custo de executar a negociação.
  • Preço médio ponderado por volume (VWAP) vs preço de chegada.
  • Captura o impacto no mercado e as comissões.

Custo de Oportunidade

  • Custo de não concluir a negociação.
  • Diferença entre o número de ações não executadas multiplicado pela diferença entre o preço de fechamento e o preço médio de execução.

Exemplo

Cenário

  • O trader decide comprar 1.000.000 de ações da XYZ.
  • As ações estão atualmente sendo negociadas a $50,00.
  • O trader divide a ordem em 100 ordens de 10.000 ações, e executa ao longo do dia.
  • VWAP = $50,10
  • Preço de fim de dia = $50,50
  • Comissão = $0,01 por ação

$\text{Custo de Atraso} = 0$

$\text{Custo de Negociação} = 1.000.000 \cdot (50,10 - 50,00) + 1.000.000 \cdot 0,01 = $110.000$

$\text{Custo de Oportunidade} = 0$

$IS = 0 + 110.000 + 0 = $110.000$

Diagrama do Sistema de Negociação Algorítmica

  • A imagem mostra um diagrama de um sistema de negociação algorítmica.
  • Dados de mercado fornecem dados de mercado em tempo real.
  • A lógica da estratégia implementa a estratégia de negociação.
  • O sistema de gestão de encomendas gere as encomendas.
  • EXECUÇÃO EXECUTA as encomendas.
  • monitora e gere o risco.
  • A geração do sistema de relatórios.
  • O diagrama também mostra o fluxo de dados entre esses componentes.

Análise de Fluxo de Dados

Introdução

  • A otimização baseada em SSA anteriormente discutida será finalizada e então a análise de fluxo de dados será iniciada.
  • Consulte as seções 2.3 e 9.1-9.2 de Cooper & Torczon.

SSA e Memória

  • Transformar o código original em forma SSA necessita consideração cuidadosa, usando memory SSA para distinguir diferentes valores de *p1 ao longo do tempo.

Memory SSA

  • A memória é tratada como um grande objeto.
  • Cada armazenamento gera uma nova versão da memória.
  • Funções PHI são usadas para mesclar versões.
  • Cada campo de cada objeto é considerado alterado em cada armazenamento, tornando a análise imprecisa.
  • Permite algumas otimizações de memória de forma segura.

Análise de Fluxo de Dados

  • Otimizações importantes requerem determinar o que é verdadeiro em vários pontos do programa, incluindo eliminação de subexpressões comuns, eliminação de código morto, dobragem constante.
  • A análise de fluxo de dados é uma técnica para coletar informações sobre "globalização" através de blocos básicos em um programa.

Visão Conceitual

  • Tenta-se conhecer as propriedades do estado do programa em cada ponto, como quais variáveis contêm valores constantes, propagando informações para frente através do programa.

Fluxo de Dados Direto

  • As informações fluem para frente através da execução de declarações em ordem.
  • O ponto do programa é o local entre as declarações, mantendo as informações em cada ponto.

Complicação 1: Ramificações

  • Combinar informações de diferentes caminhos exige o uso de um operador de encontro.

Operador de Encontro

  • Na análise de vida, se x está ativo em ALGUM caminho, está ativo no ponto de encontro usando a união dos caminhos.
  • A escolha do operador de encontro depende da análise.

Complicação 2: Loops

  • A iteração continua até a convergência, com uma aproximação conservadora inicial.

Terminologia

  • A função de transferência descreve como uma instrução afeta as informações de fluxo de dados.
  • O operador de encontro combina informações de diferentes caminhos.
  • O gráfico de fluxo de controle é um gráfico de blocos básicos.
  • Um bloco básico é uma sequência de declarações que são sempre executadas em ordem.
  • Um problema de fluxo de dados consiste em:
    • Conjunto de pontos de programa.
    • Informações de fluxo de dados associadas a cada ponto.
    • Funções de transferência.
    • Operador de encontro.
    • Direção do fluxo (para frente ou para trás).

Expressões Disponíveis

  • Uma expressão x + y está "disponível" no ponto do programa p se cada caminho da entrada para p avalia x + y, e após a última avaliação de x + y em cada caminho, não há atribuições para x ou y.
  • Expressões disponíveis são calculadas usando análise de fluxo de dados para eliminação de subexpressão comum (CSE).
  • Se x + y está disponível em p, e p calcula x + y, então o cálculo em p pode ser substituído por uma referência ao cálculo anterior.
  • O domínio das expressões disponíveis é conjuntos de expressões.
  • A direção é para frente com um operador de encontro de intersecção ( $\bigcap$ ) porque uma expressão está disponível em um ponto apenas se estiver disponível em TODOS os caminhos que levam a esse ponto.
  • A função de transferência envolve expressões geradas e eliminadas.

$\qquad AVAILOUT(S) = (AVAILIN(S) - e_kill(S)) U e_gen(S)$

  • Inicialização:
    • AVAILIN(entry) = $\emptyset$
    • Para todos os outros blocos B, AVAILIN(B) = conjunto de todas as expressões (aka "universo" ou "top")

Calculando Expressões Disponíveis

  • Calcular expressões disponíveis envolve inicializar conjuntos AVAILIN e AVAILOUT para cada bloco, calcular AVAILOUT(B) de AVAILIN(B) usando funções de transferência, calcular AVAILIN(B) de AVAILOUT(B') de predecessores B' usando operador de encontro e repetir até a convergência.

Prática

  • Exemplo de código mostra como e_gen e e_kill são determinados para cada bloco na análise de fluxo de dados.:

Resultado

  • Apesar de corrigir o processo, o resultado pode não ser muito útil porque e_gen e e_kill são muito grosseiros.

Refinando a Análise

  • Quebrar cada bloco básico em declar

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

More Like This

Matrix Operations and Inverse Matrices
10 questions
Matrices in Algebra
8 questions

Matrices in Algebra

CompliantHeliotrope6720 avatar
CompliantHeliotrope6720
Matrix Algebra Quiz
10 questions
Matrices: Introduction to Matrix Algebra
36 questions
Use Quizgecko on...
Browser
Browser