Estou mais uma vez usando este espaco para fazer uma propaganda do Coursera. No site http://coursera.org e possivel participar de varios cursos a distancia de 16 Universidades. Estou participando do curso Quantum Mechanics and Quantum Computation e como os videos estao em ingles, estou disponibilizando uma traducao em portugues. Segue o link da legenda do video 1-2 Overview. Espero receber a ajuda dos colegas do coursera para agilizar no processo de criacao e sincronizacao das legendas. Fiz essa primeira sozinho e como e a primeira vez que participo de uma atividade neste sentido, acredito que esta muito boa. Para a legendagem utilizei o site http://www.universalsubtitles.org. Bom, era isso. See ya. Neste topico retorno a Inteligencia Artificial para falar do Problema de Satisfacao de Restricoes, problemas de IA e algoritmos para resolver essa classe de problemas. Ao final colocarei as referencias utilizadas para a definicao do algoritmo. Vou abordar esse assunto em tres postagens distintas. Nessa primeira postagem vou tratar da parte teorica, onde explicarei o Problema de Satisfacao de Restricoes, aplicacao e algoritmo. Na segunda postagem, nao falarei sobre CSP, mas sim sobre o NetLogo, um software para simulacao mono ou multi agente, com um exemplo didatico e um breve tutorial em portugues sobre como utilizar o NetLogo. E na terceira postagem retorno ao CSP para implementar o algoritmo dessa postagem no NetLogo, com o objetivo de resolver computacionalmente o Problema das 4 Rainhas. Eugene C. Freuder escreveu que a programacao de restricoes representa a abordagem mais proxima para se atingir o Santo Graal da programacao, baseia-se na ideia de que o usuario declara o problema e o computador resolve. Com essa afirmacao eu diria que muitos programadores perderam seus empregos, mas a coisa nao e por ai. Para que o problema seja resolvido por CSP, temos que formaliza-lo. Ou seja definir as variaveis do nosso problema e as restricoes para essa variavel, entao o algoritmo poderia resolve-lo. E a tarefa de formalizar o problema nao e nada trivial. Resolucao de Problemas com Dominios Finitos: O problema que demonstrarei na terceira postagem da serie sobre CSP, 4-Queen ou sua variante n-Queen, trata de quatro rainhas colocadas em um tabuleiro de xadrez de 4x4 casas, e consiste em posicionar as quatro rainhas de modo que elas nao se ataquem. A variante N-Queen funciona da mesma forma, no entanto, temos um numero n de rainhas num tabuleiro de xadrez de n x n casas. Ilustracao do Problema de 10-Rainhas Fonte: http://rosettacode.org/wiki/N-queens_problem Problemas de empacotamento sao outro tipo de problemas que podem ser resolvidos utilizando CSP de dominio finito, neste caso, temos uma serie de objetos para serem postos em uma area limitada de forma que esses objetos nao se sobreponham, de modo que respeitem restricoes de posicionamento e nao violem determinado valor de capacidade. Uma apliacao pratica desse tipo de problema poderiam ser insercao de cargas em veicuos de transporte, insercao de componentes eletronicos em placas de circuito impresso, armazenamento de produtos. Ha um problema classico que trata de empacotamento de retangulos em uma area, de forma que todos se encaixem. Empacotamento de Blocos