• Nenhum resultado encontrado

Implementação de um Algoritmo Heurístico para Problemas de Restrições. Por: Alexsandro Santos Pires Orientação: Prof.

N/A
N/A
Protected

Academic year: 2021

Share "Implementação de um Algoritmo Heurístico para Problemas de Restrições. Por: Alexsandro Santos Pires Orientação: Prof."

Copied!
40
0
0

Texto

(1)

Por: Alexsandro Santos Pires Orientação: Prof. Jomi Fred Hübner 1

Heurístico para Problemas de

Restrições

Heurístico para Problemas de

Restrições

(2)

Por: Alexsandro Santos Pires Orientação: Prof. Jomi Fred Hübner

2 

Introdução



Fundamentação teórica



Desenvolvimento



Operacionalidade



Resultados e discussão



Conclusão



Extensões



Relevância pessoal



Introdução



Fundamentação teórica



Desenvolvimento



Operacionalidade



Resultados e discussão



Conclusão



Extensões



Relevância pessoal

(3)

Por: Alexsandro Santos Pires Orientação: Prof. Jomi Fred Hübner

3



Contexto

 Acadêmicos se entusiasmam também com a

disciplina de inteligência artificial

 Problemas de satisfação de restrições (PSR) ou,

em inglês, Constraint Satisfaction Problems (CSP)

 Aluno faz a especificação do CSP, porém não

observa internamente como chegou-se a solução 

Objetivos

 Implementar algoritmo de busca para CSP

 Disponibilizar heurísticas na busca  Integrar com o CSP&Cop Builder



Contexto

 Acadêmicos se entusiasmam também com a

disciplina de inteligência artificial

 Problemas de satisfação de restrições (PSR) ou,

em inglês, Constraint Satisfaction Problems (CSP)

 Aluno faz a especificação do CSP, porém não

observa internamente como chegou-se a solução



Objetivos

 Implementar algoritmo de busca para CSP  Disponibilizar heurísticas na busca

(4)

Por: Alexsandro Santos Pires Orientação: Prof. Jomi Fred Hübner

4

Constraint Satisfaction Problems

Constraint Satisfaction Problems



Conjunto de variáveis: {V1, V2, ...,V

n

}



Conjunto de restrições: {R1, R2, ..., R

m

}



Cada variável V

i

tem um domínio D

i



Cada restrição R

j

envolve um subconjunto de

V

i



Um estado é uma atribuição de todas as

variáveis V com um valor do domínio D



Uma solução é uma atribuição consistente

com todas as restrições



Conjunto de variáveis: {V1, V2, ...,V

n

}



Conjunto de restrições: {R1, R2, ..., R

m

}



Cada variável V

i

tem um domínio D

i



Cada restrição R

j

envolve um subconjunto de

V

i



Um estado é uma atribuição de todas as

variáveis V com um valor do domínio D



Uma solução é uma atribuição consistente

com todas as restrições

(5)

Por: Alexsandro Santos Pires Orientação: Prof. Jomi Fred Hübner

5

CSP – Coloração de Mapas

CSP – Coloração de Mapas

Fonte: Russell e Norvig (2004, p. 135). Fonte: Russell e Norvig (2004, p. 135).

 Definição do problema

 Definição do problema  Problema como um CSPProblema como um CSP

Variável (nodo) Restrição

(6)

Por: Alexsandro Santos Pires Orientação: Prof. Jomi Fred Hübner

6

Especificação de um CSP

Especificação de um CSP

Variáveis = { AO, TN, Q, NGS, V, AM, T } Restrições = { (AO TN), (AO AM), (TN AO), (TN AM), (TN Q) ..., (NGS V) }

Domínio para as variáveis = { vermelho, verde, azul } Solução possível = { (AO = vermelho),

(TN = verde), (Q = vermelho), (NGS = verde), (V = vermelho), (AM = azul), (T = vermelho) }

Fonte: Russell e Norvig (2004, p. 135).

(7)

Por: Alexsandro Santos Pires Orientação: Prof. Jomi Fred Hübner

7

Problema das N-Rainhas

Problema das N-Rainhas

Fonte: Tsang (1993, p. 2). Fonte: Tsang (1993, p. 2).

 Definição do problema

De acordo com Tsang:

 As variáveis são as rainhas  As restrições são:

nenhuma das rainhas podem estar em posição de ataque

 Os valores do domínio de

cada variável são as

posições da coluna em que cada uma pode estar na sua linha.

 Definição do problema

De acordo com Tsang:

 As variáveis são as rainhas  As restrições são:

nenhuma das rainhas podem estar em posição de ataque

 Os valores do domínio de

cada variável são as

posições da coluna em que cada uma pode estar na sua linha.

(8)

Por: Alexsandro Santos Pires Orientação: Prof. Jomi Fred Hübner

8

Busca-com-retrocesso

Busca-com-retrocesso



É um algoritmo recursivo de busca em

profundidade



Aprofundamento da árvore pela esquerda



Cada vez que encontra uma inconsistência,

efetua um retrocesso na árvore, tentando

pelo ramo mais a direita do nível atual



Russel e Norvig propõem a implementação

deste, demonstrando o algoritmo em sua

literatura



É um algoritmo recursivo de busca em

profundidade



Aprofundamento da árvore pela esquerda



Cada vez que encontra uma inconsistência,

efetua um retrocesso na árvore, tentando

pelo ramo mais a direita do nível atual



Russel e Norvig propõem a implementação

deste, demonstrando o algoritmo em sua

literatura

(9)

Por: Alexsandro Santos Pires Orientação: Prof. Jomi Fred Hübner

9

Árvore gerada pelo algoritmo

Árvore gerada pelo algoritmo

Fonte: Russell e Norvig (2004, p. 135).

(10)

Por: Alexsandro Santos Pires Orientação: Prof. Jomi Fred Hübner

10

Heurísticas

Heurísticas



Procuram reduzir o número de passos, ou

seja, verificações de consistência (VC), até

que se chegue a solução



São estratégias de busca que são

programadas independentes de qualquer

problema em particular, ou seja, podem

servir para diversos problemas



Heurística de variável mais restritiva

 Prefere pela variável envolvida com mais

restrições



Procuram reduzir o número de passos, ou

seja, verificações de consistência (VC), até

que se chegue a solução



São estratégias de busca que são

programadas independentes de qualquer

problema em particular, ou seja, podem

servir para diversos problemas



Heurística de variável mais restritiva

 Prefere pela variável envolvida com mais

(11)

Por: Alexsandro Santos Pires Orientação: Prof. Jomi Fred Hübner

11

Heurísticas

Heurísticas

 Heurística de variável mais restringida

 Prefere pela variável que tem menos valores em seu

domínio

 Busca Local com a heurística de conflitos mínimos  Conflitos mínimos prefere pelo valor que resulta no menor

número de conflitos com outras variáveis e pode ser aplicada no algoritmo de busca local

 Busca local, utiliza uma formulação de estados completos e

utiliza como função sucessor a alteração do estado de uma variável de cada vez

 Tem um número máximo de passos na busca

 Russel e Norvig também sugerem a implementação deste

em sua literatura

 Heurística de variável mais restringida

 Prefere pela variável que tem menos valores em seu

domínio

 Busca Local com a heurística de conflitos mínimos

 Conflitos mínimos prefere pelo valor que resulta no menor

número de conflitos com outras variáveis e pode ser aplicada no algoritmo de busca local

 Busca local, utiliza uma formulação de estados completos e

utiliza como função sucessor a alteração do estado de uma variável de cada vez

 Tem um número máximo de passos na busca

 Russel e Norvig também sugerem a implementação deste

(12)

Por: Alexsandro Santos Pires Orientação: Prof. Jomi Fred Hübner

12

Exemplo de Conflitos Mínimos

Exemplo de Conflitos Mínimos

Variáveis conflitantes

Variáveis conflitantes

Valores Conflitos mínimos

Valores Conflitos mínimos

Posição/Valor escolhido

Posição/Valor escolhido

 Primeiro é gerado uma

atribuição aleatória

 Primeiro é gerado uma

atribuição aleatória

Número de conflitos gerados/ataques

(13)

Por: Alexsandro Santos Pires Orientação: Prof. Jomi Fred Hübner

13

Exemplo de Conflitos Mínimos

Exemplo de Conflitos Mínimos

Variáveis conflitantes

Variáveis conflitantes

Valor Conflitos mínimos

Valor Conflitos mínimos

Posição/Valor escolhido

Posição/Valor escolhido

Número de conflitos gerados/ataques

(14)

Por: Alexsandro Santos Pires Orientação: Prof. Jomi Fred Hübner

14

Exemplo de Conflitos Mínimos

Exemplo de Conflitos Mínimos

 Atribuição completa!

 Solucionado em apenas

dois passos, ou seja, com duas verificações de consistência

 Atribuição completa!

 Solucionado em apenas

dois passos, ou seja, com duas verificações de consistência

(15)

Por: Alexsandro Santos Pires Orientação: Prof. Jomi Fred Hübner

15

dyn

DCSP

dyn

DCSP



Projeto do Grupo de Inteligência Artificial da

Furb



É um trabalho correlato

 Seu framework possui algoritmo de resolução de

CSP de forma distribuída, um Distributed Constraint Satisfaction Problem (DCSP)



Disponibiliza uma Biblioteca que provê a

representação de CSPs em classes Java



Possui uma linguagem que possibilita a

especificação de CSPs no CSP&Cop

Builder



Projeto do Grupo de Inteligência Artificial da

Furb



É um trabalho correlato

 Seu

framework

possui algoritmo de resolução de

CSP de forma distribuída, um Distributed Constraint Satisfaction Problem (DCSP)



Disponibiliza uma Biblioteca que provê a

representação de CSPs em classes Java



Possui uma linguagem que possibilita a

(16)

Por: Alexsandro Santos Pires Orientação: Prof. Jomi Fred Hübner

16

Pacote CSP do

dyn

DCSP

Pacote CSP do

dyn

DCSP

Fonte: Santos (2005, p. 39). Fonte: Santos (2005, p. 39).

(17)

Por: Alexsandro Santos Pires Orientação: Prof. Jomi Fred Hübner

17

CSP&COP

Builder

CSP&COP

Builder

 Ferramenta que possibilita a especificação de CSPs

por meio de uma linguagem própria e de alto nível

 Contém um parser que gera como saída, uma

instância do objeto CSP contendo toda a especificação do CSP

 Possui uma interface gráfica, porém só pode ser

executado a partir do framework dynDCSP

 Tanto o dynDCSP quanto o CCB surgiram a partir

dos trabalhos correlatos descritos em Tralamazza e Santos

 Ferramenta que possibilita a especificação de CSPs

por meio de uma linguagem própria e de alto nível

 Contém um parser que gera como saída, uma

instância do objeto CSP contendo toda a especificação do CSP

 Possui uma interface gráfica, porém só pode ser

executado a partir do

framework dyn

DCSP

 Tanto o

dyn

DCSP quanto o CCB surgiram a partir

dos trabalhos correlatos descritos em Tralamazza e Santos

(18)

Por: Alexsandro Santos Pires Orientação: Prof. Jomi Fred Hübner

18

Interface e visão geral do CCB

Interface e visão geral do CCB



Ao lado, observa-se a

interface gráfica do

editor e a visão geral

do CCB



Ao lado, observa-se a

interface gráfica do

editor e a visão geral

do CCB

Fonte: Santos (2005, p. 39). Fonte: Santos (2005, p. 39).

(19)

Por: Alexsandro Santos Pires Orientação: Prof. Jomi Fred Hübner

19

Especificação no CCB

Especificação no CCB

Csp

Id: coloração de mapas; Version: 1.0;

Description: exemplo de definição CSP na linguagem do CCB; Domains

// as cores como domínio. 1 = vermelho, 2 = verde e 3 = azul cores : {1,2,3}

Variables

// Os estados como variáveis ao, tn, q, ngs, v, am, t: cores; Constraints

//as restrições de vizinhança, note que “t” não tem vizinhança alguma, logo // não terá restrições.

ao != tn; ao != am; tn != am; tn != q; am != q; am != ngs; am != v; q != ngs; ngs != v;



Especificação do CSP de coloração de mapas



Especificação do CSP de coloração de mapas

Fonte: Russell e Norvig (2004, p. 135). Fonte: Russell e Norvig (2004, p. 135).

(20)

Por: Alexsandro Santos Pires Orientação: Prof. Jomi Fred Hübner

20

GNUProlog

GNUProlog



Compilador da linguagem Prolog



Possui algoritmo de resolução de CSPs de

forma centralizada



Foi desenvolvido com a linguagem C



Utiliza-se de várias heurísticas e técnicas de

propagação de restrições como:

 Consistência de arcos, uma técnica/heurística

capaz de verificar ciclos a partir da atribuição

 Assim, é possível detectar com antecedência arcos

inconsistentes, evitando buscas inúteis em ramos onde nunca se encontrará uma solução



Compilador da linguagem Prolog



Possui algoritmo de resolução de CSPs de

forma centralizada



Foi desenvolvido com a linguagem C



Utiliza-se de várias heurísticas e técnicas de

propagação de restrições como:

 Consistência de arcos, uma técnica/heurística

capaz de verificar ciclos a partir da atribuição  Assim, é possível detectar com antecedência arcos

inconsistentes, evitando buscas inúteis em ramos onde nunca se encontrará uma solução

(21)

Por: Alexsandro Santos Pires Orientação: Prof. Jomi Fred Hübner

21

Técnicas e ferramentas utilizadas

Técnicas e ferramentas utilizadas



Na especificação utilizou-se a ferramenta

Enterprise Arquitect com o padrão UML



Na programação utilizou-se a linguagem Java

e o paradigma de orientação a objetos



Como ambiente de desenvolvimento

utilizou-se o Ecliputilizou-se



Na especificação utilizou-se a ferramenta

Enterprise Arquitect com o padrão UML



Na programação utilizou-se a linguagem Java

e o paradigma de orientação a objetos



Como ambiente de desenvolvimento

utilizou-se o Ecliputilizou-se

(22)

Por: Alexsandro Santos Pires Orientação: Prof. Jomi Fred Hübner

22

Diagrama de caso de uso

(23)

Por: Alexsandro Santos Pires Orientação: Prof. Jomi Fred Hübner

23

Diagrama de atividades

(24)

Por: Alexsandro Santos Pires Orientação: Prof. Jomi Fred Hübner

24

Diagrama de classes

(25)

Por: Alexsandro Santos Pires Orientação: Prof. Jomi Fred Hübner

25

Busca-com-retrocesso

Busca-com-retrocesso



 Onde inicia o algoritmo de busca

 Instancia a atribuição, inicialmente vazia  Cria o primeiro nível da recursividade



 Verifica a consistência da atribuição

 Percorre as variáveis e valores do domínio  Insere e remove da atribuição

 Cria os próximos níveis da recursividade

 Por fim retorna true para aprofundar a árvore ou

false

para fazer um retrocesso



 Onde inicia o algoritmo de busca

 Instancia a atribuição, inicialmente vazia  Cria o primeiro nível da recursividade



 Verifica a consistência da atribuição

 Percorre as variáveis e valores do domínio  Insere e remove da atribuição

 Cria os próximos níveis da recursividade

 Por fim retorna

true

para aprofundar a árvore ou

false

para fazer um retrocesso

+ pesquisaComRetrocesso(CSP, int, boolean) : Assignment

(26)

Por: Alexsandro Santos Pires Orientação: Prof. Jomi Fred Hübner

26

Heurísticas

Heurísticas



 Criam a lista de variáveis e ordenam pela

prioridade 

 Pega a primeira variável da lista ordenada sendo

que a mesma não deve ter sido atribuída



 Criam a lista de variáveis e ordenam pela

prioridade



 Pega a primeira variável da lista ordenada sendo

que a mesma não deve ter sido atribuída

- ordenarVariavelMaisRestritiva(CSP): void - ordenarVariavelMaisRestringida(CSP): void

- getVariavelMaisRestritiva(Assignment): Variable - getVariavelMaisRestringida(Assignment): Variable

(27)

Por: Alexsandro Santos Pires Orientação: Prof. Jomi Fred Hübner

27

Heurísticas – Conflitos Mínimos

Heurísticas – Conflitos Mínimos

+ iniciaConflitosMinimos(CSP, int, ResolveCSP): Assignment



 Controla o número de etapas/repetições

 Se consistente, retorna atribuição completa  Adiciona e remove variáveis da atribuição



 Gera uma atribuição inicial e aleatória, podendo

ou não ser consistente 

 Retorna um valor que gere menos conflitos para

uma variável informada



 Controla o número de etapas/repetições  Se consistente, retorna atribuição completa  Adiciona e remove variáveis da atribuição



 Gera uma atribuição inicial e aleatória, podendo

ou não ser consistente



 Retorna um valor que gere menos conflitos para

uma variável informada

- atribuicaoAleatoria(CSP): Assignment

(28)

Por: Alexsandro Santos Pires Orientação: Prof. Jomi Fred Hübner

28

Problema das 4 rainhas

(29)

Por: Alexsandro Santos Pires Orientação: Prof. Jomi Fred Hübner

29

Coloração de mapas

Coloração de mapas



Verifições de consistência



Verifições de consistência

21 15 8 0 5 10 15 20 25

Busca-com-retrocesso Busca-com-retrocesso com variável mais restritiva

Conflitos Mínimos V e ri fi c a ç õ e s d e C o n s is n c ia ( V C )

(30)

Por: Alexsandro Santos Pires Orientação: Prof. Jomi Fred Hübner

30 

Tempo em milisegundos



Tempo em milisegundos

Coloração de mapas

Coloração de mapas

0,6 7,4 5,5 34,8 0,0 5,0 10,0 15,0 20,0 25,0 30,0 35,0 40,0

Gnu Prolog Busca-com-retrocesso

Busca-com-retrocesso com

Variável mais restritiva

Conf litos Mínimos

T e m p o e m m il is e g u n d o s

(31)

Por: Alexsandro Santos Pires Orientação: Prof. Jomi Fred Hübner

31

N-rainhas com n=4

N-rainhas com n=4



Verifições de consistência



Verifições de consistência

58 58 58 16,8 0 10 20 30 40 50 60 70 Busca-com-retrocesso Busca-com-retrocesso com variável mais restritiva

Busca-com-retrocesso com variável mais restringida Conflitos Mínimos V e ri fi c a ç õ e s d e C o n s is n c ia ( V C )

(32)

Por: Alexsandro Santos Pires Orientação: Prof. Jomi Fred Hübner

32 

Tempo



Tempo

N-rainhas com n=4

N-rainhas com n=4

18,7 17,5 19,0 10,6 52,6 0,0 10,0 20,0 30,0 40,0 50,0 60,0

Gnu Prolog Busca-com-retrocesso Busca-com-retrocesso com variável mais restritiva Busca-com-retrocesso com variável mais restringida Conflitos Mínimos T e m p o e m m il is e g u n d o s

(33)

Por: Alexsandro Santos Pires Orientação: Prof. Jomi Fred Hübner

33



Algoritmo busca-com-retrocesso se mostrou

eficaz na resolução de CSPs



Ganhos nítidos do custo da busca do

algoritmo quando aliado as heurísticas,

satisfazendo as expectativas apontadas na

literatura



Integração com o CCB foi obtida



Diante desses resultados, conclui-se que o

trabalho atendeu a todos os objetivos

previamente formulados



Algoritmo busca-com-retrocesso se mostrou

eficaz na resolução de CSPs



Ganhos nítidos do custo da busca do

algoritmo quando aliado as heurísticas,

satisfazendo as expectativas apontadas na

literatura



Integração com o CCB foi obtida



Diante desses resultados, conclui-se que o

trabalho atendeu a todos os objetivos

(34)

Por: Alexsandro Santos Pires Orientação: Prof. Jomi Fred Hübner

34



Portabilidade



Programado em Java



Toda a especificação disponível e código

fonte todo comentado!



Trabalho completo com editor, compilador e

algoritmo de resolução heurístico



Pode ser usado didaticamente no ensino de

CSP para alunos de inteligência artificial



Portabilidade



Programado em Java



Toda a especificação disponível e código

fonte todo comentado!



Trabalho completo com editor, compilador e

algoritmo de resolução heurístico



Pode ser usado didaticamente no ensino de

CSP para alunos de inteligência artificial

(35)

Por: Alexsandro Santos Pires Orientação: Prof. Jomi Fred Hübner

35



Uso de heurísticas combinadas



Tempo gasto com as heurísticas não pode

ser gerenciado, devido ao alto

processamento

 Para isso deve-se usar técnicas de propagação de

restrições, evitando buscas inúteis em ramos que nunca se encontrará a solução e são descritas em Russell e Norvig.



Escolher o número de passos do algoritmo

de Busca Local com a heurística de Conflitos

Mínimos



Uso de heurísticas combinadas



Tempo gasto com as heurísticas não pode

ser gerenciado, devido ao alto

processamento

 Para isso deve-se usar técnicas de propagação de

restrições, evitando buscas inúteis em ramos que nunca se encontrará a solução e são descritas em Russell e Norvig.



Escolher o número de passos do algoritmo

de Busca Local com a heurística de Conflitos

Mínimos

(36)

Por: Alexsandro Santos Pires Orientação: Prof. Jomi Fred Hübner

36

Orientação a Objetos x Estruturada

Orientação a Objetos x Estruturada

 Porque implementou-se em Java?

 Linguagem atual e provê portabilidade

 O dynDCSP e o CCB foram programados em Java

 A literatura expõe algoritmos estruturados

 Por isso, os métodos foram implementados basicamente em

programação estruturada

 Pra fins didáticos é ótimo, pois o que o aluno visualiza no

algoritmo, é exatamente o que foi programado.

 Isto facilita o aprendizado!

 Apesar do algoritmo ser estruturado, há classes,

métodos e relações como em Orientação a Objetos

 Porque implementou-se em Java?

 Linguagem atual e provê portabilidade

 O dynDCSP e o CCB foram programados em Java

 A literatura expõe algoritmos estruturados

 Por isso, os métodos foram implementados basicamente em

programação estruturada

 Pra fins didáticos é ótimo, pois o que o aluno visualiza no

algoritmo, é exatamente o que foi programado.

 Isto facilita o aprendizado!

 Apesar do algoritmo ser estruturado, há classes,

(37)

Por: Alexsandro Santos Pires Orientação: Prof. Jomi Fred Hübner

37



Implementação de mais heurísticas e

métodos de propagação de restrições

 Com a Consistência de arcos, já é possível

gerenciar o tempo gasto com as heurísticas, de acordo com Russel e Norvig



Depuração detalhada do algoritmo afim de

otimizar o desempenho e código fonte



Implementação de algoritmos de ordenação

para as heurísticas



Implementação de mais heurísticas e

métodos de propagação de restrições

 Com a Consistência de arcos, já é possível

gerenciar o tempo gasto com as heurísticas, de acordo com Russel e Norvig



Depuração detalhada do algoritmo afim de

otimizar o desempenho e código fonte



Implementação de algoritmos de ordenação

para as heurísticas

(38)

Por: Alexsandro Santos Pires Orientação: Prof. Jomi Fred Hübner

38



Conhecimentos em Java e orientação a objetos

 Contato com a linguagem somente na disciplina

 Durante todo o curso, praticamente só utilizei a

linguagem do ambiente de programação Delphi

 Aprendi Java e OO fazendo este trabalho!



Conhecimentos no Eclipse

 Nunca tive contato com este ambiente de

desenvolvimento



Capacidade de entender, estender e integrar

sistemas feitos por outros acadêmicos

 CCB e dynDCSP



Conhecimentos em Java e orientação a objetos

 Contato com a linguagem somente na disciplina  Durante todo o curso, praticamente só utilizei a

linguagem do ambiente de programação Delphi

 Aprendi Java e OO fazendo este trabalho!



Conhecimentos no Eclipse

 Nunca tive contato com este ambiente de

desenvolvimento



Capacidade de entender, estender e integrar

sistemas feitos por outros acadêmicos

(39)

Por: Alexsandro Santos Pires Orientação: Prof. Jomi Fred Hübner

39

Diante de todo o desafio proposto

por mim mesmo, me sinto

realizado pela conclusão com

sucesso deste trabalho!

Fim.

Diante de todo o desafio proposto

por mim mesmo, me sinto

realizado pela conclusão com

sucesso deste trabalho!

(40)

Por: Alexsandro Santos Pires Orientação: Prof. Jomi Fred Hübner

40

DIAS, D. The Gnu Prolog web site. France, 2003. Disponível em: < http://gnu-prolog.inria.fr/>. Acesso em: 8 abr. 2006.

FILHO, E. C. B. C. et al. Constraint Satisfaction Problems. Recife, [1998?]. Disponível em: < http://www.cin.ufpe.br/~compint/aulas-IAS/csp.ppt>. Acesso em: 10 abr. 2006.

RICH, E.; KNIGHT, K. Inteligência artificial. Tradução Maria Cláudia Santos Ribeiro Ratto. São Paulo: Makron, 1993.

RUSSELL, S. J.; NORVIG, P. Inteligência artificial. Tradução PubliCare Consultoria. Rio de Janeiro: Elsevier, 2004.

SANTOS, F. Implementação distribuída do algoritmo Adopt. 2005. 115 f. Trabalho de Conclusão de Curso (Bacharelado em Ciências da Computação) – Centro de Ciências Exatas e Naturais, Universidade Regional de Blumenau, Blumenau.

_______. ccb_short_guide.pdf. Blumenau, 2006. 1 arquivo (98 Kbytes). Adobe Acrobat Reader 7. Disponível em: <

http://www.inf.furb.br/gia/dynDCSP/doc/ccb/ccb_short_guide.pdf>. Acesso em: 9 abr. 2006.

TRALAMAZZA, D. M. Desenvolvimento de um algoritmo para problema de satisfação

de restrição distribuída. 2004. 37 f. Trabalho de Conclusão de Curso (Bacharelado em

Ciências da Computação) – Centro de Ciências Exatas e Naturais, Universidade Regional de Blumenau, Blumenau.

Referências

Documentos relacionados

Haja vista as modificações decorrentes à pneumonectomia, referindo- se principalmente àquelas citadas em literatura, o objetivo do presente estudo foi o de avaliar as

Tripp (2005), igualmente, descreve a pesquisa-ação, voltada ao contexto educativo, como um método que, essencialmente, envolve tentativas continuadas, sistemáticas

Por fim, como era esperado, o Diário do Nordeste, pertencente ao maior grupo de comunicação do Ceará e o periódico mais vendido no Estado é, dentre todos, aquele que mais adotou

Este trabalho apresenta um modelo matemático para representação de um tecido em função da aplicação de forças e sua interação com elementos sólidos não deformáveis visando

A pesquisa objetiva analisar a influência do comprometimento organizacional na satisfação do usuário com a implantação do sistema de informação e, analisar a

Os substratos que demonstraram maiores IVG foram vermiculita e papel filtro, sendo que a vermiculita também propiciou maior porcentagem de germinação, indicando que esse substrato

CLÁUSULA QUINTA:- RESPONSABILIDADES DO ÓRGÃO GERENCIADOR. Caberá ao ÓRGÃO GERENCIADOR efetuar o pagamento pelo fornecimento do objeto do presente Instrumento, de acordo com

Conforme mencionado anteriormente, os basidiomicetos de podridão branca são mais utilizados em processos de micorremediação mediado pela biodegradação enzimática, mas a