pt.phhsnews.com


pt.phhsnews.com / O que são algoritmos de computador e como eles funcionam?

O que são algoritmos de computador e como eles funcionam?


A menos que você esteja em matemática ou em programação, a palavra "algoritmo" pode ser grega para você, mas é um dos elementos básicos de tudo o que você está usando para ler este artigo. Aqui está uma rápida explicação do que eles são, e como eles funcionam.

Aviso: Eu não sou um professor de matemática ou de ciências da computação, então nem todos os termos que uso são técnicos. Isso porque estou tentando explicar tudo em linguagem simples para as pessoas não se sentirem muito à vontade com a matemática. Dito isto, há alguma matemática envolvida, e isso é inevitável. Geeks de matemática, sinta-se à vontade para corrigir ou explicar melhor nos comentários, mas por favor, mantenha simples para os matematicamente desinclinados entre nós.

Imagem por Ian Ruotsala

O que é um Algoritmo? O algoritmo tem uma etimologia similar à álgebra, exceto que se refere ao próprio matemático árabe, al-Khwarizmi (apenas uma informação interessante). Um algoritmo, para os não-programadores entre nós, é um conjunto de instruções que recebe uma entrada, A, e fornece uma saída, B, que altera os dados envolvidos de alguma forma. Algoritmos têm uma ampla variedade de aplicações. Em matemática, eles podem ajudar a calcular funções de pontos em um conjunto de dados, entre coisas muito mais avançadas. Além de seu uso na programação, eles desempenham papéis importantes em coisas como compactação de arquivos e criptografia de dados.

Um Conjunto Básico de Instruções

Digamos que seu amigo o encontre em uma mercearia e você o esteja orientando você. Você diz coisas como “entre pelas portas do lado direito”, “passe a seção de peixes à esquerda” e “se você ver o laticínio, passou por mim”. Algoritmos funcionam assim. Podemos usar um fluxograma para ilustrar instruções baseadas em critérios que conhecemos antecipadamente ou descobrir durante o processo.

(imagem intitulada “Icebreaking Routine” EDIT: cortesia de Trigger e Freewheel)

Do START, você faria Siga o caminho, e dependendo do que acontece, você segue o "fluxo" para um resultado final. Fluxogramas são ferramentas visuais que podem representar, de forma mais compreensível, um conjunto de instruções usadas pelos computadores. Da mesma forma, os algoritmos ajudam a fazer o mesmo com mais modelos baseados em matemática.

Gráficos

Vamos usar um gráfico para ilustrar as várias maneiras pelas quais podemos dar direções.

Podemos expressar esse gráfico como uma conexão entre todos os seus pontos. Para reproduzir essa imagem, podemos dar um conjunto de instruções a outra pessoa.

Método 1

Podemos representar isso como uma série de pontos, e as informações seguiriam a forma padrão de gráfico = {(x1 , (x2, yn)}.

gráfico = {(0,0), (3,0), (3,3) 7,10), (8,7), (9,4), (10,1)}

É muito fácil traçar cada ponto, um após o outro, e conectá-los ao ponto anterior. No entanto, imagine um gráfico com milhares de pontos ou múltiplos segmentos indo todos os lados. Essa lista teria muitos dados, certo? E então ter que conectar cada um, um de cada vez, pode ser uma dor

Método 2

Outra coisa que podemos fazer é dar um ponto de partida, a inclinação da linha entre ele e o próximo ponto, e indique onde esperar o próximo ponto usando a forma padrão do gráfico = {(ponto de partida}, [m1, x1, h1],…, [mn, xn, hn]}. Aqui, a variável 'm' representa a inclinação de a linha, 'x' representa a direção a ser contada (se x ou y), e 'h' indica quantos pontos devem ser contados nessa direção. Você também pode lembrar de plotar um ponto após cada movimento.

graph = {(0,0), [0, x, 3], [0, y, 3], [1, x, 2], [2,5, x, 2], [-3, x, 1], [- 3, x, 1], [-3, x, 1]}

Você terminará com o mesmo gráfico. Você pode ver que os últimos três termos nesta expressão são os mesmos, então podemos ser capazes de reduza isso apenas dizendo "repita isso três vezes" de alguma forma. Digamos que sempre que você vir a variável 'R' aparecer, significa repetir a última coisa. Podemos fazer isso:

graph = {(0 , 0), [0, x, 3], [0, y, 3], [1, x, 2], [2,5, x, 2], [-3, x, 1], [R = 2]}

E se os pontos individuais realmente não importarem, e apenas o gráfico em si o fizer? Podemos consolidar essas últimas três seções assim:

grafo = {(0,0), [0, x, 3], [0, y, 3], [1, x, 2], [2,5, x, 2], [-3, x, 3]}

Ele encurta um pouco as coisas de onde eles estavam antes.

Método 3

Vamos tentar fazer isso de outra forma.

y = 0, 0≤x≤3

x = 0, 0 ≤y≤3
y = x, 3≤x≤5
y = 2,5x-7,5, 5≤x≤7
y = -3x + 29, 7≤x≤8
y = -3x + 29, 8≤x≤9
y = -3x + 29, 9≤x≤10
Aqui nós o temos em termos algébricos puros. Mais uma vez, se os pontos em si não importam e apenas o gráfico, podemos consolidar os três últimos itens

y = 0, 0≤x≤3

x = 0, 0≤y≤3
y = x, 3≤x≤5
y = 2.5x-7.5, 5≤x≤7
y = -3x + 29, 7≤x≤10
Agora, qual método você escolhe depende de suas habilidades. Talvez você seja ótimo com matemática e gráficos, então você escolhe a última opção. Talvez você seja bom em navegar, então você escolhe a segunda opção. No reino dos computadores, no entanto, você está fazendo muitos tipos diferentes de tarefas e a capacidade do computador não muda realmente. Portanto, os algoritmos são otimizados para as tarefas que eles concluem.

Outro ponto importante a ser observado é que cada método se baseia em uma chave. Cada conjunto de instruções é inútil, a menos que você saiba o que fazer com elas. Se você não sabe que você deve plotar cada ponto e conectar os pontos, o primeiro conjunto de pontos não significa nada. A menos que você saiba o que cada variável significa no segundo método, você não saberá como aplicá-las, da mesma forma que a chave para uma cifra. Essa chave também é parte integrante do uso de algoritmos e, muitas vezes, essa chave é encontrada na comunidade ou por meio de um padrão.

Compactação de arquivos

Ao baixar um arquivo .zip, você extrai o conteúdo para que você pode usar o que estiver dentro dele. Hoje em dia, a maioria dos sistemas operacionais pode mergulhar em arquivos .zip como se fossem pastas normais, fazendo tudo em segundo plano. Na minha máquina com Windows 95, há mais de uma década, precisei extrair tudo manualmente antes que pudesse ver algo além dos nomes dos arquivos contidos nele. Isso porque o que estava armazenado no disco como um arquivo .zip não estava em uma forma utilizável. Pense em um sofá-cama. Quando você quiser usá-lo como uma cama, você tem que remover as almofadas e desdobrá-lo, o que ocupa mais espaço. Quando você não precisa dele ou deseja transportá-lo, é possível fazer o backup novamente.

Os algoritmos de compactação são ajustados e otimizados especificamente para os tipos de arquivos para os quais são direcionados. Os formatos de áudio, por exemplo, usam uma maneira diferente de armazenar dados que, quando decodificados pelo codec de áudio, fornecerão um arquivo de som semelhante à forma de onda original. Para mais informações sobre essas diferenças, confira nosso artigo anterior, Quais são as diferenças entre todos esses formatos de áudio? Formatos de áudio sem perdas e arquivos .zip têm uma coisa em comum: ambos produzem os dados originais em sua forma exata após o processo de descompactação. Codecs de áudio com perdas usam outros meios para economizar espaço em disco, como freqüências de corte que não podem ser ouvidas por ouvidos humanos e suavizar a forma de onda em seções para se livrar de alguns detalhes. No final, apesar de podermos não ser capazes de realmente ouvir a diferença entre uma faixa de MP3 e uma de CD, há definitivamente um déficit de informação na primeira. <> Criptografia de dados

Algoritmos também são usados ​​para proteger dados ou comunicação. linhas. Em vez de armazenar dados para que ele use menos espaço em disco, ele é armazenado de maneira indetectável por outros programas. Se alguém roubar seu disco rígido e começar a digitalizá-lo, ele poderá coletar dados mesmo quando você excluir arquivos porque os dados em si ainda estão lá, mesmo que o local de encaminhamento tenha desaparecido. Quando os dados são criptografados, o que está armazenado não se parece com o que é. Geralmente parece aleatório, como se a fragmentação tivesse se acumulado ao longo do tempo. Você também pode armazenar dados e fazer com que apareça como outro tipo de arquivo. Arquivos de imagem e arquivos de música são bons para isso, pois podem ser bastante grandes sem levantar suspeitas, por exemplo. Tudo isso é feito usando algoritmos matemáticos, que pegam algum tipo de entrada e a convertem em outro tipo de saída muito específico. Para obter mais informações sobre como funciona a criptografia, confira HTG explica: o que é criptografia e como ela funciona?

Algoritmos são ferramentas matemáticas que fornecem uma variedade de usos na ciência da computação. Eles trabalham para fornecer um caminho entre um ponto inicial e um ponto final de forma consistente e fornecem as instruções para segui-lo. Sabe mais do que aquilo que destacamos? Compartilhe suas explicações nos comentários!


Como Desbloquear a Dificuldade de um Mapa de Minecraft

Como Desbloquear a Dificuldade de um Mapa de Minecraft

Qual é o bloqueio de dificuldade? As chances são de que, se você encontrou este artigo por meio de consulta de pesquisa, sabe exatamente qual é o bloqueio de dificuldade e você está pronto para se livrar dele. Para trazer todos os outros à velocidade: o travamento de dificuldade é um recurso introduzido no Minecraft 1.

(how-to)

Como personalizar a barra de ferramentas do Finder no OS X

Como personalizar a barra de ferramentas do Finder no OS X

Você gasta muito tempo no Finder do OS X, portanto, verifique se ele se ajusta ao seu fluxo de trabalho da melhor maneira possível. Veja como personalizar a barra de ferramentas do Finder com todos os botões que você precisa. O Finder pode ser um pouco confuso no início, especialmente para aqueles que mudam de máquinas baseadas no Windows.

(how-to)