quinta-feira, 23 de junho de 2011

Algoritmos - Tem alguma idéia do que é ? Para que serve ?

Ah, se você não gosta de algoritmos, ou acha que são totalmente ineficientes, você ainda tem a opção de utilizar o mais novo avanço da computação: Maggie Sort. Ele utiliza técnicas de inteligência artificial com tentativa e erro exaustiva. Vale a pena dar uma olhada na demonstração:




Algoritmos de ordenação (em inglês, sorting, que significa literalmente classificar, pôr em ordem…) são os procedimentos (que param) responsáveis por ordenar (colocar em sequência) um conjunto de dados, segundo um critério determinado.

Segundo (ZIVIANI, 2004), existe um conjunto amplo de algoritmos para resolver essa tarefa, e cada um possui uma vantagem particular sobre os outros. Todos eles têm o mesmo objetivo: ordenar os dados, ou seja, rearranjar um conjunto de objetos em ordem ascendente ou descendente, com o finalidade de facilitar a recuperação destes dados posteriormente. Por exemplo, é um requisito para o algoritmo de busca binária que os dados estejam ordenados.

Além disso, no nosso dia-a-dia usamos isso o tempo todo, mas nem sempre reparamos. Dicionários, listas telefônicas, suas músicas no Media Player, seus contatos no Celular, no MSN… Todos estão ordenados segundo algum critério: ordem alfabética (ou lexicográfica, que leva em conta números, símbolos, etc), ordem numérica, quem estiver on-line, e por aí vai. Agora imagine se os nomes das pessoas na lista telefônica, por exemplo, não estivessem ordenados? Seria bem ruim.

Explicado e provado que é muito importante, ainda falta falar sobre uma coisa: lemos lá no livro do Ziviani, citado ali em cima, que existem vários tipos diferentes, ou várias estrategias ou abordagens diferentes para se ordenar dados, certo? Mas qual será o melhor para qual situação?

Esse site esperto aqui tem uma animação interativa comparando os algoritmos de ordenação mais famosos (quicksorte, shellsort, mergesort, heapsort, etc) e os casos mais estudados (dados em ordem reversa, em ordem randômica, etc). Ótimo para aqueles que estão passando pela disciplina “Projeto e Análise de Algoritmos”. Se você é um deles, dê uma olhada lá: garanto que vai esclarecer algumas dúvidas. E boa sorte (provavelmente você irá precisar! Hehe! Tô brincando..).

terça-feira, 21 de junho de 2011

K-computer é eleito o computador mais rápido do mundo


Pela primeira vez desde 2004, um supercomputador, construído no Japão volta a ocupar o topo da lista dos supercomputadores mais rápidos do mundo, de acordo com informações do site Cnet. O K Computer foi construído pela Fujitsu e contém mais de 80 mil CPUs com oito núcleos cada.

Segundo a Lista de Supercomputação Top500 - que foi lançada nesta segunda-feira (20/6) em Hamburgo, na Alemanha - a última vez que o Japão esteve no topo foi com uma máquina chamada Simulator Earth, produzida pela NEC, que perdeu o lugar em novembro de 2004 após dois anos em primeiro lugar

O Tianhe-1A, desenvolvido pela Universidade Nacional de Defesa de Tecnologia (NUDT) da China, é o primeiro da atual lista de supercomputadores. A máquina, com 2,507 petaflops (operações de ponto flutuante por segundo), está à frente de computadores com 1,75 petaflops, 1,27 petaflops e 2,0 petaflops. Para quem não sabe, o petaflop indica a quantidade de cálculos que a máquina é capaz de realizar por segundo. Logicamente, quanto maior este valor, mais rápido é o computador.