<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>

<channel>
	<title>Tecnologia. Inteligente.</title>
	<atom:link href="http://blog.vettalabs.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.vettalabs.com</link>
	<description>Tecnologia Inteligente é o blog corporativo do Vetta Labs</description>
	<pubDate>Mon, 02 Aug 2010 14:29:41 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Introdução à Inteligência Artificial Genérica</title>
		<link>http://blog.vettalabs.com/2010/08/02/introducao-a-inteligencia-artificial-generica/</link>
		<comments>http://blog.vettalabs.com/2010/08/02/introducao-a-inteligencia-artificial-generica/#comments</comments>
		<pubDate>Mon, 02 Aug 2010 14:29:41 +0000</pubDate>
		<dc:creator>Samir Araújo</dc:creator>
		
		<category><![CDATA[Inteligência Artificial]]></category>

		<category><![CDATA[OpenCog]]></category>

		<category><![CDATA[Robótica]]></category>

		<category><![CDATA[Singularidade]]></category>

		<guid isPermaLink="false">http://blog.vettalabs.com/?p=508</guid>
		<description><![CDATA[Durante a VIII Semana de Informática na PUC Minas São Gabriel, que ocorreu de 04 a 07 de maio deste ano (2010), eu tive prazer de ministrar uma palestra para os alunos sobre um tema bastante polêmico, atual e que fascina muita gente. Intitulada “Introdução à Inteligência Artificial Genérica”, a apresentação, que durou aproximadamente 1:40h, [...]]]></description>
			<content:encoded><![CDATA[<p style="margin-bottom: 0in;"><a name=":1q"></a><img class="alignleft size-thumbnail wp-image-510" title="Andróide IBM" src="http://blog.vettalabs.com/wp-content/uploads/2010/07/android_ibm-150x150.png" alt="Andróide IBM" width="150" height="150" />Durante a VIII Semana de Informática na PUC Minas São Gabriel, que ocorreu de 04 a 07 de maio deste ano (2010), eu tive prazer de ministrar uma palestra para os alunos sobre um tema bastante polêmico, atual e que fascina muita gente. Intitulada “Introdução à Inteligência Artificial Genérica”, a apresentação, que durou aproximadamente 1:40h, iniciou com uma breve revisão da origem/história da área <a href="http://en.wikipedia.org/wiki/Artificial_intelligence" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');" target="_blank">Inteligência Artificial</a> (IA) e com uma descrição das diversas ramificações que emergiram dentro da disciplina, desde o seu surgimento. Foram ilustrados alguns projetos que deram o pontapé inicial às sub-áreas de pesquisa (ramificações), como planejamento de ações e tomada de decisão, aprendizado de máquina, além de dar uma visão geral sobre o estado-da-arte da <a href="http://en.wikipedia.org/wiki/Strong_AI" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');" target="_blank">IA Genérica</a>. Um dos principais objetivos da IA Genérica é a criação de sistemas computacionais para a resolução de problemas gerais, que exijam inteligência para serem solucionados. Projetos importantes como <a href="http://www.opencog.org/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.opencog.org');" target="_blank">OpenCog</a>, <a href="http://code.google.com/p/open-nars/wiki/Overview" onclick="javascript:pageTracker._trackPageview('/outbound/article/code.google.com');" target="_blank">OpenNars</a>, <a href="http://en.wikipedia.org/wiki/Hierarchical_temporal_memory" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');" target="_blank">HTM</a>, entre outros, foram apresentados ao público, que demonstrou bastante interesse, principalmente com a possibilidade de poder contribuir com os projetos livres e de código aberto, como o OpenCog. Mas eu tinha reservado uma surpresa para eles. Uma densa viagem através das idéias, teorias e previsões do inventor e futurista <a href="http://en.wikipedia.org/wiki/Ray_Kurzweil" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');" target="_blank">Ray Kurzweil</a>, sobre a evolução tecnológica.</p>
<p style="margin-bottom: 0in;">
<p style="margin-bottom: 0in;">É complicado falar de Inteligência Artificial Genérica atualmente sem mencionar a <a href="http://en.wikipedia.org/wiki/Technological_singularity" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');" target="_blank">Singularidade</a> (tecnológica), que é um assunto para vários <em>posts</em>. Mas, de forma geral, podemos entender a Singularidade (tecnológica) como um momento na história da humanidade onde o progresso tecnológico acontecerá de forma tão acelerada, que será impossível prever o impacto desta evolução no mundo. O resultado será <span style="text-decoration: line-through;">máquinas andando sobre a terra com o objetivo de exterminar a humanidade</span> uma mudança permanente e irreversível na forma com que vivemos.</p>
<p style="margin-bottom: 0in;">
<p style="margin-bottom: 0in;">Kurzweil aponta três vertentes tecnológicas que levarão a humanidade à Singularidade: Genética, Nanotecnologia e Robótica (GNR). A Inteligência Artificial é aplicável a todas elas. Dessa forma, foi possível traçar um paralelo entre IA e cada uma delas, exemplificando com alguns trabalhos.</p>
<p style="margin-bottom: 0in;"><img class="alignright size-thumbnail wp-image-512" title="Exponencial vs Linear" src="http://blog.vettalabs.com/wp-content/uploads/2010/07/linear_vs_exponencial-150x150.png" alt="Exponencial vs Linear" width="150" height="150" /></p>
<p style="margin-bottom: 0in;">Kurtzweil também fez diversas diversas previsões sobre o futuro da tecnologia, inclusive que a Singularidade ocorrerá por volta de 2044. É importante dizer que tais previsões são fundamentadas em um detalhado estudo, por ele realizado,  sobre a evolução tecnológica. Tal estudo permitiu a definição de um modelo comportamental para o processo evolutivo da tecnologia. Diferentemente do que muitos pensam, o modelo é exponencial e não linear. Então, quando algum cientista afirma que somente teremos uma Inteligência Artificial, semelhante às vistas em filmes e livros de ficção científica, daqui a vários séculos, ele está usando um modelo linear para defender seu ponto de vista e não o proposto por Kurzweil. Assim, baseando-se na premissa de que a tecnologia evolui exponencialmente, Kurzweil vêm fazendo previsões desde a década de 1980, sendo que várias já se concretizaram conforme previstas.   Por exemplo, a explosão da Internet no início dos anos 90 e a derrota do campeão humano de xadrez para um computador no final da década de 1990 (<a href="http://en.wikipedia.org/wiki/Garry_Kasparov" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');" target="_blank">Kasparov</a> foi derrotado pelo <a href="http://en.wikipedia.org/wiki/Deep_Blue_(chess_computer)" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');" target="_blank">Deep Blue</a> em 1997).</p>
<p style="margin-bottom: 0in;">
<p style="margin-bottom: 0in;">Se tudo ocorrer conforme previsto por Kurzweil, teremos, nas próximas décadas, sistemas computacionais capazes de realizar cópias da nossa mente para um meio digital, computadores emulando o cérebro humano, nano robôs navegando em nossa corrente sanguínea e se comunicando com sistemas computacionais externos para nos dar capacidades sobre-humanas (mais inteligência, mais velocidade, mais resistência, etc.)</p>
<p style="margin-bottom: 0in;">
<table border="0" align="center">
<tbody>
<tr>
<td>
<p><div id="attachment_513" class="wp-caption alignnone" style="width: 160px"><img class="size-thumbnail wp-image-513 " title="Cyborg - DARPA" src="http://blog.vettalabs.com/wp-content/uploads/2010/07/cyborg_darpa-150x150.png" alt="Ciborgues já existem! (DARPA)" width="150" height="150" /><p class="wp-caption-text">Cyborgs já existem! (DARPA)</p></div></td>
<td>
<p><div id="attachment_511" class="wp-caption alignnone" style="width: 160px"><img class="size-thumbnail wp-image-511" title="Andróide - Prof. Ishiguro (Osaka University)" src="http://blog.vettalabs.com/wp-content/uploads/2010/07/android_ishiguro-150x150.png" alt="Andróides também (Prof. Ishiguro - Osaka University)" width="150" height="150" /><p class="wp-caption-text">Andróides também  (Prof. Ishiguro - Osaka University)</p></div></td>
</tr>
</tbody>
</table>
<p style="margin-bottom: 0in;">Conforme mencionado anteriormente, foram apresentados ao público alguns projetos de Inteligência Artificial Genérica. Como funcionam, para que servem, suas aplicações, além de outros detalhes. O projeto mais detalhado foi o OpenCog, dado que nós aqui do Labs desenvolvemos diversos módulos que o compõe atualmente. O OpenCog é um <em>framework</em> que tem como objetivo a criação de um sistema computacional pelo menos tão inteligente quanto um humano. Ele reúne uma série de ferramentas para planejamento de ações, raciocínio e tomada de decisão, inferência, aprendizado de máquina, etc. Ele conta também com um módulo para a representação de um agente inteligente que possui um corpo físico e está situado em um ambiente físico qualquer. Alguns vídeos de demonstração do OpenCog em ação podem ser vistos em:</p>
<p style="margin-bottom: 0in;">Video 1) <a href="http://www.youtube.com/watch?v=8YRrD1JZ8do" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.youtube.com');" target="_blank">Visualização da AtomTable</a><br />
Video 2) <a href="http://www.youtube.com/watch?v=FEmpGRLwbqE" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.youtube.com');" target="_blank">Agente aprendendo</a><br />
Video 3) <a href="http://www.youtube.com/watch?v=ii-qdubNsx0" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.youtube.com');" target="_blank">Respondendo  perguntas</a><br />
Video 4) <a href="http://www.youtube.com/watch?v=of-BahzS8qQ" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.youtube.com');" target="_blank">Resolução  de anáfora</a></p>
<p style="margin-bottom: 0in;">Para finalizar a apresentação, foram lançadas algumas questões acerca de uma provável última criação do homem, a super-inteligência. Esta, pois, seria a última, uma vez que uma super inteligência poderia inventar qualquer coisa e/ou resolver qualquer problema que somente um humano seria capaz de fazê-lo, porém de forma mais eficiente. A criação de uma segunda, terceira,.., enésima geração de super-inteligências ficaria a cargo das super-inteligências, dado que o homem “original” e obsoleto não teria capacidade de realizar tal atividade. Uso o termo “original” para denominar o homem sem modificações, ou seja, sem implantes cibernéticos, sem nano robôs e outros recursos que venham torná-lo sobre-humano. No final das contas, a utilização da tecnologia para acelerar o lento processo evolutivo biológico não é novidade, mas será cada vez mais perceptível nas próximas décadas.</p>
<p style="margin-bottom: 0in;">Os slides da apresentação podem ser visualizados no<a href="http://www.slideshare.net/Igenesis/introduo-inteligncia-artificial-genrica-agi-artificial-general-intelligence" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.slideshare.net');" target="_blank"> Slideshare</a>.</p>
<p style="margin-bottom: 0in;">
]]></content:encoded>
			<wfw:commentRss>http://blog.vettalabs.com/2010/08/02/introducao-a-inteligencia-artificial-generica/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Mobilidade de agentes</title>
		<link>http://blog.vettalabs.com/2010/07/14/mobilidade-de-agentes/</link>
		<comments>http://blog.vettalabs.com/2010/07/14/mobilidade-de-agentes/#comments</comments>
		<pubDate>Wed, 14 Jul 2010 17:34:04 +0000</pubDate>
		<dc:creator>Eduardo Fantini</dc:creator>
		
		<category><![CDATA[Robótica]]></category>

		<category><![CDATA[Inteligência Artificial]]></category>

		<category><![CDATA[Jogos]]></category>

		<guid isPermaLink="false">http://blog.vettalabs.com/?p=534</guid>
		<description><![CDATA[Inaugurando a minha participação no blog do Vetta Labs, vou falar um pouco sobre mobilidade de agentes inteligentes. 
 
Meu interesse por essa área se confunde com o surgimento dos primeiros jogos isométricos com pathfinding. Inicialmente, eu podia perder horas tentando tapear um NPC para ver se ele era inteligente de verdade. Claro que, com [...]]]></description>
			<content:encoded><![CDATA[<p><span><span lang="PT-BR">Inaugurando a minha participação no blog do <a href="http://www.vettalabs.com"  target="_blank">Vetta Labs</a>, vou falar um pouco sobre mobilidade de agentes inteligentes. </span></span></p>
<p><span><span lang="PT-BR"> </span></span></p>
<p><span><span lang="PT-BR">Meu interesse por essa área se confunde com o surgimento dos primeiros jogos isométricos com <em>pathfinding</em>. Inicialmente, eu podia perder horas tentando tapear um <a href="http://pt.wikipedia.org/wiki/Npc" onclick="javascript:pageTracker._trackPageview('/outbound/article/pt.wikipedia.org');" target="_blank">NPC</a> para ver se ele era inteligente de verdade. Claro que, com o tempo, a inteligência artificial nos jogos ficou mais elaborada, e eu passei a correr para me manter vivo mesmo. <img src='http://blog.vettalabs.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </span></span></p>
<p><span><span lang="PT-BR"> </span></span></p>
<p>Algoritmos de <em>pathfinding </em>consistem, basicamente, em um ou múltiplos agentes com destino definido distribuídos em um ambiente (mapa) determinado. Sendo assim, o agente deve se deslocar pelo ambiente respeitando suas restrições de movimento e obstáculos dinâmicos ou estáticos até atingir seu objetivo. Geralmente o algoritmo faz um cálculo de custo de deslocamento para definir a melhor direção ou trajetória a seguir. Além disso, o ambiente pode ter inúmeras características, o que viabiliza ou não a utilização de algoritmos de <em>pathfinding </em>específicos.</p>
<p><strong>Path Planning<br />
</strong><br />
<span lang="PT-BR">Muitos dizem que nada melhor do que um A* para começar. De fato, trata-se de um dos algoritmos mais utilizados no planejamento de caminhos em jogos e robótica. Diversos frameworks, controladores e <em>game engines</em> possuem esse algoritmo embutido; porém, são bastante enriquecedoras a sua implementação e a de algumas variações (RTA*, IDA*, GAA*, etc).</span></p>
<p><span><span lang="PT-BR"> </span></span></p>
<p><span><span lang="PT-BR">Em 2008, participei da elaboração de um artigo para o <a href="http://www.inf.pucminas.br/sbgames08/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.inf.pucminas.br');" target="_blank">SBGames</a>, fazendo experimentos com algoritmos de busca <em>online</em> e <em>offline</em> para <a href="http://pt.wikipedia.org/wiki/Massively_Multiplayer_Online_Game" onclick="javascript:pageTracker._trackPageview('/outbound/article/pt.wikipedia.org');" target="_blank">MMOs</a>. O objeto do meu estudo foi o <em>path planning</em> do jogo Ultima Online, o qual considero o melhor <a href="http://pt.wikipedia.org/wiki/MMORPG" onclick="javascript:pageTracker._trackPageview('/outbound/article/pt.wikipedia.org');" target="_blank">MMORPG</a> de todos os tempos.</span></span></p>
<p><span><span lang="PT-BR"> </span></span></p>
<p><span><span lang="PT-BR">Como fruto desse experimento, pude entender de forma mais clara o porquê dos problemas de <a href="http://pt.wikipedia.org/wiki/Jogabilidade" onclick="javascript:pageTracker._trackPageview('/outbound/article/pt.wikipedia.org');" target="_blank"><em>gameplay</em></a> no <em>pathfinding</em> dos <em>NPCs</em> do jogo: era uma questão de otimização de recursos computacionais. Sendo assim, foi muito interessante estudar como os algoritmos clássicos de inteligência artificial são adaptados para melhorar o desempenho dos servidores, algo bastante exigido nesse gênero de jogo.<br />
</span></span></p>
<p style="text-align: center;"><span><span lang="PT-BR"><object width="425" height="350" data="http://www.youtube.com/v/kZip5yv-qWE" type="application/x-shockwave-flash"><param name="src" value="http://www.youtube.com/v/kZip5yv-qWE" /></object><br />
</span></span></p>
<p><span><span lang="PT-BR"> </span></span></p>
<p><span><span lang="PT-BR"> </span></span></p>
<p><span><strong><br />
Path Follow</strong></span></p>
<p><span><span lang="PT-BR">Outra estratégia bastante utilizada na mobilidade de agentes é a definição de trajetórias baseadas em <em>checkpoints </em>seqüenciais, gerando um caminho virtual. O agente, por sua vez, possui um atuador que corrige a sua direção e minimiza o desvio em relação ao segmento de reta corrente para manter-se na trajetória. É uma solução comum para agentes de jogos de corrida e para controle de <a href="http://pt.wikipedia.org/wiki/Uav" onclick="javascript:pageTracker._trackPageview('/outbound/article/pt.wikipedia.org');" target="_blank">UAVs</a> na robótica, pois permitem uma margem de erro em relação à trajetória ótima.</span></span></p>
<p style="text-align: center;"><span><span lang="PT-BR"><object width="425" height="350" data="http://www.youtube.com/v/iw1GyFs3wfQ" type="application/x-shockwave-flash"><param name="src" value="http://www.youtube.com/v/iw1GyFs3wfQ" /></object><br />
</span></span></p>
<p><span><span lang="PT-BR"> </span></span></p>
<p><span><span lang="PT-BR"> </span></span></p>
<p><span><strong><span lang="PT-BR"><br />
Vector Fields</span></strong></span></p>
<p><span><span lang="PT-BR"> </span></span></p>
<p><span><span lang="PT-BR">Como o próprio nome diz, trata-se de um conjunto de vetores que sugerem uma direção e/ou velocidade a partir de determinada coordenada ou região. Tais vetores podem ser dispostos na forma de um <em>grid</em> uniforme ou dispostos nos centros de polígonos em uma malha geométrica. </span></span></p>
<p><span><span lang="PT-BR"> </span></span></p>
<p><span><span lang="PT-BR">Esses algoritmos são muito utilizados para mobilidade de agentes em robótica e simuladores de física de modo geral.<br />
</span></span></p>
<p style="text-align: center;"><span><object width="425" height="350" data="http://www.youtube.com/v/z7tEdIY1Vuo" type="application/x-shockwave-flash"><param name="src" value="http://www.youtube.com/v/z7tEdIY1Vuo" /></object><br />
</span></p>
<p><span><span lang="PT-BR"> </span></span></p>
<p><span><span lang="PT-BR"> </span></span></p>
<p><span><span lang="PT-BR">Nos jogos digitais, também podem ser utilizados para simular fenômenos naturais, como a atuação do vento na vegetação, por exemplo.<br />
</span></span></p>
<p style="text-align: center;"><span><span lang="PT-BR"><object width="425" height="350" data="http://www.youtube.com/v/d_jMXPvEkUA" type="application/x-shockwave-flash"><param name="src" value="http://www.youtube.com/v/d_jMXPvEkUA" /></object><br />
</span></span></p>
<p><span><span lang="PT-BR"> </span></span></p>
<p><span><span lang="PT-BR"> </span></span></p>
<p><span><strong><span lang="PT-BR"><br />
Voronoi Diagrams</span></strong></span></p>
<p><span><span lang="PT-BR"> </span></span></p>
<p><span><span lang="PT-BR">Os diagramas de Voronoi foram desenvolvidos com o objetivo de decompor espaços a partir de um conjunto de pontos de referência. As bordas da decomposição são formadas por linhas eqüidistantes a pontos vizinhos.<br />
</span></span></p>
<p><span><span lang="PT-BR"> </span></span></p>
<p style="text-align: center;" align="center">
<p style="text-align: center;" align="center"><span><object width="425" height="350" data="http://www.youtube.com/v/CdCC0n1h98s" type="application/x-shockwave-flash"><param name="src" value="http://www.youtube.com/v/CdCC0n1h98s" /></object></span></p>
<p><span><span lang="PT-BR"> </span></span></p>
<p><span><span lang="PT-BR">Esse algoritmo possui inúmeras aplicações computacionais. Na mobilidade de agentes, é utilizado na simulação de espaços superlotados, pois as bordas dos espaços decompostos indicam os caminhos mais seguros a passar entre diversos obstáculos.<br />
</span></span></p>
<p><span><span lang="PT-BR"> </span></span></p>
<p style="text-align: center;" align="center">
<p style="text-align: center;" align="center"><span><object width="425" height="350" data="http://www.youtube.com/v/40K02snswcE" type="application/x-shockwave-flash"><param name="src" value="http://www.youtube.com/v/40K02snswcE" /></object><br />
</span></p>
<p><span><span lang="PT-BR"> </span></span></p>
<p><span><span lang="PT-BR">Observando as células dos diagramas de Voronoi, percebemos uma grande semelhança com estruturas orgânicas, o que, de fato, faz sentido. Diversas estruturas naturais podem ser <a href="http://www.youtube.com/watch?v=kkGeOWYOFoA" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.youtube.com');" target="_blank">reproduzidas computacionalmente</a> a partir de modelos matemáticos. As <a href="http://billmelvinart.com/artwork/NON-DIGITAL/Dragonfly.jpg" onclick="javascript:pageTracker._trackPageview('/outbound/article/billmelvinart.com');" target="_blank">asas de uma libélula</a> também podem ser reconstruídas a partir de diagramas de Voronoi, assim como a <a href="http://www.youtube.com/watch?v=lmBQ60Acsbg" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.youtube.com');" target="_blank">fragmentação de corpos rígidos</a> em simulações de física.</span></span></p>
<p><span><span lang="PT-BR"> </span></span></p>
<p><span><strong><span lang="PT-BR"><br />
Boids</span></strong></span></p>
<p><span><span lang="PT-BR"> </span></span></p>
<p><span><span lang="PT-BR">Com o objetivo inicial de simular o comportamento da revoada de pássaros, esse algoritmo é muito utilizado em <a href="http://pt.wikipedia.org/wiki/Sistemas_multiagentes" onclick="javascript:pageTracker._trackPageview('/outbound/article/pt.wikipedia.org');" target="_blank">sistemas multiagentes</a>. O curioso nesse tipo de algoritmo é que as ações individuais desempenhadas pelos agentes resultam em um comportamento de grupo coeso. Sendo assim, podemos simular, também, cardumes, manadas, enxames, etc&#8230;<br />
</span></span></p>
<p><span><span lang="PT-BR"> </span></span></p>
<p style="text-align: center;" align="center"><span><object width="425" height="350" data="http://www.youtube.com/v/_o1jQWX7vFQ" type="application/x-shockwave-flash"><param name="src" value="http://www.youtube.com/v/_o1jQWX7vFQ" /></object></span></p>
<p><span><span lang="PT-BR"> </span></span></p>
<p><span><span lang="PT-BR">Cada agente nesse sistema pode efetuar três ações básicas: distanciamento, alinhamento e aproximação em relação ao centro de massa. Isso permite que o grupo se desloque em massa, na mesma direção, sem que haja colisões entre os agentes.<br />
</span></span></p>
<p><span><span lang="PT-BR"> </span></span></p>
<p style="text-align: center;" align="center"><span><strong><span lang="PT-BR"><object width="425" height="350" data="http://www.youtube.com/v/xgHrGUWO26g" type="application/x-shockwave-flash"><param name="src" value="http://www.youtube.com/v/xgHrGUWO26g" /></object><br />
</span></strong></span></p>
<p><span><span lang="PT-BR"> </span></span></p>
<p><span><strong><span lang="PT-BR"><br />
Considerações finais</span></strong></span></p>
<p><span><span lang="PT-BR"> </span></span></p>
<p><span><span lang="PT-BR">Nesse <em>post</em> apresentei uma visão bastante resumida da mobilidade de agentes e como eles podem ser utilizados em áreas distintas. Opções não faltam para solucionar problemas diversos em planejamento de caminhos, porém, antes de escolher um algoritmo, é preciso colocar na balança alguns fatores como: consumo de recursos computacionais, tempo de resposta, margem de erro, <em>gameplay</em>, entre outros.</span></span></p>
<p><span><span lang="PT-BR"> </span></span></p>
<p><span><span lang="PT-BR">Espero que tenham gostado e até o próximo <em>post</em>. <img src='http://blog.vettalabs.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vettalabs.com/2010/07/14/mobilidade-de-agentes/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Aplicações de impressão tridimensional</title>
		<link>http://blog.vettalabs.com/2010/05/17/aplicacoes-de-impressao-tridimensional/</link>
		<comments>http://blog.vettalabs.com/2010/05/17/aplicacoes-de-impressao-tridimensional/#comments</comments>
		<pubDate>Mon, 17 May 2010 13:20:26 +0000</pubDate>
		<dc:creator>Cassio Pennachin</dc:creator>
		
		<category><![CDATA[Biotecnologia]]></category>

		<category><![CDATA[Inovação]]></category>

		<category><![CDATA[Impressão 3D]]></category>

		<category><![CDATA[Medicina]]></category>

		<category><![CDATA[Open source hardware]]></category>

		<guid isPermaLink="false">http://blog.vettalabs.com/?p=480</guid>
		<description><![CDATA[Ano passado eu escrevi sobre impressoras tridimensionais, ou fabbers. Estas máquinas, capazes de criar objetos tridimensionais de diversos materiais a partir de projetos computadorizados, estão se tornando cada vez mais populares e já foram assunto até de uma breve história do Cory Doctorow, Print Crime (em inglês). Naquele post falei principalmente de equipamentos para impressão, [...]]]></description>
			<content:encoded><![CDATA[<p>Ano passado eu <a href="http://blog.vettalabs.com/2009/01/25/uma-fabrica-na-sua-mesa-impressao-3d-open-source/" >escrevi</a> sobre impressoras tridimensionais, ou fabbers. Estas máquinas, capazes de criar objetos tridimensionais de diversos materiais a partir de projetos computadorizados, estão se tornando cada vez mais populares e já foram assunto até de uma breve história do Cory Doctorow, <a href="http://craphound.com/?p=573" onclick="javascript:pageTracker._trackPageview('/outbound/article/craphound.com');">Print Crime</a> (em inglês). Naquele post falei principalmente de equipamentos para impressão, e agora vou falar de algumas das aplicações mais bacanas dessa tecnologia.</p>
<p>A <a href="http://http://www.shapeways.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.shapeways.com');">Shapeways</a> é um marketplace que oferece impressão 3D sob demanda. Eles possuem uma galeria de objetos que você pode imprimir, com a possibilidade de personalizar o projeto em alguns casos. Os modelos disponíveis incluem brinquedos, jóias, esculturas, maquetes e muitos outros, como o cubo de Rubik abaixo. Você pode também criar seu próprio projeto 3D, e eles oferecem ferramentas para facilitar a modelagem. E você pode criar sua própria loja dentro do ambiente deles, vendendo seus projetos.</p>
<p><div id="attachment_484" class="wp-caption alignleft" style="width: 310px"><a href="http://www.shapeways.com/model/111682/circle_3x3x3.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.shapeways.com');"><img class="size-full wp-image-484 " title="Cubo de Rubik da Shapeways" src="http://blog.vettalabs.com/wp-content/uploads/2010/05/photo14609.jpg" alt="Cubo de Rubik da Shapeways" width="300" height="200" /></a><p class="wp-caption-text">Cubo de Rubik da Shapeways</p></div></p>
<p>Outra aplicação útil é a fabricação sob demanda de peças de reposição para equipamentos que já não são mais fabricados. O comediante e apresentador de TV Jay Leno, por exemplo, tem uma coleção enorme de carros antigos, alguns com mais de um século de idade. Ele tem a própria oficina para manutenção da coleção e, quando precisa trocar uma peça de um carro muito antigo, como esse<a href="http://http://www.jaylenosgarage.com/photos/WhiteSteamer_shell.shtml" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.jaylenosgarage.com');"> carro a vapor de 1907</a>, ele usa um scanner 3D e uma impressora de metal para gerar a nova peça, com dimensões perfeitas.</p>
<p>Mas a aplicação até agora mais revolucionária é para medicina. A <a href="http://organovo.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/organovo.com');">Organovo</a>, uma startup de San Diego, California, criou uma bioimpressora para medicina regenerativa. A bioimpressora, que está sendo implantada em laboratórios de pesquisa em medicina regenerativa ao redor do mundo, já é capaz de produzir tecidos simples, como pele, músculos e pequenos vasos sanguíneos. Os planos dos cientistas da empresa são de, em menos de dez anos, produzir vasos sanguíneos para tratamento de infarto, eliminando a necessidade de pontes de safena. Com mais pesquisa, será possível contruir estruturas mais complexas e, talvez algum dia, órgãos artificiais.</p>
<p><div class="wp-caption aligncenter" style="width: 270px"><img title="Kit Makerbot" src="http://store.makerbot.com/media/catalog/product/cache/1/image/5e06319eda06f020e43594a9c230972d/c/u/cupcake-cnc-final.jpg" alt="Um kit Makerbot" width="260" height="390" /><p class="wp-caption-text">Um kit Makerbot</p></div></p>
<p>E para quem quer brincar com essas impressoras como hobby, a <a href="http://makerbot.com" onclick="javascript:pageTracker._trackPageview('/outbound/article/makerbot.com');">Makerbot</a> vende kits de impressoras, assim como os suprimentos para impressão. Os kits custam a partir de US$750,00, e são bem feiosos, mas a qualidade da impressão é razoável. Embora os resultados não se aproximem do que é possível com impressoras industriais, essas custam cem vezes mais&#8230;</p>
<p>Eu quero um brinquedo desses no dia das crianças ;-). O que você faria com um?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vettalabs.com/2010/05/17/aplicacoes-de-impressao-tridimensional/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Analisando o Twitter usando Árvore de Palavras</title>
		<link>http://blog.vettalabs.com/2010/04/10/analisando-o-twitter-usando-arvore-de-palavras/</link>
		<comments>http://blog.vettalabs.com/2010/04/10/analisando-o-twitter-usando-arvore-de-palavras/#comments</comments>
		<pubDate>Sat, 10 Apr 2010 15:27:38 +0000</pubDate>
		<dc:creator>Murilo Queiroz</dc:creator>
		
		<category><![CDATA[Data Mining]]></category>

		<category><![CDATA[Internet]]></category>

		<category><![CDATA[Linguagem Natural]]></category>

		<category><![CDATA[Redes Sociais]]></category>

		<category><![CDATA[Usabilidade]]></category>

		<category><![CDATA[Visualização Cientifica]]></category>

		<category><![CDATA[Web 2.0]]></category>

		<category><![CDATA[árvore de sufixos]]></category>

		<category><![CDATA[concordância]]></category>

		<category><![CDATA[manyeyes]]></category>

		<category><![CDATA[nlp]]></category>

		<category><![CDATA[twitter]]></category>

		<category><![CDATA[wordtree]]></category>

		<guid isPermaLink="false">http://blog.vettalabs.com/?p=449</guid>
		<description><![CDATA[
 
Nesse artigo vou comentar sobre mais um projeto de processamento de linguagem natural que desenvolvemos aqui na Vetta Labs: um analisador de textos baseado em árvore de palavras.
Comecemos do princípio: uma concordância é um tipo especial de índice, onde se mostram junto de cada palavra algumas palavras que aparecem antes e depois dela. A [...]]]></description>
			<content:encoded><![CDATA[<p><strong></strong></p>
<p><strong> </strong></p>
<div>Nesse artigo vou comentar sobre mais um projeto de <a title="Processamento de Linguagem Natural no Tecnologia Inteligente" href="http://blog.vettalabs.com/category/linguagem-natural/"  target="_blank">processamento de linguagem natural</a> que desenvolvemos aqui na <strong>Vetta Labs</strong>: um analisador de textos baseado em <strong>árvore de palavras</strong>.</p>
<p>Comecemos do princípio: uma <strong>concordância</strong> é um tipo especial de índice, onde se mostram junto de cada palavra algumas palavras que aparecem antes e depois dela. A primeira concordância foi criada no <strong>século XII</strong>,  para a <strong>Bíblia</strong> em latim, e é mais ou menos desse jeito:</p>
<p><div id="attachment_454" class="wp-caption aligncenter" style="width: 510px"><a href="http://blog.vettalabs.com/wp-content/uploads/2010/04/alegria-concordancia1.png" ><img class="size-full wp-image-454 " title="Alegria na Bíblia" src="http://blog.vettalabs.com/wp-content/uploads/2010/04/alegria-concordancia1.png" alt="Ocorrências de &quot;alegria&quot; na Bíblia" width="500" /></a><p class="wp-caption-text">Ocorrências de &quot;alegria&quot; na Bíblia (clique para aumentar)</p></div></p>
<p>Uma concordância era algo incrivelmente útil - basicamente o equivalente ao <strong>Google</strong> daquela época! - e extremamente caro de se fazer: a primeira da Bíblia em latim exigiu o trabalho de <strong>500 monges</strong> e a primeira concordância da Bíblia Hebraica levou <strong>10 anos</strong> para ser concluída.  Hoje em dia, é claro, ninguém mais dá tanta importância a esse tipo de índice porque é muito mais fácil realizar a busca eletronicamente.</p>
<p>Mas concordâncias ainda têm muita utilidade prática. A <strong>Fernanda Viégas</strong>, da IBM, fez uma palestra interessantíssima na <strong>TEDx São Paulo</strong> chamada <a title="Fernanda Viégas na TEDx SP" href="http://www.tedxsaopaulo.com.br/fernanda-viegas/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.tedxsaopaulo.com.br');" target="_blank">Revolução Visual</a>, onde ela demonstra uma forma de visualização de textos baseada em concordâncias e numa estrutura de dados bem conhecida na Ciência da Computação, a <strong>árvore de sufixos</strong> (introduzida nos anos 1970).  Chamada <strong>WordTree</strong>, esta visualização tem como ênfase a exploração interativa de textos curtos (no máximo do tamanho da Bíblia), e está publicamente disponível no site <a title="ManyEyes" href="http://manyeyes.alphaworks.ibm.com/manyeyes/" onclick="javascript:pageTracker._trackPageview('/outbound/article/manyeyes.alphaworks.ibm.com');" target="_blank">ManyEyes</a>.</p>
<p>Veja um exemplo, criado por mim:</p>
<p style="text-align: center;">
<div id="attachment_455" class="wp-caption aligncenter" style="width: 510px"><a href="http://blog.vettalabs.com/wp-content/uploads/2010/04/construcao-wordtree1.png" ><img class="size-full wp-image-455 " title="Construção (Chico Buarque)" src="http://blog.vettalabs.com/wp-content/uploads/2010/04/construcao-wordtree1.png" alt="WordTree da letra de &quot;Construção&quot;, de Chico Buarque" width="500" /></a><p class="wp-caption-text">WordTree da letra de &quot;Construção&quot;, de Chico Buarque (clique para aumentar)</p></div></p>
<p>A implementação da WordTree no ManyEyes me chamou a atenção, mas não se mostrou útil para mim por uma série de razões:</p>
<ul>
<li>a quantidade máxima de texto suportada é centenas de vezes menor do que a que gostaria de processar</li>
<li>a WordTree não permite que voltemos ao trecho original do texto</li>
<li>qualquer texto e visualização submetida é obrigatoriamente público, o que impede o processamento de dados confidenciais</li>
<li>o uso é sempre interativo, não sendo possível o processamento em lote ou automático</li>
<li>não é permitido o uso do ManyEyes em aplicações comerciais</li>
</ul>
</div>
<div>Resolvi, então, criar <strong>minha própria implementação</strong> de concordância baseada em árvore de sufixos. A idéia não é simplesmente explorar visualmente um texto específico, mas gerar automaticamente árvores de palavras a partir de itens do <strong>Twitter</strong>.</p>
<p>A motivação é simples: um dos mecanismos mais interessantes do Twitter é o <strong>Re-Tweet</strong>, ou <strong>RT</strong>, que é o gesto de alguém repetir o que foi postado por outra pessoa, como forma de <strong>manifestação de apoio</strong> (ao fazer RT de um item no Twitter você está divulgando aquele item para as pessoas para seus seguidores). Quanto maior o número de RTs mais divulgação um determinado item teve.</p>
<p>O sistema <strong>monitora o Twitter em tempo real</strong>, buscando itens com as palavras chave determinadas pelo usuário.  Todos os dias (ou, por exemplo, a cada 1000 twits encontrados) uma nova árvore é gerada, que ilustra de forma bem interessante <strong>o que tem sido discutido</strong> a respeito daquele assunto.  Veja um exemplo, gerado enquanto escrevia esse artigo a partir de twits a respeito do Campeonato Mineiro (nada contra o time do Atlético!):</div>
<div>
<div id="attachment_461" class="wp-caption aligncenter" style="width: 510px"><a href="http://blog.vettalabs.com/wp-content/uploads/2010/04/cruzeiro.png" ><img class="size-full wp-image-461 " title="Árvore de Palavras sobre o Cruzeiro" src="http://blog.vettalabs.com/wp-content/uploads/2010/04/cruzeiro.png" alt="Árvore gerada por twits do Cruzeiro" width="500" /></a><p class="wp-caption-text">Árvore gerada por twits do Cruzeiro</p></div>
</div>
<div>Como a quantidade de textos processada é enorme - <strong>dezenas de milhares de  itens</strong> por dia! - árvores de palavras geradas de forma ingênua são gigantescas. Para <strong>exibir apenas as informações relevantes</strong>, utilizamos técnicas de processamento de linguagem natural para <strong>podar</strong> a árvore.</p>
<p>Por exemplo, podemos exigir que determinados nós sempre contenham <strong>verbos</strong>, ou apenas sentenças em que a palavra escolhida funcione como <strong>sujeito</strong> sejam consideradas. Tudo isso, é claro, configurável e acessível através de uma interface web, com tudo a que o usuário tem direito (feeds RSS, interface AJAX, exibição de estatísticas a respeito de como a árvore foi construída, links para os itens originais&#8230;).</p>
<p>E como o assunto da vez são as <strong>Eleições 2010</strong>, vejam alguns exemplos, também produzidos nesse exato momento:</p>
<p><div id="attachment_462" class="wp-caption aligncenter" style="width: 510px"><a href="http://blog.vettalabs.com/wp-content/uploads/2010/04/aecio.png" ><img class="size-full wp-image-462 " title="Aécio Neves no Twitter" src="http://blog.vettalabs.com/wp-content/uploads/2010/04/aecio.png" alt="Árvore produzida por menções a Aécio Neves no Twitter" width="500" /></a><p class="wp-caption-text">Árvore produzida por menções a Aécio Neves no Twitter</p></div></p>
<p>Também podemos gerar <strong>árvores reversas</strong>, que mostram o que <strong>precede</strong> determinada palavra, e árvores com maior profundidade, como exemplificado abaixo:</p>
<dl id="attachment_463" class="wp-caption aligncenter" style="width: 500px;">
<dt class="wp-caption-dt"><a href="http://blog.vettalabs.com/wp-content/uploads/2010/04/aecio-2.png" ><img class="size-full wp-image-463 " title="Árvore reversa (Aécio Neves)" src="http://blog.vettalabs.com/wp-content/uploads/2010/04/aecio-2.png" alt="Árvore reversa (Aécio Neves no Twitter)" width="500" /></a></dt>
<dd class="wp-caption-dd">Árvore reversa (Aécio Neves no Twitter)</dd>
</dl>
<p>O mais interessante (e divertido!) disso tudo é que essa técnica de visualização permite ter uma <strong>avaliação instantânea</strong> do que &#8220;está rolando no Twitter&#8221;, em poucos segundos. Uma árvore de palavras condensa informação de milhares de itens e a exibe de forma intuitiva e direta - algo realmente raro num mundo em que a sobrecarga de informação é cada vez maior.</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.vettalabs.com/2010/04/10/analisando-o-twitter-usando-arvore-de-palavras/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Extração Inteligente de Palavras-Chave</title>
		<link>http://blog.vettalabs.com/2010/02/20/extracao-inteligente-de-palavras-chave/</link>
		<comments>http://blog.vettalabs.com/2010/02/20/extracao-inteligente-de-palavras-chave/#comments</comments>
		<pubDate>Sat, 20 Feb 2010 22:07:57 +0000</pubDate>
		<dc:creator>Murilo Queiroz</dc:creator>
		
		<category><![CDATA[Inteligência Artificial]]></category>

		<category><![CDATA[Linguagem Natural]]></category>

		<guid isPermaLink="false">http://blog.vettalabs.com/?p=426</guid>
		<description><![CDATA[Aqui na Vetta Labs desenvolvemos algumas tecnologias baseadas no processamento de linguagem natural, como já comentei em outro artigo. Hoje vou falar de uma nova aplicação que produzimos recentemente, que tem duas características bem interessantes: uma é suportar tanto textos em inglês quanto em português (o que é bastante incomum, já que as particularidades de nossa [...]]]></description>
			<content:encoded><![CDATA[<p>Aqui na Vetta Labs desenvolvemos algumas tecnologias baseadas no <strong>processamento de linguagem natural</strong>, como já comentei em <a href="http://blog.vettalabs.com/2008/04/08/computador-por-favor-encontre/"  target="_blank">outro artigo</a>. Hoje vou falar de uma nova aplicação que produzimos recentemente, que tem duas características bem interessantes: uma é suportar tanto textos em inglês quanto em <strong>português </strong>(o que é bastante incomum, já que as particularidades de nossa língua nem sempre são compatíveis com as técnicas mais conhecidas); a outra é que os resultados produzidos são muito fáceis de serem utilizados na prática, de forma simples, em por exemplo <strong>blogs</strong> e <strong>portais de conteúdo</strong>.</p>
<p>É comum sites associarem aos seus artigos <strong>frases</strong> ou <strong>palavras-chave</strong> relacionadas ao conteúdo. Essas palavras-chave podem funcionar como resumos do que é discutido, levar o usuário a outros artigos que tratam dos mesmos assuntos e também ajudar na categorização e indexação dos textos. Normalmente essas frases ou palavras-chave são escolhidas pelo próprio autor, ou então definidas pelos visitantes, de forma colaborativa (o que exige um grande número de visitas e &#8220;votos&#8221; para evitar resultados de baixa qualidade ou sem sentido).</p>
<p>O problema é que muitas vezes já temos uma grande coleção de textos sem palavras-chave definidas, e escolhê-las manualmente  é uma tarefa extremamente árdua.  Existem algumas ferramentas simples para detecção automática de palavras-chave, mas praticamente todas elas usam uma <strong>abordagem ingênua</strong> que dificilmente funciona bem: são usados <strong>dicionários</strong>, tabelas com palavras-chave pré-definidas, e  a aplicação simplesmente verifica se a palavra-chave na lista aparece no artigo. Essa alternativa é inútil se os artigos em questão são sobre assuntos pouco comuns, ou se as palavras-chave que desejamos são termos menos conhecidos.</p>
<p>Esse exatamente era o problema de dois dos nossos clientes: a <a href="http://hplusmagazine.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/hplusmagazine.com');">h+ Magazine</a>, uma revista eletrônica sobre trans-humanismo, singularidade e outras tendências tecnológicas e culturais, e o <a href="http://www.ceticismoaberto.com" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.ceticismoaberto.com');" target="_blank">Ceticismo Aberto</a>, um dos maiores sites do Brasil sobre ceticismo e divulgação científica.</p>
<div style="text-align:center;"><a href="http://view.picapp.com/default.aspx?term=keywords&amp;iid=307428" onclick="javascript:pageTracker._trackPageview('/outbound/article/view.picapp.com');" target="_blank"><img src="http://cdn.picapp.com/ftp/Images/0304/0000304140.jpg?adImageId=10498074&amp;imageId=307428" border="0" alt="Keywords through cyberspace (Digital Composite)" width="380" height="284" /></a></div>
<p><script src="http://cdn.pis.picapp.com/IamProd/PicAppPIS/JavaScript/PisV4.js" type="text/javascript"></script></p>
<p>A solução que desenvolvemos utiliza técnicas de <strong>processamento estatístico de linguagem natural</strong> e <strong>aprendizado de máquina</strong> para <strong>extrair automaticamente frases e palavras-chave </strong>de <strong>milhares de artigos<span style="font-weight: normal;"> desses sites. As palavras-chave encontradas incluem neologismos, expressões, nomes próprios e termos obscuros que jamais apareceriam nos resultados de uma abordagem baseada em listas, e são </span>automaticamente inseridas<span style="font-weight: normal;"> nos </span>sistemas de gestão de conteúdo<span style="font-weight: normal;"> dos sites (baseados em </span>WordPress<span style="font-weight: normal;"> e </span>Drupal<span style="font-weight: normal;">), permitindo seu uso imediato. </span></strong></p>
<p>Nosso sistema inicialmente identifica frases ou palavras-chave candidatas criando sequências de até três ou quatro palavras. Cada candidata então é analisada, extraindo-se características como:</p>
<ul>
<li><strong>frequência no uso geral</strong> (palavras extremamente comuns não são importantes)</li>
<li><strong>frequência no texto</strong> (palavras repetidas no artigo têm peso maior)</li>
<li><strong>posição no texto</strong> (palavras no início ou no final do texto costumam ser mais representativas)</li>
<li><strong>categoria gramatical</strong> (substantivos têm mais peso que preposições, por exemplo)</li>
<li><strong>função sintática</strong> (frases sintaticamente incorretas ou incompletas são rejeitadas)</li>
<li><strong>entidades ou lugares representados</strong> (o sistema identifica nomes próprios como <em>Albert Einstein</em>, <em>Zumbi dos Palmares</em>, <em>Belo Horizonte</em> ou <em>São Luís do Paraitinga</em>)</li>
</ul>
<p>Note que combinar todas as essas informações extraídas e decidir se determinada candidata é ou não uma frase ou palavra-chave é uma tarefa complicadíssima. Para resolver esse problema, usamos um método de <strong>aprendizado supervisionado</strong>: utilizamos um pequeno número de artigos (em torno de 50 ou 100) que já tinham suas palavras-chave definidas manualmente pelos autores como <strong>exemplos positivos</strong>. Um algoritmo de aprendizado supervisionado <strong>analisa as informações</strong> acima dos exemplos positivos dados e <strong>aprende a identificar as palavras-chave</strong>, automaticamente. O interessante é que o modelo obtido é capaz de <strong>generalização</strong>, ou seja, apesar de ter aprendido &#8220;estudando&#8221; apenas 100 artigos ele é capaz de <strong>aplicar de forma correta as mesmas regras para artigos inéditos</strong>.</p>
<p>E os resultados são surpreendentes - às vezes é difícil convencer as pessoas de que as palavras-chave foram escolhidas automaticamente e não por uma pessoa capaz de ler e interpretar cada um dos artigos!</p>
<p><strong>Notas</strong></p>
<p>A nova versão do Ceticismo Aberto, já com as palavras-chave extraídas pelo sistema da Vetta Labs, <a href="http://www.ceticismoaberto.com/geral/3352/ceticismoaberto-agora-em-459-tags-e-muito-mais" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.ceticismoaberto.com');" target="_blank">entrou no ar</a> no domingo 21 de Fevereiro, e a versão em inglês, para a h+ Magazine, deve ser disponibilizada publicamente em breve.</p>
<p>O projeto foi desenvolvido por <strong>Fabrício Aguiar</strong> (que já fez com a gente outras <a href="http://blog.vettalabs.com/2009/10/26/mineracao-de-opiniao/" >aplicações interessantes</a> baseadas em linguagem natural), a partir de código escrito por <strong>Murilo Queiroz</strong> (que também coordenou o desenvolvimento) e diversos projetos de software livre, incluindo o <a href="http://www.cs.waikato.ac.nz/ml/weka/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.cs.waikato.ac.nz');">Weka</a>, <a href="http://www.nzdl.org/Kea/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.nzdl.org');">KEA</a>, <a href="http://opennlp.sourceforge.net/" onclick="javascript:pageTracker._trackPageview('/outbound/article/opennlp.sourceforge.net');">OpenNLP</a>, <a href="http://cogroo.sourceforge.net/" onclick="javascript:pageTracker._trackPageview('/outbound/article/cogroo.sourceforge.net');">CoGroo</a>, <a href="http://xldb.di.fc.ul.pt/Rembrandt/?lg=en" onclick="javascript:pageTracker._trackPageview('/outbound/article/xldb.di.fc.ul.pt');" target="_blank">Rembrandt</a> e <a href="http://www.opencalais.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.opencalais.com');">OpenCalais</a>.</p>
<p>Os arquivos de treinamento usados na versão para português foram criados  por <strong>Kentaro Mori</strong>, do Ceticismo Aberto, e muitas das idéias foram sugeridas inicialmente pelo Dr. <strong>Ben Goertzel</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vettalabs.com/2010/02/20/extracao-inteligente-de-palavras-chave/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Mineração de Opinião</title>
		<link>http://blog.vettalabs.com/2009/10/26/mineracao-de-opiniao/</link>
		<comments>http://blog.vettalabs.com/2009/10/26/mineracao-de-opiniao/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 15:37:27 +0000</pubDate>
		<dc:creator>Fabrício Aguiar</dc:creator>
		
		<category><![CDATA[Data Mining]]></category>

		<category><![CDATA[Linguagem Natural]]></category>

		<guid isPermaLink="false">http://blog.vettalabs.com/?p=352</guid>
		<description><![CDATA[É notável o crescimento da quantidade de informação disponível na Web nos últimos anos. Além dos conteúdos disponibilizados por empresas de notícias, os usuários passaram a compartilhar na Web seus conhecimentos, críticas e opiniões em blogs pessoais, sites de relacionamentos, microblogs, dentre outros meios. Com esse aumento da participação dos usuários nos conteúdos da Web, [...]]]></description>
			<content:encoded><![CDATA[<p>É notável o crescimento da quantidade de informação disponível na Web nos últimos anos. Além dos conteúdos disponibilizados por empresas de notícias, os usuários passaram a compartilhar na Web seus conhecimentos, críticas e opiniões em blogs pessoais, sites de relacionamentos, microblogs, dentre outros meios. Com esse aumento da participação dos usuários nos conteúdos da Web, surgiu também uma nova área de pesquisa relacionada ao Processamento de Linguagem Natural, chamada de Mineração de Opinião e também conhecida como Análise de Sentimento.</p>
<p>A Mineração de Opinião visa identificar o sentimento que os usuários apresentam a respeito de alguma entidade de interesse (um produto específico, uma empresa, um lugar, uma pessoa, dentre outros) baseado nos conteúdos divulgados na Web. O objetivo principal é permitir que um usuário obtenha um relatório contendo o que as pessoas andam dizendo sobre algum item sem precisar encontrar e ler todas as opiniões e notícias a respeito.</p>
<p>Existem diversas aplicações para o uso da Mineração de Opinião, sendo algumas listadas abaixo:</p>
<ul>
<li><strong>análise de empresas na bolsa de valores:</strong> quem acompanha nosso Blog deve se lembrar do projeto <a title="Stockmood.com" href="http://blog.vettalabs.com/2008/09/09/techcrunch-50/"  target="_blank">stockmood.com</a>, cujo objetivo é identificar o humor do mercado em relação às empresas negociadas na bolsa de valores baseado nas opiniões dos analistas, com o intuito de identificar a tendência dos preços das mesmas;</li>
</ul>
<ul>
<li><strong>análise de um produto:</strong> uma empresa pode ter interesse na opinião dos usuários sobre um determinado produto. Por exemplo, a Apple (ou uma concorrente) pode realizar uma mineração de opinião para saber o que as pessoas andam dizendo sobre o iPhone 3G. Esses resultados podem ser usados com o intuito de melhorar os produtos ou mesmo para identificar estratégias de marketing. Uma aplicação desse tipo chamada <em>Sentweet</em> foi desenvolvida aqui no Labs para classificar a opiniões postadas no microblog Twitter;</li>
</ul>
<ul>
<li><strong>análise de lugares:</strong> uma pessoa que vai viajar pode utilizar as opiniões de outras sobre o lugar pretendido para planejar o roteiro da viagem, evitando passeios desinteressantes;</li>
</ul>
<ul>
<li><strong>análise de políticos:</strong> os eleitores podem identificar qual a opinião de outros eleitores sobre um determinado candidato político;</li>
</ul>
<ul>
<li><strong>análise de filmes e jogos:</strong> também é possível minerar a opinião sobre filmes e jogos eletrônicos;</li>
</ul>
<p>Basicamente, os passos envolvidos no processo de mineração de opinião são:</p>
<ol>
<li> <strong>coleta de conteúdos:</strong> visa buscar na Web conteúdos sobre o item de interesse, e também identificar se esse conteúdo é relativo a um fato ou uma opinião. Fatos devem ser descartados, já que o interesse  é nas opiniões dos usuários;</li>
<li><strong>classificação:</strong> a polaridade do conteúdo recuperado deve ser identificada. Geralmente, as polaridades usadas são positiva, negativa ou neutra;</li>
<li><strong>sumarização dos resultados:</strong> as classificações das diversas opiniões devem ser sumarizadas para o usuário, com o intuito de facilitar o seu entendimento sobre as mesmas. Essa sumarização pode ser em forma de texto ou gráfico.</li>
</ol>
<p>O passo de coleta dos conteúdos está relacionado com recuperação da informação. Porém, deve utilizar técnicas mais avançadas capazes de identificar se o conteúdo é uma opinião ou um fato, o que não é uma tarefa trivial. No entanto, nem todo fato deve ser descartado, já que mesmo fatos podem conter algum tipo de opinião, e vice-versa. Essa distinção é importante para se ter uma acurácia maior no passo seguinte, de classificação.</p>
<p>Basicamente, a etapa de classificação dos conteúdos pode ser realizada com três técnicas diferentes, que são brevemente descritas abaixo:</p>
<ul>
<li> <strong>aprendizagem de máquina:</strong> essa técnica requer que um conjunto de conteúdos seja previamente classificado para servir de base para o treinamento do modelo. A partir desse modelo treinado, novos conteúdos são classificados. Uma vantagem dessa abordagem é a utilização de algoritmos já consolidados e eficientes. Como desvantagens, podemos citar a necessidade do conjunto ser classificado para treinamento e que, para diferentes tópicos, diferentes conjuntos de treinamento são necessários. Por exemplo, um modelo treinado com um conjunto de conteúdos relacionados ao mercado financeiro não é adequado para classificar conteúdos sobre política;</li>
</ul>
<ul>
<li><strong>seleção de palavras:</strong> essa abordagem envolve avaliar as palavras dos conteúdos e identificar aquelas positivas e negativas com base em uma lista de palavras previamente selecionadas. Com isso, é possível executar algoritmos para classificar o conteúdo como positivo, negativo ou neutro. Vantagens dessa técnica são a sua simplicidade e o fato de ser desnecessário classificar documentos previamente para treinamento, como na abordagem anterior. No entanto, o conjunto de palavras positivas e negativas deve ser selecionado e deve ser específico para cada tópico;</li>
</ul>
<ul>
<li><strong>análise sintática:</strong> essa abordagem envolve analisar o conteúdo sintaticamente, identificando adjetivos e/ou advérbios (principalmente) que podem indicar polaridades dos textos. Como vantagem dessa abordagem, pode-se citar não ser necessário classificar previamente um conjunto de textos.   Porém, ela requer um analisador sintático eficiente e que os conteúdos sejam compostos por sentenças sintaticamente corretas.</li>
</ul>
<p>Essas três abordagens podem ser adotadas em conjunto, formando um modelo híbrido, para tentar aumentar a acurácia da classificação.</p>
<p>O último passo, de sumarização dos resultados, pode ser apresentado de forma textual ou gráfica. A sumarização em forma de texto não é uma tarefa trivial, e é um tópico de pesquisa por si só. Ela envolve geração de linguagem natural com base em diversos conteúdos e existem várias propostas de pesquisadores para tal. Porém, ainda é um tópico em aberto, com várias dificuldades para serem enfrentadas. A sumarização em forma de gráfico é mais simples, e exige somente que uma forma fácil de ser lida e interpretada seja adotada.</p>
<p>Existem diversos desafios na área que devem ser tratados para que a mineração de opinião seja obtida com uma acurácia representativa. Várias dessas dificuldades estão relacionadas ao processamento de linguagem natural, que está diretamente  relacionado à mineração de opinião. Abaixo são descritas alguns desses desafios:</p>
<ul>
<li> não é trivial distinguir se um texto é opinião ou fato, e principlamente identificar em um fato se existem opiniões embutidas;</li>
<li>textos podem conter sarcasmos e ironias, o que também não são fáceis de serem identificados e podem impactar os resultados;</li>
<li>um texto pode referenciar mais de um item de interesse (pode citar iPhone e iPod) com opiniões diferentes sobre os itens, o que pode confundir a classificação;</li>
<li>uso de pronomes para referenciar itens pode dificultar a identificação de sentenças que mencionam o item de interesse;</li>
<li>textos com palavras escritas erradas e com sentenças sintaticamente mal formadas (o que é bastante comum nos Blogs e redes sociais atualmente) dificultam a busca e classificação dos mesmos;</li>
<li>uso de termos do &#8220;Internetês&#8221;, como por exemplo &#8220;vc&#8221;, &#8220;fds&#8221; e &#8220;:)&#8221;, devem ser considerados no vocabulário;</li>
<li>propaganda disfarçada, em que blogueiros recebem dinheiro para falar bem de alguma empresa ou produto pode impactar os resultados.</li>
</ul>
<p>Podemos perceber que a mineração de opinião é uma tendência da web com diversas aplicações interessantes, dado o grande número de dados disponibilizados pelos usuários. Porém, não é uma tarefa trivial de ser realizada, já que envolve vários desafios como os descritos nesse post. Esperamos que um dia seja possível termos um sumário automático das opiniões divulgadas pelos diversos internautas, com uma qualidade alta para nos ajudar nas diversas tomadas de decisões sobre os mais diferentes temas.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vettalabs.com/2009/10/26/mineracao-de-opiniao/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ben Goertzel fala de AGI (Artificial General Intelligence) na Fastforward Radio</title>
		<link>http://blog.vettalabs.com/2009/08/06/ben-goertzel-fala-de-agi-artificial-general-intelligence-na-fastforward-radio/</link>
		<comments>http://blog.vettalabs.com/2009/08/06/ben-goertzel-fala-de-agi-artificial-general-intelligence-na-fastforward-radio/#comments</comments>
		<pubDate>Thu, 06 Aug 2009 13:25:06 +0000</pubDate>
		<dc:creator>Leonardo Kenji</dc:creator>
		
		<category><![CDATA[Inteligência Artificial]]></category>

		<guid isPermaLink="false">http://blog.vettalabs.com/?p=345</guid>
		<description><![CDATA[A notícia e o mp3 com a discussão no Talk Show estão disponíveis para download em 
http://ieet.org/index.php/IEET/more/ffr0809/
O programa tem cerca de 1 hora e meia e conta com a participação de Eliezer Yudkowsky, James Hughes e, claro, Ben Goertzel.
]]></description>
			<content:encoded><![CDATA[<p>A notícia e o <a href="http://www.blogtalkradio.com/fastforwardradio/2009/07/22/Achieving-Friendly-Artificial-Intelligence.mp3?localembed=download" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.blogtalkradio.com');">mp3</a> com a discussão no Talk Show estão disponíveis para download em </p>
<p><a href="http://ieet.org/index.php/IEET/more/ffr0809/" onclick="javascript:pageTracker._trackPageview('/outbound/article/ieet.org');">http://ieet.org/index.php/IEET/more/ffr0809/</a></p>
<p>O programa tem cerca de 1 hora e meia e conta com a participação de <a href="http://en.wikipedia.org/wiki/Eliezer_Yudkowsky" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');">Eliezer Yudkowsky</a>, <a href="http://singinst.org/media/interviews/jameshughes" onclick="javascript:pageTracker._trackPageview('/outbound/article/singinst.org');">James Hughes</a> e, claro, <a href="http://multiverseaccordingtoben.blogspot.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/multiverseaccordingtoben.blogspot.com');">Ben Goertzel</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vettalabs.com/2009/08/06/ben-goertzel-fala-de-agi-artificial-general-intelligence-na-fastforward-radio/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Microfluídica na prática</title>
		<link>http://blog.vettalabs.com/2009/05/18/microfluidica-na-pratica/</link>
		<comments>http://blog.vettalabs.com/2009/05/18/microfluidica-na-pratica/#comments</comments>
		<pubDate>Mon, 18 May 2009 16:31:53 +0000</pubDate>
		<dc:creator>Cassio Pennachin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.vettalabs.com/?p=328</guid>
		<description><![CDATA[O excelente post do Murilo sobre fluídica comentou, brevemente, sobre o uso de computação líquida para diagnósticos. Empresas inovadoras na área de saúde estão trabalhando nos chamados &#8220;labs on a chip&#8221;, que são pequenos dispositivos baseados para diagnóstico de uma ou mais doenças, em geral com base em uma pequena amostra de sangue ou saliva.
Em [...]]]></description>
			<content:encoded><![CDATA[<p>O excelente post do Murilo sobre fluídica comentou, brevemente, sobre o uso de computação líquida para diagnósticos. Empresas inovadoras na área de saúde estão trabalhando nos chamados &#8220;labs on a chip&#8221;, que são pequenos dispositivos baseados para diagnóstico de uma ou mais doenças, em geral com base em uma pequena amostra de sangue ou saliva.</p>
<p>Em áreas remotas de países em desenvolvimento, dificilmente há equipamentos e profissionais de saúde com condições adequadas para o tratamento da população. Exames periódicos então, nem pensar. Por isso, muitas fatalidades são causadas por doenças facilmente tratáveis, mas que não são diagnosticadas até que seja tarde demais. Daí o investimento de pesquisadores e empresas em tecnologia que facilite e barateie o diagnóstico de doenças comuns o mais cedo possível.</p>
<p>A <a href="http://www.dfadx.org" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.dfadx.org');">Diagnostics for All</a>, uma startup americana criada por pesquisadores do MIT e de Harvard, criou um chip desses com diversos aspectos interessantes:</p>
<ul>
<li>O chip usa microfluídica para direcionar o movimento de uma amostra de sangue para diversos pontos onde reagentes químicos específicos estão depositados para o diagnóstico de cada doença. Assim, não há a necessidade de energia para execução dos testes.</li>
<li>Os diagnósticos são visuais: se uma doença é detectada, um pedaço do chip muda de cor. Assim, não é preciso equipamento nem pessoal especializado para análise da amostra de sangue. O próprio paciente pode interpretar seu exame, como naqueles kits de gravidez de farmácia.</li>
<li>O chip é feito de *papel comum*, o que torna sua produção muito mais barata que a de chips feitos de materiais tradicionais, e facilita seu armazenamento e distribuição em lugares remotos.</li>
</ul>
<p style="text-align: center;"><img title="Chip de Diagnóstico" src="http://www.dfadx.org/images/device_image1.jpg" alt="Chip de Diagnóstico" width="200" height="174" /></p>
<p>A Diagnostics for All <a href="http://www.boston.com/business/ticker/2008/05/mit_100k_compet.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.boston.com');">ganhou um prêmio de inovação de US$100 mil em 2008</a>, numa prestigiosa competição de planos de negócios organizada pelo MIT. Ah, eles são uma organização sem fins lucrativos, e foi a primeira vez que essa c0mpetição teve um vencedor desse tipo. O chip ainda não está no mercado, mas o potencial é enorme.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vettalabs.com/2009/05/18/microfluidica-na-pratica/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Fluídica: Computação a Água</title>
		<link>http://blog.vettalabs.com/2009/04/14/fluidica-computacao-a-agua/</link>
		<comments>http://blog.vettalabs.com/2009/04/14/fluidica-computacao-a-agua/#comments</comments>
		<pubDate>Tue, 14 Apr 2009 17:36:48 +0000</pubDate>
		<dc:creator>Murilo Queiroz</dc:creator>
		
		<category><![CDATA[Biotecnologia]]></category>

		<category><![CDATA[Robótica]]></category>

		<category><![CDATA[Teoria da Computação]]></category>

		<category><![CDATA[computadores]]></category>

		<category><![CDATA[didática]]></category>

		<category><![CDATA[fluídica]]></category>

		<category><![CDATA[LEGO]]></category>

		<guid isPermaLink="false">http://blog.vettalabs.com/?p=309</guid>
		<description><![CDATA[No meu artigo anterior falei sobre a idéia de computadores completamente mecânicos, falando um pouco da Máquina de Turing (um modelo matemático de um computador abstrato) e das Máquinas Diferencial e Analítica de Charles Babbage (inclusive sobre implementações em LEGO). Depois que publiquei me lembrei que poderia ter citado também o Mecanismo de Anticítera - [...]]]></description>
			<content:encoded><![CDATA[<p>No <a href="http://blog.vettalabs.com/2009/02/13/computadores-mecanicos-feitos-com-lego/"  target="_blank">meu artigo anterior</a> falei sobre a idéia de computadores completamente mecânicos, falando um pouco da Máquina de Turing (um modelo matemático de um computador abstrato) e das Máquinas Diferencial e Analítica de Charles Babbage (inclusive sobre implementações em LEGO). Depois que publiquei me lembrei que poderia ter citado também o <a href="http://www.ceticismoaberto.com/ciencia/anticitera.htm" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.ceticismoaberto.com');">Mecanismo de Anticítera</a> - então agora remeto vocês para o artigo sobre ele escrito pelo amigão Kentaro Mori.</p>
<p>Depois dos computadores mecânicos, no final eu prometia falar de <strong>computadores fluídicos</strong> - computadores sem partes móveis em que o fluxo de elétrons é substituído por fluidos como ar, água ou óleo, com tubos, canos e mangueiras ao invés de fios. Ao assunto, então!</p>
<p><strong>Fluídica na Ficção Científica</strong></p>
<p>Provavelmente o primeiro contato com de muita gente com a idéia foi assistindo ao clássico <a href="http://akas.imdb.com/title/tt0073631/" onclick="javascript:pageTracker._trackPageview('/outbound/article/akas.imdb.com');" target="_blank"><strong>Rollerball - Os Gladiadores do Futuro (1975)</strong></a>. No filme existe Zero, um <strong>supercomputador fluídico baseado em lógica fuzzy</strong> que armazena toda a informação de todos os livros do mundo:</p>
<p><img class="aligncenter size-full wp-image-311" title="rollerball" src="http://blog.vettalabs.com/wp-content/uploads/2009/04/rollerball.jpg" alt="rollerball" width="253" height="400" /></p>
<p><em>Livros, livros ? Mudaram completamente. Todos foram transcritos. Toda a informação está aqui. Temos o Zero, é claro. Ele é o cérebro central, o cérebro do mundo. Mecânica de fluidos, fluídica. Ele é líquido, vê ? Suas águas tocam todo o conhecimento do mundo. [...] Ele flui por todos os nossos sistemas de armazenamento. Ele considera tudo. Tornou-se tão ambíguo hoje em dia que parece não ter certeza de nada.</em></p>
<p>Hoje em dia, mesmo sem o Zero é fácil encontrar o <a href="http://www.youtube.com/watch?v=1ybjZ8HREt8" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.youtube.com');">trecho de Rollerball em que Zero aparece</a> (vídeo em inglês, sem legendas em português) e também o <a href="http://www.script-o-rama.com/movie_scripts/r/rollerball-script-transcript-james-caan.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.script-o-rama.com');" target="_blank">script original do filme</a>.</p>
<p>Rollerball é 1975, e na época a Fluídica estava bombando - uma quantidade enorme de verbas foi investida em sua pesquisa, nos Estados Unidos (falaremos disso mais tarde) - e provavelmente por isso ela foi a tecnologia escolhida para aumentar a <em>suspensão de descrença</em> do filme.</p>
<p><strong>Água x Elétrons</strong></p>
<p>Quando estudava eletrônica (e até hoje, quando preciso explicar pra alguém) eu costumava <strong>imaginar que os elétrons se comportavam como água</strong>. Carga elétrica (em Coulombs) virava quantidade de água (em litros). A corrente (em Ampère, Coulomb por segundo) virava o fluxo de água (litros por segundo). A tensão da corrente (em Volts) é equivalente à pressão da água, e a resistência de um fio, à espessura do cano que transporta o líquido.</p>
<p>Uma bateria armazena energia potencial química, que causa uma diferença de potencial elétrico nos terminais (que faz com que a corrente elétrica circule). No nosso exemplo didático, temos uma caixa d&#8217;água, e a diferença de pressão entre a caixa d&#8217;água e um cano no térreo é o potencial que coloca a água nos canos em movimento (usando a energia potencial gravitacional). Quando você abre a torneira (o interruptor) a diferença de pressão (potencial) faz com que a água (elétrons) fluam da caixa d&#8217;água (pólo positivo) pelo cano (fio) até o ralo (pólo negativo / &#8220;terra&#8221;).</p>
<p><strong>Pensar desse jeito torna o básico que se aprende de eletrônica e eletricidade no ensino médio algo bem concreto</strong> - a maioria das pessoas já brincou mais com mangueiras de jardim e torneiras do que com fios e baterias. Fica fácil entender porque uma tensão (pressão d&#8217;água) muito alta danifica um aparelho (ao ligar um aparelho 110V numa tomada 220V) mas uma bateria com capacidade de fornecer muita corrente não danifica aparelhos de baixo consumo (você simplesmente tem mais água na caixa d&#8217;água).</p>
<p>De qualquer forma, eu <strong>imaginava que esse raciocínio era só um recurso didático, e não poderia ser aplicado em nada mais sofisticado</strong>. Por exemplo, eu sempre imaginava torneiras - dispositivos mecânicos, móveis, que controlam o fluxo, da mesma forma que interruptores fazem com a corrente elétrica. Mas o mais interessante da eletrônica (pelo menos pra mim, na época) era usar a eletricidade para controlar eletricidade: usando um <strong>transistor</strong> (o amplificador mais simples que existe) <strong>uma corrente elétrica de baixa intensidade controla uma corrente elétrica muito mais forte</strong> (e.g. a corrente baixíssima induzida por um microfone controla a corrente muito mais alta consumida pelas caixas de som enormes no seu show de rock preferido).</p>
<p>Descobri que meu problema era fazer um <strong>transistor de água</strong>. Anos mais tarde eu iria aprender como fazer um, lendo sobre uma <strong>feira de ciências de 1962</strong>!</p>
<p><strong>Os Circuitos de Água de Murray O. Meetze, Jr.</strong></p>
<p>Em 1962, o estudante de segundo grau Murray O. Meetze, Jr, ganhou a Feira Nacional de Ciências de 1962, nos Estados Unidos. O projeto dele era o equivalente a uma <strong>válvula triodo a água, sem partes móveis</strong>. A válvula triodo foi aposentada há décadas; hoje em dia ninguém a usa (exceto uns poucos audiófilos, entusiastas de rádios e TVs antigos, ou interessados em aplicações muito específicas). Ela foi substituída pelo seu equivalente de estado sólido (feito apenas com metais semicondutores, sem necessidade de tubo de vidro a vácuo), o <strong>transistor</strong>.</p>
<p>Certa vez, completamente por acaso, eu me deparei com uma longa reportagem numa Scientific American da época, descrevendo o tabalho de Meetze. Eu fiquei maravilhado; as soluções dele eram incrivelmente simples, e com elas daria pra aumentar meu &#8220;laboratório fluídico imaginário&#8221; de uma forma que não achava que seria possível. Além do transistor, Meetze mostrava como fazer um <strong>flip-flop (ou multivibrador bi-estável) fluídico</strong>, o equivalente a um bit de memória RAM, e também um amplificador (com funcionamento igual ao de um amplificador eletrônico de som).</p>
<p><img class="aligncenter size-full wp-image-315" title="meetze-flipflop" src="http://blog.vettalabs.com/wp-content/uploads/2009/04/meetze-flipflop.jpg" alt="meetze-flipflop" width="558" height="278" /></p>
<p>Depois de vários anos procurando, enquanto me preparava para escrever esse artigo eu encontrei novamente a <a href="http://1010.co.uk/old_sci_am_archive.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/1010.co.uk');">deliciosa matéria da Scientific American</a>. A qualidade do scan está bem baixa, mas a leitura é recomendadíssima. Uma curiosidade: a página sobre Fluídica da Wikipedia em inglês cita Murray O. Meetze como criador da válvula triodo fluídica, mas não dá referências! Vou tentar editar o post para incluir isso, mas é preciso uma correção: o próprio Meetze diz à Scientific American que a tecnologia havia sido desenvolvida pelo <strong>Diamond Ordnance Fuze Laboratories</strong>, do exército americano, mas quase tudo era confidencial na época.</p>
<p>Com transistores fluídicos eram possível criar <strong>portas lógicas fluídicas</strong>. Com portas lógicas e flip-flops, a única coisa que impedia a construção de um computador completamente fluídico era o tamanho ! Aliás, recentemente um <a href="http://www.blikstein.com/paulo/projects/project_water.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.blikstein.com');">estudante do MIT pôs a mão na massa e resolveu fazer algo parecido</a>, usando - é claro - peças de LEGO! O projeto, bem simples, foi feito com <strong>fins exclusivamente didáticos</strong> - bem alinhado com o que me despertou o interesse por fluídica (e também com o trabalho de Meetze).</p>
<p><img class="aligncenter size-full wp-image-321" title="mlfabpauloandadder1" src="http://blog.vettalabs.com/wp-content/uploads/2009/04/mlfabpauloandadder1.jpg" alt="mlfabpauloandadder1" width="300" height="360" /></p>
<p>Ao revisar esse artigo, o Kentaro me falou de um outro tipo de computador baseado em água, o <a href="http://en.wikipedia.org/wiki/MONIAC_Computer" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');">MONIAC</a>. Ele também foi construído originalmente com fins didáticos, mas era capaz de fazer <strong>simulações bem complexas da economia do Reino Unido</strong>. O MONIAC é um computador analógico que usa quantidade de água para representar os dados, como os integradores a água da União Soviética dos anos 1930, que eram capazes de resolver <strong>equações diferenciais parciais não-homogêneas</strong> - se você sabe o que é isso vai entender a importância da coisa! Mas o MONIAC era baseado em <strong>hidráulica, não em fluídica</strong>. A diferença é que sistemas hidráulicos têm várias partes móveis, mecânicas - êmbolos, pistões, &#8220;torneiras&#8221;, etc.  - uma abordagem bem diferente da fluídica, onde só o que se move é o próprio fluido.</p>
<p><strong>A Fluídica nos Anos 1960-1980</strong></p>
<p>Assim como eu, muita gente ficou animadíssima com as possibilidades que a Fluídica trazia. Nos anos 1960 e 1970 computadores eletrônicos eram frágeis, caros e lentos, e a robustez e simplicidade dos circuitos fluídicos era muito atrativa. Esse entusiasmo é fica claro ao ler artigos da época, publicados em revistas como Popular Mechanics e Popular Science. O divertido é que o conteúdo integral dessas revistas está disponível on-line, gratuitamente; o Google, mesmo sem tecnologia fluídica, faz o papel do Zero de Rollerball, hoje em dia! <img src='http://blog.vettalabs.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> Além disso, os artigos são extremamente acessíveis, explicando de forma bem clara o funcionamento dessa Fluídica de primeira geração.</p>
<p>Na época falavam-se, por exemplo, de <strong>circuitos fluídicos para controlarem o câmbio automático e a injeção de combustível</strong> em automóveis (ao invés da moderna injeção eletrônica que temos hoje), e substitutos fluídicos dos giroscópios dos sistemas de navegação pré-GPS.</p>
<p><a href="http://books.google.com/books?id=jSEDAAAAMBAJ&amp;pg=PA118&amp;vq=fluidics&amp;dq=fluidics&amp;as_brr=1&amp;hl=pt-BR&amp;source=gbs_search_s&amp;cad=0" onclick="javascript:pageTracker._trackPageview('/outbound/article/books.google.com');">Fluídica: Como Ensinaram uma Corrente de Ar a Pensar. Popular Science, junho de 1967</a></p>
<p><a href="http://books.google.com/books?id=x9MDAAAAMBAJ&amp;pg=PA114&amp;vq=control+power+with+fluid&amp;dq=fluidics&amp;as_brr=1&amp;hl=pt-BR&amp;source=gbs_search_s&amp;cad=0" onclick="javascript:pageTracker._trackPageview('/outbound/article/books.google.com');">Controle  Potência com Fluido. Popular Mechanics, julho de 1967</a></p>
<p><img class="aligncenter size-full wp-image-316" title="coanda" src="http://blog.vettalabs.com/wp-content/uploads/2009/04/coanda.jpg" alt="coanda" width="336" height="339" /></p>
<p>Mais tarde, outras aplicações envolviam <strong>aviônicos e circuitos de controle de mísseis e aviões militares</strong>; a idéia é que no caso de um ataque nuclear, o pulso eletromagnético gerado pelas bombas danificaria qualquer aparelho eletrônico, tornando impossível o vôo de caças aerodinamicamente instáveis. Caças aerodinamicamente instáveis precisam de auxílio de computador o tempo todo durante o vôo; um dos primeiros exemplos famosos foi o <strong>Grumman F-14 Tomcat</strong>, cujo ângulo das asas e outras superfícies de vôo é controlado por um dos primeiros microprocessadores eletrônicos integrados (desenvolvido secretamente antes do histórico <strong>Intel 4004</strong>).</p>
<p><strong>Em 1985 a mesma Grumman investia pesadamente em sistemas fluídicos de controle de vôo</strong>, e nem tudo ficou só na especulação ou em projetos militares de pesquisa; chegaram a ser produzidos modelos do <strong>Honda Accord com esses sistemas de navegação</strong>, por exemplo.</p>
<p><a href="http://books.google.com/books?id=jQAAAAAAMBAJ&amp;pg=PA80&amp;vq=fluidics&amp;dq=fluidics&amp;as_brr=1&amp;hl=pt-BR&amp;source=gbs_search_s&amp;cad=0" onclick="javascript:pageTracker._trackPageview('/outbound/article/books.google.com');">Fluídica: Computação sem Eletrônica. Popular Science, fevereiro de 1985</a></p>
<p>Mas apesar do oba-oba a Fluídica nunca obteve o sucesso previsto, muito provavelmente por causa do avanço rápido da eletrônica. Válvulas eram caras e frágeis, mas com o advento do transistor e, mais tarde, do circuito integrado tornou-se possível o uso de eletrônica em cenários muito mais críticos e extremos, e o chão de fábrica foi um dos primeiros alvos. A velocidade dos circuitos eletrônicos - milhares ou milhões de vezes superior a dos fluídicos - foi outro fator decisivo para a tecnologia ser esquecida ou relegada a nichos muito específicos.</p>
<p><strong>1990s: Microfluídica</strong></p>
<p>A Fluídica clássica não cumpriu todas as promessas, mas nos anos 1990 surgiram vários produtos baseados na sua prima de menor escala, a <strong>Microfluídica</strong>. A diferença está na escala: circuitos cujos dutos são da ordem de micrômetros (e não milímetros ou centímetros) apresentam comportamentos muito diferentes, porque nessa escala efeitos antes desprezíveis como tensão superficial e fluxo laminar tornam-se importantíssimos. Essa escala menor permite, por exemplo, que construam circuitos fluídicos &#8220;digitais&#8221;, em que se manipulam não um fluxo contínuo de fluido mas minúsculas gotas individuais.</p>
<p>Uma das tecnologias mais populares que foram muito influenciadas pela microfluídica foram as células de combustível. Células de combustível produzem eletricidade diretamente a partir de oxidante e combustível (oxigênio e hidrogênio, na maioria das vezes), sem a necessidade da tradicional combinação de motor a explosão e gerador elétrico (como nos carros). A microfluídica é usada para controlar o fluxo de oxidante e combustível, tornando essas células muito mais eficientes.</p>
<p>Mas, de longe, a aplicação de microfluidica que mais me interessa são os <strong>microarrays de DNA</strong>. Microarrays são chips, produzidos por processos microfluídicos, que contém milhares de fragmentos de material genético, organizados em forma de matriz. Quando se deposita material genético nesse chip, ele identifica exatamente quais trechos de material genético - quais genes - estão ativos naquela amostra. Isso permite a criação em larga escala de <strong>perfis de expressão genética</strong>, ou seja, perfis que mostrem quais genes do DNA estão &#8220;funcionando&#8221; num determinado momento. Simplesmente saber a seqüência de genes de um organismo (o objetivo do <strong>projeto Genoma</strong>) não é tudo; é muito mais importante descobrir como esses genes interagem entre si e a dinâmica deles ao longo da vida. Doenças, atividade física e intelectual, e vários outros fatores ativam e desativam a expressão genética em <strong>questão de horas</strong>, e os microarrays permitem que se tire uma &#8220;foto&#8221; dos genes em atividade.</p>
<p>Aqui no <a href="http://www.vettalabs.com"  target="_blank">Vetta Labs</a> trabalhamos há vários anos desenvolvendo software para análise de perfis de expressão genética produzidos por experimentos com microarrays. A maior parte desse esforço é feito em conjunto com a empresa americana <a href="http://biomind.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/biomind.com');" target="_blank">Biomind</a>, e desse esforço surgiu também um projeto opensource de ferramentas de bioinformática, o <a href="http://code.google.com/p/openbiomind/" onclick="javascript:pageTracker._trackPageview('/outbound/article/code.google.com');" target="_blank">OpenBiomind</a>, cujo principal mantenedor é o amigão Lúcio &#8220;Dr. Omni&#8221; Coelho.</p>
<p><strong>O Futuro: Nanofluídica</strong></p>
<p>Quando reduzimos ainda mais a escala saímos da microfluídica e entramos em algo ainda mais complexo, a nanofluídica. Agora os &#8220;canos&#8221; dos circuitos fluídicos são tão pequenos que sua espessura pode ser medida em moléculas dos fluidos que passam por eles (são usados, por exemplo, <strong>nanotubos de carbono</strong>). Nessa escala a noções como viscosidade e as propriedades elétricas das moléculas envolvidas são completamente diferentes do que se observa em circuitos fluídicos e microfluídicos, produzindo efeitos extremamente interessantes, como a <strong>dupla camada elétrica produzida usando nanocapilares</strong>.</p>
<p>As pesquisas em nanofluídica despertam muito interesse hoje; os planos são o desenvolvimento, por exemplo, de &#8220;laboratórios em um chip&#8221;, um circuito nanofluídico e microfluídico capaz de realizar uma série de experimentos bioquímicos de forma autônoma, usando amostras reduzidíssimas de material. Esses laboratórios poderiam ser utilizados em diagnóstico de doenças, monitoramento e análise de ambientes, aplicações de segurança como detecção de armas químicas e explosivos.</p>
<p>A Fluídica não é mera curiosidade histórica ou recurso didático. Como a maioria das tecnologias, as previsões feitas a respeito de como ela seria utilizada se mostraram bem distantes da realidade; ao mesmo tempo, as aplicações reais desenvolvidas acabam se mostrando ainda mais fantásticas e interessantes que os sonhos dos primeiros pesquisadores.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vettalabs.com/2009/04/14/fluidica-computacao-a-agua/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Google Summer of Code 2009</title>
		<link>http://blog.vettalabs.com/2009/03/25/google-summer-of-code-2009/</link>
		<comments>http://blog.vettalabs.com/2009/03/25/google-summer-of-code-2009/#comments</comments>
		<pubDate>Wed, 25 Mar 2009 13:38:05 +0000</pubDate>
		<dc:creator>Murilo Queiroz</dc:creator>
		
		<category><![CDATA[Biotecnologia]]></category>

		<category><![CDATA[Desenvolvimento]]></category>

		<category><![CDATA[Inteligência Artificial]]></category>

		<category><![CDATA[Linguagem Natural]]></category>

		<category><![CDATA[gsoc]]></category>

		<category><![CDATA[opensource]]></category>

		<guid isPermaLink="false">http://blog.vettalabs.com/?p=305</guid>
		<description><![CDATA[Aqui no Vetta Labs são desenvolvidos vários projetos da Novamente, e com isso temos bastante contato com o Singularity Institute for Artificial Intelligence (SIAI). Desde o ano passado o SIAI é um participante do Google Summer of Code, um programa que paga bolsas (US$ 4000) para estudantes do mundo todo trabalharem em projetos de código [...]]]></description>
			<content:encoded><![CDATA[<p>Aqui no Vetta Labs são desenvolvidos vários projetos da <a href="http://www.novamente.net/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.novamente.net');">Novamente</a>, e com isso temos bastante contato com o <a href="http://singinst.org/" onclick="javascript:pageTracker._trackPageview('/outbound/article/singinst.org');">Singularity Institute for Artificial Intelligence</a> (SIAI). Desde o ano passado o SIAI é um participante do Google Summer of Code, um programa que paga bolsas (US$ 4000) para estudantes do mundo todo trabalharem em projetos de código aberto e software livre durante o as férias do verão americano (daí o nome).</p>
<p>Os estudantes são orientados por mentores ligados às  organizações participantes. No <a href="http://code.google.com/soc/2008/siai/about.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/code.google.com');">GSoC 2008</a> fui <a href="http://code.google.com/p/openbiomind-gui/" onclick="javascript:pageTracker._trackPageview('/outbound/article/code.google.com');">mentor do projeto OpenBiomind-GUI</a>, que desenvolveu uma interface gráfica para um conjunto de ferramentas open source para bioinformática. Outro colega, Lúcio de Souza Coelho, também <a href="http://code.google.com/soc/2008/siai/appinfo.html?csaid=E0A382E700C0B278" onclick="javascript:pageTracker._trackPageview('/outbound/article/code.google.com');">participou como mentor</a>. Foi uma experiência muito interessante e gratificante.</p>
<p>E agora foram abertas as inscrições para o Google Summer of Code 2009! Estudantes no final da graduação e em pós-graduação podem participar, submetendo propostas baseadas nas idéias sugeridas pela organização, que incluem projetos em inteligência artificial e robótica  (<a href="http://www.opencog.org/wiki/The_Open_Cognition_Project" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.opencog.org');">OpenCog</a>), processamento de linguagem natural (<a href="http://www.abisource.com/projects/link-grammar/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.abisource.com');">Link Grammar</a> e <a href="http://opencog.org/wiki/RelEx" onclick="javascript:pageTracker._trackPageview('/outbound/article/opencog.org');">RelEx</a>), bioinformática e outros temas.</p>
<p>As propostas são avaliadas pelos mentores e outros membros do grupo, e as melhores são aceitas no programa. Ano passado houve 70 propostas para 11 vagas. A data limite para submissão de propostas é <strong>3 de Abril</strong>.</p>
<p>A página principal do GSoC tem todas as informações necessárias:</p>
<p><a href="http://socghop.appspot.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/socghop.appspot.com');" target="_blank">http://socghop.appspot.com</a></p>
<p>A página do SIAI no Google Summer of Code, especificamente, é a seguinte:</p>
<p><a href="http://socghop.appspot.com/org/show/google/gsoc2009/opencog" onclick="javascript:pageTracker._trackPageview('/outbound/article/socghop.appspot.com');" target="_blank">http://socghop.appspot.com/org/show/google/gsoc2009/opencog</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vettalabs.com/2009/03/25/google-summer-of-code-2009/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
