Parceiro: Camisetas Hacker

Camisetas para Nerds & Hackers

Mostrando postagens com marcador algoritmo. Mostrar todas as postagens
Mostrando postagens com marcador algoritmo. Mostrar todas as postagens

quarta-feira, 29 de agosto de 2012

Google disponibiliza detalhes de seu algoritmo de buscas

Google disponibiliza detalhes de seu algoritmo de buscas


Você já parou pra pensar como o Google sabe tudo aquilo que você quer, no momento que escreve a palavra em seu campo de busca? Isso tudo é resultado de um poderoso algoritmo, que aprende e entende exatamente o que o usuário deseja ver.

Isso é resultado de muito trabalho e milhares de linhas de programação, que aperfeiçoam esse sistema todos os dias.

Em uma iniciativa do Google chamada "Under the Hood" (Debaixo do capô, em português), foram disponibilizados alguns detalhes sobre o funcionamento do algoritmo de buscas mais famoso do mundo. Uma das informações mais interessantes é que esse algoritmo não possui uma versão final, já que sofre correções e recebe novos recursos diariamente. Confira alguns dados:

O Google lida com mais de 1 bilhão de buscas diariamente;
Foram gastos mais de 1000 anos no desenvolvimento do algoritmo (equivalente a todas as horas de trabalho de todos os membros da equipe);
Desde 2003, o Google trouxe mais de 450 bilhões de resultados únicos;
Cada resultado percorre em média 2400 quilômetros para chegar ao usuário;
A cada ano, mais de 500 melhorias são feitas no algoritmo do Google (isso dá mais de uma por dia).
No vídeo abaixo, vários funcionários da empresa explicam algumas peculiaridades do algoritmo, como por exemplo cada alteração realizada pela equipe do Google é extensivamente testada dentro de uma "sandbox" (ambiente protegido utilizado apenas para testar uma nova funcionalidade).

Um outro ponto mostrado no vídeo é o de como eles chegaram a conclusão de qual é o melhor jeito de implementar o famoso recurso "Você quis dizer...", que corrige erros ortográficos ou de digitação. Confira!




E você, prefere o Google ou outro mecanismo de busca, como o Yahoo! ou Bing?


Fonte:http://canaltech.com.br/noticia/google/Google-disponibiliza-detalhes-de-seu-algoritmo-de-buscas/

terça-feira, 10 de janeiro de 2012

Aprenda a programa $Part - 09

Bem vindo algoritmizeiros…
Parece que foi ontem que começamos nossa série de posts sobre algoritmos, na tentativa de fazer esse mundo melhor com mais programadores =D
Agora, no nono post da série, vamos aprender sobre estruturas de repetição.

Bom, até o momento, sempre fizemos algoritmos lineares, ou seja, ele possui um começo, meio e fim, e segue essa ordem…
As estruturas de repetição, irão repetir determinados comandos, até que uma comparação lógica se torne verdadeira ou falsa.
Vou explicar com exemplos, assim o entendimento se tornará mais fácil.
O Algoritmo abaixo, lê o nome e a nota de três provas de três alunos diferentes…
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Algoritmo "MediaHarmonica"
 
var
a, b, c, MH: real
nome: caractere
 
inicio
 
escreva ("Entre com o nome do aluno: ")
leia (nome)
escreval ("Entre com as notas das três provas")
escreva ("Digite a primeira nota: ")
leia (a)
escreva ("Digite a segunda nota: ")
leia (b)
escreva ("Digite a terceira nota: ")
leia (c)
MH <- 3/(1/a + 1/b +1/c)
escreval ("A média harmônica do aluno: ", NOME, " é ", MH)
escreva ("Entre com o nome do aluno: ")
leia (nome)
escreval ("Entre com as notas das três provas")
escreva ("Digite a primeira nota: ")
leia (a)
escreva ("Digite a segunda nota: ")
leia (b)
escreva ("Digite a terceira nota: ")
leia (c)
MH <- 3/(1/a + 1/b +1/c)
escreval ("A média harmônica do aluno: ", NOME, " é ", MH)
escreva ("Entre com o nome do aluno: ")
leia (nome)
escreval ("Entre com as notas das três provas")
escreva ("Digite a primeira nota: ")
leia (a)
escreva ("Digite a segunda nota: ")
leia (b)
escreva ("Digite a terceira nota: ")
leia (c)
MH <- 3/(1/a + 1/b +1/c)
escreval ("A média harmônica do aluno: ", NOME, " é ", MH)
 
fimalgoritmo

Ainda bem que só tínhamos três alunos…
E se fosse uma turma de 40 alunos?
Para isso vamos utilizar estruturas de repetição =)

Na estrutura repita – ate, todos os comandos serão executados e, ao final, haverá uma expressão lógica, para que avalie a repetição, esta que somente irá cessar quando essa expressão for verdadeira.
1
2
3
4
// sintaxe da estrutura de repetição
repita
    
ate
Agora um exemplo didático…
1
2
3
4
5
6
7
8
9
10
11
12
13
14
algoritmo "DemonstraRepeticao"
 
var
i: inteiro
 
inicio
 
i <- 1
repita
    escreva(i)
    i <- i + 1
ate i > 10
 
fimalgoritmo
Este algoritmo irá retornar na tela do usuário os números: 1 2 3 4 5 6 7 8 9 10

Mais porquê?

Primeiramente foi declarado a variável i como inteiro, logo em seguida utilizamos uma estrutura de repetição, o repita-ate, pedimos para escrever o valor de i e acrescentamos ao seu valor mais uma unidade, ou seja, i + 1.

e até quando isso será repetido?

Até que o valor de i seja maior que 10…
Então quando o valor de i chegou a 11, ele perguntou se i era maior que 10, como a resposta foi verdadeira, ele encerrou a repetição e foi para o próximo comando…
Como não temos mais nada, encerramos nosso algoritmo.

Só que dessa vez, nós teremos 40 alunos em nossa classe!

Não! Agora que já sabemos utilizar uma estrutura de repetição, vamos poupar trabalho e resumir nosso algoritmo!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Algoritmo "MediaHarmonica"
 
var
a, b, c, MH, i: real
NOME: caractere
 
inicio
 
i <- 1
Repita
    escreva("Entre com o nome do aluno: ")
    leia(nome)
    escreval ("Entre com as notas das três provas")
    escreva("Digite a primeira nota: ")
    leia(a)
    escreva("Digite a segunda nota: ")
    leia(b)
    escreva("Digite a terceira nota: ")
    leia(c)
    MH <- 3/(1/a + 1/b +1/c)
    escreval("A média harmônica do aluno: ", NOME, " é ", MH)
    i <- i + 1
ate i > 40
 
FimAlgoritmo