Paradigmas Utilizados

No que concerne a Produção, os problemas são extremamente complexos, com inúmeras variáveis, de dimensão considerável e, talvez o mais importante de tudo, extremamente dinâmicos, i.e., as condições não são estáticas. Sendo que esta constante dinâmica influencia a resolução do problema, exigindo que se esteja frequentemente à procura de uma nova solução. Solução essa, que além de adequada deve ser encontrada em tempo útil.

Nas últimas décadas têm-se desenvolvido técnicas e sistemas para lidar com a crescente complexidade dos problemas, quer em termos da sua formulação, quer no que se refere à sua resolução. Tais sistemas, porém, não se apresentam sem algumas limitações, em que as de natureza computacional serão primus inter pares. Torna-se portanto necessário encontrar soluções técnicas/tecnológicas para o desenvolvimento de sistemas mais adequados a problemas com estas características. É neste contexto que se recorre à Computação Distribuída e à Inteligência Artificial.

Um sistema computacionalmente distribuído é composto por vários processos (possivelmente em localizações geográficas distintas), em que as tarefas estão divididas de forma funcional e/ou de acordo com o poder de computação de cada máquina. Os Sistemas Distribuídos oferecem várias vantagens na manutenção, pela facilidade de intercâmbio entre as diversas entidades do sistema. Os Sistemas Inteligentes (fruto da aplicação de técnicas de Inteligência Artificial) materializam-se através de entidades com valências, tais como, cooperação, coordenação, racionalidade, e inteligência, oferecendo um grande grau de flexibilidade e de auto-adaptação. É pois de concluir que da fusão destas duas disciplinas (i.e., Inteligência Artificial e Computação Distribuída) surja uma nova capaz de oferecer, pelo menos teoricamente, melhores soluções para problemas complexos e em domínios caracterizados por uma grande dinâmica.

A integração das técnicas da Inteligência Artificial com as da Computação Distribuída, deu corpo a uma nova disciplina, a Inteligência Artificial Distribuída (IAD). A IAD foi inicialmente definida como uma disciplina de resolução de problemas em que os dados, o conhecimento, e a computação estão geograficamente separadas em termos lógicos e/ou físicos [Nilsson, 1981] [Davis, 1980]. A investigação em IAD deu mais tarde origem aos Sistemas Baseados em Agentes e aos Sistemas Multiagente. Embora seja um campo de estudo desde o início dos anos noventa, não existe uma definição consensual de agente. Normalmente, é aceite que um agente é uma entidade autónoma, com um certo grau de inteligência, que persegue os seus objectivos, muitas vezes em representação de um utilizador. Tais agentes, têm que ser dotados de capacidades sociais de modo a lidar com outros agentes. Exibem comportamentos pró-activos, guiados por objectivos e reactivos. Podem ser dotados de capacidades de aprendizagem automática e podem, ainda, ser moveis.

Os Sistemas Baseados em Agentes são "adequados para aplicações modulares, descentralizadas, dinâmicas, subespecificadas [estrutura não completamente definida] e complexas" [Parunak, 1998a], que apresentem um "grande número de interacções entre componentes" [Kouiss et al., 1997]. Ora, um Sistema de Produção é caracterizado [Sousa et al., 2000b]:

Por estes motivos, espera-se que os princípios nos quais se baseiam a Inteligência Artificial Distribuída (IAD) e os Sistemas Multiagente (SMA) sejam úteis na criação da nova geração de sistemas de produção [Sousa e Ramos, 1997]. Esta metodologia permite modelar um sistema como um conjunto de elementos autónomos, inteligentes e cooperativos, de forma a obter arquitecturas flexíveis e reconfiguráveis [Sousa e Ramos, 1998].

Ora um sistema complexo, flexível e configurável é precisamente o alvo de atenção da teoria dos Sistemas Holónicos [Koestler, 1967]. Os Sistemas Holónicos baseiam-se na noção de 'holon' [Koestler, 1967] que significa "o todo" e "a parte", permitindo esta dualidade que um holon seja ao mesmo tempo visto como um elemento de construção de unidades maiores e ele próprio uma dessas unidades. Koestler (1967) define duas propriedades fundamentais dos holons: autonomia (a capacidade de uma entidade criar e controlar a execução dos seus próprios planos e estratégias) e cooperação (um processo no qual um conjunto de entidades desenvolve e executa planos mutuamente aceites). A estrutura organizacional de um sistema holónico é denominada holarquia. Pela própria definição de holon, uma holarquia é um holon. O ponto forte dos sistemas holónicos reside no facto de permitir a construção de sistemas complexos que, não obstante a sua complexidade, são eficientes na utilização de recursos, altamente resilientes às perturbações (externas e internas) e adaptáveis às mudanças no ambiente no qual existem [Valckenaers et al., 1997] [Langer, 1999].

Na área de Produção, os Sistemas Holónicos de Produção (HMS) [Valckenaers et al., 1994a] [Valckenaers et al., 1997] [van Brussel et al., 1998] são o paradigma que melhor representa os conceitos da IAD e SMA [Sousa et al., 2000b]. Em contrapartida aos Agentes Inteligentes existem Holons, que são entidades igualmente autónomas (de hardware e/ou de software), possivelmente inteligentes que cooperam com outros holons na realização de tarefas. Semelhante ao conceito de Sistema de Produção Baseado em Agentes (SPBA), surge o conceito de Sistema Holónico de Produção como um agrupamento de holons que possibilita a existência de um processo de fabrico dinâmico e descentralizado onde as mudanças são efectuadas de forma dinâmica e contínua [Valckenaers et al., 1994a]. Não obstante a sobreposição dos conceitos, eles complementam-se nomeadamente, na concretização de Sistemas Holónicos através dos Sistemas Multiagente [Bongaerts, 1998] [Bussmann, 1998] [Kirsch et al., 1998] [Sousa et al., 2000c] [Ulieru et al., 2000].

Estes conceitos são inerentemente distribuídos e por isso torna-se necessário regulamentar as interacções entre as diversas entidades existentes no sistema. Ora, se existem alternativas para a prossecução de uma dada tarefa, e se esta for para ser conduzida por entes racionais, os agentes, então há que os agrupar (i.e., socializar [Neves e Machado, 1997]), dotá-los de capacidade de argumentação e formas de negociação (tímidas aproximações a este problema estão desde já documentadas, sendo de referir o trabalho desenvolvido sobre Redes de Contrato [Smith, 1980] [Davis e Smith, 1983]). Por outras palavras, um protocolo que regulamente o relacionamento entre contratante e contratado, é factor decisivo em todo este processo.

Para a representação de conhecimento nos computadores, recorre-se muitas vezes à utilização de uma Linguagem Lógica [Wooldridge, 1992] [Russell e Norvig, 1995]. As linguagens lógicas permitem uma descrição formal e não ambígua de factos, que podem ser verificados e validados formalmente. O paradigma da Programação em Lógica (PL) baseia-se na utilização da lógica como uma linguagem de programação. A PL é feita segundo uma abordagem declarativa, onde se descreve um problema em termos de axiomas lógicos. No entanto, cenários de Informação Incompleta ocorrem normalmente nas Bases de Conhecimento e nos processos de negociação [Neves, 1984] [Traylor e Gelfond, 1993] [Neves et al., 1997]. A PL é baseada nalguns pressupostos (e.g., Mundo Fechado, que significa que todo o conhecimento de determinados factos é conhecido) que impõem limitações ao tipo de processamento necessário para tratar informação incompleta. Os sistemas reais podem beneficiar largamente de abordagens que evitem estas limitações. Ao adicionar capacidade para representação e raciocínio sobre informação incompleta a um sistema, a sua base de conhecimento passa a poder descrever o mundo real de forma muito mais correcta. A Programação em Lógica Estendida (PLE) é uma extensão da PL, permitindo a inclusão de informação negativa explicita, sendo que, por defeito, todo o conhecimento é aberto, ou seja, é possível deduzir se determinado facto é verdadeiro, falso ou desconhecido.

Resumidamente, ao longo deste trabalho aplicar-se-ão então os paradigmas de Sistemas Multiagente, Sistemas de Produção Baseados em Agentes, Sistemas Holónicos, Sistemas Holónicos de Produção e Programação em Lógica Estendida.

(c) 1999-2001, Paulo Sousa
comentários e sugestões
Criação: 17 de Janeiro de 2001
Ultima Alteração: 17 de Janeiro de 2001