Artigo - gsigma - Universidade Federal de Santa Catarina

Transcrição

Artigo - gsigma - Universidade Federal de Santa Catarina
ARTIGO
A UTILIZAÇÃO DE INTELIGÊNCIA ARTIFICIAL (IA) EM SISTEMAS DE
INFORMAÇÃO (SI)
CRICIÚMA, JUNHO DE 2008.
2
A UTILIZAÇÃO DE INTELIGÊNCIA ARTIFICIAL (IA) EM
SISTEMAS DE INFORMAÇÃO (SI)
Carla de Melo Marcílio1, Daiane De Nez Manarin1, João Luiz Osteto1, Mirian de
Fátima Bueno Fiorenza1, [email protected]
Acadêmicos em Gestão da Tecnologia da Informação, Instituto Catarinense de PósGraduação.
1
2
Professor orientador, Instituto Catarinense de Pós-Graduação (ICPG).
[email protected]¹, [email protected]¹, [email protected]¹,
[email protected]¹, [email protected]²
Abstract.
Keywords: Artificial intelligence; Systems of Information.
Resumo
A proposta deste trabalho visa contribuir para a discussão crítica sobre a utilização
de Inteligência Artificial (IA) em Sistemas de Informação (SI).
Palavras-chave: Inteligência Artificial; Sistemas de Informação.
1 INTRODUÇÃO
Inteligência Artificial é uma das ciências mais recentes, que atualmente
abrange uma variedade enorme de subcampos, que vão desde áreas de uso geral,
como aprendizado e percepção, até tarefas mais específicas, como jogos de xadrez.
A IA sistematiza e automatiza tarefas intelectuais e, portanto, é potencialmente
relevante para qualquer esfera da atividade intelectual humana.
2 A UTILIZAÇÃO DE INTELIGÊNCIA ARTIFICIAL (IA) EM SISTEMAS DE
INFORMAÇÃO (SI)
Nos próximos anos, as técnicas de programação em Inteligência Artificial
invadirão todas as áreas da tecnologia dos computadores que vêm contribuindo para
avanços substantivos nos diversos campos do conhecimento cientifico e também
têm sido responsáveis pelo desenvolvimento e pela abertura de novas frentes de
pesquisa que sem eles não teriam sido cogitadas. Os sistemas de Inteligência
Artificial estão aparecendo em todos os lugares, na indústria da engenharia dos
computadores, nos grandes negócios, na educação e na área militar. Capazes de
subsidiar a resolução rápida e precisa de uma infinidade de problemas científicos
complexos, de substituir o homem em tarefas arriscadas, repetitivas e estafantes, de
auxiliar o usuário comum nas tarefas cotidianas e de proporcionar lazer e
entretenimento a usuários de todas as idades, essas máquinas, são responsáveis
pela massa de dados que circula pela intrincada rede de computadores que, hoje,
materializa-se, sobretudo, na Internet.
As oportunidades profissionais para as pessoas que conhecem Inteligência
Artificial são virtualmente ilimitadas. E, dada à velocidade com que as inovações
3
tecnológicas chegam ao mercado atualmente, não demorará muito para que
conhecer Inteligência Artificial seja um requisito para qualquer pessoa. Dentre os
grandes desafios que essas máquinas lançaram aos seus arquitetos, destaca-se o
desafio de se criar meios para tornar a comunicação homem-máquina mais natural e
intuitiva.
Uma das soluções para esse desafio, e, hoje, implementada em todos os
computadores, são as interfaces gráficas e multicoloridas que servem para
mediatizar a comunicação com o computador. Essas interfaces são compostas por
milhares de linhas de código de máquina capazes de codificar as instruções
necessárias para fazer com que o computador realize tarefas em termos de objetos
gráficos, isto é, em termos de janelas, ícones, menus, caixas de diálogo, imagens,
entre outros recursos. Na realidade, essas interfaces gráficas, como máscaras,
escondem a única linguagem decifrável pelo computador: a linguagem de máquina
que, em última instância, representa toda a informação manipulada pelo sistema
computacional em termos de estruturas representadas exclusivamente por cadeias
de “zeros e uns”.
3 INTELIGÊNCIA ARTIFICIAL EM DATA MINING (DM)
Segundo Evsukoff (2005), Data Mining, Figura 1, é uma atividade
multidisciplinar que envolve diversas áreas. Fornece as ferramentas para descoberta
de conhecimento em grandes massas de dados. Ele diz que DM não é uma
tecnologia nova, mas um campo de pesquisa multidisciplinar, envolvendo estatistica,
aprendizado de máquinas, banco de dados, sistemas especialistas, técnicas de
visualização de dados e computação de alto desempenho de forma fortemente
acoplada.
Figura 1. Data Mining.
Fonte: EVSUKOFF (2005).
A segunda linhagem do Data Mining (DM), é a Inteligência Artificial (IA), que
é construída a partir dos fundamentos da heurística, em oposto à estatística, tenta
imitar a maneira como o homem pensa na resolução dos problemas estatísticos.
Data Mining (ou mineração de dados) é o processo de extrair informação válida,
previamente desconhecida e de máxima abrangência a partir de grandes bases de
dados, usando-as para efetuar decisões cruciais. Pode ser considerada uma forma
de descobrimento de conhecimento em bancos de dados (KDD - Knowledge
4
Discovery in Databases), área de pesquisa de bastante evidência no momento,
envolvendo Inteligência Artificial e Banco de Dados (COUTINHO, 2003).
3.1 Machine Learning (Aprendizagem de Máquina)
E a terceira e última linhagem do DM, segundo Coutinho (2003), é a
chamada machine learning, que pode ser melhor descrita como o casamento entre a
estatística e a IA. Suas técnicas foram largamente cooptadas pela machine learning,
que é capaz de conseguir mais aplicações devido às suas combinações entre
heurística e análise estatística. A machine learning tenta fazer com que os
programas de computador “aprendam” com os dados que eles estudam, tal que
esses programas tomem decisões diferentes baseadas nas características dos
dados estudados, usando a estatística para os conceitos fundamentais, e
adicionando mais heurística avançada da IA e algoritmos para alcançar os seus
objetivos.
3.2 Técnicas usadas juntas para estudar os Dados e achar Tendências e
Padrões
De muitas formas, o DM é fundamentalmente a adaptação das técnicas da
Machine Learning para as aplicações de negócios. Desse modo, podemos descrevelo como a união dos históricos e dos recentes desenvolvimentos em estatística, em
IA e Machine Learning. Essas técnicas são usadas juntas para estudar os dados e
achar tendências e padrões nos mesmos. Hoje, o DM tem experimentado uma
crescente aceitação nas ciências e nos negócios que precisam analisar grandes
volumes de dados e achar tendências que eles não poderiam achar de outra forma.
4 REDES NEURAIS EM DATA MINING (DM)
Essa tecnologia é a que oferece o mais profundo poder de mineração, mas é
também a mais difícil de entender. As redes neurais tentam construir representações
internas de modelos ou padrões achados nos dados, mas essas representações não
são apresentadas para o usuário. Com elas, o processo de descoberta de padrões é
tratado pelos programas de DM dentro de um processo “caixa-preta”. Para construir
um modelo neural, primeiramente é necessário "adestrar" a rede em um dataset de
treinamento e então usar a rede já treinada para fazer predições, monitorando o
dataset durante a fase de treinamento para checar seu progresso. Durante a fase de
treinamento, a rede estabelece os pesos que determinam o comportamento da
camada intermediária.
5 DATA MINING E BUSINESS INTELLIGENCE
Nos tempos atuais, as organizações têm no conhecimento acumulado de
seu quadro de pessoal, um patrimônio muito importante para seus empreendimentos
futuros e para sua própria sobrevivência face às constantes concorrências de
mercado. Processos como downsizing1, reengenharia e aposentadorias prematuras,
têm sido utilizados constantemente pelas grandes instituições, comprometendo a
1
Downsizing (achatamento): é o enxugamento de pessoal, delegando maior responsabilidade a
gerentes e funcionários de níveis mais baixos.
5
memória institucional da empresa. A tecnologia dos sistemas especialistas é ideal
para atingir estes propósitos. Os processos e experiências funcionais da
organização podem ser documentados através do uso de sistemas especialistas. A
tecnologia do conhecimento poderá ser utilizada para capitalizar o conhecimento
como um produto estratégico para as corporações.
5.1 Aplicações de DM
Algumas aplicações de Data Mining segundo Evsukoff (2005): Classificação
de Imagens de Sensoriamento Remoto; Classificação de Imagens Médicas;
Caracterização de reservatórios de Petróleo; Classificação de seqüências de DNA
(bioinformática); Marketing Direcionado (CRM); Detecção de Fraudes; Modelos de
chuva-vazão; Modelos de previsão de carga; Diagnóstico de processos.
6 INTELIGÊNCIA ARTIFICIAL E GESTÃO
Para gerar inteligência, é necessário armazenar, analisar e disseminar
conhecimento dentro da empresa. Com o crescente uso da Internet, o conhecimento
está cada vez mais disponível em meios eletrônicos, e a forma mais utilizada são os
textos. Entretanto, na maioria dos casos, as pessoas e as organizações não sabem
como analisar esta documentação textual para extrair informação nova e útil
(combinação) e acabam desperdiçando importantes fontes de conhecimento. Para
minimizar este tipo de problema, surgiu a tecnologia de Text Mining.
6.1 Tecnologia de Text Mining
Text mining é definido como um processo que utiliza métodos para navegar,
organizar, achar e descobrir informação em bases textuais escritas em linguagem
natural. Com text mining é possível manipular mais facilmente informações não
estruturadas como notícias, textos em websites, blogs e documentos em geral
(Cortex Intelligence, 2007).
O desafio do desenvolvimento de tecnologias de text mining vem da
necessidade de se ter conhecimentos específicos sobre áreas distintas como
estatística, ciência da computação, lingüística e ciência cognitiva. O segredo de um
solução de text mining completa é combinar técnicas de Engenharia de Software,
Machine Learning, Information Retrieval e Data Mining (Cortex Intelligence, 2007).
6.2 Componentes de Text Mining
•
•
•
Análise de Reputação: reconhece qualificadores associados às entidades e
identifica se são positivos ou negativos.
Extrator de Relacionamentos: reconhece relações entre organizações,
pessoas, cargos e temas, identificando a natureza e força destes
relacionamentos.
Extrator de Fatos: através de padrões reconhecidos anteriormente, pode
identificar a realização de um evento, o lançamento de um novo produto, a
aquisição de uma empresa ou mesmo a contratação de um executivo.
6
•
•
•
•
•
Desambigüização: reduz erros de interpretação em buscas e na categorização
de textos ao identificar não somente o termo de interesse, mas também o
contexto ao qual está associado.
Robôs de Coleta Web: navega pelas páginas desejadas na Internet e captura
com precisão a informação desejada.
Categorização Contextual: vai além da abordagem simplista de “palavraschave”, descobrindo automaticamente a melhor estratégia para classificar uma
massa de textos em categorias que reflitam temas específicos de interesse do
usuário (p.ex. macroeconomia, aspectos regulatórios, política, etc).
Resumo: cria resumos automáticos de textos, levando em consideração as
sentenças mais significativas do conteúdo, realizando contrações em sua
estrutura, caso necessário.
Extrator de Entidades: reconhece automaticamente organizações, pessoas,
lugares, datas e valores citados em documentos textuais, extraindo também o
conhecimento disponível sobre estes no próprio texto.
6.3 A mineração dos conceitos de Text Mining (exploração)
No processo de mineração dos conceitos, as técnicas utilizadas são as
mesmas existentes na área de mineração de dados ou descoberta de conhecimento
em bancos de dados (Data Mining ou KDD – Knowledge Discovery in Databases). A
diferença é que as ferramentas devem ser aplicadas sobre os conceitos extraídos
nos textos e não sobre itens de um banco de dados.
7 SISTEMAS TUTORES INTELIGENTES
O uso do computador como ferramenta de apoio à execução das atividades
pedagógicas, pode servir de auxílio aos educadores, visando diversificar o modo de
exposição dos conteúdos instrutivos, além da utilização dos métodos tradicionais de
ensino. Neste contexto, os softwares educacionais podem ser utilizados como
ferramentas adicionais às estratégias didáticas e também visa a possível realização
de estudos sem a presença obrigatória do tutor humano.
Os primeiros aplicativos voltados ao ensino foram chamados de Computer
Assisted Instruction2 (CAI). Esses softwares possuíam lições com temas específicos
utilizando a mesma estratégia instrucional sem considerar o conhecimento individual
de cada aluno.
Com o auxílio das técnicas de IA foi possível tornar esses sistemas ainda
mais atrativos ao usuário, principalmente porque o diferencial encontrado com o
apoio dessas técnicas pode considerar características individuais do usuário, dispor
de interatividade e adaptação do conteúdo pedagógico. Considerando esses
aspectos, a abordagem dos sistemas dirigidos ao ensino ganha uma nova
modalidade de classificação chamada de Intelligent Computer-Aided Instruction3
(ICAI).
Nesses softwares, os conteúdos eram dispostos independente dos
procedimentos de ensino, podendo diferenciar-se do CAI por separar suas
estratégias didáticas do conhecimento subjetivo a ser instruído e por manter a
2
3
Instrução auxiliada por computador.
Instrução inteligente auxiliada por computador.
7
atualização dinâmica da performance do usuário. Posteriormente estes sistemas
receberam a denominação de Sistema Tutor Inteligente (STI).
A maior relevância dos STI sob os CAI, dá-se em virtude da inserção do
especialista pedagógico, o qual é responsável por delimitar o aspecto do conteúdo
didático, dando maior valor instrucional ao material (KAESTNER; EBERSPACHER,
1998).
Ferreira e Sobral (2001) definem STI como ferramentas ou softwares
educacionais com a capacidade de assistir os aprendizes, objetivando a aquisição
do conhecimento com interatividade, incentivando sua autonomia e criatividade.
Assim, para que um software seja considerado inteligente, necessita de
capacidade de passar o conhecimento contido em sua base, aprender com o
indivíduo que está interagindo, devendo ser flexível e ter condições de adaptar seu
conteúdo e suas estratégias de acordo com o nível do aprendiz, estando em
constante atualização.
Levando em consideração essas características, o desenvolvimento de STI
dispende de um longo período de tempo devido sua complexidade, nível de
inteligência desejado e necessário em cada software, dependendo ainda de sua
área de aplicação.
A multidisciplinariedade é evidente em ambas as categorias, o que implica
na necessidade de especialistas em várias áreas como comunicação, pedagogia,
psicologia, além do especialista do conhecimento específico do problema a ser
modelado.
7.1 Arquitetura de um Tutor Inteligente
A apresentação da arquitetura de um STI pode variar de acordo com a
estrutura em desenvolvimento, no entanto, basicamente os módulos principais são
representados inicialmente pelo módulo especialista, aluno e módulo tutor e
interface, como segue.
Módulo Especialista: Este módulo é formado pelo material instrucional, pela
geração sistemática dos exemplos, pela formulação de diagnósticos e pelas
simulações, possuindo o conhecimento sobre o domínio que se deseja ensinar
ao estudante (CASAS, 1999).
Módulo Aluno: Conforme Abreu (2002), este módulo é responsável por
armazenar a descrição do conhecimento do aluno e de suas preferências
particulares, devendo monitorar seu comportamento para que possa adaptar-se
ao aluno, sempre tentando descobrir quais os objetivos dele em relação ao uso
do sistema.
Módulo Tutor: A modelagem do tutor requer grande complexidade, por tratar de todas as
definições relacionadas a aplicação das estratégias de ensino, verificando o que e a quem
ensinar, o momento oportuno de dispor o assunto ou fazer as interrupções necessárias, sempre
expondo o material de acordo com as preferências do usuário.
Módulo Interface: A preocupação existente voltada à criação de interfaces
adaptativas e intuitivas é cada vez mais evidente dentre os critérios de ergonomia de
software, pois a eficiência do sistema está fortemente relacionada a ela.
8
7.2 Características e Benefícios dos STI
A utilização dos STI pode proporcionar evidentes contribuições no processo
de ensino-aprendizagem, devido a várias características que o difere dos softwares
tradicionais.
Os STI são sistemas nos quais a IA desempenha um papel de relevância,
não por apenas permitir maior flexibilidade no ensino por computador, mas também
por possibilitar a participação ativa do aluno e do sistema, gerando um ambiente
cooperante. Dessa forma, é preciso destacar a importância da interação cooperativa,
onde aluno e tutor interagem visando a troca de conhecimento (CAMINHA, 2000).
Os STI podem ser considerados com maior capacidade de adaptação ao
usuário que os programas convencionais, por possuírem um comportamento que se
assemelhe ainda mais ao de um professor, que flexibiliza a apresentação de seu
conteúdo instrucional de acordo com o perfil de cada usuário. Neste sentido, a
possibilidade de não haver a necessidade do mestre humano na utilização do
sistema aumenta, já que o sistema pode ser manipulado pelo usuário mediante suas
preferências e seu grau de conhecimento do material instrucional.
7.3 Alguns exemplos de STI
O crescimento na área tecnológica foi evidente também em relação aos
sistemas dirigidos ao ensino, bem como, utilizando as técnicas (computacionais e
educacionais) que surgiram com o passar dos anos. Os STI foram desenvolvidos em
diversas áreas do conhecimento. Nesse contexto, destacam-se alguns deles que
podem ser considerados como as primeiras experiências de projetos nessa área,
descritas em seu contexto histórico.
• Wohler: STI de apoio ao Ensino de Química Orgânica
• Eletrotutor: STI de apoio ao Ensino de Eletrodinânica e Física;
• EPPIS: STI de Diagnóstico Classificatório da Epilepsia;
•
Espertinho: STI de Aprendizado de Sistemas Especialistas;
• Mhits: STI de Aprendizado de Harmonia Musical.
Observa-se que a internet tem possibilitado que sistemas inteligentes
voltados à educação possam ser acessados e explorados por meio de recursos
hipermídia, tornando-se cada vez mais atrativos e convenientes como auxílio
didático.
8 INTELIGÊNCIA ARTIFICIAL NA MEDICINA
Na medicina, o modelo automatizado, baseado na descoberta de
conhecimento em bases de dados (Knowledge Discovery in Database - KDD), vem
se destacando nas últimas décadas, por extrair conhecimento de bases de dados,
por meio da sua etapa de mineração de dados, facilitando assim os trabalhos entre o
engenheiro do conhecimento e o médico especialista (NASSAR, 2005).
Em aplicações baseadas em conhecimento, os sistemas especialistas
probabilísticos4 (SEPs) se propõem a resolver problemas geralmente de natureza
4
Um Sistema Especialista Probabilístico é assim denominado por basear-se na arquitetura de um SE
e por possuir uma base de conhecimento que pode ser representada por uma distribuição de
probabilidades (KOEHLER, 1998).
9
incerta. Nesses sistemas, uma das etapas mais trabalhosas é a de aquisição do
conhecimento, que envolve a interação entre o engenheiro do conhecimento e o
especialista do domínio de aplicação. Uma das técnicas utilizadas para facilitar este
processo é a descoberta do conhecimento em base de dados para construção de
redes bayesianas5 (RB), podendo-se assim diminuir o tempo despendido nesta
interação, no que se refere ao desenvolvimento de RBs, as quais se propõem a
servir como base de conhecimento em SEPs.
Nesse sentido, demonstra-se a seguir uma pesquisa que consistiu na
utilização de um algoritmo (por meio de uma ferramenta) para a realização da
extração de conhecimento de uma base de dados médica, para a geração
automática de uma RB, sendo esse processo intermediado por um especialista,
podendo-se dessa forma, contribuir no processo de extração de conhecimento de
base de dados.
8.1 Metodologia
Para a geração da RB, utilizou-se a base de dados sobre prevalência de
diabetes mellitus tipo 2 em alguns bairros do município de Criciúma-SC.
A partir dessa base de dados, iniciou-se o processo de descoberta do
conhecimento na ferramenta BNPC, utilizando-se como metodologia as etapas que
compõem o processo de KDD aplicado em RBs .
Essa ferramenta não permite a visualização da parte quantitativa gerada na
RB, bem como a realização de inferências, e por esse motivo, especificou-se a
utilização da ferramenta Netica para avaliação dos resultados obtidos com a RB.
Considerando-se o KDD, as etapas de pré-processamento e data mining
foram realizadas por meio do aprendizado supervisionado.
O pré-processamento engloba a limpeza, integração, seleção e
transformação dos dados. No que se refere a limpeza dos dados, com relação aos
valores ausentes, a base de dados apresentou muitos campos não preenchidos que
foram tratados.
Referindo-se as alterações dos nomes das variáveis, como o Netica não
permite títulos de nós com nomes compostos, acentuados ou com caracteres
especiais, e a base de dados os apresentou, foi necessário removê-los. Na fase de
seleção, definiu-se no BNPC os campos relacionados aos fatores de risco e
complicações para o aprendizado da RB.
Na etapa de Data Mining (DM), que refere-se a aplicação de algoritmos
específicos para a extração de conhecimento, foram informadas ao BNPC as
configurações sobre o domínio de conhecimento, sendo estipuladas nesse item, as
configurações de causa e efeito, nós raízes e nós folhas.
8.2 Resultados
Após a geração da RB no BNPC, a mesma foi exportada para o formato da
ferramenta Netica para realização do pós-processamento, e análise dos resultados
obtidos.
Como no restante do trabalho, e pelo fato do aprendizado ser
supervisionado, a análise dos resultados também teve o acompanhamento da
5
Rede Bayesiana (RB) “é um grafo orientado em que cada nó é identificado com informações de
probabilidade quantitativa” (RUSSELL E NORVIG, 2004).
10
especialista do domínio de aplicação, que deu maior destaque à parte qualitativa6,
onde observou-se que os resultados obtidos com a RB gerada pela aquisição do
conhecimento estão corretos, que os nós e seus links refletem corretamente a
relação a ser observada entre fatores de risco e complicações, no que se refere a
base de dados sobre a prevalência de diabetes mellitus tipo 2 em alguns bairros de
Criciúma.
Na parte quantitativa7, a especialista não achou necessário ajustes nas
Probabilidades Condicionais, as quais apresentaram resultados adequados,
refletindo assim o comportamento da população estudada, permitindo-se, dessa
forma, relacionar fatores de risco e complicações.
Em consultas realizadas a RB gerada, observou-se que cada fator de risco
pode ser relacionado a determinadas complicações, e desse modo, é possível
estimar quais são os fatores de risco mais freqüentes e a quais complicações estão
relacionados.
Ressalta-se o potencial das RBs em domínios de aplicações na área Médica
que não envolvam diagnóstico, como por exemplo, em aplicações voltadas a área de
Bioestatística, voltando-se à questões que envolvem fatores de risco e
complicações.
9 OUTROS EXEMPLOS DA UTILIZAÇÃO DA IA NA MEDICINA
•
•
•
•
6
O data mining na compreensão do fenômeno da dor: uma proposta de
aplicação: trata-se da elaboração de um software chamado Clinical Data Mining
utilizado para identificar as melhores terapias para diversas doenças, para
explorar os fatores de sucesso/insucesso das cirurgias e para determinar
padrões diversos. E do Clinical Data Warehouse, um repositório de dados para
facilitar a análise de dados clínicos (FERREIRA et al, 2006).
Diagnóstico de tumores do ângulo ponto-cerebelar com o auxílio de
técnicas de inteligência artificial: obtenção de um modelo discriminatório entre
diagnóstico de tumores do ângulo ponto-cerebelar e de distúrbios
otorrinolaringológicos. Utilização de técnicas de indução em árvores de decisão
que apontou um bom nível de acurácia (88,4%) (LEITÃO et al, 2000).
Uso da rede neural artificial no planejamento cirúrgico da correção do
estrabismo: desenvolvimento de uma rede neural artificial para planejar a
estratégia cirúrgica em pacientes portadores de estrabismo sensorial, com desvio
horizontal (SOUZA et al, 2004).
Técnicas de inteligência artificial aplicadas ao desenvolvimento de sistema
de apoio ao diagnóstico de lesões pulmonares: trata-se de uma pesquisa que
demonstrou a grande versatilidade da técnica das redes neurais artificiais na
construção de sistemas de apoio ao diagnóstico médico, principalmente quando
utilizados como “segunda opinião”, ou segunda leitura, auxiliando o profissional
em possíveis análises duvidosas (AMBROSIO, AZEVEDO-MARQUES, TRAD,
2004).
Constituída por um grafo acíclico direcionado onde as variáveis são os nós, e as relações de
dependência entre essas variáveis, são os arcos direcionados (KOEHLER, 2002).
7
São as probabilidades condicionais unidas aos arcos existentes no modelo gráfico da parte
qualitativa, e as probabilidades estimadas a priori (antes da obtenção das evidências) das hipóteses
diagnósticas (KOEHLER, 2002).
11
10 INTELIGÊNCIA ARTIFICIAL NA INDÚSTRIA
O uso de IA pela indústria de software vem sendo, a muito, aplicada em
jogos de simulação pela capacidade de gerar previsões e eventos não lineares que
imitam o pensamento humano.
Segundo severo (2004), a exigência do mercado pela melhor qualidade pelo
menor custo aliada as dificuldades nos controles de produção pela não linearidade,
grande número de parâmetros e tempo morto contribuem para que as indústrias
optem por controles preditivo e adaptativo em lugar de controles clássicos com
parâmetros constantes.
“A Inteligência Artificial é apontada como um campo de conhecimentos que
pode apoiar a tomada de decisões de um modo mais simples e mais preciso do que
outros métodos, tais como a modelagem e a gestão por indicadores” (SELLITTO,
2002).
Segundo Sellitto (2002), quando não existe um modelo de processo para
controlar por sua complexidade ou custo e esse processo é bem controlado por
especialistas humanos, podendo verbalizar as regras desse controle, existem
condições para o uso de lógica fuzzy para automatizar o controle do controle do
processo.
11 REDES NEURAIS E ENGENHARIA QUÍMICA
“A maioria dos processos químicos é caracterizada por não linearidades,
tempo morto muito elevado, processo restritivos e condições de operação em
constante mudança” SEVERO (2004 ).
Sellitto (2002) descreve a utilização de controlador eletrônico baseado em
lógica fuzzy para processo especifico em produção de cimento, sendo que o mesmo
utiliza ciclo CBR de aprendizado. Dezenas de plantas no mundo operam com
lógicas similares de regras de inferência e defuzzificação por CBR.
12 ENGENHARIA DE SOFTWARE
“A modelagem de processos de software não consiste apenas em escrever
programas que automatizem completamente o processo de desenvolvimento de
software e nem descrevem tudo o que os atores do processo devem fazer” COTA
SILVA (2005).
Segundo Cota Silva (2005), a Engenharia de Software também pode tomar
as tecnologias de inteligência artificial para desenvolvimento de software, buscando
maior excelência e qualidade, tanto no desenvolvimento do projeto quanto na
automação de testes, pois IA automatiza e sistematiza tarefas intelectuais. Embora
essas técnicas ainda sejam muito pouco exploradas devido ao paradigma de regras
para modelar sistemas.
Cota Silva (2005), avaliou alguns ambientes de Engenharia de Software que
fazem uso de inteligência artificial, basicamente abrangendo Sistemas Especialistas,
Sistemas baseados em regras, Sistemas Fuzzy, de Raciocínio baseado em casos:
•
Marvel - é um ambiente centrado em processo resultante de um projeto de
mesmo nome na Columbia University desde 1986. A idéia do projeto era
desenvolver um ambiente centrado em processo que orientasse e assistisse os
usuários que trabalham em projetos de grande escala. Para isso, juntaram as
12
•
•
áreas de Engenharia de Software e Inteligência Artificial. Marvel segue o
paradigma de orientação a objetos e está baseado em uma linguagem de regras.
Ele fornece uma ajuda automatizada pela aplicação das estratégias forward e
backward chaining sobre as regras, invocando as atividades que são parte de
uma fase do processo de desenvolvimento. A sua base de objetos é persistente.
O processo sendo modelado é decomposto em passos de processo. Cada passo
é encapsulado em uma ou mais regras.
Merlin - é um ambiente de desenvolvimento de software centrado em processo
construído dentro de um projeto na University of Dortmund. O protótipo do
ambiente usa o paradigma de regras para descrever e executar processos de
software. Uma definição de processo no Merlin possui atividades, papéis (roles),
documentos (quaisquer objetos) e recursos (pessoas, ferramentas, etc.). Um
documento é ligado a um conjunto de atividades e a um conjunto de ferramentas
que suportam as atividades. Nesta abordagem os usuários recebem todas as
informações relevantes em um espaço de trabalho chamado working context
associado ao papel do usuário. Este espaço de trabalho contém os documentos
a serem manipulados, suas dependências com outros documentos e as
atividades que devem ser realizadas. Quando uma atividade realizada influencia
um working context, acontece uma atualização dinâmica nos working contexts
dependentes deste evento. A máquina de execução do Merlin constrói e atualiza
os working contexts dos usuários. Cada atividade possui pré-condições que
definem, por exemplo, os papéis que podem desempenhar a atividade, a pessoa
responsável, os direitos de acesso aos documentos ou a dependência com
outras atividades. Quando as precondições de uma atividade são verdadeiras, a
atividade é inserida no working context. O processo de encadeamento é parecido
com o do ambiente Marvel apresentado anteriormente. O Merlin suporta
mudanças dinâmicas no processo, permitindo que um processo não seja
totalmente definido antes de iniciar. A linguagem escolhida para o ambiente é
baseada em PROLOG.
Articulator - é um ambiente baseado em conhecimento para processo de
desenvolvimento de software. Ele provê um meta-modelo de processo de
desenvolvimento de software, uma linguagem baseada em objetos e um
mecanismo de simulação automática. Para simular a execução de processos, o
Articulator usa uma abordagem multiagentes onde os desenvolvedores são
modelados como agentes cognitivos. A arquitetura do ambiente contém cinco
subsistemas: base de conhecimento, simulador de comportamento, mecanismo
de consulta, gerenciador de instanciação e gerenciador de aquisição de
conhecimento. O meta-modelo do Articulator consiste de recursos, agentes e
tarefas. Os recursos são objetos nas tarefas dos agentes. As tarefas consomem
e produzem recursos. Um agente representa uma coleção de comportamentos e
atributos associados. O comportamento do agente emerge durante a execução
das tarefas (incluindo comunicação, acomodação e negociação) levando em
consideração a situação do agente. Os agentes são modelos gerais de
desenvolvedores, times de desenvolvimento e organizações. Ferramentas de
desenvolvimento são modeladas somo subclasse de agentes. As tarefas são
representadas através de uma rede de ações que os agentes realizam. Como
não existe execução real de processos neste ambiente, os agentes são agentes
cognitivos que simulam execução de tarefas e várias situações para auxiliar a
geração da descrição do processo. A simulação é importante para detectar falhas
como alocação de recursos, cronograma, dentre outras.
13
•
Pandora - é uma máquina de processos baseada em programação em lógica e
conceitos de lógica temporal. Todos os eventos são registrados e o sistema
possui um algoritmo de aplicação de regras que otimiza os passos de execução.
Além disso, o sistema possui um mecanismo de sincronização que garante que
as atividades cooperativas ou que devem ser executadas em alguma ordem
serão sincronizadas. Pandora integra os paradigmas de eventos para modelar
interatividade entre mensagens e de regras para representar o conhecimento do
processo. O conhecimento pode ser declarativo ou procedural. Conhecimento
declarativo descreve o domínio do discurso, no caso, o modelo de processo
enquanto conhecimento procedural descreve o comportamento que o processo
pode assumir durante o desenvolvimento, ou seja, as regras e eventos que
disparam evolução de processo. O sistema reage aos eventos externos e dispara
as ações internas. As regras e eventos são especificados em uma linguagem de
lógica de primeira ordem acrescida de operadores de lógica temporal
(Linguagem Pandora) onde o tempo é caracterizado por uma linha seqüencial
simples de eventos. Isto permite expressar quantitativamente o tamanho dos
intervalos temporais, a distância temporal entre os eventos e a viabilidade das
atividades modeladas quanto às proposições lógicas estabelecidas. É possível
estabelecer não apenas quais atividades são permitidas a cada momento, mas
também como as atividades interagem (ou seja, sincronização entre atividades
paralelas e disparo de atividades engatilhadas). Pandora é implementado em
PROLOG e consiste de dois módulos principais: compilador de regras e
interpretador de regras. O compilador checa as regras quanto à sintaxe e as
transforma em uma representação interna. O interpretador permite ativação das
ferramentas do sistema operacional, permite rastreamento da aplicação de
regras e observação dos estados internos.
13 DETECÇÃO DE PADRÕES
Segundo Sellitto (2002) os sistemas devem resolver problemas de forma
similar ao que um especialista humano resolveria. Sistemas especialistas têm um
espectro limitado para reconhecer e resolver os problemas, normalmente dentro do
escopo definido para sua ação. Alguns processos têm como função a detecção de
padrões, onde o sistema deve identificar determinados itens, e tomar uma ação ou
registrar de forma a prover informações para futura melhoria.
Costa (2006) descreve métodos de detecção de padrões de problemas na
linha de produção de vidros usando Lógica Fuzzi, algoritmo CART e Redes Neurais.
Durante sua explanação ele determina o método que faz uso de Redes Neurais é
um método de desempenho satisfatório e classificação mais abrangente.
Usando uma configuração de Rede Neural de 9 neurônios na entrada, 12
na camada intermediaria e 5 na camada de saída, buscou encontrar defeitos na
superfície, reconhecendo conforme treinamento da rede, sendo que cada tipo de
defeito deve ter sua rede e treinamento específicos.
14 INTELIGÊNCIA ARTIFICIAL EM JOGOS
Segundo KISHIMOTO (2004), o uso primordial de inteligência artificial em
jogos é a diversão. Obviamente cada individuo tem seu grau de experiência e
tolerância, criando uma grande dificuldade para os desenvolvedores de jogos
criarem uma gama de ações e reações que torne os personagens aparentemente
14
inteligentes. Estes devem simular erros e perspicácia reagindo como um humano
para dar ilusão da realidade.
As técnicas mais populares utilizadas pelos desenvolvedores são as
maquinas de estado finito (FSM) e as maquinas de estado fuzzy (FuSM) conforme
(WOODCOCK, 1999). Mesmo assim essas técnicas são limitadas e não produzem
reações novas.
Utilizar Redes Neurais propiciando aprendizado torna desnecessária a
programação manual de ações, partindo do principio que os algoritmos indicarão as
reações adequadas conforme o comportamento do ambiente ou do jogador.
Além das vantagens impostas pela IA, existem também os problemas
causados pelo seu uso. KISHIMOTO (2004) divide em quadro problemas principais:
• Período de desenvolvimento: o curto período de desenvolvimento dos jogos
dificulta o aprendizado dos desenvolvedores para tecnologias de ponta sobre IA
e suas aplicações em um jogo comercial (BOURG, 2004);
• Algoritmos de aprendizado: os resultados produzidos por algoritmos de
aprendizado são difíceis de serem testados e depurados contra erros, visto que
os resultados não são previsíveis. Por essa razão, muitos desenvolvedores têm
preferência por técnicas de IA determinísticas, e também por serem mais
conhecidas pelos mesmos e de fácil implementação e depuração (WOODCOCK,
1999);
• Poder de processamento: jogos são softwares com execução em tempo real,
onde informações são processadas e atualizadas a cada ciclo de máquina.
Algoritmos com alto custo de processamento (ainda) não podem ser
implementados em jogos que necessitam de respostas em tempo real (TOZOUR,
2002);
• Jogos são baseados em game design: durante o desenvolvimento de um jogo,
toda equipe baseia-se no documento de game design do jogo. No entanto, existe
um confronto entre game designers e game AI, pois os game designers
constroem a narrativa do jogo e definem a jogabilidade e eventos do jogo, tendo
um controle explícito do jogo e dos NPC’s. Surge então o seguinte conflito: os
designers controlam o comportamento dos NPC’s. É preciso então o uso de IA?
Em contrapartida, se a IA estiver presente (NPC’s inteligentes podem se
comportar com autonomia), é preciso ter designers? A solução para esse caso é
os game designers e programadores de IA entrarem em um acordo sobre o
controle sobre os NPC’s do jogo (CHAMPANDARD, 2003).
O uso da IA na Industria, seja ela de software ou manufatura, tem custo
elevado pelo fato de ser inovação e também por ser muitas vezes especifico para
resolver seu problema, mas abre grande espectro de possibilidades para resolver
problemas antes insolúveis utilizando técnicas de desenvolvimentos especializadas,
mas focadas em soluções pré estabelecidas e monolíticas.
15 CONSIDERAÇÕES FINAIS
As pesquisas em sistemas especialistas têm ainda um longo caminho a
percorrer, particularmente avançando o estado da arte em aprendizagem de
máquina, programação automatizada, e padronização. Mesmo assim, várias
organizações já estão fazendo grandes economias e estão obtendo muitos
benefícios na utilização desta tecnologia. Os grandes avanços tecnológicos das
últimas décadas, tais como: aumento da velocidade de processamento; estupendo
15
aumento da capacidade de armazenamento dos periféricos; surgimento do banco de
dados; barateamento do software e hardware; surgimento das grandes redes; a fibra
ótica, e; a transmissão de dados por satélite e outros. Os dados operacionais são
por demais valiosos para a empresa, o que determina um investimento alto em
Tecnologia da Informação para descoberta destas riquezas escondidas, o que pode
determinar a sobrevivência no mercado.
Sugere-se a utilização integrada de algumas ferramentas de TI e IA que
ajudariam a efetuar um monitoramento contínuo dos dados coletados, as
ferramentas de TI ajudariam no acesso mais efetivos aos dados, através de BD
Operacionais, Data Warehouse ou Data Mart para manipulações de dados
históricos, Data Mining para exploração de informações escondidas e ferramentas
OLAP para uma melhor visualização dos dados, paradigmas de IA com RBC e
agentes inteligentes, seriam utilizados nos levantamentos estatísticos do processo,
emitindo relatórios de desempenho das instituições.
Com a automatização do processo de credenciamento e também da coleta
de dados durante o processo de ensino/aprendizagem, estaríamos formando uma
riquíssima base de dados sobre a modalidade, base que poderia ser disponibilizada
ao acesso da comunidade através de um portal educacional na Internet.
16 REFERÊNCIAS BIBLIOGRÁFICAS
ABREU, André de. Uma introdução à usabilidade. 2002. Disponível em: <
http://webinsider.uol.com.br/index.php/2002/02/17/uma-introducao-a-usabilidadeparte-ii/>. Acesso em: 22 junho 2008.
AMBRÓSIO, Paulo Eduardo, AZEVEDO-MARQUES, Paulo M. de, TRAD, Clóvis
Simão. Técnicas de inteligência artificial aplicadas ao desenvolvimento de
sistema de apoio ao diagnóstico de lesões pulmonares. CBIS'2004 - IX
Congresso Brasileiro de Informática em Saúde. Ribeirão Preto-SP. 2004. Disponível
em: <http://www.sbis.org.br/cbis9/arquivos/551.pdf>
BOURG, David M.; SEEMAN, Glenn. AI for Game Developers. Sebastopol:
O’Reilly. 2004.
CAMINHA, Adriano de Oliveira. MHITS - Um Sistema Tutor Inteligente em
Harmonia Musical. 2000, 108 f. Dissertação (Mestrado em Informática) –
Universidade Federal da Paraíba, 2000. Disponível em: <
http://www.dsc.ufpb.br/~copin/pessoas/alunos/htms/AdrianodeOliveiraCaminha.htm>
. Acesso em: 22 junho 2008.
CASAS, Luis Alberto Alfaro. Contribuições para modelagem de um ambiente
inteligente de educação baseado em realidade virtual. 1999. Tese (Doutorado
em Engenharia de Produção) – Universidade Federal de Santa Catarina.1999.
Disponível em:
< http://www.eps.ufsc.br/teses99/casas/index.html >. Acesso em: 24 junho 2008.
CHAMPANDARD, Alex J. AI Game Development – Synthetic Creatures with
Learning and Reactive Behaviors. Indianopolis: New Riders. 2003.
16
CORTEX INTELLIGENCE. Transformando Informações em Resultados.
Disponível em: <http://www.cortex-intelligence.com/site/html/casos/casovitopel.php>.
Acesso em: 27 Jun. 2008.
COSTA (2006) COSTA, HERBERT RODRIGUES DO NASCIMENTO. Aplicação de
Técnicas de Inteligencia Artificial em Processos de Fabricação de Vidros (Tese
de Doutorado). Escola Politécnica da Universidade de São Paulo . 2006.
COTA SILVA (2005) COTA SILVA, RENATO AFONSO. Inteligência Artificial
Aplicada a Ambientes de Engenharia de Software: Uma Visão Geral.
Universidade Federal de Viçosa. November 18, 2005
COUTINHO, Fernando Vieira. Data Mining. DwBrasil. Brasília-DF, 2003.
EBERSPÄCHER, Henri; KAESTNER, Celso. Arquitetura de um sistema de autoria
para a construção de sistemas tutores hipermídia.1998. Simpósio Brasileiro de
Informática na Educação, 7., Anais... São José dos Campos: ITA/CTA.1998.
Disponível em: < http://www.c5.cl/ieinvestiga/actas/ribie98/207.html>. Acesso em: 23
junho 2008.
EVSUKOFF, Alexandre G. Introdução às Técnicas de Data Mining. COPPE/UFRJ
Programa de Engenharia Civil. Rio de Janeiro, 2005. Disponível em: <
http://www.lncc.br/verao/verao05/arquivos/Intro%20Data%20Mining%201.pdf>.
Acesso em: 26 Jun. 2008.
FERREIRA, Carlos et al. O data mining na compreensão do fenômeno da dor:
uma proposta de aplicação. Universidade de Minho – Portugal, 2006. Disponível
em <https://repositorium.sdum.uminho.pt/handle/1822/5577>
FERREIRA, Maria Alice Grigas Varela; SOBRAL, Maria Emília Gomes. Tutores
inteligentes para ambientes de ensino-aprendizagem cooperativos.
Universidade de São Paulo, 2001. Disponível em: <
http://www.asee.org/international/INTERTECH2002/598.pdf >. Acesso em: 23 junho
2008.
KISHIMOTO (2004) Kishimoto, André. Inteligência Artificial em Jogos
Eletrônicos. 2004.
KOEHLER, Cristiane. Uma abordagem probabilística para Sistemas
Especialistas. 1998. 97 f. Dissertação (Mestrado em Ciência da Computação) –
Universidade Federal de Santa Catarina, Florianópolis, 1998.
KOEHLER, Cristiane. Modelagem de Redes Bayesianas a partir da Identificação
de Padrões em Base de Dados. 2002. 44 f. Tese de Doutorado (Programa de PósGraduação em Computação) - Universidade Federal do Rio Grande do Sul, Porto
Alegre, 2002.
LEITÃO, Flávio et al. Diagnóstico de tumores do ângulo pontocerebelar com o auxílio de técnicas de inteligência artificial. Arq.
17
Neuro-Psiquiatr. vol.58 n.1 São Paulo Mar. 2000. Disponível em
<http://www.scielo.br/pdf/anp/v58n1/1258.pdf>
NASSAR, Sílvia Modesto (2005), Tratamento de Incerteza: Sistemas
Especialistas Probabilísticos. 2005. Disponível em: <http://www.inf.ufsc.br/~silvia/
disciplinas/sep/MaterialDidatico.pdf>
RUSSELL, Stuart; NORVIG, Peter. Inteligência Artificial. Tradução da 2ª edição.
Rio de Janeiro: Campus, 2004.
SELLITTO (2002) Sellitto, Miguel Afonso. Inteligência Artificial: Uma Aplicação
em uma Indústria de Processo Contínuo. Universidade do Vale do Rio dos Sinos,
Unisinos. 2002.
SEVERO (2004) Severo, Larissa Scherer. Controle de processos da indústria de
petróleo e gás utilizando técnicas de inteligência artificial. (Monografia). Universidade
Federal de Santa Catarina. 2004.
SOUZA, Murilo Barreto et al. Uso da rede neural artificial no planejamento
cirúrgico da correção do estrabismo. Arq. Bras. Oftalmol. vol.67 no.3 São Paulo
Maio/Junho 2004. Disponível em: <http://www.scielo.br/pdf/abo/v67n3/20519.pdf>
TOZOUR, Paul. Artificial Intelligence – Introduction from Game Programming
Gems 4. Hingham: Charles River Media. 2004.
WOODCOCK, Steven. Game AI: The State of the Industry. Game Developer
Magazine. CMP Media. Aug 1999. Pages 34-43.