Lar Finanças Pessoais Trabalhando com funções algorítmicas - dummies

Trabalhando com funções algorítmicas - dummies

Vídeo: Matemática Elementar - Aula 06 - Logaritmos, funções exponenciais e logarítmicas 2025

Vídeo: Matemática Elementar - Aula 06 - Logaritmos, funções exponenciais e logarítmicas 2025
Anonim

Uma função em matemática é simplesmente uma maneira de mapear algumas entradas para uma resposta. Exigido de forma diferente, uma função é uma transformação (baseada em operações matemáticas) que transforma (mapeia) a sua entrada para uma resposta.

Para certos valores de entrada (geralmente indicados pelas letras x ou n), você tem uma resposta correspondente usando a matemática que define a função. Por exemplo, uma função como f (n) = 2 n diz que, quando a sua entrada é um número n, sua resposta é o número n multiplicado por 2.

Usar o tamanho da entrada faz sentido dado que esta é uma era crítica e as vidas das pessoas estão repletas de uma quantidade crescente de dados. Fazer com que tudo seja uma função matemática é um pouco menos intuitiva, mas uma função que descreve como um algoritmo relaciona sua solução com a quantidade de dados que recebe é algo que você pode analisar sem suporte específico de hardware ou software. Também é fácil de comparar com outras soluções, dado o tamanho do seu problema. A análise de algoritmos é realmente um conceito insensível porque reduz uma série complexa de etapas em uma fórmula matemática.

Além disso, a maior parte do tempo, uma análise de algoritmos nem sequer interessa em definir a função exatamente. O que você realmente quer fazer é comparar uma função de destino com outra função. Essas funções de comparação aparecem dentro de um conjunto de funções propostas que funcionam mal quando comparadas ao algoritmo de destino. Desta forma, você não precisa conectar números em funções de maior ou menor complexidade; Em vez disso, você lida com funções simples, premade e bem conhecidas. Pode parecer áspero, mas é mais eficaz e é semelhante a classificar o desempenho de algoritmos em categorias, ao invés de obter uma medida de desempenho exata.

O conjunto de funções generalizadas é chamado de Big O, e muitas vezes você encontra este pequeno conjunto de funções (coloque entre parênteses e precedido por um O >) usado para representar o desempenho de algoritmos. A figura mostra a análise de um algoritmo. Um sistema de coordenadas cartesianas pode representar sua função medida pela simulação de RAM, onde o abscissa (a coordenada x) é o tamanho da entrada e a ordenada (a coordenada y) é sua número de operações resultantes. Você pode ver três curvas representadas. O tamanho da entrada é importante. No entanto, a qualidade também é importante (por exemplo, ao solicitar problemas, é mais rápido pedir uma entrada que já está quase ordenada).Consequentemente, a análise mostra um pior caso, f 1 (n), um caso médio, f 2 (n), e um melhor caso f 3 (n). Embora o caso médio possa lhe dar uma idéia geral, o que você realmente se importa é o pior caso, porque problemas podem surgir quando seu algoritmo se esforça para alcançar uma solução. A função Big O é a que, após um certo valor

n0 (o limite para considerar uma entrada grande), sempre resulta em um número maior de operações com a mesma entrada que a função do pior caso > f1 . Assim, a função Big O é ainda mais pessimista do que a que representa o seu algoritmo, de modo que não importa a qualidade da entrada, você pode ter certeza de que as coisas não podem piorar do que isso. Complexidade de um algoritmo em caso de melhor, médio e pior caso de entrada. Muitas funções possíveis podem resultar em resultados pior, mas a escolha das funções oferecidas pela notação Big O que você pode usar é restrita porque o objetivo é simplificar a medida de complexidade, propondo um padrão. Consequentemente, esta seção contém apenas as poucas funções que fazem parte da notação Big O. A lista a seguir descreve-os em crescente ordem de complexidade:

Complexidade constante O (1):

Ao mesmo tempo, independentemente da quantidade de entrada que você fornecer. No final, é um número constante de operações, não importa quanto tempo sejam os dados de entrada. Esse nível de complexidade é bastante raro na prática.

  • Complexidade logarítmica O (log n): O número de operações cresce a uma taxa mais lenta do que a entrada, tornando o algoritmo menos eficiente com pequenas entradas e mais eficiente com as maiores. Um algoritmo típico desta classe é a pesquisa binária.
  • Complexidade linear O (n): As operações crescem com a entrada em uma proporção de 1: 1. Um algoritmo típico é iteração, que é quando você digitaliza a entrada uma vez e aplica uma operação a cada elemento dela.
  • Complexidade linearítmica O (n log n): A complexidade é uma mistura entre a complexidade logarítmica e linear. É típico de alguns algoritmos inteligentes usados ​​para solicitar dados, como Mergesort, Heapsort e Quicksort.
  • Complexidade quadrática O (n 2
  • ): As operações crescem como um quadrado do número de entradas. Quando você tem uma iteração dentro de outra iteração (iterações aninhadas, em ciência da computação), você tem complexidade quadrática. Por exemplo, você tem uma lista de nomes e, para encontrar os mais parecidos, você compara cada nome com todos os outros nomes. Alguns algoritmos de ordenação menos eficientes apresentam tal complexidade: tipo de bolha, classificação de seleção e classificação de inserção. Esse nível de complexidade significa que seus algoritmos podem ser executados por horas ou mesmo dias antes de alcançar uma solução. Complexidade cúbica O (n 3
  • ): As operações crescem ainda mais rápido do que a complexidade quadrática porque agora você possui várias iterações aninhadas. Quando um algoritmo tem essa ordem de complexidade e você precisa processar uma quantidade modesta de dados (100 000 elementos), seu algoritmo pode ser executado por anos.Quando você tem uma série de operações que é uma potência da entrada, é comum se referir ao algoritmo como executado em tempo polinomial. Complexidade exponencial O (2 n
  • ): O algoritmo leva duas vezes o número de operações anteriores para cada novo elemento adicionado. Quando um algoritmo tem essa complexidade, mesmo pequenos problemas podem demorar para sempre. Muitos algoritmos que fazem buscas exaustivas têm complexidade exponencial. No entanto, o exemplo clássico para esse nível de complexidade é o cálculo dos números Fibonacci. Complexidade fatorial O (n!): Um pesadelo real de complexidade devido ao grande número de combinações possíveis entre os elementos. Imagine: se a sua entrada é de 100 objetos e uma operação em seu computador leva 10
  • -6 segundos (uma velocidade razoável para cada computador, hoje em dia), você precisará de cerca de 10 140 anos para completar a tarefa com sucesso (uma quantidade impossível de tempo desde que a idade do universo é estimada em 10 14 anos). Um problema de complexidade fatorial famoso é o problema dos vendedores ambulantes, em que um vendedor deve encontrar a rota mais curta para visitar muitas cidades e voltar para a cidade inicial.
Trabalhando com funções algorítmicas - dummies

Escolha dos editores

Noções básicas do arquivo de dados Flashback da Oracle 12c - dummies

Noções básicas do arquivo de dados Flashback da Oracle 12c - dummies

O Flashback Data Archive do oracle 12c é um mecanismo de banco de dados que permite que você para armazenar periodicamente ou indefinidamente todas as versões de linha em uma tabela ao longo da sua vida útil. Você pode então escolher uma hora para ver os dados como existia em um ponto específico. Esteja ciente de que o Flashback Data Archive é um recurso licenciado. ...

Noções básicas de clusters de aplicativos reais do Oracle 12c - manequins

Noções básicas de clusters de aplicativos reais do Oracle 12c - manequins

Se você visitou os sites da Oracle nos últimos 12 anos , você viu o byline de marketing: "Inquebrável. "Essa linha de tag refere-se ao recurso Real Application Clusters (RAC). Claro, muitos elementos estão envolvidos, mas o RAC tem o destaque. O RAC é a solução de clustering de banco de dados Oracle. Em certo sentido, funciona na teoria de que ...

Noções básicas de Redo Log Files no Oracle 12c - dummies

Noções básicas de Redo Log Files no Oracle 12c - dummies

Redo os arquivos de log armazenam as informações do buffer de log no banco de dados Oracle 12c. Eles são escritos pelo Log Writer (LGWR). Mais uma vez, você não pode ler esses arquivos binários sem a ajuda do software de banco de dados. Normalmente, os arquivos de reto de log são nomeados com a extensão. LOG ou. RDO. Pode ser qualquer coisa que você queira, ...

Escolha dos editores

São orgasmos ok durante a gravidez? - Dummies

São orgasmos ok durante a gravidez? - Dummies

As mulheres grávidas não só têm permissão para fazer sexo, mas muitas vezes o desejam. Mas é bom aproveitar a relação sexual com o ponto do orgasmo? Afinal, os orgasmos são nada mais do que contrações - e as pessoas sugeriram que isso poderia desencadear mão-de-obra. Isso é apenas um mito. De fato, grávida ...

Alimentando a Multidão em uma Reunião Familiar - manequins

Alimentando a Multidão em uma Reunião Familiar - manequins

Cozinhando uma refeição para um grande grupo (reunião familiar ou de outra forma ) requer planejamento e resistência. Aqui está um guia útil para quantidades de alimentos e segurança alimentar, e conselhos sobre a organização de uma festa de potluck. Planejando para potlucks A forma mais comum de comestibles de grupo é uma festa de potluck - qual é a maneira mais barata e fácil de ...

Anatomia do Penis humano - dummies

Anatomia do Penis humano - dummies

Sabendo como as funções de um pénis podem fornecer uma visão útil do sexo e do corpo humano - se você quer entender o pénis e a anatomia masculina melhor ou aprender sobre isso pela primeira vez. Basicamente, um pênis é composto de três estruturas, que são feitas de um material esponjoso que pode preencher com sangue: ...

Escolha dos editores

Como lidar com outliers causados ​​por Forças externas - manequins

Como lidar com outliers causados ​​por Forças externas - manequins

Certifique-se de verificar atentamente os outliers antes eles influenciam sua análise preditiva. Os outliers podem distorcer a análise de dados e dados. Por exemplo, qualquer análise estatística feita com dados que deixa outliers no lugar acaba por desviar os meios e variâncias. Os outliers não controlados ou mal interpretados podem levar a conclusões falsas. Diga os seus dados que ...

Como criar um modelo de análise preditiva com regressão R - manequins

Como criar um modelo de análise preditiva com regressão R - manequins

Você deseja criar um preditivo modelo de análise que você pode avaliar usando resultados conhecidos. Para fazer isso, vamos dividir nosso conjunto de dados em dois conjuntos: um para treinar o modelo e outro para testar o modelo. Uma divisão 70/30 entre treinamento e testes de conjuntos de dados será suficiente. As próximas duas linhas de código ...

Como definir objetivos de negócios para um modelo de análise preditiva - dummies

Como definir objetivos de negócios para um modelo de análise preditiva - dummies

Um modelo de análise preditiva visa resolvendo um problema comercial ou realizando um resultado comercial desejado. Esses objetivos comerciais se tornam os objetivos do modelo. Conhecer aqueles garante o valor comercial do modelo que você constrói - o que não deve ser confundido com a precisão do modelo. Hipotéticamente, você pode construir um modelo preciso para ...