Prévia do material em texto
Unidade 2
Livro Didático
Digital
Alan de Oliveira Santana
Inteligência
Artificial
Diretor Executivo
DAVID LIRA STEPHEN BARROS
Diretora Editorial
ANDRÉA CÉSAR PEDROSA
Projeto Gráfico
MANUELA CÉSAR ARRUDA
Autor
ALAN DE OLIVEIRA SANTANA
Desenvolvedor
CAIO BENTO GOMES DOS SANTOS
Alan de Oliveira Santana
Olá. Sou Alan de Oliveira Santana, possuo graduação em Ciência da
Computação – Universidade do Estado do Rio Grande do Norte – e Mestre
em Sistemas da Computação – Universidade Federal do Rio Grande do
Norte. Atualmente sou professor conteudista, elaborador de cadernos
de questões e doutorando em Ciências da Computação. Como cientista,
atuo no desenvolvimento e avaliação de técnicas de desenvolvimento de
sistemas com ênfase na educação.
Desse modo, fomos convidadas pela Editora Telesapiens a integrar
seu elenco de autores independentes. Estou muito satisfeito com o
convite e a possibilidade de auxiliar em seu desenvolvimento intelectual
e profissional. Bons estudos!
O AUTOR
Olá. Meu nome é Manuela César de Arruda. Sou a responsável pelo
projeto gráfico de seu material. Esses ícones irão aparecer em sua trilha
de aprendizagem toda vez que:
ICONOGRÁFICOS
INTRODUÇÃO:
para o início do
desenvolvimento de
uma nova com-
petência;
DEFINIÇÃO:
houver necessidade
de se apresentar um
novo conceito;
NOTA:
quando forem
necessários obser-
vações ou comple-
mentações para o
seu conhecimento;
IMPORTANTE:
as observações
escritas tiveram que
ser priorizadas para
você;
EXPLICANDO
MELHOR:
algo precisa ser
melhor explicado ou
detalhado;
VOCÊ SABIA?
curiosidades e
indagações lúdicas
sobre o tema em
estudo, se forem
necessárias;
SAIBA MAIS:
textos, referências
bibliográficas e links
para aprofundamen-
to do seu conheci-
mento;
REFLITA:
se houver a neces-
sidade de chamar a
atenção sobre algo
a ser refletido ou
discutido sobre;
ACESSE:
se for preciso aces-
sar um ou mais sites
para fazer download,
assistir vídeos, ler
textos, ouvir podcast;
RESUMINDO:
quando for preciso
se fazer um resumo
acumulativo das
últimas abordagens;
ATIVIDADES:
quando alguma
atividade de au-
toaprendizagem for
aplicada;
TESTANDO:
quando o desen-
volvimento de uma
competência for
concluído e questões
forem explicadas;
SUMÁRIO
Introdução ao tratamento de incertezas ........................................11
Escalonamento e o tempo no mundo real ...............................................................11
Expandindo o planejamento com hierarquia..........................................................14
Incertezas e a IA ...........................................................................................................................17
Uma visão geral sobre o algoritmo de Bayes no tratamento das
incertezas .....................................................................................................20
Algumas teorias fundamentais para o entendimento geral do algoritmo
de Bayes ............................................................................................................................................20
Teoria da utilidade ...................................................................................................20
Teoria da probabilidade .......................................................................................25
Teoria da decisão .....................................................................................................25
O algoritmo de Bayes ..............................................................................................................27
Uma visão geral sobre o modelo oculto de Markov e sua
contribuição para a IA .............................................................................31
Aprofundando conceitos da teoria da probabilidade ......................................31
Relação entre o tempo e a incerteza ...........................................................................33
IA e a inferência nos modelos temporais ..................................................................35
O modelo oculto de Markov ...............................................................................................37
Tomadas de decisão simples e complexas....................................40
Retomando o raciocínio computacional ....................................................................40
Agentes de tomada de decisão simples ...................................................................41
Redes de tomadas de decisão ......................................................................41
Agentes de tomada de decisão complexa ..............................................................44
Inteligência Artificial8
UNIDADE
02
LIVRO DIDÁTICO DIGITAL
Inteligência Artificial 9
Uma capacidade que muitos animais possuem, em especial
o ser humano, é poderem fazer inferências em situações diversas,
especificamente em momentos onde não é possível ter certeza sobre
as consequências das escolhas. Sistemas digitais, através dos agentes
inteligentes, podem possuir camadas de tratamento de dados específicas
para simular este raciocínio incerto.
Para o tratamento das incertezas, agentes computacionais podem
realizar escalonamento nos problemas, discretizando a forma como ele
deve ser tratado. Além do exposto, teorias específicas como a teoria de
decisão, permitem que modelos complexos sejam desenvolvidos para o
tratamento de dados incertos. Os algoritmos de Bayes e Markov também
são modelos úteis para o tratamento diferenciado de problemas baseados
na chamada lógica de primeira ordem.
Desta forma, o objetivo desta unidade será apresentar os conceitos
ligados ao tratamento incerto, como por exemplo, utilizando o modelo
oculto de Markov e as redes baysesianas. Com o objetivo de fundamentar
melhor estes conceitos, iremos retomar e aprofundar conceitos já visto
na unidade anterior. Assim, poderemos ao final do material discutir sobre
como os sistemas inteligentes realizam decisões sobre dados incertos.
INTRODUÇÃO
Inteligência Artificial10
Olá. Seja muito bem-vindo à Unidade 2. Nosso objetivo é auxiliar
você no desenvolvimento das seguintes competências profissionais até o
término desta etapa de estudos:
1. Entender as características do tratamento das incertezas;
2. Compreender a lógica conceitual do algoritmo de Bayes e Markov;
3. Identificar a aplicabilidade do algoritmo de Markov;
4. Discernir sobre as técnicas de tomadas de decisão, simples e
complexas.
Então? Preparado para uma viagem sem volta rumo ao
conhecimento? Ao trabalho!
OBJETIVOS
Inteligência Artificial 11
Introdução ao tratamento de incertezas
INTRODUÇÃO:
O objetivo desta unidade é apresentar uma visão geral da IA
e de seus conceitos fundamentais como a representação do
conhecimento, finalizando o conteúdo com a apresentação
de planejamentos estratégicos para tomada de decisão.
Neste sentido, nesse capítulo iremos retomar o estudo
das estratégias e da representação do conhecimento, nos
permitindo apresentar como se dá o tratamento de incerteza
na Inteligência Artificial. Bons estudos!
Escalonamento e o tempo no mundo real
As estratégias anteriores apresentadas na unidade 1, buscavam criar
uma representação simplista do conhecimento e o uso de grafos para
controle de fluxo de dados. Porém, em muitos problemas em que as IAs
apresentam bom uso, o tempo é uma variável importante no tratamento
das decisões.
Por exemplo, um sistema inteligente implantando em aeroporto
para tratar os conflitos de seleção de portão para os aviões.
Note que o tratamento inteligente também leva em consideração
mais uma variável, o tempo de chegada e saída do avião.
Muitos sistemas que utilizam IA, possuem o tempo como uma
variável em tomadas de decisão, você percebe mais algum sistema que
também utilize esta variável na tomada de decisão?
O tratamento do tempo deve ser tratado como uma ação
hierarquizada emrelação a variável tempo, uma vez que tais ações,
ligadas ao exemplo acima, que possuem tempo menor, mais próximo do
atual, devem ser executadas antes das ações com tempo maior, menos
próximos do atual.
Inteligência Artificial12
Perceba que, o tempo é uma variável que pode ser entendida como
do mundo real, uma vez que ações temporizadas possuem implicações
práticas no mundo real, pois tais ações necessitam que o tempo no mundo
real avance para que estas possam completar seu ciclo de execução.
Não apenas o tempo, mas várias outras variáveis do mundo real
podem ser abstraídas para a tomada de decisão, com os dados destas
variáveis, entendidos como conhecimentos variáveis ou constantes,
podendo ser inseridos pelos programadores ou adquiridos por sensores,
como por exemplo: o clima, quantidade de pessoas em um ambiente,
entre outros.
O tratamento para variáveis ligadas a estruturas hierarquizadas, é
chamado de escalonamento.
DEFINIÇÃO:
Escalonar, segundo o dicionário Houaiss da Língua Portuguesa
(2009), significa “...galgar níveis mais altos por meio de degraus
ou etapas...”. Ou seja, utilizar uma estrutura em camadas
hierárquicas, onde cada elemento se insere nestas camadas
por ordem de prioridade.
Tais camadas, podem ser definidas com os elementos fixados
em suas posições, ou variando dentro da estrutura hierárquica, sendo a
própria estrutura de camadas hierárquicas, uma camada de conhecimento
específica para tomadas de decisão.
Existem diversas estratégias na criação de sistemas que escalonam
os processos. Uma delas é fazer primeiramente o escalonamento para
depois fazer o planejamento estratégico. Outra forma de desenvolver a
estratégia é realizar primeiramente o planejamento e em seguida fazer o
escalonamento por demanda, sendo este último similar ao exemplo do
sistema inteligente usado em uma companhia aérea citado acima.
Agora, com base no que foi exposto, vamos analisar a seguinte
situação:
Inteligência Artificial 13
• Uma empresa A produz alguns tipos de suco, porém, dois
tipos recebem como ingrediente laranjas;
• O suco X é feito exclusivamente de laranjas e o suco Y é
feito de setenta por cento de laranja e trinta por cento de
limão;
• A prioridade de produção é que a cada um suco do tipo Y,
sejam feitos dois do tipo X.
Para solucionar o problema acima, uma variável de tempo pode ser
usada como estratégia de escalonamento, ao cronometrar quando um
dado suco será produzido.
Para isso, primeiramente devemos definir o planejamento, onde
uma declaração chamada Processos, conterá as ações possíveis que o
sistema poderá executar.
Em seguida, definimos os recursos que serão usados em outra
declaração, contendo a informação que os produtos que serão usados
serão limão e laranja.
Por fim, criamos todas as ações que representam as possibilidades
de combinações e um temporizador como escalonador dos processos.
Desta forma simples, podemos criar um algoritmo que aplica a
escalabilidade através de uma variável do mundo real, o tempo. A Figura 1
apresenta um exemplo visual do algoritmo descrito acima.
Figura 1 – Algoritmo de produção de sucos escalonados
Fonte: Autor (2020)
Processos({AdicionarLaranja}, {AdicionarLimão}, {Produzir})
Recusros(Laranja(Proporção), Limão(Proporção))
Ação(AdicionarLaranja, Produzir, Temporizador:15s,
Inserir: Laranja(100%) )
Ação(AdicionarLaranja, AdicionarLimão, Produzir, Temporizador:30s,
Inserir: Laranja(70%), Limão(30%) )
Inteligência Artificial14
Perceba que primeiramente foi definido o planejamento estratégico
e em seguida o escalonamento. Também perceba que o escalonamento
possui valores fixos inseridos na lógica pelo programador.
O algoritmo da Figura 1 demonstra uma estratégia onde o
planejamento foi feito antes do escalonamento, você consegue recriar o
algoritmo fazendo o escalonamento antes da aplicação do planejamento?
Note que o planejamento geral apresentado na Figura 1 não leva
em conta a quantidade de recursos disponíveis. A solução para esta
falta de funcionalidade pode ser resolvida apenas com o aumento da
complexidade estrutural, criando processos e ações de verificação da
quantidade de recursos disponíveis, porém, o uso de hierarquias bem
definidas para construção de soluções, além de organizar melhor o
algoritmo, também permite isolar as soluções em problemas menores a
solução geral.
Expandindo o planejamento com
hierarquia
Um hierarquia é uma estrutura onde um indivíduo, processo,
arquivo, pasta, entre outros, são organizados em uma estrutura onde
cada etapa pode receber privilégios ou ser um referencial para os demais
elementos, bem como, adicionar outras características que os distinguem
ou que passam para os outros elementos abaixo da hierarquia (OLIVEIRA;
BELO, 2014).
Um bom exemplo de um sistema de hierarquia comum em nosso
dia a dia, especialmente para quem usa computadores e smartphones,
é a hierarquia de pastas e arquivos, onde, nesta estrutura podemos
definir regras de acesso para as camadas mais externas e estas regras
também serão aplicadas nas camadas mais internas de pastas e arquivos,
semelhante às características genéticas que os filhos receberam dos pais,
dos avós e assim por diante.
Todavia, o sistema de hierarquias também pode conceder privilégios
para certos membros, como a hierarquia militar em muitos países, onde
os membros com cargos mais elevados na hierarquia possuem benefícios
Inteligência Artificial 15
diferenciados, mesmo que, ligados a deveres e responsabilidades
também diferenciados.
Desta forma, um sistema hierárquico poderá assumir diferentes
regras de estrutura e subordinação dos entes com base nos objetivos
gerais a serem alcançados.
Para a IA, um sistema de hierarquias ligado ao planejamento
estratégico, permite que ações específicas sejam estruturadas de tal
maneira, que elas podem possuir sub-rotinas de execuções para ações
especializadas, onde as ações mais elevadas na hierarquia, definem quais
ações subordinadas deverão ser executadas.
Além disto, também é possível criar diversas ações independentes
para cada camada da hierarquia, gerando consequentemente uma
independência em cada fluxo hierárquico.
Segundo Russell (2013), as ações podem ser divididas em duas, as
chamadas primitivas, nomenclatura usada para identificar os modelos
apresentados na unidade 1 deste material, apresentando geralmente pré-
condição e ação respectiva, e as ações de alto nível, onde as ações são
hierarquizadas e acessadas por chamadas unilaterais através de chaves
de acesso.
A utilização destas chaves, permitem que o fluxo de dados seja
alterado durante a execução, ou seja, é diferente do uso tradicional de
uma máquina de estados onde o fluxo segue uma estrutura direta.
EXEMPLO: Um exemplo prático é o uso de uma função recursiva,
função que sua saída pode apontar para o fim da solução ou chamá-la
novamente. Estas funções, mesmo que previstas em máquinas de estado,
podem ser consideradas um refinamento do planejamento proposicional
apresentado na unidade 1, pois permite a criação de uma camada de
tratamento especial para o direcionamento do novo fluxo com base nas
saídas.
O exemplo acima é composto de ações primitivas e uma camada
de refinamento simples, mas, ainda se tem um controle bem definido do
fluxo suas possíveis repercussões. Tais soluções são chamadas de busca
Inteligência Artificial16
por soluções primitivas, pois se conhece o caminho e as hierarquias
seguem uma estrutura de fluxo.
Todavia, reflita sobre o problema abaixo.
Se uma pessoa definir que irá até o mercado comprar 1kg de
farinha, 2 ovos, 1 pacote de açúcar e 1 litro de leite. Perceba que o objetivo
está bem definido, a pessoa precisa comprar os produtos citados, assim,
sua cesta precisamos conter no final da execução para que a saída seja
positiva.
Porém, não é necessário que a ação de pegar os produtos sejam
feitas de formaestrutura, ou seja, seguindo um fluxo determinístico.
Desta forma, podemos definir que a hierarquia de cada ação é
independente umas das outras, com o caminho a ser percorrido sendo
uma estrutura abstrata.
REFLITA:
Na unidade anterior aprendemos sobre a lógica propositiva e
as tabelas verdade, bem como, sua importância para o estudo
das unidades seguintes. Você é capaz de criar uma solução
utilizando uma das tabelas verdades para quando a pessoa
citada chega ao final da execução do algoritmo?
Os exemplos apresentados até aqui possuem número X máximo
de possibilidades. Porém, muitos casos podem ser não determinísticos,
ou seja, impossível determinar quantas interações quais ações serão
executadas. Um exemplo seria a própria ida ao mercado, onde pode-se
deixar de levar algo devido o preço ou por não estar disponível, bem como,
adicionar um produto que não estava previsto na lista de compras. Tais
aplicações geralmente são implementadas para ambientes parcialmente
observáveis, desconhecidos e não determinísticos.
Desta forma, os agentes atuando no ambiente, manterão uma
camada de conhecimento e uma camada de crenças, onde estas crenças
estão relacionadas aos possíveis estados/ações que podem ser ativados.
Inteligência Artificial 17
Desta forma, podemos chegar ao objetivo principal deste capítulo.
Como os sistemas inteligentes tratam a incerteza?
Primeiramente é preciso citar que está capítulo o fará
superficialmente e de forma introdutória, uma vez que os demais capítulos
aprofundarão as técnicas de tratamento de incertezas.
Mas, o que veem a ser uma incerteza para a IA?
De forma simples, incerteza é a falta de capacidade de um modelo
matemático aplicado a um computador de prever uma saída, dado um
conjunto de entrada(s). Por sua vez, Mendes (2020), cita que incerteza
é a falta de capacidade de dado um conjunto de dados, inferir sobre o
significado dos processos.
Problemas de incerteza são tratados em diversas áreas da
computação, como a própria IA, métodos estocásticos, computação
quântica, entre outros, permitindo que achados sobre o tratamento
de incertezas estudados em uma área, sejam, em muitos momentos,
utilizados em outras áreas da computação.
Além do exposto acima, até o momento, vimos diversas estratégias
que são aplicadas no planejamento de soluções ligadas a capacidade de
raciocinar e tomar decisões com base em modelos. Tau conhecimento
será de grande valia para o estudo do tratamento de incertezas, seja
utilizando completamente ou parcialmente os modelos apresentados.
Incertezas e a IA
Como citado, as incertezas são definidas pela incapacidade de um
modelo geral ser capaz de prever o fluxo de processos até a saída e/ou
a própria saída.
Entre as origens da incerteza, podemos citar os ambientes
parcialmente observáveis e os casos onde os agentes são incapazes de
observar os estados.
Neste contexto, surge a camada chamada estado de crenças, onde
o agente mantém todas as combinações possíveis de serem previstas
como base de conhecimento principal ou adicional. Além deste modelo
Inteligência Artificial18
de crenças, o agente também deve possuir um conjunto de regras para
tratar situações não previstas. Todavia, Russell (2013) cita que este tipo de
sistema contém desvantagens significativas, apresentadas no Quadro 1
abaixo.
Ao interpretar a informação parcial do sensor, um agente lógico
deve considerar cada explanação logicamente possível das
observações, não importa o quão improvável seja. Isso leva a
representações de estados de crença impossivelmente grandes e
complexos.
Um plano de contingência correto que lida com toda
eventualidade pode crescer arbitrariamente e deve considerar as
contingências arbitrariamente improváveis.
Às vezes, não há um plano garantido de alcançar o objetivo —
mesmo assim o agente deve agir. Deve ter alguma maneira de
comparar os méritos dos planos que não são garantidos
Fonte: Adaptado pelo autor
Quadro 1 – Desvantagens da abordagem de crenças
As desvantagens apresentadas deixam claro que o custo do
processamento tende a ser bem elevado pela falta de um critério de
qualidade para cada crença/ação.
Para mitigar estes problemas, podemos criar uma camada de
raciocínio sobre a camada de crenças, sendo a camada de raciocínio
responsável por classificar o nível de importância das soluções.
EXEMPLO: Ainda utilizando o exemplo da companhia aérea
apresentado no início deste capítulo. Se um sistema de aviso aos
clientes de quando seu voo chegará for implantado, o sistema deverá
indicar o melhor momento para que o usuário sai de sua casa e vá para
o aeroporto, levando em consideração o tempo de viagem de caso ao
aeroporto, volume do trânsito e atrasos já identificados do voo. Porém,
uma possibilidade para evitar a perda do voo é chegar mais cedo. Todavia,
mais cedo quanto?
Inteligência Artificial 19
Perceba que chegar muito mais cedo praticamente garante a
chegada do usuário a tempo, mas gera um desperdício de tempo elevado.
Por sua vez, chegar muito próximo do horário do voo pode acarretar a
perda deste.
Estas opções de chegar muito cedo ou muito tarde são viáveis,
porém, seu custo é relativamente elevado para o cliente. Desta forma,
uma camada de raciocínio atuando na identificação destes custos e na
correta classificação hierárquica deste, tornará a experiência com a IA
mais agradável e segura, uma vez que o cliente não perderá tempo e
dinheiro.
Está é uma forma simplista de solucionar problemas de incerteza,
mas sua função prática mostra eficiência para problemas específicos
como o citado. Veremos nos capítulos a seguir modelos mais elaborados
de tratamento de incerteza, mas, esperamos que o conhecimento
apresentado neste capítulo seja um bom referencial para os capítulos
seguintes.
RESUMINDO:
Neste capítulo foi apresentado conceitos gerais e
introdutórios sobre o que é e como tratar as incertezas.
Para isto, primeiramente foi expandido o planejamento
estratégico apresentado no final da unidade 1 deste material,
citando como o escalonamento, especificamente feito pelo
tempo, poderia aumentar a capacidade de modelar um
raciocínio mais complexo. Em seguida, foi introduzida a ideia
geral das hierarquias e como elas auxiliam a estruturação
de estratégias gerais e dos problemas incertos. Por fim, a
conceitualização geral da incerteza e como os sistemas
inteligentes a percebem, foi explorado, especificamente
através de exemplificações retomadas por todo o capítulo.
Assim, este conteúdo introdutório, será uma base importante
para o entendimento dos modelos de tratamento da incerteza
apresentados nos capítulos a seguir.
Inteligência Artificial20
Uma visão geral sobre o algoritmo de
Bayes no tratamento das incertezas
INTRODUÇÃO:
Objetivo deste capítulo é fazer uma apresentação do
tratamento de incertezas através do algoritmo de Bayes,
procurando fundamentar algumas teorias que servem de
base para o entendimento geral do uso de probabilidade e
escolhas baseadas em critérios para a criação de modelos
estratégicos mais elaborados. Esperamos que o estudo seja
motivador e instigador ao aprofundamento destes conteúdos,
bem como, que ajude em seus projetos futuros que venham
a utilizar redes bayesianas. Bons estudos!
Algumas teorias fundamentais para o
entendimento geral do algoritmo de Bayes
Esta Seção é destinada a apresentação de algumas teorias que
embasam os modelos de inferências que, por sua vez, fundamentam
conceitos de independência de dados e do próprio algoritmo de Bayes.
Para esta fundamentação, apresentaremos a teoria da utilidade,
teoria da probabilidade e a teoria da decisão.
Teoria da utilidade
Em geral, quando vamos ao mercado fazer as compras para um
mês ou período, criamos, mesmo que virtualmente em nossas mentes,
listas baseadas em necessidades específicas.
Uma vez no mercado, a lista passa a ser um referencial, pois, ao
fazer a análise dos preços,estoque, e outras variáveis, tendemos a realizar
alterações em nossos planejamentos.
Entre as experiências vividas em um mercado, nós podemos nos
deparar com casos onde definimos um produto X de uma marca Y que
Inteligência Artificial 21
queremos comprar, todavia, ao analisar se o preço está mais ou menos
elevado que a última compra, alguns podem decidir levar uma outra
marca com preço mais em conta, ou assumir o risco do valor e levar a
marca planejada.
Perceba que para o mesmo produto X de uma marca Y qualquer,
pessoas diferentes tomarão decisões diversas. Estas decisões estão
ligadas a fatores como sabor, cheiro, cor, visual da embalagem, possuir
ou não algum brinde, o preço, entre outros.
Note que a insistência, ou falta dela, na compra do produto citado, é
um processo individual ligado a utilidade que cada indivíduo dá para cada
objeto e/ou situação.
Com base na dinâmica acima, existe uma teoria que representa
estas situações citadas, a teoria da utilidade.
Antes de definir a teoria da utilidade, é preciso citar que sua base
para representar as possibilidades é a teoria dos jogos e a probabilidade,
o qual, o segundo será apresentada na próxima Seção.
DEFINIÇÃO:
A teoria da utilidade, segundo Nunes e Silva (2019), pode ser
entendida como a capacidade de raciocinar ao processar
conjunto de dados representados objetivamente, onde fatores
emocionais de cada indivíduo, os permite tomar decisões em
meio a incerteza.
Um dos principais princípios desta teoria, é que um agente com
base em sua base de conhecimentos e experiências, é capaz de tomar
decisões e assumir os riscos destas decisões, decisões estas carregadas,
também, de fatores emocionais.
Na computação, os agentes que implementam a teoria da utilidade,
a utilizam de forma individual, sendo constantemente influenciados pelo
estado do mundo e de outros agentes concorrentes.
Inteligência Artificial22
SAIBA MAIS:
Sesta Seção apresenta de forma simplificada e introdutória
os conceitos da teoria da utilidade. Para saber mais assista o
vídeo “Teoria do Consumidor: Teoria da Utilidade” disponível
em: https://bit.ly/31dmyVm
A concorrência entre os agentes se dá ao passo que todos estão
competindo com base em seus próprios conceitos/crenças e estão
dispostos a “pagar por um custo” específico pelo que se está concorrendo.
Assim, é preciso criar um conjunto de restrições racionais para
permitir o tratamento das preferências de cada agente.
Neste sentido, regras simples de decisão podem ser aplicadas aos
agentes, como por exemplo criar uma camada reativa simples para tratar
a quantidade de recursos disponíveis ou a necessidade destes.
EXEMPLO: Tomando por base o exemplo anterior sobre ir ao mercado
fazer compras específicas. Podemos elencar produtos essenciais e não
mutáveis, ou seja, produtos que estão ligados a marcas específicas que
não podem ser substituídos por outras. Em seguida, podemos descrever
produtos que possuem prioridade a marcas, mas que em situações de
alto custo total ou similares mais em conta (este termo “em conta” é
definido dinamicamente com base nos valores totais na cesta e entre os
produtos, levando em consideração uma variável de qualidade e uma
regra que trate a variação do preço em relação a esta qualidade), podem
ser substituídos. Por fim, os objetos da lista que podem ser substituídos
por similares sem gerar emoções negativas acentuadas.
Assim, podemos utilizar um pouco de matemática para fazer a
representação computacional deste problema.
Desta forma, vamos definir uma função chamada inserir na cesta.
Sua função, como o nome diz, é inserir objetos na cesta e permitir adicionar
uma camada de tratamento sobre estes objetos antes de serem inseridos.
Inteligência Artificial 23
No exemplo percebemos a presença de três grupos de elementos
distintos, os produtos que não podem ser substituídos, os que só devem
ser substituídos em casos especiais e os que podem ser substituídos
livremente. Logo, podemos chamá-los respectivamente de Grupo 1,
Grupo 2 e Grupo 3.
Em seguida, precisamos definir a camada de tratamento sobre a
função inserir na cesta. Esta camada receberá dois elementos por vez
com especificações para cada tipo de Grupo.
Os elementos do Grupo 1 são uma exceção por comparar o produto
desejado com um campo vazio, uma vez que estes elementos não devem
ser substituídos por outros. Assim, vamos chamar os elementos do Grupo
1 de a1.
Os elementos do Grupo 2 são verificados de acordo com uma ou
mais regras de escolha, assim, vamos chamar os elementos de b1 e b2,
sendo b1 o elemento pré-definido e b2 o elemento a ser comparado.
Por fim, os elementos do Grupo 3 não precisam de regras elaboradas
e serão chamados de c1 e c2, com os c1 sendo os pré-definidos, quando
for, e os c2 os a ser comparados.
Por fim, são definidas as regras de decisão. Como citado, os
elementos do Grupo 1 não precisam ser comparados por não poderem
ser modificados, porém, os elementos dos demais grupos precisam de
tratamento especial.
A regra para o Grupo 3 é definida quando um produto similar é
comparado ao produto predefinido e a escolha será feita em favor do mais
barato.
Por sua vez, a regra para o Grupo 2 será comparar o preço dos dois
produtos, pré-definido e não-pré-definido e verificar se a diferença entre
eles é igual ou maior que trinta por cento (30%).
Reflita sobre situações onde você precisou fazer escolhas com
base em critérios baseados no que a teoria da utilidade apresenta?
Inteligência Artificial24
Desta forma simples, o agente computacional será capaz de tomar
decisões com base, de forma simples, na teoria da utilidade. A Figura
2 apresenta a estruturação em forma de algoritmo do problema acima
citado.
Figura 2 – Algoritmo de inserção de produtos baseado em utilidade
Fonte: Autor (2020)
Processos({AdicionarACesta},{ValidarGrupo1},{ValidarGrupo2},{ValidarGrupo3})
Recusros(a1,b1,b2,c1,c2)
Ação(AdicionarACesta, ValidarGrupo1(a1)
Inserir: a1
Ação(AdicionarACesta, ValidarGrupo2(b1,b2)
Validar: objetoB = percentualEntre(b1-b2) > 29: inserir b2, se não, inserir b1
Inserir: objetoB
Ação(AdicionarACesta, ValidarGrupo3(c1,c2)
Validar: objetoC = c1 > c2: inserir c2, se não, inserir c1
Inserir: objetoC
Uma vez que a função de inserção dos elementos do Grupo 1 é
direta e dos elementos do Grupo 3 apenas procuram inserir o mais
barato, perceba que a regra na linha 6 do algoritmo da Figura 2, possui
uma função chamada percentualEntre(). Esta função colhe a subtração
entre os valores b1 e b2 e realiza uma transformação deste dados para
representaram a porcentagem de diferença, permitindo em seguida que
este valor seja comparado com o valor 29, ou seja, se o valor resultante é
superior a 29 e por fim, se esta verificação for verdadeira, significa que o
produto b2 é, baseado na utilidade, mais viável que o produto b1. Sendo
o valor final igual ou inferior a 29, o resultado indicará que o produto b1 é
mais útil que o produto b2 para a resolução do problema.
Inteligência Artificial 25
Teoria da probabilidade
Um exemplo clássico da teoria da probabilidade é o lançamento
de um dado de seis lados. Note que, se retirarmos algumas regras
físicas e na forma irregular dos dados, cada lado tem igual probabilidade
de apresentar sua face para cima. Desta forma, podemos dizer que a
probabilidade geral de uma face ser selecionada é de 1 para 6, pois todas
as faces têm a mesma chance de ficar com a face para cima, porém,
apenas uma face por vez pode alcançar este estado.
Segundo Russell (2013), os modelos probabilísticos estão ligados
a representações de mundo, nunca podendo existir dois mundos ao
mesmo tempo, algo que pode ser explicado com base no exemplo acima,
pois cada face só pode estar virada para cima caso todas as demais não
estejam. Desta forma, cada resultado provável é um mundo específico.
Desta forma, para se representarum modelo que represente estes
mundos, devemos identificá-los se estão ativos ou inativos, geralmente
representados por 1 e 0 respectivamente.
Os modelos que representam estes mundos citados, geralmente,
procuram representar as estruturas, conjuntos, no lugar dos elementos,
especificamente pelo fato de procurarmos prioritariamente definir
modelos gerais que incluem um número finito de possibilidades, cabendo
ao modelo nos dizer este valor, todavia, este problema que a probabilidade
procura resolver não é o único, cabendo ao aplicador do modelo verificar
sua objetiva aplicabilidade.
O objetivo desta Seção é apresentar introdutoriamente o que é e
um exemplo básico da teoria da probabilidade, uma vez que, o capítulo
3 desta unidade, que tratará sobre o modelo de Markov, retomará este
conceito e assim, este será abordado de forma mais profunda similar a
Seção sobre a teoria da utilidade.
Teoria da decisão
Até o momento, vimos que uma forma de tratar as incertezas é
inserir uma camada de utilidade a esta baseada em modelos da teoria
Inteligência Artificial26
da utilidade vinda da economia. Em seguida vimos como o uso simples
da probabilidade nos permite criar modelos capazes de representar
diferentes mundos através de conjuntos de elementos.
REFLITA:
Agora, façamos uma reflexão, e se fosse possível criar
modelos estratégicos utilizando regras de seleção de ações
com base em crenças e emoções, bem como, baseadas em
mundos probabilísticos?
A teoria da decisão é a solução para a reflexão acima, uma vez que
esta teoria procura maximizar as um conjunto de utilidades em forma de
mundos baseados nas crenças e desejos dos agentes (RUSSELL, 2013).
Na prática, a teoria da decisão define uma nova camada sobre a
camada apresentada na Seção sobre a teoria da utilidade, sendo esta
nova camada responsável por aplicar modelos probabilísticos a fim de
selecionar os estados de crenças mais úteis.
Se tomarmos por base o exemplo dado na Figura 2, poderemos
perceber que ele não trata bem os recursos totais para pagar as compras.
Também não trata a falta de algum produto, bem como, não trata uma
lista de produtos a serem comparadas umas com as outras de um mesmo
grupo.
Neste sentido, poderíamos criar uma função probabilística que
trate todas estas variáveis e entregue como saída a atualização de nossas
crenças de utilidade, como por exemplo, não apenas ver se um produto é
mais caro que outro, mas também verificar se os preços destes impactarão
os recursos para pagamento disponível, não permitindo que produtos de
um dado tipo com valor superior ao que crença definiu, sejam inseridos
na cesta.
Desta forma, podemos dizer que este é um tratamento muito mais
complexo sobre dados incertos que os apresentados anteriormente.
Inteligência Artificial 27
Assim, finalizamos a introdução a conceitos básicos para o estudo
teórico e introdutório do algoritmo de Bayes.
O algoritmo de Bayes
O algoritmo de Bayes, comumente chamado de redes bayesianas,
é um grafo orientado composto de N vértices, com cada vértice
representado um estado probabilístico, ou seja, um mundo.
O nome rede, vem da forma como esta estrutura de dados se
organiza, mantendo no grafo representações dos estados e de todas suas
relações, resultando em uma estrutura que se assemelha a uma rede,
ou teia de aranha. Desta forma, é possível visualizar a relação entre dois
vértices, bem como, o nível de relação entre eles, quando houver.
Redes bayesianas são indicadas para problemas de raciocínio
probabilístico, ou seja, problemas em que não se tem completo
conhecimento sobre um problema dado, seja pela falta de dados
informativos, ou pela não possibilidade de obtê-los.
Uma das premissas das redes bayesianas é que cada estado deve
apresentar valores que variam entre 0 e 1, desta forma, podemos considerar
que o valor 1 representa cem por cento em uma dada probabilidade e
0 zero por cento, com os valores intermediários representando valores
entre o zero e o cem por cento.
Também é importante lembrar que dado um conjunto de mundos,
a soma total de todos os estados deve ser igual a 1, como no caso dos
dados apresentado anteriormente, em que, cada face tem 1/6 porcento
de chance de acontecer, ao se somar as seis faces o valor total será 6/6,
ou seja, 1.
Assim, cada vértice da rede será composto de um conjunto de
probabilidades ligadas a regras de hierarquia parental, bem como, de
ativação do vértice e posterior execução de vértices aparentados a partir
dos filhos do nó atual.
Inteligência Artificial28
EXEMPLO: Agora vamos exemplificar uma rede simples ligada a
um sensor para detecção de incêndios florestais. Este sensor possui duas
funções que ativam notificações para a equipe de combate a incêndios,
uma está ligada a percepção de fumaça e a outra em relação a carga útil
da bateria do sensor, significando que precisa ser feita a troca da fonte de
energia.
Uma vez que algum dos problemas ocorram, o sistema utilizando
a rede bayesiana lançará alertas textuais para a área de notificação do
pessoal de apoio e suporte técnico, bem como, para a equipe de combate
a incêndio, tratando probabilisticamente para quem será enviado cada
mensagem.
Assim, usaremos letras maiúsculas para definir cada ação: F, E,
N, S e C, representando consecutivamente a percepção de fumaça,
percepção de carga baixa, sistema de notificação, equipe de suporte e
equipe de combate.
Além da definição das letras, também será necessário vincular uma
tabela de tratamento probabilístico para cada vértice.
Desta forma, poderemos fazer uma representação probabilística
deste controle de alerta para equipes diferente ligados a fatos geradores
diferentes. O modelo citado no exemplo acima está demonstrado na
Figura 3.
Figura 3 – Exemplo de rede bayesiana
Fonte: Autor (2020)
Inteligência Artificial 29
A Figura 3, apresentada acima, apresenta desta forma os nós,
vértices, exemplificando as suas funções através de textos diretos, as
relações em forma das linhas de ligação hierárquicas e, por fim, as tabelas
com as regras probabilísticas.
Perceba que a função P () identifica qual estado está sendo ativo.
Perceba também que P(E) e P(F) são independentes um em relação ao
outro, porém, seu estado atual é vitalmente importante para P(N).
Cada função é representada por uma probabilidade esperada do
estado estar ativo dado as condições acima, desta forma, se for detectado
que existe fumaça, mas a bateria está com carga suficiente, a notificação
receberá como entrada para a análise respectivamente um f, falso, e um
v, verdadeiro, bem como, será também apresentada a probabilidade
esperada deste estado ser verdadeiro.
Por fim, os vértices de notificação a equipe de suporte e combate,
possuem regras especiais para tratar as saídas da notificação, a regra está
definida na primeira célula da primeira coluna nas tabelas de P(S) e P(C)
, sendo estas respectivamente uma função e lógico e se, então lógico
negado.
Assim, qualquer estado verdadeiro notificado com base nas entradas
notificadas tratados com Λ, ativaram a notificação a equipe de suporte,
que terá o trabalho adicional de notificar a equipe de campo para troca
das baterias, bem como, a equipe de combate a incêndio caso ocorra
percepção de fumaça e pouca carga ao mesmo tempo (estas últimas
notificações pelo vértice da equipe de suporte não foram inseridas no
exemplo da Figura 3).
Por sua vez, o vértice da equipe de combate a incêndios, só será
verdadeiro caso a função se, então lógico (Λ), obtiver saída falsa, sendo
esta negada pelo não lógico representado pelo símbolo ¬. Assim, quando
a entrada da notificação é dada por um fator f e v ao mesmo tempo,
significa que o sensor percebeu exclusivamente a presença de fumaça,
sendo a equipe notificada diretamente.
Inteligência Artificial30
RESUMINDO:
Este capítulo procurou apresentar uma breve introdução
sobreo algoritmo de Bayes para o tratamento de incertezas.
Para isso, primeiramente tratamos de 3 teorias fundamentais
para o tratamento complexo das incertezas, a teoria da
utilidade, teoria da probabilidade, e a teoria da escolha. Por fim,
apresentamos de forma simples e objetiva como o algoritmo
de Bayes, também conhecido como redes bayesianas atuam
através de exemplos práticos.
Inteligência Artificial 31
Uma visão geral sobre o modelo oculto
de Markov e sua contribuição para a IA
INTRODUÇÃO:
Neste capítulo iremos tratar de forma introdutória o modelo
oculto de Markov, porém, a fim de comprar a forma como
Markov trata a incerteza com a utilizada em Bayes, iremos
retomar brevemente conceitos da teoria da probabilidade,
especificamente os comparando com o tratamento sobre
modelos temporais que são utilizados no modelo oculto de
Markov. Por fim, apresentaremos exemplificações práticas
durante a conceitualização do modelo. Vamos lá!
Aprofundando conceitos da teoria da
probabilidade
A Seção 2.1.2 intitulada Teoria da probabilidade, apresentou de
forma simples e objetiva, regras gerais para o modelo aplicado em Bayes,
porém, não aprofundou outros conceitos, também gerais, da forma como
a teoria trata conjuntos de elementos diversos.
A teoria da probabilidade tem sua provável origem no século nono
depois de Cristo, com os trabalhos ligados a criação de regras para análise
de possibilidades de combinações de jogadas em jogos de azar.
Posteriormente, matemáticos célebres como Pascal (1623-1662),
Leibniz (1646-1716), Beroulli (1654-1705), Bayes (1702-1761) e Laplace (1749-
1827), contribuíram para a noção clássica que temos sobre a probabilidade
e sua representação de possibilidades igualmente prováveis entre os
elementos de um dado grupo (RUSSELL, 2013).
Uma das principais contribuições da chamada probabilidade
clássica é o princípio da indiferença.
O princípio da indiferença, também conhecido como princípio da
insuficiência da ração, o qual é aplicado a Bayes, considera que uma
Inteligência Artificial32
coleção qualquer de n estados possíveis que não podem ser controlados,
possuem uma probabilidade igual a 1/n de acontecer, além de não ser
permitido que mais de um estado esteja ativo ao mesmo tempo (KEYNES,
1921).
Perceba que a definição citada a acima é a mesma, escrita de outra
forma, que a definição geral da teoria da probabilidade, uma vez que
ambas as definições condicionam que um conjunto qualquer de objetos
possui igual possibilidade de ocorrer.
Nos últimos 100 anos aproximadamente, as contribuições para
a criação de modelos probabilísticos se desenvolveu muito, como a
definição da lógica indutiva, que parte do princípio que cada indivíduo
possui um conjunto de crenças ligadas a diferentes evidências, permitindo
que a relação entre as duas variáveis citadas sobre cada indivíduo possam
ser tratadas matematicamente de forma precisa (SAINSBURY, 1991).
Por sua vez, as redes bayesianas já apresentadas, procuram dar
a cada conjunto de objetos uma probabilidade interna de ocorrência,
particionando probabilisticamente cada chance com base em percentuais
específicos para cada elemento e suas relações específicas.
O nome deste tipo de tratamento sobre conjuntos de objetos,
chama-se lógica de primeira ordem.
A lógica proposicional possui como característica a necessidade da
declaração de valores a fim de realizar uma relação-verdade, dos dados
analisados.
Um dos principais problemas nesta descrição, é a impossibilidade
do uso das chamadas linguagens de altíssimo nível, ou seja, expressões
como: “Adicione o valor 1 a variável A e some o valor com o contido na
variável B”.
Perceba que podemos abstrair essa expressão e representá-
la através, unicamente, de funções baseadas na lógica proposicional,
porém, de forma muito complexa e de difícil leitura por pessoas que não
possuem intimidade com programação e lógica computacional.
Inteligência Artificial 33
Por sua vez, a lógica de primeira ordem, trata as expressões através
de relações abstratas, permitindo que o uso de uma gramática qualquer
que defina bem as regras de escrita e tratamento dos dados, possa
ser usada como base de conhecimento para a criação e validação das
expressões (RUSSELL, 2013).
Ao compararmos matematicamente a lógica de primeira ordem
com a lógica proposicional. Iremos notar que a lógica proposicional utiliza
modelos formais que procuram validar se um conjunto de dados pode ser
considerado verdadeiros ou falsos. Este conceito também está presenta
na lógica de primeira ordem, porém, esta pode expandir este conceito e
aplicar novos modelos.
Por exemplo, a lógica temporal que procura avaliar e validar os
dados de acordo com intervalos definidos de tempo e que iremos tratar
ainda neste capítulo.
Assim, podemos dizer que ambos os algoritmos, Bayes e Markov,
aplicam seus modelos baseados em lógica de primeira ordem, uma vez
que o uso de modelos temporais e probabilísticos, respectivamente a
cada algoritmo, são expansões dos modelos da lógica proposicional.
Relação entre o tempo e a incerteza
Na Seção 1.1, Escalonamento e o tempo no mundo real, percebemos
que a variável do tempo nos permite criar escalonamentos simples para o
tratamento de incertezas, bem como, introduziu o conceito de tratamento
de variáveis do mundo real em meios digitais.
Meios computacionais não são capazes de aplicar modelos
realmente contínuos, também conhecidos como valores analógicos, uma
vez que a base da computação é a lógica proposicional, o qual, discretiza
as interações em dois valores específicos, 1 e 0.
Porém, os modelos discretos podem ser entendidos como modelos
contínuos ao reduzir-se a valores muito pequenos os intervalos de tempo
observacionais.
Por exemplo, um vídeo rodando a 5 frames, intervalo de cinco
Inteligência Artificial34
imagens a cada um segundo, faz com que o olho humano perceba que
as imagens estão sendo consecutivamente trocadas em um intervalo de
tempo. Todavia, se a quantidade de imagens apresentadas em um frame
for aumentada para valores igual ou superior a dez, o olho humano deixa
de perceber a troca temporal. Assim, passamos a acreditar que o vídeo
está sendo executado continuamente como vemos no mundo real.
Neste caso, o intervalo de observações foi mantido, sendo alterado
a frequência de substituição de imagens neste intervalo. Porém, em
alguns casos o próprio intervalo de tempo condiciona a variação de ações.
Como alguns programas computacionais que são afetados pela
velocidade do clock dos processadores.
Neste sentido, podemos retomar alguns exemplos anteriores sobre
o tratamento com lógica de primeira ordem apresentados. Ao analisá-los,
perceberemos que o uso da probabilidade os atende pois não é possível
prever completamente todos os estados possíveis e sua utilidade.
Porém, existem problemas que precisam levar em consideração
intervalos definidos de tempo, mesmo que ainda tratando as incertezas.
EXEMPLO: Se uma empresa que realiza customização de carros
for realizar uma pintura através de um sistema inteligente, podemos
perceber que após a pintura ser concluída é preciso esperar um tempo
definido para secagem, além disso, é preciso posteriormente verificar se
a pintura está boa ou é preciso fazer algum ajuste local em pontos que
possam ter sofrido alterações físicas pelo ambiente, como a temperatura
e o derretimento parcial da pintura.
Neste exemplo acima, o sistema é incapaz de prever se apenas
com uma pintura o resultado será o esperado, porém, é preciso esperar
um tempo definido para saber se o objetivo foi alcançado completamente
ou parcialmente.
Note que o exemplo pode ser de forma relativamente simples,
resolvido com uma rede bayesiana inserindo uma variável de tratamento
de tempo constante.
Inteligência Artificial 35
Porém, imagine um procedimento em que uma pessoa está
apresentando pressão alterada e é precisonormalizá-la antes de iniciar
propriamente os procedimentos médicos. Ao medicar o paciente, é
preciso verificar em um intervalo de tempo o estado atual da pressão.
Além disso, também é sabido que o medicamento em geral apresenta
tempo médio para que o efeito comece a ser percebido, bem como, o
período médio de normalização da pressão.
Poderíamos aplicar modelos probabilísticos para verificar os
possíveis estados do paciente em relação ao tempo, todavia, note que
estes resultados já formam discreteados na descrição dos efeitos do
medicamento. Assim, podemos usar os intervalos de tempo discretizados
como parâmetro para definir o intervalo de tempo entre as verificações,
bem como, o estado esperado que o paciente esteja nestes intervalos,
permitindo por sua vez que a equipe médica possa realizar possíveis
intervenções em momentos específicos, otimizando este tratamento
prévio, bem como, diagnósticos específicos.
Os exemplos acima possuem em comum a variável tempo e a
incerteza do estado após um dado período. Em alguns casos é possível
resolver de forma similar a lógica proposicional, verificando se o tempo
definido já passou e aplicando probabilidade em pró da solução, porém,
veremos mais a frente como podemos resolver problemas que o tempo
e a incerteza podem ser discretizados e resolvidos através do modelo
oculto de Markov.
IA e a inferência nos modelos temporais
Na Seção anterior vimos alguns problemas ligados ao modelo
temporal. Estes exemplos, porém, apresentaram soluções genéricas e
que poderiam ser substituídas por outros modelos baseados na lógica de
primeira ordem, ou até mesmo pela lógica proposicional.
Todavia, agora trataremos características que auxiliam na construção
de modelos para problemas temporais, facilitando a construção e
manutenção dos modelos com base nas regras de construção e avaliação.
Inteligência Artificial36
A primeira característica é a capacidade de fazer estimativas
baseadas nos estados de crença de cada agente. Por exemplo, se um
humano faz a instalação de um sistema de sensores em um lugar remoto
e estes sensores não são capazes de verificar a quantidade de energia
disponível para seu funcionamento, o humano deverá definir uma crença
que dado um tempo específico, ele precisará ir fazer a troca das baterias.
Outro exemplo é quando um agente virtual ligado a um sistema
de navegação, tomando por base o custo de um engarrafamento com
trânsito se movendo a X quilômetros por hora, se é melhor seguir a rota
principal por algum benefício posterior, como rota rápida livre, ou procurar
uma rota alternativa mais lenta em todo o percurso.
Em todos os exemplos, os agentes humanos e computacionais
estão filtrando suas escolhas e alterando suas crenças com base em
estado internos e externos advindo de suas emoções momentâneas, do
ambiente e de outros agentes.
Assim, podemos definir esta característica como filtragem.
Quando um agente ligado a um sistema de navegação decide que
ir pela rota que está com trânsito lento em parte de seu percurso, por
acreditar que compensará se manter na via rápida em detrimento de
usar uma via lenta sem congestionamento, este agente está realizando
previsões de estados futuros, algo útil para definir estratégias com base
em resultados esperados.
Tomando por base o exemplo do humano e o sensor, perceba que
a regra utilizada para trocar as baterias, são evidências de experiências
anteriores, permitindo que o agente, humano no caso, defina um intervalo
de manutenção com base em dados históricos experimentais seus ou de
outros agentes. Esta característica se chama, suavização.
A suavização permite que os dados anteriores sejam comparados
constantemente com os dados atuais e sejam feitas alterações pontuais
na estratégia definida.
Por sua vez, a observação de fatores que se repetem ou que se
alteram pouco durante o tempo, permitem aos agentes criar regras de
Inteligência Artificial 37
estados mais prováveis de acontecerem. Por exemplo, se o sistema de
navegação observou que os engarrafamentos das sextas-feiras são
mais longos e lentos que os das quintas-feiras, bem como, o impacto
do tempo das sextas quando se pega a via rápida em detrimento da via
secundária apresenta resultados piores, este agente pode inferir com
base em sequências históricas que especificamente nas sextas é melhor
usar as rotas alternativas para se ganhar tempo.
A característica ligada a exemplificação acima se chama explicação
mais provável.
REFLITA:
Aprendemos muitas coisas até aqui, porém, reflita agora
sobre as características citadas e procure observar se elas
estão presentes em algum sistema inteligente que você já
identificou previamente.
O tema de aprendizado na Inteligência Artificial só será abordado
em sua totalidade nas unidades posteriores, porém, perceba que ao
citarmos que um agente está usando dados coletados de experiências
anteriores, ele está usando um método rudimentar de aprendizagem, pois
é capaz de alterar suas crenças com base nestes dados. Esta capacidade
nos agentes que tratam a incerteza em ambientes temporais é chamada
de aprendizagem.
O modelo oculto de Markov
Nesta Seção iremos apresentar os contextos gerais sobre o
algoritmo de Markov, especificamente o chamado modelo de Markov,
que será útil como ferramenta mais elaborada de criação de modelos
para tratamento de estratégias para ambientes temporais.
Segundo Du (2019), o modelo oculto de Markov nos permite fazer a
extensão de modelos estáticos em modelos dinâmicos. Já Russell (2013),
cita que o modelo oculto de Markov tem por objetivo ser um modelo
Inteligência Artificial38
temporal para tratamento de estados através do uso de apenas uma
única variável aleatória e discreta.
O modelo oculto de Markov toma por base três variáveis principais,
uma ligada ao modelo de transição, outra ligada ao modelo dos
sensores e por fim, uma ligada as mensagens de movimentação entre as
possibilidades.
A primeira variável, o modelo de transição, procurará manter o
estado probabilístico de todos os resultados possíveis, salientando que a
quantidade de estados é definida pela desratização do tempo.
Os modelos de sensores serão responsáveis por verificar o estado
atual do ambiente e os estados atuais do agente em questão, permitindo
a seleção do estado baseado no modelo de transição.
Já as mensagens entre as movimentações, podem ser entendidas
como as respostas que o sistema dará para cada estado.
Desta forma, podemos dizer que a estrutura representativa do
modelo oculto de Markov será uma matriz, tabela, onde as colunas serão
definidas pelo modelo de transição, as linhas pelo modelo de sensores e
as células da tabela pelas mensagens.
EXEMPLO: Vamos exemplificar. Imagine um remédio para dor de
cabeça com dosagem estipulada para crianças e adultos por faixa de
peso da seguinte maneira: 5-10kg > 15ml; 11-20kg > 20ml; 21-40kg > 25ml;
41-75kg > 30ml; 76-105kg > 35ml; acima de 105kg > ml.
No que uma pessoa por varia apenas um quilo, passará a tomar 5ml
a mais, sendo que existe uma variação maior entre os que possuem por
exemplo 40kg em comparação a quem possui 20kg.
Assim, o uso do modelo oculto de Markov é indicado para este
problema, pois poderá distribuir para variações de peso, a quantidade de
ml necessárias de forma progressiva como demonstrado no Figura 4.
Inteligência Artificial 39
Figura 4 – Exemplo de modelo de Markov
Fonte: Autor (2020)
O Figura 4 apresenta uma representação do modelo oculto de
Markov para solucionar o exemplo acima. Perceba que as linhas coloridas
representam a dosagem indicada para cada categoria de peso. Assim, se
uma pessoa pesa por exemplo 42kg, o sistema indicará fortemente que
ele deve tomar 30 ml. Assim, a regra de seleção para uma faixa específica
de crenças é o valor da crença mais forte.
RESUMINDO:
Este capítulo procurou apresentar como o algoritmo de
Markov trataincertezas. Para isso, primeiramente retomamos
de forma a aprofundar nossos conhecimentos sobre a teoria da
probabilidade, permitindo uma comparação conceitual entre
o modelo probabilístico e modelos que tratam a incerteza
através de inferências temporais. Por fim, apresentamos o
algoritmo de Markov e um exemplo de sua aplicação prática.
Inteligência Artificial40
Tomadas de decisão simples e complexas
INTRODUÇÃO:
Neste capítulo, trataremos sobre como sistemas inteligentes
realizam tomadas de decisão simples e complexas. Desta
forma, primeiro iremos retomar alguns exemplos simples
e explorar outros um pouco mais complexos, procurando
apresentar como a combinação da teoria da utilidade com
a teoria da probabilidade, nos permite criar sistemas que
implementam a teoria da decisão através de agentes.
Retomando o raciocínio computacional
Até o momento, vimos que uma tomada de decisão racional é
orientada primeiramente por uma base de conhecimento básica, o
qual permite que o agente possa consultá-la durante suas inferências,
tornando os agentes reativos simples em sistemas capazes de raciocinar.
A primeira base apresentada foram as tabelas-verdade da
lógica proposicional, ao tratar dados binários através de modelos pré-
definidos chamados tabela verdade, modelos estes advindos da lógica
computacional e lógica dedutiva.
Em seguida, vimos o uso de grafos baseados na lógica proposicional.
Esta estrutura de dados permitiu que a tomada de decisão fosse mais
efetiva, ao tratar conflitos e usar o fluxo para direcionar decisões em
cadeia.
Até este momento, a tomada de decisões era feita sobre dados
certos, em que tínhamos o controle das entradas e das saídas previstas,
bem como, qual o fluxo que levaria até uma dada solução. Isto mudou
com a inserção da incerteza no capítulo 1 desta unidade.
A incerteza inseriu um fator em que os agentes não são capazes de
prever completamente um estado ou o próprio fluxo de dados.
Inteligência Artificial 41
Neste momento, aprendemos que o uso da teoria da probabilidade
nos permite criar soluções baseadas em modelos para o tratamento de
problemas incertos.
Desta forma, podemos retomar a definição do que vem a ser um
agente e adicionarmos que agentes inteligentes capazes de raciocinar
sobre incertezas, são aquelas que tratam com alguma complexidade os
dados, baseando-se na teoria da utilidade e probabilidade.
Assim, trataremos sobre o uso da teoria da decisão, o qual, é
baseada na soma das teorias da probabilidade e utilidade.
A teoria da utilidade procura encontrar a melhor escolha para um
grupo de elementos com base em crenças.
A teoria da probabilidade procura auxiliar na melhor escolha para
um dado problema.
Assim, podemos definir que a teoria da decisão procurará a melhor
escolha baseada na utilidade pressuposta nos modelos de crenças.
Agentes de tomada de decisão simples
Redes de tomadas de decisão
Redes de decisão é um termo usado para uma notação chamada
também de diagrama de influência. Sua estrutura utiliza as redes
bayesianas para com camadas adicionais de tratamento que processam
os dados baseado na utilidade.
Estas redes possuem uma diagramação própria para descrever os
modelos, sendo formada por:
• Nós de acaso: Representados por símbolos em forma
de elipses que contém as variáveis do sistema em forma
de vértices/nós. Estes nós podem receber camadas
adicionais de tratamento de escolhas, como nós de
decisão, bem como, estruturas que procuram simular
situações adversas como uma catástrofe ou por exemplo,
a danificação de um sensor por acidente.
Inteligência Artificial42
• Nós de decisão: Os nós de decisão são representados por
retângulos e representam, como o nome cita, uma tomada
de decisão iminente para controle de fluxo de dados.
Redes simples, aplicam um nó geral para um problema,
porém, existem casos que mais de um nó de tomada de
decisão pode ser aplicado.
• Nós de utilidade: Nós de utilidade são representados
por losangos e representam as funções de utilidade que
cada agente aplica com base em suas regras. Os nós de
utilidade aplicam regras semelhantes aos das tabelas
apresentadas nas redes bayesianas.
• Ligações: São setas simples que apresentam o fluxo de
dados dos grafos.
Estas são as 4 estruturas básicas das redes de decisão. Esta notação
mantém os nós de acaso para representar as implicações, porém, existe
uma forma simplificada no qual os nós de acaso são omitidos. A Figura 5
apresenta um esquema exemplo de uma rede de decisão.
Figura 5 – Rede de decisão normal
Fonte: Adaptado pelo autor
Inteligência Artificial 43
Figura 6 – Rede de decisão simplificada
Fonte: Adaptado pelo autor
EXEMPLO: Se o nó verificar CPF nos implica CPF Válido e CPF
inválido antes de seguir o fluxo de ação, o caso dos modelos simplificados
das redes de decisão omitem os nós CPF válido e CPF Inválido.
A figura 6 representa um exemplo de uma rede de decisão
simplificada.
Por fim, Russell (2013) apresenta um conjunto de regras para avaliar
as possíveis soluções de cada nó, os quais, seguem três passos, sendo
eles:
Primeiro passo: Deve ser feita a avaliação para definição das variáveis
de evidência que serão utilizadas no processo de decisão do estado atual;
Segundo passo: É feita a avaliação para definir o custo baseado no
valor de cada possível resultado em um dado nó de decisão. Esta regra é
dividida em três etapas:
• É realizado a definição do nó de decisão com base no
valor da variável;
Inteligência Artificial44
• Usa-se um padrão pré-definido de avaliação probabilística
para averiguar qual a probabilidade de cada valor entre o
nó atual e seus filhos, ou seja, a probabilidade de acessar
um fluxo específico com base nas regras de utilidade;
• Por fim, (c) o sistema retornará à ação com nível de
utilidade baseada em crenças mais elevado.
Assim, dado um domínio estocástico, ou seja, que não se tem um
controle pleno, vimos que diversas soluções podem ser aplicadas para a
tomada de decisão simples.
Desta forma, com base em todo o exposto, podemos definir uma
tomada de decisão simples como uma tomada de decisão individual, em
que cada ação tem apenas uma tomada de decisão, que por sua vez, é
geral para todo o problema.
Agentes de tomada de decisão complexa
Até este momento, tratamos e exemplificamos apenas problemas
com uma tomada de decisão apenas. Ou seja, eram problemas de decisão
simples. Porém, nesta Seção procuraremos levá-lo a conhecer como se
dá as tomadas de decisão complexas. Todos os conceitos aprendidos até
o momento nos auxiliarão para entender este processo de seleção em
ambientes com várias condições de decisão.
Os problemas com vários nós de decisão são chamados de
problemas de decisão sequenciais, uma vez que, um conjunto, ou
sequência, de decisões estarão conflitante-mente atuando nos agentes
durante as escolhas em cada camada de ações.
Tomemos por base um exemplo baseado em decisões, quando o
gestor deverá decidir o momento e o quanto deverá investir na construção
de uma estrada.
Perceba que o problema a seguir não se trata de um acesso pleno
a possíveis repercussões das decisões, além de possuir um conjunto de
decisões unilaterais que deverão ser avaliadas para decidir como a obra
será feita e qual o valor a ser investido.
Inteligência Artificial 45
Uma das regras a ser aplicada é definir o grau de utilidade dos
possíveis locais onde a estrada será construída.
A regra acima é impactada por outras regras, como o tempo que
levará para preparar o ambiente físico para a construção, o custo do
transporte e movimentação de pessoal e materiais, a quantidade provável
de pessoas que usará a nova estrada, o custo ambiental provável da obra,
entre outros.
Neste momento, podemos perceber que a variável custo, está
determinada por várias outras variáveis, bem como, a própria variável de
utilidade do local a ser construída a estrada, alémdo exposto, a variável de
custo também é determinística para algumas das variáveis que a utilizam
como tomada de decisão, sendo possível ver assim a complexidade deste
problema.
A fim de simplificar e tornar mais didático, vamos definir apenas 4
variáveis de decisão para este problema.
Variável local a ser construído. Esta variável receberá três localizações
com duas sub variáveis, uma ligada ao interesse popular e outra ao custo
de preparação e de construção da estrada no local indicado.
A última variável é o orçamento total da obra. Esta variável tratará
se o custo total é útil ou não, tomando por base uma constante ligada ao
orçamento do executivo que limitará o custo máximo que a obra poderá
custar.
As variáveis a seguir são conhecidas, porém, suas implicações não
podem ser definidas completamente, uma vez que o custo de construção
é probabilístico, bem como, a demanda pela estrada que após a
conclusão e das escolhas, pode gerar um fluxo abaixo do esperado e
consequentemente o uso desnecessário de recursos públicos.
Para resolver o problema acima, vamos definir alguns princípios
básicos para o tratamento de várias decisões em conjunto.
Para definir uma utilidade geral com base em um conjunto de
várias decisões simultâneas, poderemos definir uma função na qual cada
decisão gera um valor de utilidade próprio, sendo este valor escolhido
Inteligência Artificial46
durante a decisão somado com as demais decisões sobre a mesma regra,
resultando em uma expressão em que X é o valor obtido da soma de
todas as escolhas e N a quantidade de escolhas, resultando em X/N.
Perceba que para cada conjunto de soluções teremos valores
distintos para a equação X/N, em que poderemos aplicar regras de
validação para decidir qual o melhor resultado, geralmente sendo usado
o maior valor ou menor valor, porém, existem estratégias diferentes como
usar o valor médio ou a mediana.
Estratégias que somam o valor das decisões e selecionam a maior
soma para um dado conjunto de decisões, é chamado de estratégia de
recompensas aditivas.
Por sua vez, se for feito uma subtração dos valores obtidos durante
a análise de todas as decisões e o melhor conjunto de decisões for o com
menor valor total, a estratégia será chamada de recompensa descontada.
Da mesma forma, se a média da estratégia, seja baseada na soma
ou subtração das decisões, for usada como parâmetro de escolha, esta
estratégia será chamada de recompensa média.
Desta forma, poderemos aplicar estas estratégias no nosso exemplo.
Vamos considerar a recompensa descontada, uma vez que os
custos maiores serão um parâmetro negativo nas contas públicas e o
valor da demanda já está definido, sendo executado como uma constante
para cada possibilidade. A Figura 7 apresenta um algoritmo para o dado
exemplo.
Perceba que cada local possui um conjunto de crenças
probabilísticas ligadas ao custo da obra e a demanda de pessoas e estes
valores não podem ser definidos de forma controlada. Assim, apenas após
a execução da obra o valor real será obtido, sendo este um risco a ser
levado em consideração.
Em seguida, A ação que tratará o melhor conjunto de escolhas que
será executada, no qual, será passada a lista completa de possibilidades,
bem como, o valor do teto de gastos para comparação.
Inteligência Artificial 47
Por fim, a regra procura validar se o valor escolhido, o com menor
valor, foi afetado por variações prováveis nas crenças, uma vez que,
estes dados devem ser constantemente atualizados seja pelo preço
dos materiais, como pelo interesse das pessoas pela obra em locais
específicos.
Figura 7 – Exemplo de algoritmo para decisão complexa
Fonte: Autor (2020)
OpçõesDeLocal(local1(demanda(43584-52529),
custo(135000,00-165000,00),
Local2(demanda(98121-143000),
custo(350000,00-170000,00),
Local3(demanda(5584-12000),
custo(70000,00-100000,00)
)
TetoOrçamentárioAtual(450000)
ValidarSeleção(OpçõesDeLocal,TetoOrçamentoAtual,
RegraRecopensaDescontada,
{
Ação: Escolha o menor custo total baseado em utilidade
Pós-condição: Atualizar a base de crenças
{
Efeito: Se o valor da crença se alterar, reiniciar função, se
não,
começar obras.
}
})
Inteligência Artificial48
Desta forma, esta unidade procurou apresentar de forma simples
é realizada uma tomada de decisão para problemas incertos complexos.
RESUMINDO:
Assim, encerramos o último capítulo deste módulo que
tratou sobre como se dá as tomadas de decisão em sistemas
incertos. Procuramos fundamentar o raciocínio computacional
ao fazer uma reflexão de diversos contextos já estudados
nesta obra. Esta conceitualização nos permitiu apresentar de
forma mais objetiva o que viria a ser um agente de tomada de
decisão simples, especificamente ao definir o termo ao final
da Seção 4.2. após falarmos sobre as redes de decisão. Por
fim, apresentados um novo conceito, os agentes de tomada
de decisão complexas, concluindo assim nosso estudo sobre
como sistemas inteligentes tomam decisões baseadas em
regras.
Inteligência Artificial 49
REFERÊNCIAS
BRANDÃO, Joel. Teoria do Consumidor: Teoria da Utilidade. Disponível
em:<https://www.youtube.com/watch?v=m2GAdNxkCCg>. Acesso em: 25
de maio. 2020.
DICIONÁRIO: Houaiss da Língua Portuguesa. Rio de Janeiro: Objetiva, 2009.
DU, K, et al. Using a hidden Markov model to measure earnings quality.
Journal Pre-proof, 2019.
KEYNES, J. M. A treatise on probability, 2. ed. New York, Cosimo Classics. pp
484. 2007.
OLIVEIRA, B. e BELO, O. Identificação de Hierarquias Incompletas em
Estruturas Multidimensionais de Dados. Atas da Conferência da Associação
Portuguesa de Sistemas de Informação. p. 247-262. 2014.
MENDES, A. P. A incerteza na doença crítica e o imprevisto: mediadores
importantes no processo de comunicação enfermeiro-família. Escola Anna
Nery, v. 24, n. 1, 2020.
NUNES, N. F. e SILVA, A. V. Modelos, métodos e teorias utilizados no estudo
da decisão e suas aplicações. humanidades e tecnologia (FINOM), v. 1, n. 16,
p. 333-360, 2019.
RUSSELL, S. Inteligência artificial. 3. ed. Rio de Janeiro: Editora Elsevier, 2013.
SAINSBURY, M. Lógica indutiva versus lógica dedutiva. Logical Forms,
Blackwell, Oxford, p. 9-13, 1991.
Alan de Oliveira Santana
Inteligência Artificial