diagrama de casos de uso - fabricio breve · seguindo as mesmas regras simples bastante utilizado...
TRANSCRIPT
Computação Natural
Fabricio Breve - [email protected]
10/8/2007 1Fabricio Breve
Foto retirada de: http://www.virtualsciencefair.org
Computação Natural
Campo de investigação relativamente novo
que junta dois assuntos que antigamente se
acreditava serem totalmente distintos:
Natureza e Computação
Alguns problemas não podem ser resolvidos
usando as técnicas de computação
tradicionais, estimulando a busca de soluções
no melhor solucionador de problemas
conhecido: a Natureza
10/8/2007 Fabricio Breve 2
Computação Natural
Fornece:
◦ Soluções e modelos para problemas antigos,
porém ainda não resolvidos
◦ Uma nova forma de entender e interagir com
a natureza
Novos métodos de simular, emular e realizar
fenômenos naturais
10/8/2007 Fabricio Breve 3
Computação Natural
O estudo de fenômenos e padrões físicos, químicos e biológicos permite explicar e entender como a natureza funciona
◦ Exemplos:
O estudo das leis (da física) de movimento e gravidade permitiram a construção de aeronaves
O entendimento de princípios básicos da vida tornou possível controlar a natureza em vários níveis:
Criar alimentos transgênicos
Controle de doenças
10/8/2007 Fabricio Breve 4
Motivação
Por muitos séculos a observação do mundo natural permitiu derivar idéias de como a natureza funciona:
◦ Leis da física:
Eletromagnetismo (Equações de Maxwell)
Termodinâmica (conservação, entropia, zero absoluto)
Movimento (leis de Newton)
Etc...
10/8/2007 Fabricio Breve 5
Motivação
Fenômenos naturais (processos, substâncias, organismos) tem inspirado e motivado pessoas a projetar e construir novos sistemas e artefatos◦ Sonar de localização por eco
◦ Substâncias químicas usadas com fins medicinais
◦ Sistemas de imageamentoinfravermelho
◦ Aeronaves
◦ Submarinos
10/8/2007 Fabricio Breve 6
Motivação
A Computação Natural é a versão
computacional deste processo de extrair
idéias da natureza para desenvolver
sistemas artificiais (computacionais), ou
de usar mídia natural (ex.: biomoléculas)
para fazer computação.
Artificial = feito pelo homem (em vez de
feito pela natureza)
10/8/2007 Fabricio Breve 7
Computação Natural
Pode ser dividida em três grandes
ramificações:
◦ Uso da natureza para inspirar o
desenvolvimento de novas técnicas de
computação para resolver problemas
complexos
◦ Uso de computadores para recriar
fenômenos naturais e organismos
◦ Uso de materiais naturais para computar
Ex.: biomoléculas
10/8/2007 Fabricio Breve 8
Computação Natural
Conhecimentos envolvidos:
◦ Física
◦ Química
◦ Engenharia
◦ Biologia
◦ Ciência da Computação
10/8/2007 Fabricio Breve 9
Necessidade dos profissionais dessas
áreas agirem juntos ou ao menos
compartilharem idéias
Resultados da Computação Natural
Se o trabalho for bem feito não haverá muita
diferença para o usuário final:
◦ Planilhas recalculando mais rápido
◦ Corretor gramatical funcionando corretamente
◦ Muitos problemas complexos resolvidos
◦ Robôs conversando naturalmente com humanos
◦ Carros dirigindo sozinhos
◦ Novas formas de vida
◦ Computadores baseados em biomoléculas
◦ Etc.
10/8/2007 Fabricio Breve 10
Exemplos
Fenômenos e processos naturais
envolvendo meios naturais
◦ Agrupamento de corpos mortos em colônias
de formigas
◦ Bando de pássaros
◦ Manipulação de cadeias de DNA
10/8/2007 Fabricio Breve 11
Agrupamento de corpos mortos em
colônias de formigas Para limpar seus ninhos, algumas espécies
de formiga agrupam os corpos
Mecanismo básico:
◦ Atração entre os itens mortos mediada pelas
formigas
◦ Pequenos agrupamentos de itens aumentam
ao atrair mais trabalhadores para depositar
mais itens.
10/8/2007 Fabricio Breve 12
Agrupamento de corpos mortos em
colônias de formigas
(a) Distribuição inicial
(b) Corpos agrupados
10/8/2007 Fabricio Breve 13
Agrupamento de corpos mortos em
colônias de formigas Regra de apanhar
◦ Se uma formiga encontra um corpo, ela o pega e passeia pela arena até encontrar outro corpo A probabilidade da formiga pegar um corpo é
inversamente proporcional ao número de itens naquela porção da arena, quanto mais corpos por perto, menor a probabilidade
Regra de soltar◦ Enquanto passeia, a formiga carregada
eventualmente encontra mais corpos no caminho Quanto mais corpos são encontrados em uma
determinada região, maior a probabilidade da formiga soltar o corpo que está carregando, e vice-versa.
10/8/2007 Fabricio Breve 14
Agrupamento de corpos mortos em
colônias de formigas Questões:
1. Que tipo de problema poderia ser resolvido
inspirado por este modelo simples de um
fenômeno natural?
2. Como você usaria essas idéias para
desenvolver uma ferramenta computacional
10/8/2007 Fabricio Breve 15
Bando de Pássaros
Quando vemos um bando de pássaros no céu, é natural assumirmos que eles seguem um líder (aquele na frente do bando)
Porém, hoje acredita-se (e há boas evidências disso) que os pássaros no bando não seguem nenhum líder
10/8/2007 Fabricio Breve 16
Bando de Pássaros
Não existe regra global que possa ser definida para simular um bando de pássaros◦ Porém, é possível gerar um script para cada
pássaro simulado parar criar um comportamento de grupo mais realístico
Outra estratégia é derivar regras de comportamento genéricas para os pássaros individuais◦ Permite uma simulação realista
◦ O resultado é que muitos pássaros estarão seguindo as mesmas regras simples
◦ Bastante utilizado em filmes
10/8/2007 Fabricio Breve 17
Bando de Pássaros
Questões:
1. Descreva algumas dessas regras de
comportamento que, quando aplicadas para
cada pássaro no grupo, resultam em um
comportamento que não está especificado
pelas regras individuais (a interação entre
cada elemento usando tais regras resulta
num comportamento global que
freqüentemente não pode ser predito
olhando apenas as regras)
10/8/2007 Fabricio Breve 18
Bando de Pássaros
2. Você pode estender essas regras para
rebanhos/manadas de animais terrestres? E
para cardumes de peixes?
3. Há diferença qualitativa significante entre
esses vários tipos de comportamento de
grupo?
10/8/2007 Fabricio Breve 19
Manipulação de cadeias de DNA
Moléculas de DNA contém a informação
genética de todos os seres viventes na Terra.
Sabemos que esta informação genética, junto
com influências do ambiente, determinam o
fenótipo (características físicas) do indivíduo.
10/8/2007 Fabricio Breve 20
Manipulação de cadeias de DNA
Moléculas de DNA são compostas de
quatro bases, que acoplam-se a outras de
maneira complementar:
◦ A acopla com T
◦ C acopla com G
10/8/2007 Fabricio Breve 21
Manipulação de cadeias de DNA
Técnicas genéticas podem ser usadas para manipular o DNA artificialmente, alterando a informação codificada nessas moléculas. Elas podem ser:◦ Denatured (separar em cadeias simples)
◦ Annealed (cadeias simples podem ser “coladas” para formar uma cadeia de DNA)
◦ Shortened (reduzir em tamanho)
◦ Cut (separar em duas)
◦ Multiplied (copiada)
◦ Modified (ex.: novas seqüências inseridas)
◦ Etc.
10/8/2007 Fabricio Breve 22
Manipulação de cadeias de DNA
Questões:
1. A informação que codifica um organismo está
contida nas moléculas de DNA e estas podem
ser manipuladas, então a vida pode ser vista
como processamento de informações. Baseado
no seu conhecimento de como computadores
comuns (PCs) funcionam, proponha um novo
modelo de computador baseado em cadeias de
DNA e sugira um número de técnicas de
manipulação que pode ser usado para
computar com moléculas.
10/8/2007 Fabricio Breve 23
Manipulação de cadeias de DNA
Questões
2. Quais seriam as vantagens e desvantagens
do seu computador baseado em DNA
comparado com os computadores
tradicionais?
10/8/2007 Fabricio Breve 24
Filosofia da Computação Natural
Pesquisadores normalmente assumem
que sistemas e processos naturais são
governados por um conjunto finito de
regras
◦ Não é fácil encontrar tais regras, mas um
enorme progresso tem sido feito
10/8/2007 Fabricio Breve 25
Filosofia da Computação Natural
A maioria das abordagens computacionais
são baseadas em versões bastante
simplificadas dos mecanismos e processos
do fenômeno natural
◦ Necessário para que um grande número de
entidades seja tratável
◦ É vantajoso utilizar apenas o conjunto de
características necessárias para tornar
possível reproduzir os aspectos do sistema
que são desejáveis
10/8/2007 Fabricio Breve 26
Computação Inspirada pela
Natureza A natureza sempre teve bastante sucesso
em resolver problemas complexos
◦ Organismos vivos precisam sobreviver
Procurar comida
Se proteger de predadores e condições climáticas
Acasalar
Organizar suas casas
◦ Tarefas que requerem estratégias complexas, muitas vezes difíceis de modelar ou entender
10/8/2007 Fabricio Breve 27
Você sabia que a maneira com que as formigas buscam comida inspirou
algoritmos para resolver problemas de roteamento em redes de comunicação?
Computação Inspirada pela
Natureza Objetivos (menos freqüente)
◦ Modelar fenômenos naturais e simulá-los no
computador
Derivar modelos teóricos fiéis os suficiente aos
mecanismos naturais para reproduzir
quantitativamente ou qualitativamente algumas de
suas funções.
Fornecer melhor entendimento do fenômeno
natural sendo modelado
Usado na biologia, etnologia, ecologia, farmacologia,
nutrição, saúde, medicina
10/8/2007 Fabricio Breve 28
Computação Inspirada pela
Natureza Objetivos (mais freqüente)
◦ Estudo de fenômenos naturais, processos e
mesmo modelos teóricos para o
desenvolvimento de sistemas computacionais
e algoritmos capazes de resolver sistemas
complexos.
Fornecer técnicas (alternativas) para solucionar
problemas que não podem ser (satisfatoriamente)
resolvidos por técnicas tradicionais.
=> Técnicas de Computação Bioinspirada
10/8/2007 Fabricio Breve 29
Computação Inspirada pela
Natureza Quando o foco é a solução de problemas
não precisamos nos preocupar com a
fidelidade ao fenômeno sendo modelado.
◦ Modelos bastante abstratos (chamados
metáforas) podem imitar determinados
mecanismos da biologia
10/8/2007 Fabricio Breve 30
Computação Inspirada pela
Natureza Normalmente o fenômeno natural dá origem a
uma ferramenta computacional que depois será
melhorada algoritmicamente ou
matematicamente
Os modelos finais normalmente tem pouca
semelhança com o fenômeno natural que os
originou ou motivou
Exemplo: Redes Neurais Artificiais
10/8/2007 Fabricio Breve 31
Computação Inspirada pela
Natureza – Histórico (Marcos) 1943: McCulloch e Pitts introduzem o
primeiro modelo matemático de um neurônio que deu origem ao estudo de Rede Neurais Artificiais
Anos 60: diversos trabalhos deram origem ao campo de computação evolutiva, que utilizam idéias da biologia evolutiva para desenvolver algoritmos evolutivos para busca e otimização◦ Maioria deles são baseados na teoria Neo-
Darwiniana (variação genética, seleção natural, indivíduos mais aptos)
10/8/2007 Fabricio Breve 32
Computação Inspirada pela
Natureza – Histórico (Marcos) Final dos anos 80: sistemas robóticos
nos quais uma coleção de agentes simples
interagem em um ambiente baseado em
regras locais
◦ Deu origem ao termo inteligência de enxames,
que hoje é usado para designar qualquer
algoritmo inspirado no comportamento
coletivo de organismos sociais (de insetos a
sociedade humana)
10/8/2007 Fabricio Breve 33
Computação Inspirada pela
Natureza – Histórico (Marcos) Metade dos anos 80: sistemas
imunológicos artificiais emprestam idéias do
sistema imunológico para desenvolver
sistemas para resolver sistemas
complexos
◦ Aplicações vão de biologia a robótica
10/8/2007 Fabricio Breve 34
Computação Inspirada pela
Natureza - Sumário
10/8/2007 Fabricio Breve 35
Computação Inspirada pela Natureza
Algoritmos
Evolutivos
Redes Neurais
Artificiais
Inteligência de
Enxames
Sistemas
Imunológicos
Artificiais
Simulação e Emulação da Natureza
em Computadores Fornece novas ferramentas para a síntese
e estudo de fenômenos naturais que
possam ser usados para testar teorias
biológicas normalmente não passíveis de
teste via técnicas experimentais e
analíticas
10/8/2007 Fabricio Breve 36
Simulação e Emulação da Natureza
em Computadores Principais abordagens:
10/8/2007 Fabricio Breve 37
Simulação e Emulação da Natureza em
Computadores
Geometria Fractal da Natureza Vida Artificial
Simulação e Emulação da Natureza
em Computadores Avanços recentes em computação gráfica
tornaram possível a visualização de
estruturas naturais e processos com
realismo sem precedentes
◦ Imagens resultantes, animações e sistemas
interativos são úteis como ferramentas
científicas, de pesquisa e educacionais em
ciência da computação, engenharia, biociências
e muitos outros domínios
10/8/2007 Fabricio Breve 38
Simulação e Emulação da Natureza
em Computadores Geometria fractal é a
geometria da natureza◦ Irregular
◦ Fragmentada
◦ Estruturas complexas
Fractais em geral se caracterizam por:◦ Infinitos detalhes
◦ Infinita extensão
◦ Auto-similaridade
◦ Dimensões fractais
◦ Ausência de lisura
◦ Ausência de derivados10/8/2007 Fabricio Breve 39
Simulação e Emulação da Natureza
em Computadores Exemplos de fractais na Natureza:
◦ Samambaia
◦ Contorno da costa litorânea
◦ Montanhas
◦ Couve-Flor
◦ Brócolis
◦ Outras plantas e árvores
◦ Pulmões
◦ Sistema circulatório
◦ Cérebro
◦ Rins
◦ Muitos outros órgãos
10/8/2007 Fabricio Breve 40
Simulação e Emulação da Natureza
em Computadores Existem diversas técnicas
para modelar padrões e estruturas fractais:
◦ Cellular automata
◦ L-Systems
◦ Lindenmayer Systems
◦ Iterated Function Systems
◦ Particle Systems
◦ Brownian Motion
◦ Etc.
10/8/2007 Fabricio Breve 41
Simulação e Emulação da Natureza
em Computadores Aplicações
◦ Projeto de paisagens auxiliado por computador
◦ Estudo de processos de desenvolvimento e crescimento
◦ Modelagem e síntese de um grande número de padrões e fenômenos naturais
10/8/2007 Fabricio Breve 42
Simulação e Emulação da Natureza
em Computadores Importância do estudo de fractais e geometria fractal:
◦ Fogo em florestas tem fronteiras fractais
◦ O espalhamento de alguns líquidos em fluídos viscosos tem padrões fractais
◦ Proteínas se dobram no espaço tridimensional em dimensões fractais
◦ Anticorpos se acoplam a antígenos através de dimensões fractais complementares de suas superfícies
◦ Fractais tem sido usados para modelar a dinâmica do vírus da AIDS
◦ Células cancerosas podem ser identificadas baseadas em suas dimensões fractais
◦ Etc.
10/8/2007 Fabricio Breve 43
Simulação e Emulação da Natureza
em Computadores Vida Artificial
◦ Campo de pesquisa que complementa que se preocupa com a análise de organismos vivos através da síntese em computadores e outras mídias artificiais de comportamentos semelhante ao de seres vivos (e criaturas semelhantes a seres vivos)
◦ Normalmente abordagens não estão preocupadas em resolver nenhum problema em particular
◦ Objetivo de aumentar o entendimento da natureza (life-as-it-is), e possivelmente novas formas de vida (life-as-it-could-be)
10/8/2007 Fabricio Breve 44
Simulação e Emulação da Natureza
em Computadores Vida Artificial
◦ Novas tecnologias:
Robôs sofisticados
Ferramentas de monitoramento ecológico
Sistemas educacionais
Computação gráfica
Etc.
10/8/2007 Fabricio Breve 45
Simulação e Emulação da Natureza
em Computadores Vida Artificial
◦ Se preocupa principalmente em simular e emular
comportamentos de organismos para permitir o
estudo ou simulação de fenômenos naturais
◦ Alguns trabalhos:
Estudar congestionamento de trânsito
Comportamento de sistemas biológicos
Evolução de organismos em ambientes virtuais
Simulação de comportamento coletivo
Estudo e caracterização de vírus de computador
Etc.
10/8/2007 Fabricio Breve 46
Computação com Materiais
Naturais Novos métodos
computacionais baseados
em outros materiais
naturais em vez do silício
◦ Resultam em uma
computação não-padrão que
supera alguns limites dos
computadores seqüenciais de
John von Neumann.
10/8/2007 Fabricio Breve 47
Computação com Materiais
Naturais Como toda operação matemática pode ser
quebrada em bits, e qualquer função lógica pode ser construída usando portas AND e NOT, qualquer “coisa” computável pode ser realizada por portas AND e NOT devidamente conectadas◦ Torna possível o uso de novos conceitos de
processos computacionais, baseados em materiais naturais: Reações Químicas
Moléculas de DNA
Dispositivos de Mecânica Quântica
10/8/2007 Fabricio Breve 48
Computação com Materiais
Naturais Hoje um único chip de silício
pode conter milhões de portas lógicas◦ Com a miniaturização logo
chegaremos a um estado onde as portas lógicas serão feitas de átomos
◦ Lei de Moore: o número de transistores em um único chip dobra a cada dois anos Se essa escala permanecer válida, até
o final da década chegaremos ao limite em termos de poder de processamento
10/8/2007 Fabricio Breve 49
Computação com Materiais
Naturais Questão: que outros materiais podem ser
usados para fazer computação no lugar
do silício?
◦ Após certo nível de miniaturização as leis da
física tradicional não serão mais aplicáveis,
pois os efeitos quânticos passarão a existir
Nova questão: como computar sob os efeitos
quânticos?
10/8/2007 Fabricio Breve 50
Computação com Materiais
Naturais Para responder tais questões os
pesquisadores estão tentando construir
novos computadores baseados em DNA
e RNA e Teoria Quântica
◦ Computação Molecular
◦ Computação Quântica
10/8/2007 Fabricio Breve 51
Computação com Materiais
Naturais Duas principais áreas:
10/8/2007 Fabricio Breve 52
Computação com Materiais Naturais
Computação com DNA Computação Quântica
Computação com Materiais
Naturais: Computação Molecular Baseada no uso de moléculas biológicas
(biomoléculas) para guardar informação
juntamente com técnicas de engenharia
genética (biomolecular) para manipular
estas moléculas
◦ Combinação poderosa entre Ciência da
Computação e Biologia Molecular
10/8/2007 Fabricio Breve 53
Computação com Materiais
Naturais: Computação Molecular Em 1994 L. Adleman resolveu um
problema NP-Completo usando moléculas DNA e técnicas biomoleculares
Desde então vários outras “soluções moleculares” foram propostas para problemas complexos
Foi mostrado que computadores moleculares podem fazer computação universal
10/8/2007 Fabricio Breve 54
Computação com Materiais
Naturais: Computação Molecular Vantagens
◦ Alta velocidade
◦ Uso eficiente de energia
◦ Armazenamento de informações econômico
Característica
◦ Uso maciço de computação paralela
10/8/2007 Fabricio Breve 55
Computação com Materiais
Naturais: Computação Quântica Quando a escala atômica das portas
lógicas for alcançada as regras que
prevaleceram serão as da mecânica
quântica, bastante diferente das regras
clássicas que determinam as propriedades
das portas lógicas convencionais
◦ Será necessário tecnologia quântica para
suplementar ou complementar a tecnologia
atual
10/8/2007 Fabricio Breve 56
Computação com Materiais
Naturais: Computação Quântica Computação Quântica é o estudo de
tarefas de processamento de informação
que pode ser obtido usando sistemas de
mecânica quântica
◦ Informação é armazenada no nível micro
físico onde mecanismos quânticos prevalecem
10/8/2007 Fabricio Breve 57
Computação com Materiais
Naturais: Computação Quântica Em tais casos, um bit pode representar zero e um
simultaneamente, e a medida e manipulação desses bits é modelada como uma matriz de operações.
Em 1982 R. Feynman introduziu um computador capaz de simular física quântica
Em 1984 D. Deutsch demonstrou a capacidade de computação universal dos computadores quânticos
Em 1994 P. Shor introduziu o primeiro algoritmo quântico capaz de fazer fatoração de forma eficiente, algo que só pode ser feito com um computador quântico
10/8/2007 Fabricio Breve 58
Computação com Materiais
Naturais: Computação Quântica Pode fornecer um tipo inteiramente novo
de computação com algoritmos
qualitativamente novos baseados em
mecânica quântica
Portanto oferece muito mais que apenas
adicionar a capacidade de processar mais
bits que os computadores baseados em
silício
10/8/2007 Fabricio Breve 59
Quando usar abordagens de
Computação Natural Problema 1: uma companhia precisa
encontrar a menor rota a partir de sua
fábrica, passando por todas as cidades
onde entrega seus produtos e retornando
a fábrica. Cada cidade deve ser visitada
apenas uma vez
◦ Traveling Salesman Problem (TSP)
10/8/2007 Fabricio Breve 60
Quando usar abordagens de
Computação Natural TSP:
◦ Muitas aplicações práticas: de entrega de
comida em restaurantes fast-food a projeto
de placas de circuito.
◦ Simples de definir, mas difícil de resolver,
principalmente quando o número de cidades
envolvidas é grande
10/8/2007 Fabricio Breve 62
Quando usar abordagens de
Computação Natural
Fábrica Cidades Rotas Possíveis
1 3 6
1 4 24
1 5 120
1 10 3628800
1 20 2432902008176640000
10/8/2007 Fabricio Breve 63
Quando usar abordagens de
Computação Natural A maneira mais direta de resolver o
problema é testar todas as rotas (força-bruta)
Se você tiver um computador capaz de analisar 100 rotas por segundo
◦ Menos de 1 segundo para resolver um problema com 3 cidades
◦ Pouco mais de 1 segundo com 5 cidades
◦ Com as 27 cidades do problema proposto o mesmo PC levaria 3,5 x 1019 anos
10/8/2007 Fabricio Breve 64
Quando usar abordagens de
Computação Natural Problema 2: uma empresa que produz
filmes de animação quer desenhar um
bando de zebras fugindo de alguns leões
famintos. Sua tarefa é propor meios de
simular realisticamente e efetivamente o
comportamento coletivo das zebras.
10/8/2007 Fabricio Breve 65
Quando usar abordagens de
Computação Natural Provavelmente a primeira proposta que vem
a mente é escrever um script para cada zebra
◦ Vantagem
É mais fácil que escrever um script para controlar o bando todo
◦ Desvantagens
Trabalhoso quando o número de zebras é grande
O número de scripts cresce junto com o número de zebras
A complexidade cresce exponencialmente, quanto mais zebras mais difícil é coordená-las para evitar colisões, etc.
Difícil de modificar ao utilizar cenários mais complexos
Estático, o resultando coletivo será sempre o mesmo cada vez que o script rodar.
10/8/2007 Fabricio Breve 66
Quando usar abordagens de
Computação Natural Solução
◦ Encontrar um conjunto de regras simples que
serão responsáveis por guiar o
comportamento individual das zebras pelo
campo, de maneira similar ao que já
discutimos sobre bandos de pássaros.
10/8/2007 Fabricio Breve 67
Quando usar abordagens de
Computação Natural Além das zebras você deve também criar
o ambiente nos quais os animais serão colocados.
Solução (abordagem mais simples):
◦ Desenhar ou fotografar cenários reais e usá-los como fundo para animação (como é feito nos cartoons)
◦ Problema:
Tem que ser feito frame a frame
A memória necessária para armazenar todas essas imagens é bastante grade
10/8/2007 Fabricio Breve 68
Quando usar abordagens de
Computação Natural Solução eficiente
◦ Utilizar técnicas de geometria fractal para
reproduzir cenários naturais
Diversos algoritmos disponíveis (já citados)
Pequena quantidade de memória
Estas técnicas empregam um pequeno número de
regras ou equações para gerar padrões ou simular
fenômenos on line, reduzindo a necessidade de
grandes dispositivos de armazenamento.
10/8/2007 Fabricio Breve 69
Quando usar abordagens de
Computação Natural Problema 3: na tecnologia de computadores atual,
bits constituem a unidade básica de informação. Eles estão fisicamente armazenados em circuitos ou chips feitos com a tecnologia de silício. A necessidade de aumentar a capacidade de memória e processamento dos computadores levou a miniaturização dos componentes eletrônicos. No ano 200 aproximadamente 109 átomos eram necessários para representar um único bit. É estimado que no ano 2020 um único átomo será usado para representar um bit. A questão: se iremos inevitavelmente atingir os limites da miniaturização da tecnologia atual, que outros tipos de materiais (além do silício) podem ser usados para computar?
10/8/2007 Fabricio Breve 70
Quando usar abordagens de
Computação Natural Sumarizando, devemos usar computação natural
quando:◦ O problema a ser resolvido é complexo Grande número de variáveis
Muitas potenciais soluções
Não-linear
Etc.
◦ Não é possível garantir que uma solução potencial é a melhor, mas é possível encontrar uma medida que permita a comparação entre as possíveis soluções
◦ O problema a ser resolvido não pode ser modelado (corretamente), tais como tarefas de reconhecimento de padrões e classificação. Apesar de não poder ser encontrado um modelo podem haver
amostras que podem ser usadas para “ensinar” um sistema em como resolver o problema, e o sistema “aprende” a partir dos exemplos
10/8/2007 Fabricio Breve 71
Quando usar abordagens de
Computação Natural◦ Uma única solução não é boa o suficiente, ou seja,
diversidade é importante A maioria das técnicas permitem encontrar apenas uma única
solução para um dado problema
Isto acontece porque a maioria delas é determinística (sempre usa a mesma seqüência de passos para encontrar a solução)
Computação natural é, na sua maioria, composta de métodos probabilísticos
◦ Processos ou sistemas químicos, físicos e biológicos tem de ser emulados ou simulados com realismo A Geometria Euclidiana é muito boa e eficiente para criar
formas feitas pelo homem, mas tem dificuldade em reproduzir padrões naturais.
Isto ocorre porque a natureza é fractal, e apenas a geometria fractal tem ferramentas apropriadas para modelar a natureza.
10/8/2007 Fabricio Breve 72
Quando usar abordagens de
Computação Natural◦ Fenômenos e comportamentos de seres vivos
tem de ser sintetizados em mídia artificial (computadores, robôs)
A essência do fenômeno natural é extraída e sintetizada de uma maneira normalmente bem mais simples no sistema artificial.
◦ Os limites da tecnologia atual são alcançados ou novos materiais tem de ser encontrados.
A natureza é abundante com armazenamento de informação e sistemas de processamento. Os aspectos científicos e de engenharia de como utilizar estes materiais são o principal desafio da computação com materiais naturais.
10/8/2007 Fabricio Breve 73
Referências Bibliográficas
CASTRO, Leandro Nunes. Fundamentals of Natural Computing: Basic Concepts, Algorithms, And Applications. CRC Press, 2006.
CARVALHO, André Ponce de Leon F. de. Notas de Aula, 2007.
HAYKIN, Simon. Redes Neurais: Princípio e Prática. Bookman, 2001.
KOVACS, Zsolt L. Redes Neurais Artificiais: Fundamentos e Aplicações. Livraria da Física, 2006.
10/8/2007 Fabricio Breve 74