jueves, 8 de diciembre de 2011

GNU Plot



Gnuplot é um portátil de linha de comando utilitário gráfico orientado para linux, OS / 2, MS Windows, OSX, VMS, e muitas outras plataformas. O código fonte é distribuído gratuitamente, mas direitos autorais (ou seja, você não tem que pagar por isso). Ele foi originalmente criado para permitir que cientistas e estudantes possam visualizar funções matemáticas e dados de forma interativa, mas tem crescido para apoiar muitos não-interativas, tais como web usa scripting. Ele também é usado como um motor de plotagem por aplicativos de terceiros como o Octave. Gnuplot tem sido apoiado e em desenvolvimento ativo desde 1986.
Gnuplot suporta muitos tipos de terrenos em ambos os 2D e 3D. Pode desenhar usando linhas, pontos, caixas, contornos, campos vetoriais, superfícies e texto vários associados. Ele também suporta vários tipos de gráficos especializados.
Gnuplot suporta muitos tipos diferentes de saída: terminais de tela interativa (com mouse e entrada hotkey), saída directa para plotters de caneta ou impressoras modernos, e saída para muitos formatos de arquivo (eps, figo, jpeg, LaTeX, METAFONT, pbm, pdf, png , postscript, svg, ...). Gnuplot é facilmente extensível para incluir novos modos de saída. Adições recentes incluem um terminal interativo baseado em wxWidgets ea criação de gráficos para visualização mousable web usando o elemento canvas HTML5.

jueves, 17 de noviembre de 2011

Bio Informatica


corresponde a aplicação das técnicas da Informática, no sentido de análise da informação na área de estudo da Biologia. Uma definição ampla e tentativa é então: (Bio)informática é o estudo da aplicação de técnicas computacionais e matemáticas à geração e gerenciamento de (bio)informação.

Alguns experts brasileiros da área acreditam que a bioinformática, como se entende tradicionalmente no meio acadêmico e não pela análise da palavra, é circunscrita à Biologia Molecular às vezes ainda mais especificamente restrita à Genômica. Outros acadêmicos, por outro lado, advogam a noção mais abrangente do termo para algo na direção da definição envolvendo informação biológica de modo geral.

A Bioinformática combina conhecimentos de química, física, biologia, ciência da computação, Informática e matemática/estadística para processar dados biológicos ou biomédicos.

Buscando tratar os dados, é necessário desenvolver softwares para, por exemplo: identificar genes, prever a configuração tridimensional de proteínas, identificar inibidores de enzimas, organizar e relacionar informação biológica, simular células, agrupar proteínas homólogas, montar arvores filogenéticas, comparar múltiplas comunidades microbianas por construção de bibliotecas genômicas, analisar experimentos de expressão gênica entre outras inúmeras aplicações.

miércoles, 26 de octubre de 2011

Problema da Cadeia de Caracteres mais Próxima



Nesta postagem apresentaremos a definição do Problema da Cadeia de Caracteres mais Próxima, porém antes introduziremos algumas notações que possibilitarão uma melhor compreensão do PCCP.
Seja Σ = {c1,...,ck} um conjunto finito de elementos, denominado caracteres, a partir dos quais cadeias de caracteres podem ser construídas. Cada cadeia de caracteres corresponde a uma seqüência (s1,...,sm), com si ∈ Σ, onde Σ é o alfabeto utilizado. O tamanho de uma cadeia de caracteres s, denotado por |s|, corresponde ao número de elementos (ou caracteres) na seqüência que compõe a cadeia s. Por exemplo, se s = (s1,...,sm) então |s| = m.
Várias medidas têm sido propostas para encontrar as similaridades (ou diferenças) entre as seqüências. A mais utilizada é a distância de Hamming. Uma justificativa mais técnica para o uso freqüente da distância de Hamming na comparação de seqüências em biologia molecular. A distância de Hamming entre duas cadeias de caracteres, denotada por dH(a,b), tal que |a| = |b|, corresponde ao número de posições nas quais as seqüências diferem. Assim, para o alfabeto Σ = {A,C,G,T} e as cadeias de caracteres a = CATCC e b = CTTGC temos dH(a,b) = 2.
Considere agora um conjunto S = {s1,...,sn} de cadeia de caracteres, com |si| = m, deseja-se encontrar uma seqüência t, com |t| = m, que minimize o valor da distância k, tal que, dH(si,t) ≤ k para cada cadeia de caracteres si ∈ S.
Como dito anteriormente, o Problema da Cadeia de Caracteres mais Próxima é NP-difícil. Os autores demonstraram que para um k fixo, o PCCP pode ser resolvido em tempo polinomial.

martes, 20 de septiembre de 2011

Introdução à Inteligência Artificial on-line



Um experimento ousado em educação distribuída, "Introdução à Inteligência Artificial", será oferecido gratuitamente e on-line para estudantes em todo o mundo a partir de 10 outubro - 18 dezembro 2011. O curso incluirá um feedback sobre o progresso e uma declaração de realização. Ministrado por Sebastian Thrun e Norvig Peter, o currículo faz do que é utilizado no curso introdutório de Inteligência Stanford Artificial. Os instrutores vão oferecer materiais similares, atribuições e exames.
acesse ao curso pelo link http://www.ai-class.com/

Peter Norvig é diretor de pesquisa do Google Inc. Ele também é membro da Associação Americana para a Inteligência Artificial ea Association for Computing Machinery. Norvig é co-autor do livro Inteligência Artificial populares: Uma Abordagem Moderna. Antes da Google joing ele era o chefe da Divisão de Ciências da Computação na NASA Ames Research Center.

Sebastian Thrun é um Professor de Pesquisa de Ciência da Computação da Universidade de Stanford, um Google Fellow, membro da Academia Nacional de Engenharia e da Academia Alemã de Ciências. Thrun é mais conhecido por suas pesquisas em robótica e aprendizagem de máquina.


sábado, 20 de agosto de 2011

Unidade de processamento gráfico



GPU (Graphics Processing Unit, ou Unidade de Processamento Gráfico), conhecido também como VPU ou unidade de processamento visual, é o nome dado a um tipo microprocessador especializado em processar gráficos em computadores pessoais, estações de trabalho ou videogames. GPUs modernas manipulam gráficos computadorizados com eficiência e sua estrutura de processamento paralelo os tornam mais capazes neste tipo de trabalho que CPUs normais. Uma GPU normalmente é utilizada em placas de vídeo mas versões simplificadas são integradas diretamente em placas-mãe.




miércoles, 17 de agosto de 2011

Message Passing Interface (MPI)


Message Passing Interface (MPI) é um padrão para comunicação de dados em computação paralela. Existem várias modalidades de computação paralela, e dependendo do problema que se está tentando resolver, pode ser necessário passar informações entre os vários processadores ou nodos de um cluster, e o MPI oferece uma infraestrutura para essa tarefa.

No padrão MPI, uma aplicação é constituída por um ou mais processos que se comunicam, acionando-se funções para o envio e recebimento de mensagens entre os processos. Inicialmente, na maioria das implementações, um conjunto fixo de processos é criado. Porém, esses processos podem executar diferentes programas. Por isso, o padrão MPI é algumas vezes referido como MPMD (multiple program multiple data). Elementos importantes em implementações paralelas são a comunicação de dados entre processos paralelos e o balanceamento da carga. Dado o fato do número de processos no MPI ser normalmente fixo, neste texto é enfocado o mecanismo usado para comunicação de dados entre processos. Os processos podem usar mecanismos de comunicação ponto a ponto (operações para enviar mensagens de um determinado processo a outro). Um grupo de processos pode invocar operações coletivas (collective) de comunicação para executar operações globais. O MPI é capaz de suportar comunicação assíncrona e programação modular, através de mecanismos de comunicadores (communicator) que permitem ao usuário MPI definir módulos que encapsulem estruturas de comunicação interna.

O objetivo de MPI é prover um amplo padrão para escrever programas com passagem de mensagens de forma prática, portátil, eficiente e flexível. MPI não é um IEEE ou um padrão ISO, mas chega a ser um padrão industrial para o desenvolvimento de programas com troca de mensagens.

martes, 16 de agosto de 2011

thread


Linha de execução (em inglês: Thread), é uma forma de um processo dividir a si mesmo em duas ou mais tarefas que podem ser executadas concorrentemente. O suporte à thread é fornecido pelo próprio sistema operacional (SO), no caso da linha de execução ao nível do núcleo (em inglês: Kernel-Level Thread (KLT)), ou implementada através de uma biblioteca de uma determinada linguagem, no caso de uma User-Level Thread (ULT).

Uma linha de execução permite que o usuário de programa, por exemplo, utilize uma funcionalidade do ambiente enquanto outras linhas de execução realizam outros cálculos e operações.

Em hardwares equipados com uma única CPU, cada linha de execução(Thread) é processada de forma aparentemente simultânea, pois a mudança entre uma linha e outra é feita de forma tão rápida que para o usuário isso está acontecendo paralelamente. Em hardwares com multiplos CPUs ou multi-cores as linhas de execução(Threads) podem ser realizadas realmente de forma simultânea;

Os sistemas que suportam apenas uma única linha de execução são chamados de monothread e aqueles sistemas que suportam múltiplas linhas de execução são chamados de multithread.

lunes, 15 de agosto de 2011

Triângulo Bicromática de jogos


Hoje assisti a uma palestra Gordana Manic foi quem apresento para nos o novo tema de pesquisa Triangularização Bi cromática de jogos, que pertence ao grupo de triângulos combinatórios sobre grafos; em verdade tenho que estudar ainda mais sobre este tema, mas apresento para vocês o link por si tem interesse em pesquisar profundamente este tema singular.
Ao fazer pesquisa pelo buscador google com a seguinte frase Bichromatic Triangle Game hostel.ufabc.edu.br/~manic.gordana/present_lagos_2011.pdf

Por certo, a professora Gordana Manic é professora a tempo completo, sua área de pesquisa em geral concerne a Otimização combinatória, é teórica por natureza, gano muitos prêmios internacionalizes e também brasileiros.

domingo, 14 de agosto de 2011

Projeto de Pesquisa


O projeto é uma das etapas componentes do processo de elaboração, execução e apresentação da pesquisa. Esta necessita ser planejada com extremo rigor, caso contrário o investigador, em determinada altura, encontrar-se-á perdido num emaranhado de dados colhidos, sem saber como dispor dos memos ou até desconhecendo seu significado e importância.
Em uma pesquisa, nada se faz ao acaso. Desde a escolha do tema, fixacão dos objetivos, determinação do relatório (monografia, dissertação e tese), tudo é previsto no projeto de pesquisa.
Um projeto de pesquisa deve, portanto, responder às clássicas questões:
Modelo de Plano de Ação - Ferramenta 5w2h (What, why, where, who, when, how many e how much) aplicada a pesquisa

sábado, 13 de agosto de 2011

Equação Diofantina


Quando se procuram soluções inteiras (e às vezes racionais) para equações algébricas dos seguintes tipos:
  • x^2+ y^2 = z^2, por exemplo, que possui infinitas soluções representadas pelas ternas ordenadas (x,y,z) conhecidas como Ternos ou Ternas pitagóricos, onde z é o lado maior de um triângulo retâmgulo - a hipotenusa, e x e y seus catetos: (3,4,5), (4,3,5), (12,5,13), (5,12,13), (24,7,25), (7,24,25), somente para citar alguns exemplos. um conjunto de fórmulas podem facilitar a obtenção das Ternas Pitagóricas: z = p^2+q^2, x=p^2-q^2, y = 2*p*q , onde p e q são combinações de números inteiros distintos, com p>q, como por exemplo 2 e 1; 3 e 2; 4 e 1; 4 e 2; 4 e 3. Verifique se este tipo de raciocínio continua valendo para: 5 e 1; 5 e 2; ...; 5 e 4. para 6 e 1; 6 e 2; etc. Há uma justificativa algébrica para tal fato? Este processo funcionará sempre?
  • Equações algébricas que possibilitem calcular todos os números inteiros positivos que possam ser escritos como a soma de quatro quadrados perfeitos, como por exemplo: 47=36+9+1+1. Para "facilitar", os quadrados perfeitos podem ser repetidos, como no exemplo dado; pode-se ainda, adaptar o 0 como um quadrado perfeito, como em: 10=9+1+0+0 ao invés de 10= 4+4+1+1
  • existe um livro muito conhecido, eu gostava de ler "o homem que calculava", vocês podem olhar o seguinte video em Youtube http://www.youtube.com/watch?v=-tTD8XU2s2I

viernes, 12 de agosto de 2011

Diofanto de Alexandria


Diofanto de Alexandria é considerado como o maior algebrista grego. Na história da ludição, este autor desempenha um papel semelhante ao que Euclides(360-295 ac) tem na Geometria e Ptolomeu (85-165) na Astronomia. Sabe-se pouco à sua vida. Desconhece-se a data precisa em que Diofanto nasceu. No entanto, através da leitura dos seus escritos, nos quais cita Hipsicles (240-170 ac), e também por uma passagem de Théon de Alexandria (335-395), que cita Diofanto como um clássico, é possível marcar limites temporais que permitem situar a vida deste author entre o século II ac e o principio do século IV da nossa era. De acordo com P. Tannery, deve-se considerar Diofanto como contemporâneo de Papus (290-350) e pertencendo à segunda metade do século III. Por outro lado, atendendo a que na parte da aritmética da mutilada obra de Papus não é mencionado o nome de Diofanto, sendo no entanto citados, não só diversos outros geómetras da época, mas também quase todos os matemáticos do seu tempo Héron (10-75), Nicómaco (60-120), Theón e Ptolomeu, Diofanto possa ser um pouco posterior a Papus.
Entre vários livros que escreveu. o mais importante destes é "Aritmética". Neste introduz uma notação simbólica com símbolos diferentes para o quadrado de uma incógnita, para o cubo e assim sucessivamente.
Escreveu também sobre as soluções de certa de inequações: para que uma equação tenha solução primeiro precisamos saber a qual sistema numérico as soluções pertencem, isto é, se as solução pertencem ao números naturais, inteiros, reais ou outros. Certas equações cujas soluções são números inteiros ou racionais são chamadas de Equações Diofantinas.
Em sua tumba estava escrito o seguinte enigma (aparentemente criado por um amigo, Metrodorus): "Aqui jaz o matemático que passou um sexto de sua vida como menino. Um dozeavo de sua vida passou como rapaz. Depois viveu um sétimo da sua vida antes de se casar. Cinco anos após nasceu seu filho, com quem conviveu metade da sua vida. Depois da morte de seu filho, sofreu mais 4 anos antes de morrer". De acordo com esse enigma, Diofanto teria 84 anos.

jueves, 11 de agosto de 2011

Imagen de satélite


Imagen de satélite é um arquivo de imagem obtido por sensoriamento remoto a partir de um satélite artificial. Esse proceso poderia ser explicado de maneira simplista como a obtenção de uma fotografia da Terra de uma máquina localizada no espaço dentro de um satélite.
N aantiga URSS os primeiros satelites imagiadores da terra utilizavam-se de máquinas fotográficas com filmes analógicos, que eram utilizados apenas quando caiam na terra e os filmes podiam ser revelados.
Atualmente esses satélites imagiadores usam máquinas digitais. Assim é possível receber os arquivos na Terra por medio de sinais eletromagnéticos que são tratados em estações receptoras.
São poucos os países do mundo que detem a tecnologia de gerar imagens de satélite, entre eles podem ser citados EUA, França, Israel, Brasil, China e India.
os satélites imagiadores mais populares são: Quick Bird, Ikonos, Landsat e Stop.
As técnicas de interpretação de imagens de satélite e de fotografias aéreas são de largo uso, especialmente para análise estruturada de diversos fatores relacionados a grandes espaços e áreas de difícil acesso. Através de imagens de satélites e fotografias aéreas de diferentes épocas avalia-se as alterações ocorridas no medio ambiente (positivas e negativas), indicando medidas para maximização e/ou minimização de seus efeitos.

miércoles, 10 de agosto de 2011

Teoria dos grafos: Clique


Formulação do Problema
Um clique em un grafo não orientado G=(V,E) é um subconjuntodo conjunto de vértices C subconjunto de V, tal que para cada par de vértices u e v de C, existe uma aresta {u,v} que pertence a E.
Clique Maximal
Um clique maximal é um clique que não é subconjunto de outro clique, ou seja, é um subconjunto c de V que é clique em G e que não exista um outro subconjunto C+{v} subconjunto de V que também seja clique em G, para c que pertence a V.

Em outras palabras o problema de hallar uma clique maior em G pertence a clase NP dificil; tem muitas aplicações praticas tais como as redes sociais.

martes, 9 de agosto de 2011

Um pouco sobre as funções


Em geral as funções em matemáticas são como uma maquina, que transforma os números que são inserido nele; também para facilitar o ensinamento sobre funções é possível obter uma gráfica deles, o gênio matemático Renê Descartes; ideio uma representação das formulas matemáticas em representações geométricas, assim você pode ter lembrança das mais comuns tais como:
  1. seno(x) sin(x)
  2. cosseno(x) cos(x)
  3. tangente(x) tan(x)
  4. cotangente(x) cot(x)
  5. valor absoluto |x|
  6. lineal x
  7. quadrada x²
  8. elipse x²+y²
  9. raiz quadrada sqrt(x)
  10. inversa 1\x

lunes, 8 de agosto de 2011

Blogger em google


Blogger, uma palavra criada pela Pyra Labs, é um serviço do Google, que oferece ferramentas para edição e gerenciamento de blogs, semelhantemente ao WordPress.


O Blogger permite a hospedagem de um número ilimitado de blogs nos servidores do Google, que adotam o endereço .blogspot.com. Anteriormente, era possível hospedar os blogs em um servidor própio do usuário, mas atualmente, o Blogger deixou de suportar publicação via FTP. os blogs hospedados no BlogSpot incluem uma barra de navegação do Blogger, que não pode ser removida, através de alguma opção da interface do Blogger. Porém, existem tutoriais explicando como removê-la, através de um hack. Os termos de serviço do Blogger não especificam se tal ação é uma violação ou não, mas muitos usuários do serviço optam por fazê-la.

Eu por exemplo, crie este Blogger com o objetivo de apresentar para vocês informações com os quais estou envolvido no dia a dia; os leitores deste Blogger, também podem criar suas propiás web sites pelo médio desta ferramenta tão útil que nos oferece Google.


viernes, 5 de agosto de 2011

Programação Linear



Programação linear (PL) são problemas de otimização nos quais a função objetivo e as restrições são todas lineares. programação linear é uma importante área da optimização por varias razões. Muitos problemas práticos em pesquisa operacional podem ser expressos como problemas de programação linear. Certos casos especiais de programação linear, tais como problemas de network flow são considerados importantes o suficiente para que se tenha gerado muita pesquisa em algoritmos especializados para suas soluções. Historicamente, ideias da programação linear inspiran muitos dos conceitos centrais de teoria de optimização, tais como dualidade, decomposição, e a importancia da convexidade e suas generalizações.

miércoles, 3 de agosto de 2011

O problema de Alocação de Veículos

O problema de Alocação Generalizada consiste em alocar um conjunto de tarefas a um conjunto de agentes buscando o custo minimo, Cada agente tem uma quantidade limitada de um único recurso e, cada tarefa deve ser alocada a um único agente. A ação de alocar uma tarefa a un agente consome uma certa quantidade de recursos deste agente e acarreta um custo.


O problema de Aloção de Veículos consiste em alocar um conjunto de veículos a um conjunto de monta-cargas com destinos a diversas regiões, neste caso, cada monta-carga tem um determinado número de compartimentos com diferentes comprimentos.





martes, 2 de agosto de 2011

O trabalho em Google



Conheça ao arequipenho que trabalha em google vida e futuro; esto nos demostra que tudo na vida é posível, soamente com esforço e dedicação.



Como é que aparece a oportunidade de trabalhar no google? foi en quanto fazia meu doutorado na universidade de Stutgart (Alemanha) um recrutador na empresa contacto-me e conviduo-me para apresentar-me no processo da selecção. Eu já tinha planejado para candidatar-me a uma posição no google.

lunes, 1 de agosto de 2011

trust é uma biblioteca de algoritmos paralelos



Thrust fornece uma rica colecção de operações paralelas primitivas tais como scan, sort e reduce o que pode ser composto juntos para implementar algoritmos complexos com codigos fonte concisa e legível. Trust pode ser usado em rapidos protótipos de aplicações CUDA, onde a produtividade do programador é mais importante, bem como na produção, onde a robustez e desempenho absoluto são cruciais.

Não perca tempo reinventado a roda





A lista dos 500 Supercomputadores melhores do mundo



A nível mundial existe uma clara relevância é claro que a China e o Japão têm mapas rodoviários agressivos para capturar a liderança da indústria computacional de alto desempenho dos Estados Unidos. A primeira parada sobre os mapas rodoviários ocorreu em novembro, quando a China cresceu a partir do pacote para reivindicar duas das três primeiras posições na lista dos 500 supercomputadores melhores do mundo. Agora o Japão tem surpreendido o mundo na posição No. 1 com o computador K - mais poderoso que os próximos cinco supercomputadores na lista combinada.

Existe uma web site onde se apresenta a lista dos 500 supercomputadores melhores do mundo http://www.top500.org/, onde se apresenta as noticias referentes a este tema tan competitivo a nivel mundial.

sábado, 30 de julio de 2011

Problema do Segmento de Soma Máxima

Escreva um programa que resolva o seguinte problema: dada uma seqüência de n números inteiros
, encontre índices l,r, com l <= r, tais que a soma

seja máxima. Por exemplo, dada a seqüência

1, -3, 6, -4, 2, -5, 1, 8, -4, 2, 3, -1, 2, -3, 1, 3, -5, 3 , -3, 4,

seu programa deve devolver os índices 6 e 15, pois o segmento

1, 8, -4, 2, 3, -1, 2, -3, 1, 3

tem soma igual a 1+8-4+2+3-1+2-3+1+3 = 12, que é máxima.
[Hmmmmm, é máxima mesmo?!?]

A Lógica Fuzzy

A Lógica Fuzzy (FL) se baseia no conceito de Conjuntos Fuzzy apresentado pelo matemático iraniano Lofti Zadeh em 1965 no seu artigo entitulado “Fuzzy Sets”. Ele introduziu estes objetos, os conjuntos fuzzy, em que seus limites não são precisos, ou seja, os números de um conjunto possuem um grau de pertinência a este conjunto, que varia continuamente no intervalo [0, 1], o que se contrapõe ao conceito tradicional de conjuntos numéricos em que um número pertence ou não a um determinado conjunto (Klir, 1995). Esta teoria trouxe uma contribuição muito importante ao conceito moderno de incerteza.

Para representar os conjuntos fuzzy e o grau de pertinência, a FL usa as funções de pertinência. As mais conhecidas são, conforme figura abaixo, a triangular, trapezoidal e a gaussiana.



Para ilustrar melhor segue uma figura com estas operações.

jueves, 28 de julio de 2011

O problema do caixeiro viajante



Suponha que um caixeiro viajante tenha de visitar n cidades diferentes, iniciando e encerrando sua viagem na primeira cidade. Suponha, também, que não importa a ordem com que as cidades são visitadas e que de cada uma delas pode-se ir diretamente a qualquer outra.
O problema do caixeiro viajante consiste em descobrir a rota que torna mínima a viagem total.

Exemplificando o caso n = 4:
se tivermos quatro cidades A, B, C e D, uma rota que o caixeiro deve considerar poderia ser: saia de A e daí vá para B, dessa vá para C, e daí vá para D e então volte a A. Quais são as outras possibilidades ? É muito fácil ver que existem seis rotas possíveis:

ABCDA
ABDCA
ACBDA
ACDBA
ADBCA
ADCBA

miércoles, 27 de julio de 2011

fazendo uma ligação desde minha laptop


Agora chamar a meus familiares é mais economico pelo medio 12voip, para que voce tenha acceso a este servico, primeiramente debe fazer download do software, logo debe criar uma conta nova na programa 12voip instalado no seu computador, voce debe ter conexao a internet, para poder fazer uma ligação a diferentes partes do mundo, o programa 12voip oferece uma oferta especial enquanto voce carga na sua conta 10 euros, para pagar por este servico voce debe ter um cartao visa liberado.
Depois de tudo esse tramite voce tem aceso por cada dia 45 minutos libre para ligar a qualquer numero fixo do mundo, as ligaçoes a celular tem um custo minimo, aproveitem de este servico, comencen a ter maior contato com seus amigos aproveitando esta tecnologia da ultima geração

martes, 26 de julio de 2011

Algoritmo Karatsuba


O algoritmo Karatsuba é um algoritmo de multiplicação rápida. Foi descoberto por Anatolii Alexeevitch Karatsuba em 1960 e publicado em 1962. Que reduz a multiplicação de dois números de n dígitos no máximo 3 n^{\log_23}\approx 3 n^{1.585}.
Este algoritmo tem aplicações diversas na área da programação linear inteira, um deles é o produto de duas matrizes, conhecido por algoritmo de Strassen

lunes, 25 de julio de 2011

Considerações em Programação em Cuda


O que é GPU?
GPU são placas gráficas que tem um poder computacional muito grande. Inicialmente foram projetadas para o processamento gráfico em 3D.Entre os fabricantes de GPU, a nVidia se sobressair. Ela tem uma linha de placas muito boa. Com alta referências. Uma GPU tem alta largura de banda. Executa calculo de pontos flutuantes muito rápido. Em media 10 operações para 1 operação comparada com a CPU. Em comparação com um processador de ponta, o preço da GPU é muito menor.

Arquitetura de uma GPU
O grande segredo de um uma GPU ser tão poderosa, encontrasse em sua arquitetura. GPUs utilizam um maior número de transistores para colocar mais ALUs (Arithmetic Logic Unit) simplificadas. Controle de fluxo mais simples: Feita para aplicações paralelas onde as mesmas operações são aplicas sobre um grande conjunto de dados.

domingo, 24 de julio de 2011

RoboMind: Jogo Eletrônico


ROBO MIND é uma nova linguagem de programação muito simples e educativo que irá familiarizá-lo com o básico de ciência da computação pela programação do seu próprio robô. Além de uma introdução em técnicas de programação popular, você também vai ganhar a introspecção em áreas como a robótica e inteligência artificial.fonte(Robomind.net)
ROBO foi concebido de tal forma que você pode começar a explorar e programar imediatamente. A linguagem de programação especial foi criada, que consiste em um conjunto conciso de regras e destina-se a programação de um robô. Como resultado, há uma série de oportunidades para criar programas em sua própria experiência e os princípios que estava no coração da maioria das outras linguagens de programação.

viernes, 22 de julio de 2011

Robocode: Jogo Eletrônico para começar a programar


Aproveitando os projectos de desenvolvimento livre pela comunidade para dar ensinamento de diversas áreas tais como processamento da informação, especificamente Robocode; este projecto desenvolvido originalmente pela IBM. "Robocode é um jogo de competição entre robos virtuais. Do qual utiliza-se da linguagem java para implementar métodos e eventos das ações que o robô deverá tomar. O que vence nessa competição é a lógica. Quem tiver a melhor estratégia vence. (Fonte Wikipédia)".
Estou envolvido num projecto de desenvolvimento de desarrolho de jogos electrónicos para dar ensinamento no curso processamento da informação, estou fazendo manuais e guias de usuário, para dar aulas aos primeiros anos na UFABC
Em geral, em diversas universidades, esta sendo usado projectos similares Robomind, RoboLab, e Robocode onde cada ano também organizam maratonas de programação Robocode as melhores estratégias são os ganhadores, aquele que vencerei os demais robôs é o ganhador da maratona.
Então agora aprender a programar é mais divertido e simples.

Cuda: Multiples procesadores em paralelo


Cada vez se hace mas acequible el acceso a GPUs (Unidad de procesamiento gráfico) las primeras aplicaciones fueron a imagenes, puesto que trabajar con imagenes es trabajar con una basta cantidad de informacion divididas por pixeles, una definicion mas formal "La unidad de procesamiento gráfico o GPU (acrónimo del inglés graphics processing unit) es un procesador dedicado al procesamiento de gráficos u operaciones de coma flotante, para aligerar la carga de trabajo del procesador central en aplicaciones como los videojuegos y o aplicaciones 3D interactivas. De esta forma, mientras gran parte de lo relacionado con los gráficos se procesa en la GPU, la CPU puede dedicarse a otro tipo de cálculos (como la inteligencia artificial o los cálculos mecánicos en el caso de los videojuegos)." Fuente Wikipedia
Dentro de los paquetes de software libre para programar GPUs se encuentra CUDA, el cual esta conformado de varias librerias que permiten obtener las ventajas de las GPUs atraves del lenguaje C "CUDA son las siglas de Compute Unified Device Architecture que hace referencia tanto a un compilador como a un conjunto de herramientas de desarrollo creadas por nVidia que permiten a los programadores usar una variación del lenguaje de programación C para codificar algoritmos en GPUs de nVidia." Fuente Wikipedia
Dentro del mercado brasilero, cada vez mas, esta mas exigente la mano de obra calificada bien renumerada de programadores en GPUs asi que es una buena oportunidad de comenzar a programar CUDA, en la USP existe una escuela de programacion en alto desempenho

jueves, 21 de julio de 2011

Software na Iniciação Científica


Dentro de las herramientas de software libre, disponibles para escribir articulos cientificos; el cual es usado por muchos es LATEX; una definicion con mayor rigor conceptual de LATEX se encuentra en wikipedia
"(escrito LaTeX en texto plano) es un sistema de composición de textos, orientado especialmente a la creación de libros, documentos científicos y técnicos que contengan fórmulas matemáticas.
LaTeX está formado por un gran conjunto de macros de TeX, escrito por Leslie Lamport en 1984, con la intención de facilitar el uso del lenguaje de composición tipográfica, , creado por Donald Knuth. Es muy utilizado para la composición de artículos académicos, tesis y libros técnicos, dado que la calidad tipográfica de los documentos realizados con LaTeX es comparable a la de una editorial científica de primera línea." fuente wikipedia

Para escribir articulos cientificos en mi caso uso miktex 2.9 como plataforma de LaTex
"MiKTeX es una distribución TeX/LaTeX para Microsoft Windows que fue desarrollada por Christian Schenk." fuente wikipedia

y texnic center como editor
"TeXnicCenter es un editor software libre de LaTeX para Windows, el cual integra en sí mismo las herramientas necesarias para la composición de texto científico, desde una ventana de compilación integrada, una completa ayuda y manual de LaTeX para los usuarios primerizos, así como un entorno personalizable para los usuarios avanzados." fuente wikipedia

Desde ya pueden ir empezando a realizar algunos ejercicios escribiendo pequenhos trozos de anecdotas e historietas que gusten transmitir a los colegas de su dia a dia en el centro de labores, o en el estudio, o en casa.

miércoles, 27 de abril de 2011

Optimização



Olá pessoal
atualmente estou fazendo iniciação cientifica em Optimização, na cidade do Santo André, São Paulo existe uma empresa gigante de carros chamada volkswagen do Brasil; neste empresa exite um grande problema para entregar os carros diretamente aos usuários, então para maximizar ganancias e minimizar o tempo requerido para a entrega, é essencial fazer um desenho para tentar resolver este problema compĺexo.
Minha proposta é implementar um algoritmo heurístico para dar solução a este problema chamado Problema da autocarga dos carros.

miércoles, 2 de marzo de 2011

Noções Básicas do Uso dos Computadores



Atualmente, estamos vivendo em pleno século XXI, e preciso estar contar com as ferramentas tecnológicas atuais, agora passo a descrever algumas ferramentas dela internet que lês ajudara a conseguir informação recente:

Busca
http://www.google.com
http://scholar.google.com (textos acadêmicos)
http://www.scirus.com (informações científicas)

Noticias
• http://www.cartacapital.com.br
• http://www.estadao.com.br
• http://www.folha.com.br
• http://news.bbc.co.uk

Mensaje Electrónica - Email
• http://www.gmail.com

Mapas - Localização - Rota
• http://maps.google.com.br

videos
http://www.youtube.com
http://www.tvcultura.com.br/

Redes sócias
http://www.facebook.com
http://www.hi5.com
http://www.orkut.com

martes, 1 de marzo de 2011

MY FAVORITE GAMES AS A KID



One of my favorite game as a child was “trompo” or “whipping top”, which consists of throwing the “trompo” and having it spin on the floor. Because of its shape, a trompo spins on its axis and swirls around its conic tip which is usually made of iron or steel. A trompo uses a string wrapped around it to get the necessary spin. The player must roll the cord around the trompo from the metallic tip up.

Another game was “Mata chola.” To make “chola”, you have to get a pair of used socks, combine the two so that one is inside another, then fill the socks with sand stockings wrapped in cotton wool in order to obtain a small ball of cotton-coated sand, this special ball is called chola, that is tied to a post with a long string, this game is played with two or more players, two players are placed facing each other, one of them hits the ball and that makes it wind up on the pole, the other player hits the “chola” counterclockwise, at last the game finishes when a player get to wrap the chola around the pole based on hits. “Mata chola” literally is “kill the chola” (a woman from a poor village).

The other kind of games is individual games, when I was a child I used to collect “chapas” (bottle caps, small circular pieces of metal), then I started to count. I used to separate them in group of fives, tens, twenties, etc (I think at that time I developed my ability to count). When I had already collected many bottle caps, I hit each bottle cap with a hammer in order to obtain a small circular plane piece of metal. After that I picked up a hammer and a nail to perforate two holes in the middle of the bottle cap, then with a long string I passed through two holes, then I spun the cap a lot. I pulled hard to obtain bottle cap spins with a high velocity. I picked up a piece of paper to divide it, into two small parts, it was wonderful for me as a child.

Other times I used to collect milk cans. I built a small pyramid of cans with a ball. I tried to bring down the pyramid of cans. The game ended when each can was laid out, in other case you had to build again the pyramids and the game would start again.
In the neighborhood where I used to live there were many children of the same age and I used to play late in the street.

Omar Latorre



Holas, quiero comentarles que soy cusqueño, por el momento ando soltero, estoy estudiando maestria en ciencia de la computacion em Brazil, Sao Paolo, Santo Andre; agradezco a Dios por las muchas bendiciones que derrama en mi vida, por ahora en mis momentos libres estoy practicando Ingles y portugues.

Olá pessoal, desejo dizer-lhes que eu nasci em Cuzco cidade perdida dos Inkas, no momento eu estou solteiro, estou estudando mestrado em ciência da computação no Brasil, São Paulo, Santo André, agradeço a Deus pelas muitas bênçãos que derrama em minha vida, agora eu estou praticando no meu tempo livre Inglês e Português.

Hi Everyone, I tell you that I am from Cuzco, Peru; at the moment I'm single, I am studying master's degree in computer science em Brazil, Sao Paulo, Santo Andre, thank to God for the many blessings that poured into my life, now in my spare time I´m practicing English and Portuguese.