Buscar

scorm (2)

Prévia do material em texto

Unidade II
Inteligência Artificial e as Incertezas 
Inteligência 
Artificial
Diretor Executivo 
DAVID LIRA STEPHEN BARROS
Gerente Editorial 
CRISTIANE SILVEIRA CESAR DE OLIVEIRA
Projeto Gráfico 
TIAGO DA ROCHA
Autoria 
ALAN DE OLIVEIRA SANTANA
AUTORIA
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, fui convidado 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!
ICONOGRÁFICOS
Olá. Esses ícones irão aparecer em sua trilha de aprendizagem toda vez 
que:
OBJETIVO:
para o início do 
desenvolvimento 
de uma nova 
competência;
DEFINIÇÃO:
houver necessidade 
de apresentar um 
novo conceito;
NOTA:
quando necessárias 
observações ou 
complementaçõ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 
aprofundamento do 
seu conhecimento;
REFLITA:
se houver a 
necessidade de 
chamar a atenção 
sobre algo a ser 
refletido ou discutido;
ACESSE: 
se for preciso acessar 
um ou mais sites 
para fazer download, 
assistir vídeos, ler 
textos, ouvir podcast;
RESUMINDO:
quando for preciso 
fazer um resumo 
acumulativo das 
últimas abordagens;
ATIVIDADES: 
quando alguma 
atividade de 
autoaprendizagem 
for aplicada;
TESTANDO:
quando uma 
competência for 
concluída e questões 
forem explicadas;
SUMÁRIO
Como a IA trata a incerteza .................................................................... 10
Escalonamento e o tempo no mundo real ................................................................... 10
Expandindo o planejamento com hierarquia.............................................................. 13
Incertezas e a IA ............................................................................................................................... 16
Algoritmo de Bayes para 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
O modelo oculto de Markov .................................................................. 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
Tomada de decisão simples e complexa em IA .............................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
7
UNIDADE
02
Inteligência Artificial
8
INTRODUÇÃO
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.
Inteligência Artificial
9
OBJETIVOS
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 adquirir conhecimento sobre um assunto 
fascinante e inovador como esse? Vamos lá!
Inteligência Artificial
10
Como a IA trata a incerteza 
OBJETIVO:
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.
REFLITA:
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 
em relaçã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 Artificial
11
Perceba que, o tempo é uma variável que pode ser entendida comodo 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:
 • Uma empresa A produz alguns tipos de suco, porém, dois tipos 
recebem como ingrediente laranjas;
Inteligência Artificial
12
 • 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
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%) )
Fonte: Autor (2020)
Inteligência Artificial
13
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.
REFLITA:
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.
Inteligência Artificial
14
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 
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.
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.
Inteligência Artificial
15
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 
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 forma estrutura, 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.
Inteligência Artificial
16
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.
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?
DEFINIÇÃO:
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.
Inteligência Artificial
17
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 
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.
Quadro 1 – Desvantagens da abordagem de crenças
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: Russell (2013)
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.
Inteligência Artificial
18
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?
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.
Inteligência Artificial
19
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 Artificial
20
Algoritmo de Bayes para tratamento das 
incertezas
OBJETIVO:
 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 
queremos comprar, todavia, ao analisar se o preço está mais ou menos 
InteligênciaArtificial
21
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 Artificial
22
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”. Acesse 
clicando aqui.
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.
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.
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 
Inteligência Artificial
https://www.youtube.com/watch?v=m2GAdNxkCCg
23
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:
 Reflita sobre situações onde você precisou fazer escolhas 
com base em critérios baseados no que a teoria da utilidade 
apresenta?
Inteligência Artificial
24
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
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
Fonte: Autor (2020)
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 representar um 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 Artificial
26
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.
Assim, finalizamos a introdução a conceitos básicos para o estudo 
teórico e introdutório do algoritmo de Bayes.
Inteligência Artificial
27
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. 
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.
Inteligência Artificial
28
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
Fumaça 
Nível de 
Energia 
Notificação 
Eq. Suporte Eq. Combate 
 
 
 
 
 
 
 
 
 
 
 
P(E) 
0,005 
P(F) 
0,012 
E F 
v v 
v f 
f v 
f f 
P(N) 
0,03 
0,087 
0,648 
0,001 
Λ 
v 
f 
P(S) 
0,999 
0,001 
¬ → 
v 
f 
P(C) 
0,999 
0,001 
Fonte: Autor (2020)
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.
Inteligência Artificial
29
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 Artificial
30
RESUMINDO:
Este capítulo procurou apresentar umabreve introdução 
sobre o 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
O modelo oculto de Markov
OBJETIVO:
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 coleção 
qualquer de n estados possíveis que não podem ser controlados, possuem 
Inteligência Artificial
32
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.
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 
Inteligência Artificial
33
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 
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 
Inteligência Artificial
34
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.
Porém, imagine um procedimento em que uma pessoa está 
apresentando pressão alterada e é preciso normalizá-la antes de iniciar 
propriamente os procedimentosmédicos. Ao medicar o paciente, é 
preciso verificar em um intervalo de tempo o estado atual da pressão. 
Inteligência Artificial
35
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.
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 
Inteligência Artificial
36
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 
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 
Inteligência Artificial
37
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.
DEFINIÇÃO:
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 temporal 
para tratamento de estados através do uso de apenas uma 
única variável aleatória e discreta.
Inteligência Artificial
38
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.
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 trata incertezas. 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 Artificial
40
Tomada de decisão simples e complexa em IA
OBJETIVO:
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.
Neste momento, aprendemos que o uso da teoria da probabilidade 
nos permite criar soluções baseadas em modelos para o tratamento de 
problemas incertos.
Inteligência Artificial
41
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.
 • 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, 
Inteligência Artificial
42
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
Tráfego aéreo 
Litígio 
Mortes 
Construção 
Ruído 
Custo 
U 
 
 
 
 
 
 
 
 
 
 
 
Local do aeroporto 
Fonte: Adaptado de Russell (2013)
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.
Inteligência Artificial
43
Figura 6 – Rede de decisão simplificada
Tráfego aéreo 
Litígio 
Construção 
U 
 
 
 
 
 
 
 
 
Local do aeroporto 
Fonte: Adaptado de Russell (2013)
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;
 • 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.
Inteligência Artificial
44
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.
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.
Nestemomento, podemos perceber que a variável custo, está 
determinada por várias outras variáveis, bem como, a própria variável de 
Inteligência Artificial
45
utilidade do local a ser construída a estrada, além do 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 
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.
Inteligência Artificial
46
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.
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.
Inteligência Artificial
47
Figura 7 – Exemplo de algoritmo para decisão complexa
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.
 }
})
Fonte: Autor (2020)
Desta forma, esta unidade procurou apresentar de forma simples 
é realizada uma tomada de decisão para problemas incertos complexos.
Inteligência Artificial
48
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.
Inteligência Artificial

Continue navegando