Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

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

Mais conteúdos dessa disciplina