Buscar

APOSTILA - INTELIGÊNIA ARTIFIIAL E APRENDIZADO DE MAQUINA - UNIDADE 1 (ANHEMBI MORUMBI UAM) CURTA SE LHE AJUDOU! ;D

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 46 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 46 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 46 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

INTELIGÊNCIA ARTIFICIAL EINTELIGÊNCIA ARTIFICIAL E
APRENDIZADO DE MÁQUINAAPRENDIZADO DE MÁQUINA
INTRODUÇÃO E APLICAÇÕESINTRODUÇÃO E APLICAÇÕES
DA INTELIGÊNCIA ARTIFICIALDA INTELIGÊNCIA ARTIFICIAL
Autor: Me. Jackson Schirigatti
Revisor : Rene Marcel ino ABRITTA Te ixe ira
IN IC IAR
introdução
Introdução
Caro(a) estudante, a compreensão da inteligência é algo que intriga os seres
humanos desde os tempos antigos até os dias de hoje. Intriga pela
compreensão do que é “inteligente”. Intriga pelo desa�o de criar algo arti�cial
pensante e inteligente.
Como o arti�cial ė tudo o que é feito pelo homem e a inteligência ė a
compreensão, capacidade de percepção, comunicação, aprendizado das
tarefas, resolução de problemas e o comportamento inteligente, então
podemos dizer que a máquina que ė feita pelo homem pode aprender?
Quando começamos a leitura e o estudo de IA, procurando compreender o
que ė essa ciência, por uma ou várias perspectivas, áreas ou aplicações, a
melhor maneira é identi�cá-la em sua concepção e como ela foi aprimorada
ao longo do tempo. É necessário também compreender o que levou os
cientistas e pesquisadores a avançarem em diversos paradigmas de IA que
ainda não foram uni�cados. Compreender o que ela pode nos trazer de
benefícios ou até mesmo malefícios no futuro. Veremos, nesta unidade, as
suas de�nições, competências em soluções e a representação e resolução de
problemas pela IA.
Para compreendermos a inteligência arti�cial, é necessário compreendermos
a sua evolução. Segundo Coppin (2017), a história da IA está dividida em três
grandes fases, iniciando com os estudos do �lósofo Aristóteles (322 a.C), na
compreensão do raciocínio, e por George Boole, no século 19, no
desenvolvimento da lógica booleana, além da invenção dos computadores
digitais que trilharam o século 20, estabelecendo, assim, uma base para a
compreensão da inteligência arti�cial.
Após esse período, é visível uma segunda etapa denominada “etapa
gestacional”, que marca o pioneirismo dos estudos de IA, por meio de Turing
e McCarthy, entre 1943 a 1958. Durante essa fase ainda, é iniciada uma
primeira onda de IA, também denominada de IA Clássica, enfatizando a
linguagem simbólica e a emulação das funções do cérebro. E, �nalmente, a
última fase, após a década de 1980 até os dias de hoje, inicia uma nova onda
de IA, também denominada inteligência arti�cial conexionista ou, por outros
autores, de inteligência computacional. Antes de compreendermos essa
evolução, veremos a seguir as de�nições e competências em soluções da
inteligência arti�cial.
Introdução à InteligênciaIntrodução à Inteligência
Arti�cialArti�cial
De�inições e Competências em Soluções de
IA
A de�nição exata do termo inteligência arti�cial é discutível, mas, de modo
simpli�cado, “arti�cial” é tudo o que é feito pelo homem e “inteligência” é a
capacidade de compreender, aprender e resolver problemas. A Figura 1.1
ilustra as inúmeras aplicações da inteligência arti�cial inseridas em uma
indústria moderna, chamada de indústria inteligente ou indústria 4.0. Essas
aplicações estão direcionadas na resolução de problemas, realização de
tarefas complexas e na descoberta do conhecimento, tais como o apoio da
tecnologia de automação e comunicação (robótica), em pesquisas cientí�cas,
no diagnóstico de doenças, na segurança da informação (identi�cação
inteligente), na identi�cação de habilidades inteligentes (jogos) e em inúmeras
outras aplicações.
Para Luger (2013, p. 19), “a inteligência arti�cial pode ser de�nida como o
ramo da ciência da computação que se ocupa da automação do
comportamento inteligente”. Vejamos melhor o que signi�ca a automação do
comportamento inteligente.
Figura 1.1 - Aplicações da inteligência arti�cial 
Fonte: elenabsl / 123RF.
Comportamento Inteligente
A inteligência já não é mais teoria, mas sim aplicação para o benefício
humano. Para Faceli et al . (2011), há alguns anos a área de IA era vista como
uma parte da ciência da computação teórica com aplicações em pequenos
problemas práticos curiosos, desa�adores, mas de pouco valor prático e
resolvidos pela codi�cação da computação. Essa codi�cação são algoritmos
ou pseudocódigos que especi�cam passo a passo de como o problema pode
ser resolvido. A ideia básica de programar máquinas para executar tarefas é
que elas podem resolver problemas dos quais nós não conseguiríamos ou
levaríamos muito tempo para resolver. Exemplos práticos de solução de
problemas seriam a resolução de cálculos com uma grande quantidade de
dados e informações, aplicações de modelos matemáticos, estatísticos e
outras tarefas que estariam além da nossa capacidade de processamento e
memória. Contudo, as máquinas realizam bem essas tarefas automatizadas e
programadas pelos humanos. A questão é: as máquinas podem aprender
igual a nós, humanos?
A resposta para essa pergunta é sim. Veremos em nossos estudos que as
máquinas podem aprender. Faceli (2011) comenta que, a partir da década de
1970, houve uma maior disseminação do uso de técnicas de computação
baseadas em IA com relação às soluções de problemas reais e uma maior
so�sticação de ferramentas computacionais. Essa tendência ocorreu ao longo
do tempo devido a uma crescente complexidade de problemas a serem
resolvidos e uma grande quantidade de volume de dados a serem tratados
computacionalmente. Essas técnicas são capazes de criar, por si próprias, a
partir de experiências passadas, uma hipótese ou função capaz de resolver
um problema. Essa hipótese pode ser constituída por um conjunto de regras,
que forma um processo de indução por meio de dados passados. Esse
processo é denominado de aprendizado máquina (AM) por indução de
hipóteses. Para compreendermos melhor sobre as competências de soluções
de IA, veremos um breve histórico da evolução da inteligência arti�cial e suas
possíveis áreas de aplicação.
Histórico e Áreas de Aplicação
A história da inteligência arti�cial e, consequentemente, do aprendizado
máquina (AM) já é antiga, pois a sua base está fundamentada na lógica, cujos
trabalhos iniciais são relacionados a Aristóteles, anteriores a 322 a.C, e foi
dada continuidade a eles por outros �lósofos, matemáticos e lógicos da
época. Ele inventou a ideia do silogismo , um tipo de argumento lógico, que
signi�ca que, a partir de duas primeiras premissas estabelecidas, é possível
deduzir uma conclusão (COPPIN, 2017). A �gura a seguir ilustra Aristóteles na
pintura de Francesco Hayes, 1811, Itália.
Ou seja, em lógica, Aristóteles investiga se certas proposições podem ser
“verdadeiras” porque estão relacionadas como outras coisas que são
sabiamente “verdadeiras”. Esse argumento é um silogismo, como já vimos, em
que a axiomatização formal do raciocínio foi amadurecido apenas dois mil
anos depois pelos trabalhos Alan Turing e outros cientistas (LUGER, 2013).
Os signi�cativos trabalhos sobre a lógica ocorrem no século 12, por Peter
Abelard, que escreveu Dialectica , um tratado de lógica. Mas somente no �nal
do século 17, Gottfried Leibniz, matemático e �lósofo alemão, em conjunto
com Isaac Newton, desenvolveu a matemática formal proposicional e dos
predicados, que são de grande importância para a pesquisa da inteligência
Figura 1.2 - Aristóteles 
Fonte: Hayez / WikiArt.
arti�cial. E, no século 19, George Boole (1815-1864), matemático inglês,
desenvolveu a álgebra booleana, cujos conceitos do “verdadeiro” e “falso” até
hoje são utilizados.
A álgebra booleana é aplicada na lógica proposicional e dos predicados e no
desenvolvimento das portas lógicas (AND, OR, NOT etc.), pelos engenheiros
eletrônicos, para as pastilhas de silício utilizadas hoje nos processadores de
dados. Após essa época, houve inúmeras invenções relacionadas ao
computador por meio das primeiras máquinas de Charles Babbage, que
inventou a “máquina analítica”, o primeiro computador mecânico do mundo.
Mas somente em meados do século 20, em torno de 1950, os primeiros
computadores começaram a funcionardigitalmente (COPPIN, 2017).
Os primeiros estudos especí�cos sobre a inteligência arti�cial surgiram na
década de 1940, marcada pela Segunda Guerra Mundial, com a construção de
grandes computadores para atender às necessidades de desenvolvimento da
análise balística, criptogra�a e descriptogra�a de códigos e cálculos para
projetos nucleares. Já no pós-guerra, os computadores foram fabricados para
as universidades, empresas e indústrias com �nalidades de pesquisas
cientí�cas e também para a própria evolução das máquinas, como software,
hardware e linguagem de programação (LIMA; PINHEIRO; SANTOS, 2014).
A Figura 1.3 ilustra um dos primeiros computadores digitais eletrônico de uso
geral, o ENIAC, cuja programação complexa limitava-se a ligar e desligar
milhares de interruptores que assumiam valores zeros ou uns. A evolução dos
computadores se deu de forma tão rápida, desde os primeiros computadores
a válvulas como o Eniac em 1946 (Figura 1.3), dos microcomputadores da
década de 1970, dos computadores pessoais da década de 1980, até os
smartphones da atualidade com microprocessadores de múltiplos núcleos de
alta frequência de processamento paralelo. Durante décadas, as máquinas
estão sendo criadas e melhoradas, adaptando-se às nossas necessidades
comerciais e pessoais.
Devido ao advento da Internet, o aprimoramento dos processadores é de
fundamental importância para os complexos cálculos matemáticos e lógicos e
para a grande quantidade de informação disponível hoje. Tais informações
devem ser processadas pelos algoritmos e sistemas inteligentes, por exemplo,
a identi�cação de padrões em imagens, identi�cação e processamento da
fala, diagnóstico médico por imagem, processamento de base de informações
de especialistas ou base de fatos e regras, análise de produção manufatureira
e análise �nanceira, entre inúmeras outras aplicações inteligentes em que o
processador é de vital importância.
A Máquina de Turing
Por meio do conhecimento da lógica e da evolução dos computadores e,
consequentemente, de uma linguagem de programação, as máquinas
conseguiram automatizar ações em forma de instruções e assim resolver
problemas de cálculos estatísticos, geométricos e matemáticos complexos,
mas também foi a base para o estudo e o aprimoramento da aprendizagem e
do comportamento inteligente das máquinas. Contudo, foram os trabalhos do
matemático britânico Alan Turing que tiveram maior in�uência nesse campo.
Segundo Lima, Pinheiro e Santos (2014), em 1950, Alan Turing publicou um
Figura 1.3 - ENIAC (Electronic Numerical Integrator And Computer) in
Philadelphia 
Fonte: GroveGuy / Wikimedia Commons.
artigo chamado “Computing machine and intelligence”. Nele, Turing
apresentou o que hoje é conhecido por teste de Turing, que testa se uma
máquina consegue emular o pensamento humano. Luger (2013, p. 11)
comenta sobre o teste de Turing:
[...] o teste de Turing mede o desempenho de uma máquina,
aparentemente inteligente em relação ao desempenho de um ser
humano, indiscutivelmente o melhor e único padrão e
comportamento inteligente. O teste, que foi chamado de ‘jogo da
imitação’ por Turing, coloca a máquina e seu correspondente
humano e salas separadas de um segundo ser humano, referido
como o ‘interrogador’. O ‘interrogador’ não é capaz de ver nenhum
dos dois participantes ou de falar diretamente com eles por um
dispositivo textual, como um terminal. À tarefa do ‘interrogador’ é
distinguir o computador do ser humano utilizando apenas as
respostas de ambos as perguntas formuladas por meio desse
dispositivo. Se o interrogador não puder distinguir à máquina do
ser humano, então argumenta Turing, pode supor que a máquina
seja inteligente.
Para passar no teste de Turing, veri�cando-se se é um humano ou máquina,
ou se é uma máquina inteligente, a máquina deve ter as seguintes
capacidades comentadas por Norvig e Russell (2013) para um teste de Turing
total, ou seja, também sendo veri�cadas as habilidades de percepção do
indivíduo:
Processamento de linguagem natural (comunicação em idioma
natural).
Representação de conhecimento (armazenamento do que sabe e do
que ouve).
Raciocínio automatizado (usar as informações armazenadas para
responder às perguntas e tirar novas conclusões).
Visão computacional para perceber objetos.
Robótica para manipular objetos e movimentar-se.
Essas seis disciplinas, segundo Norvig e Russell (2013), compõem a maior
parte das áreas de aplicação de IA.
Atualmente, usamos como semelhança ao teste de Turing o captcha ou “eu
não sou um robô” na veri�cação humana em sites. O captcha é um algoritmo
criado em 1997, que veri�ca se a pessoa que acessa um sistema web não é
um robô. A palavra captcha vem do termo inglês para “teste público de
Turing”, diferenciando humanos e robôs. Os captchas mais simples são
constituídos de uma solicitação de digitação de letras aleatórias e de estilos
diferentes, fazendo com que a prova de inteligência seja veri�cada.
Atualmente, novos captchas so�sticados estão sendo desenvolvidos, pois os
algoritmos invasores, chamado de bots , estão também cada vez mais
inteligentes. Os novos captchas estão solicitando que os usuários respondam
determinadas perguntas por meio de imagens, por exemplo: “Selecione todas
as imagens que possuem sinaleiros” ou “Selecione todas as imagens que
possuem viadutos”. Segundo Alan Turing, somente os humanos conseguiriam
realizar tal teste de inteligência, entretanto esse teste, nos dias de hoje, está
se tornando algo não tão complexo para os bots .
Entretanto, Coppin (2017) comenta que a IA envolve a utilização de métodos
baseados no comportamento inteligente de humanos para solucionar
problemas complexos, ou seja, os sistemas são capazes de compreender a
fala humana ou realizar extrações de declarações humanas para que se
comportem como um humano inteligente. Esse, portanto, é um desa�o atual
da IA, na diferenciação entre humanos e robôs, pois, cada vez mais, as
máquinas estão aprendendo comportamentos humanos mais �éis.
praticar
Vamos Praticar
O teste de Turing mede o desempenho de uma máquina, aparentemente inteligente
em relação ao desempenho de um ser humano, indiscutivelmente o melhor e único
padrão e comportamento inteligente. Para passar no teste de Turing, veri�cando-se
se é um humano ou máquina, ou se é uma máquina inteligente, a máquina deve ter
diversas capacidades/habilidades. Assinale a alternativa correta que corresponde a
essas capacidades/habilidades:
a) Processamento de linguagem de máquina.
b) Formalismo proposicional.
c) Representação da informação.
d) Processamento de linguagem natural.
e) Raciocínio padronizado.
Para a resolução de muitos problemas de inteligência arti�cial, são ideais os
métodos de busca por agentes inteligentes. Esses métodos estão sendo
aplicados em muitas áreas do entretenimento, trânsito, computação, saúde,
eletrônica, robótica, administrativa, navegação, indústria manufatureira e
militar, entre outras, desde um jogo de estratégia de poucos estados até em
um aplicativo que roteiriza o alto tráfego em uma rede de computadores.
Veremos que as buscas para a resolução de problemas é uma subárea da
inteligência arti�cial e possui um direcionamento especí�co para a tomada de
decisão para atingir um objetivo ou meta. Os métodos de busca podem ser
encontrados na mineração de dados para uma busca do conhecimento em
uma base de dados de alta capacidade ou por meio da pesquisa operacional,
através da otimização de recursos e resolução de problemas.
Mas é na subárea dos agentes inteligentes que o método de busca de
resolução de problemas se destaca. Quando se aprende sobre a busca por
resolução de problemas, é comum compreendermos inicialmente como os
agentes inteligentes buscam os estados ótimos por meio da resolução de
Representação eRepresentação e
Resolução de ProblemasResolução de Problemas
miniproblemas, que são aplicados em jogos, como o caso do jogo deslizante
puzzle e o jogo do tipo xadrez 8 rainhas. Essesjogos ilustram através de uma
formulação de pequenos problemas e de variados “espaços de estados” a
procura por um objetivo ou meta, ou seja, o objetivo dos jogos, por exemplo,
do tipo xadrez e puzzle, é atingir um ou mais “estados objetivos” a partir de
critérios estabelecidos. No caso do jogo puzzle é encontrar a numeração
solicitada das peças, orientado-as em diversas posições (estados) até
encontrar a numeração e posicionamentos solicitados (estado objetivo).
Conceitos de Espaço de Estado e Busca 
Uma forma desejável para a resolução de problemas que utilizam um
pequeno número de elementos é a aplicação dos agentes de resolução de
problemas. “Os agentes decidem o que fazer encontrando uma sequência de
ações para estados especí�cos desejáveis” (NORVIG; RUSSELL, 2014, p. 62).
Seria focada a tomada de decisão, e não a busca do conhecimento para uma
possível tomada de decisão. Um agente de resolução de problemas opera
com as funcionalidades:
Figura 1.4 - Jogo de quebra-cabeça, um exemplo de jogo que tem como
objetivo encontrar o estado �nal 
Fonte: rido / 123RF.
Formulação de objetivos: apoia a organização do comportamento
limitando os objetivos que o agente deve alcançar.
Objetivos: conjuntos de estados desejados.
Formulação de problemas: processo de decisão que identi�ca quais
estados ou ações devem ser considerados de acordo com o objetivo
determinado.
Tipos de Problemas
Segundo Medeiros (2018), os tipos de problemas podem ser classi�cados em:
Miniproblemas: exigem a aplicação de métodos de resolução de
problemas, apresentando descrições concisas e exatas.
Problemas do mundo real: são descrições complexas de situações
da vida real e que podem ser fracionadas em problemas mais
simples e com resoluções conhecidas.
Alguns autores apresentam exemplos de miniproblemas que são resolvidos a
partir de um estado inicial para alcançar um estado �nal (meta). As
formulações desses problemas são de�nidas através de componentes como o
estado, estado inicial, função sucessor, testes de objetivo e custo de caminho.
Estado inicial: é o estado em que o agente começa a ação.
Função sucessor: gera resultados válidos resultantes de ação ou
conjunto de ações.
Estado �nal: é o estado buscado pelo agente (meta a ser alcançada).
Teste de objetivo: determina se um dado estado é um estado
objetivo.
Função de custo do caminho: custo numérico de cada caminho.
Um exemplo de miniproblema seria o caso puzzle de oito peças que pertence
à família de quebra-cabeças deslizantes utilizados em algoritmos de
Inteligência arti�cial. Esse jogo também é chamado de “quebra-cabeça 8”. O
jogo oferece 181.440 estados possíveis. A formulação do miniproblema é
dada pelo Quadro 1.1:
Os estados do miniproblemas podem ser visualizados pela expansão dos
estados por uma “árvore de estados” (Figura 1.5). Veja que a árvore ilustra
algumas possibilidades ou estados possíveis que o puzzle pode realizar até
chegar a um estado ótimo ou desejado.
Quadro 1.1 - Formulação do problema do jogo puzzle 
Fonte: Adaptado de Medeiros (2018).
Digamos que o estado objetivo seria o último bloco à direita no terceiro nível.
Perceba também que em alguns nós há uma falha de estado, sendo o caso do
nó da segunda �leira e segunda coluna. É impossível o quadrado vazio saltar
da primeira posição (linha 1, coluna 1) para linha 2, coluna 3.
As diferentes con�gurações ou possíveis estados ilustrados na “árvore de
estados” que são possíveis de alcançar a partir do estado inicial (nó raiz da
árvore) são denominados espaço de busca ou espaço de estados. Observe
que foram apresentados sete estados de con�guração para se chegar ao
estado ótimo (espaços de estados). Segundo Medeiros (2018), o miniproblema
do puzzle pode ser estendido para um quebra-cabeça de n x n casas, onde n >
3. Esse miniproblema é um exemplo de problema que o agente de resolução
de problemas pode resolver e que pode ser estendido para problemas do
mundo real por meio de alto poder computacional e de recursos como
memória e processamento.
As buscas em árvores de estados seguem duas abordagens, segundo Coppin
(2017, p. 64): a abordagem de cima para baixo e a abordagem de baixo para
cima. Essas buscas são guiadas por dados, partindo de um estado inicial (a
partir da raiz da árvore de busca) e usando ações para ir em frente, até que
Figura 1.5 - Árvore de estados 
Fonte: Medeiros (2018, p. 59).
um objetivo seja atingido, como o exemplo da Figura 1.5 (árvore de estados).
Essa abordagem é denominada “encadeamento para frente”. Também é
possível iniciar a busca pelo objetivo e voltar a um estado inicial. Nessa
abordagem, veri�cam-se quais estados levam a um estado objetivo, busca
denominada “busca por objetivos” ou “encadeamento para trás”.
Buscas em Profundidade, em Amplitude,
Heurística e A*
As principais buscas por um estado objetivo podem ser por busca em
profundidade, em amplitude, heurística e A* (A estrela). Veremos a seguir
esses tipos de abordagens e como elas são aplicadas pelos agentes
inteligentes que imitam o comportamento humano.
Abordagem em Profundidade
Segundo Coppin (2017, p. 66), um algoritmo comumente usado é o de busca
de profundidade. Essa busca segue cada caminho na sua maior profundidade
antes de seguir para o próximo caminho. O processo continua até que todos
os nós da árvore tenham sido examinados e houver uma falha ou quando um
estado objetivo tenha sido alcançado, terminando à busca com sucesso. Na
Figura 1.6, a busca por profundidade realiza a busca pelo estado objetivo, nó
“J” (nó objetivo). Veja que são realizadas veri�cações na sequência, dos nós A-
B (1), B-D (2), D-G (3), G-D (4), D-H (5), H-D(6), D-B(7), B-A(8), A-C(9), C-E(10), E-
I(11), I-E(12), E-J(13).
Abordagem em Amplitude
Outra forma de busca é a busca por largura ou também conhecida de busca
por em amplitude. Segundo Coppin (2017, p. 68), “essa abordagem envolve
percorrer a árvore em largura em vez de profundidade [...] o algoritmo de
busca em largura começa examinando todos os nós um nível (algumas vezes
chamados de uma camada) abaixo do nó raiz”. A Figura 1.7 ilustra a árvore de
estados utilizando busca por amplitude, sendo examinado cada nível da
árvore até encontrar o estado objetivo. Veja que o exame é dado pela
sequência A-B-C (nível 1 após raiz), D-E-F (nível 2) e G-H-I-J (nível 3), e onde J é
o estado objetivo de sucesso.
Figura 1.6 - Busca por profundidade em uma árvore de estados 
Fonte: Coppin (2017, p. 66).
Os humanos podem utilizar o método de busca de profundidade e amplitude
como entrar em um labirinto ou em uma loja e procurar uma saída ou um
determinado produto. A Figura 1.8 ilustra um labirinto que representa a
árvore binária da �gura 1.7. A entrada do labirinto ou loja é o nó raiz A.
A saída é o estado procurado “J”. Quando há nós folhas tipo G, H, I, K, L, são
paredes ou bloqueios. Já os nós A, B, D, C, F, E e J são aberturas.
Figura 1.7 - Busca por amplitude em uma árvore de estados 
Fonte: Coppin (2017, p. 68).
Figura 1.8 - Representação de uma árvore de estados na forma de um
labirinto ou planta de uma loja 
Fonte: Elaborada pelo autor.
Vimos que a aplicação das abordagens de busca por profundidade ou por
amplitude é como percorrer um labirinto até encontrar a saída. A busca por
amplitude seria a busca por andares. Após examinar cada andar, passa a
examinar o próximo.
Abordagem Heurística
Para Coppin (2017), as abordagens de buscas em profundidade e largura
(amplitude) são descritas como força bruta, ou seja, não empregam qualquer
conhecimento especial na árvore de busca, mas simplesmente examinam
cada nó, em ordem, até que se encontre o estado objetivo. Esse exame de
cada nó é como se fosse um ser humano percorrendo um labirinto, seguindo
com a mão pelo lado esquerdo da parede do labirinto, como na Figura 1.8.
Contudo, na busca por heurística é possível acrescentar um conhecimento
sobre a árvore de busca e do caminho ótimo para encontrar o estado
objetivo. Os seres humanos utilizamconstantemente a heurística para
solucionar todo o tipo de problemas. Um exemplo de jogo que se utiliza da
abordagem heurística é o quebra-cabeça de oito peças ou puzzle de oito
peças, como já vimos no Quadro 1.1 A informação-chave para a decisão
depende de onde está localizado o espaço vazio. Para Coppin (2017, p. 82):
reflita
Re�ita
É possível utilizar os agentes de resolução de problemas em
combinação com as outras demais subáreas da inteligência
arti�cial, como a mineração de dados, pesquisa operacional,
visão computacional, robótica e outras?
Tipicamente são 20 deslocamentos para ir de um estado inicial
aleatório ao estado objetivo, e assim, a árvore de busca tem uma
profundidade em torno de 20. O fator de rami�cação depende de
onde está o espaço vazio. Se ele estiver no meio da grade, o fator
de rami�cação será de 4. Se ele estiver em uma lateral, o fator será
de 3, e, se ele estiver em uma quina, o fator de rami�cação será de
2. Assim o fator médio de rami�cação de árvore de busca é de 3.
Conforme Luger (2013), os seres humanos utilizam busca inteligente: um
jogador de xadrez considera uma variedade de jogadas possíveis, um médico
também examina vários diagnósticos possíveis, mas um ser humano não
utiliza busca exaustiva, pois o jogador de xadrez e o médico tendem a realizar
uma busca de acordo com suas experiências. As resoluções de problemas
pelos seres humanos são guiadas e baseadas por regras de julgamento pelos
espaços de estados que de alguma forma são “promissoras”. E essas regras
são denominadas heurísticas . Uma heurística é uma estratégia para a busca
seletiva de um espaço de problema. O objetivo da heurística é realizar ao
longo da busca a veri�cação de probabilidade de sucesso, evitando assim
esforços desnecessários para o atingimento do objetivo.
Abordagem A* (A estrela)
A abordagem A* é uma técnica de heurística so�sticada para identi�car
caminhos ótimos. Para Coppin (2017), os algoritmos A* utilizam uma busca de
heurística melhorada para selecionar o caminho da árvore. A busca A*
expande caminhos envolvendo ir para o nó que parece ser o mais próximo do
objetivo, além de considerar um custo daquele caminho até aquele nó.
Exemplos práticos de abordagem A* são os problemas de roteamento ou
roteirização. As roteirizações são problemas da vida real e são utilizadas como
apoio para tomadas de decisões automatizadas, como rotas otimizadas por
GPS (Global Positioning System) através de algoritmos de navegação ou em
roteadores de redes de computadores. Os roteadores de�nem a melhor rota
de dados na complexa e emaranhada rede de computadores, trazendo maior
velocidade e qualidade na chegada do pacote de dados. Esses tipos de
problemas utilizam um conjunto de pontos ou nós e ligações entre esses nós,
como mostra a �gura a seguir, na forma de um grafo:
Figura 1.9 - Grafo representando um roteamento 
Fonte: Elaborada pelo autor
Uma formulação do problema de roteamento seria dada pelo Quadro 1.2, a
seguir. O teste objetivo depende do que se procura ou busca, podendo ser, na
maioria dos casos, uma otimização da rota ou melhor caminho:
Quadro 1.2 - Formulação de roteamento 
Fonte: Adaptado de Medeiros (2018).
Para Medeiros (2018, p. 61), “Este problema está presente em várias
aplicações tais como roteamento de redes de computadores, planejamento
de manufatura, operações militares, sistema de planejamento de voos e
distribuição geográ�ca de produtos”.
Um exemplo de formulação do roteamento pode ser aplicado em um caso
real. Veja o exemplo de formulação no Quadro 1.3, com o objetivo de
descobrir a melhor rota ferroviária entre duas cidades.
Formulação Descrição
Estados ou
espaço de
estados
Representação de uma posição do nó.
Estado inicial Especi�cado de acordo com o problema.
Função
sucessor
Os nós ou posições que estão adjacentes.
Teste de
objetivo
Veri�ca se, pela movimentação através dos nós,
chega-se ao nó destino.
Custo de
caminho
Dado pelo somatório do custo de cada ligação
entre os pares dos nós.
Quadro 1.3 - Exemplo de formulação do roteamento em uma rota ferroviária 
Fonte: Elaborado pelo autor.
Vimos que as buscas por estados objetivos resolvem uma série de
miniproblemas, como problemas de jogos e labirintos, e esses podem ser
estendidos para problemas mais complexos da vida real, por meio das buscas
com técnicas de heurísticas, por exemplo, no caso da roteirização GPS e no
roteamento de redes.
Formulação Descrição
Estados ou
espaço de
estados
Representação de uma posição do nó.
Estado inicial Cidade de origem.
Função sucessor
Próximo destino a partir da cidade a ser
considerada.
Teste de objetivo
Se o estado atual já se encontra na cidade
destino.
Custo de
caminho
Tempo de viagem ou custo da viagem entre as
cidades.
saiba mais
Saiba mais
Para saber mais sobre a resolução de
problemas em jogos e buscas em espaços de
estado, leia o artigo cientí�co “Inteligência
Arti�cial para jogos: agentes especiais com
permissão para matar... e raciocinar!”
ACESSAR
Vimos os principais conceitos de agentes de resolução de problemas, esses
constituídos de técnicas de buscas de amplitude, profundidade, heurística e
A*, e suas principais aplicações. No próximo tópico, iremos compreender
melhor a técnica de busca por meio de um laboratório, implementando o
algoritmo de busca por profundidade e realizando uma análise detalhada da
busca por espaços por estados em profundidade.
praticar
Vamos Praticar
Leia o trecho a seguir:
“Os agentes decidem o que fazer encontrando uma sequência de ações para
estados especí�cos desejáveis”.
http://osorio.wait4.org/publications/Osorio-et-al-SBGames07-Tutorial.pdf
NORVIG, P; RUSSEL, S. Inteligência arti�cial . Rio de Janeiro: Elsevier.
2013. p. 62.
Assinale a alternativa correta, sobre o objetivo dos agentes inteligentes:
a) Realizam a descoberta do conhecimento (informação útil).
b) Operam para encontrar um estado desejado.
c) Operam na descoberta da melhor solução possível.
d) Realizam a descoberta do problema.
e) Mineram uma base de dados.
Vimos que o problema do labirinto é um exemplo de aplicação dos agentes
inteligentes que são resolvidos pelas técnicas de buscas (profundidade,
amplitude e outros). E analisaremos agora um exemplo completo de
implementação da busca em profundidade por meio de um pseudocódigo e
análise da busca.
Laboratório: Resolução de um Exemplo
Para realizarmos uma resolução completa para encontrar o estado objetivo
através de uma busca por profundidade, o exemplo da árvore de estados com
15 nós é dado pela Figura 1.10, em que um estado objetivo se encontra no nó
“L”. 
Representação eRepresentação e
Resolução de ProblemasResolução de Problemas
Uma implementação por pseudocódigo por busca em profundidade é
demonstrada por Coppin (2017, p. 74) através de uma função denominada
profundidade. Segundo Coppin (2017, p. 74):
[...] a variável estado representa o estado corrente em qualquer
ponto dado no algoritmo e �la é uma estrutura de dados que
armazena vários estados de forma que permita inserção e
remoção em cada extremidade. [No algoritmo dados no exemplo]
[...] sempre inserimos pela frente e removemos pela frente.
Exemplo de pseudocódigo:
Function profundidade ()
{ �la = [ ] // inicializa uma �la vazia
estado = no_raiz // inicializa o estado inicial
while (true)
{ if eh objetivo (objetivo) then SUCESSO;
else inserir_na_frente_da_�la sucessos (estado) )
Figura 1.10 - Árvore de busca do labirinto 
Fonte: Coppin (2017, p. 72).
if �la = [ ] then report FALHA;
estado = �la [0]; // estado = primeiro item da �la
remover_primeiro_item_da_�la (�la);
}
}
Uma análise de busca de profundidade é dada pelo Quadro 1.4:
Passo Estado Fila Obs.
1 A (vazio)
A �la começa vazia, e o estado inicial é o
nó À.
2 A B, C Os sucessores de A são inseridos na �la.
3 B C
4 B D, E, C
Os sucessores do estado corrente, B,
são inseridos na frente da �la.
5 D E, C
6 D
H, I, E,
C
7 H I, E, C H não tem sucessores.
8 I E, C Da mesmaforma, I não tem sucessores.
9 E C
10 E J, K, C
11 J K, C Novamente, J não tem sucessores.
12 K C
K não tem sucessores. Assim,
exploramos toda a rami�cação abaixo
de B. O que nos leva a retroceder a C.
13 C (vazio) A �la está vazia, mas isso não signi�ca
que estamos no ponto inicial do
algoritmo, mas sim uma falha ( report
Quadro 1.4 - Análise de busca de profundidade 
Fonte: Coppin (2017, p. 75).
Vimos que a análise das árvores de busca pela implementação do algoritmo
(exemplo do pseudocódigo) nos leva a compreender todos os exames dos nós
até encontrar o(s) nó(s) objetivo(s).
Aplicação nos Cenários dos Grupos
Como proposta de atividade de laboratório referente à resolução de
problemas, a sugestão é implementar a busca por amplitude, equivalente à
resolução da busca por profundidade. A turma deve ser dividida em grupos, e
os estudantes devem apresentar um novo algoritmo (pseudocódigo), realizar
uma análise da busca, tipo um teste de mesa (conforme o Quadro 1.4), e
informar quais são os sucessores do nó estado. Além da implementação por
amplitude, cada grupo terá um nó objetivo a ser encontrado.
FALHA ) quando if �la = [ ] , pois estamos
próximos de inserir sucessores de C na
�la.
14 C F, G
15 F G
16 F L, M, G
17 L M, G
Sucesso: o algoritmo termina porque o
nó objetivo foi localizado. Nesse caso, é
o único nó objetivo, mas o algoritmo
não sabe disso, e não sabe quantos nós
foram deixados de explorar.
praticar
Vamos Praticar
Exemplos de aplicações da técnica de busca por profundidade são os jogos de
labirintos, em que se deve encontrar uma saída, ou seja, um estado objetivo. Os
algoritmos dessa técnica são baseados em árvores de estados e implementados
utilizando-se estruturas de repetição e �la. É possível a�rmar com relação ao
algoritmo de técnica de busca por profundidade que:
a) A estrutura de �la deve ser inicializada com um nó qualquer da árvore de
estados, e a variável estado é inicializada com nenhum nó.
b) A variável estado representa o estado corrente em qualquer ponto dado
no algoritmo. No início do algoritmo, a variável estado é inicializada com o nó
raiz.
c) A �la é uma estrutura de dados que armazena vários estados de forma que
permita inserção e remoção dos estados; contudo, no algoritmo de busca por
profundidade, a remoção de estados é feita pela frente e a inserção por trás
da �la.
d) Uma �la vazia no algoritmo de busca de profundidade condiz com um
erro.
e) Quando implementados em jogos do tipo labirinto, uma parede do
labirinto signi�ca um nó que possui sucessores.
Esta seção tem como objetivo propiciar o aprofundamento sobre o tema de
resolução de buscas por espaços estados em jogos. Os agentes inteligentes,
além de resolverem miniproblemas, do tipo “jogos deslizantes”, conseguem
resolver buscas nos espaços de estado em jogos de tabuleiro do tipo xadrez.
Um exemplo é o jogo 8 rainhas. O objetivo é posicionar oito rainhas em um
tabuleiro de tal forma que nenhuma rainha ataque a outra. O critério de
ataque é quando uma rainha está na mesma coluna ou linha ou diagonal.
Vejamos a seguir a resolução do problema do jogo 8 rainhas.
Técnicas Avançadas de IA
Segundo Bento, Souza e Madeira (2008, p. 2),
O problema das n-rainhas é muito conhecido da forma como ele
foi resolvido originalmente em 1850 por Gauss: com 8 rainhas,
posteriormente essa demonstração foi estendida para n-rainhas
por Ho�man em 1969. O problema em si consistem em colocar um
determinado número n maior ou igual a 2, de rainhas em um
Tópicos AvançadosTópicos Avançados
tabuleiro de xadrez de forma que elas não se ataquem
simultaneamente, e ao �nal possa se dizer quantas formas deste
existam.
Uma formulação apresentada por Medeiros (2018) para esse tipo de jogo é
apresentada no Quadro 1.5, a seguir:
Quadro 1.5 - Formulação do jogo 8 rainhas 
Fonte: Medeiros (2018, p. 60).
A Figura 1.11 ilustra o tabuleiro das oito rainhas, posicionadas em um estado
em que uma das rainhas pode ser atacada, localizada no canto inferior
direito, posição (8,8), podendo ser atacada por outra rainha da primeira
coluna e primeira linha, posição (1,1), ou seja, a rainha na posição (8,8) é um
estado não desejado:
Formulação Descrição
Estados ou
espaço de
Estados
Qualquer disposição de zero a oito rainhas sobre
o tabuleiro. 3 X 10E14 estados possíveis.
Estado inicial Nenhuma rainha no tabuleiro.
Função sucessor Colocação de uma rainha em uma casa vazia.
Teste de objetivo
Veri�cação de oito rainhas no tabuleiro e de
qualquer possibilidade de ameaça a alguma
delas.
Custo de
caminho
Colocação de uma rainha sobre o tabuleiro de
modo a evitar ameaça a outras rainhas já
colocadas. Nesse caso não a custo.
Vimos que as posições ou espaços de estados podem ser “desejados” ou “não
desejados”. A ideia é posicionar todas as rainhas em “estados desejados”. O
Quadro 1.6, a seguir, apresenta uma formulação melhorada (con�guração
melhorada de estados desejados).
Figura 1.11 - Estado não desejado. 
Fonte: Elaborada pelo autor.
Quadro 1.6 - Formulação melhorada para o jogo 8 rainhas 
Fonte: Adaptado de Medeiros (2018).
A formulação de modo melhorado do problema das oito rainhas, também
chamado estados completos, reduz o espaço dos estados para uma
combinação de 3. 10E14 para 2045 estados, facilitando a obtenção de
soluções, o que os agentes tratam bem com um processamento de menor
capacidade. A Figura 1.12 ilustra a formulação de estados completos.
Formulação Descrição
Estados ou
espaço de
Estados
Dispor n rainhas (0<=n <=8) de modo que se
tenha uma rainha, uma por coluna. Qualquer
disposição de n colunas mais à esquerda,
evitando a ameaça de outra rainha.
Estado inicial Nenhuma rainha no tabuleiro.
Função sucessor
Adicionar uma rainha a qualquer casa na coluna
vazia mais à esquerda, buscando evitar ameaça
de alguma rainha já colocada.
Teste de objetivo
Veri�cação de oito rainhas no tabuleiro e de
qualquer possibilidade de ameaça a alguma
delas.
Custo de
caminho
Colocação de uma rainha sobre o tabuleiro de
modo a evitar ameaça a outras rainhas já
colocadas. Nesse caso, não há custo.
Portanto, os miniproblemas representam possíveis soluções que utilizam os
agentes de busca de resolução de problemas. Com os jogos deslizantes,
puzzle e do jogo 8 rainhas, é possível a visualização de soluções que podem
ser ampliadas para problemas do mundo real.
Figura 1.12 - Formulação de estados desejados 
Fonte: Adaptada de Medeiros (2018).
Ferramentas e Cenários de Aplicações
Para nos aprofundarmos mais sobre a tecnologia de agentes inteligentes
na busca na resolução de problemas, veremos mais algumas aplicações
relacionadas e um conceito sobre multiagentes.
Por exemplo, no controle de informação , segundo Rezende (2005), os
agentes de informação são focados na identi�cação e manipulação de
grandes volumes de dados, como no caso na mineração de dados, em que é
realizada a busca de informação relevante, sendo o caso dos buscadores de
informações como o Google. Já os agentes de colaboração são utilizados
para compartilhar recursos em uma organização ou pesquisas a distância.
Softwares de compartilhamento de atividades e de trabalhos em grupo
utilizam os agentes de colaboração. Os agentes de �uxo de atividades são
aplicados para gerenciar o �uxo de atividades de uma empresa, tornando o
�uxo mais e�ciente.
saiba mais
Saiba mais
A resolução de problemas em jogos do tipo
xadrez e buscas em espaços de estado são
tratadas no artigo cientí�co “O problema das
n-rainhas”, de Bento, Souza e Madeira, da
Universidade do Extremo Sul Catarinense
(UNESC). O objetivo desse artigo é mostrar a
representação de grafos em jogos. O
exemplo utilizado foi o problema das n-
rainhas, no qual cada rainha deve estar em
posição de defesa no tabuleiro, ou seja, não
podem estar em posição vertical, horizontal e
diagonal de outra rainha.
ACESSAR
http://periodicos.unesc.net/sulcomp/article/view/2071/1962
Um outro conceito relativo à tecnologia de agentes inteligentes é sobre os
multiagentes.Baltzan e Philips (2012, p. 41) comentam que, “nos últimos anos,
a pesquisa de IA tem feito muito progresso na modelagem como um todo
com a ajuda dos sistemas multiagentes”.
Para Rezende (2005, p. 269),
[...] os agentes são personagens computacionais que atuam de
acordo com um script de�nido, direta ou indiretamente por um
usuário. Eles podem atuar isoladamente ou em comunidades,
formando sistemas multiagente. O uso de agentes vem crescendo
como uma maneira de lidar com um mundo onde informações e
conhecimentos crescem a uma velocidade humanamente
impossível de lidar.
Os sistemas multiagentes são atividades ou serviços em conjunto de agentes
autônomos, ou seja, os agentes possuem um objetivo próprio e existência
própria. Para que os agentes possam resolver algum problema, é necessário
conceber os meios, pois são criados para resolver os problemas de maneira
genérica e não especí�ca. Os agentes instanciam o problema dinamicamente,
quando esse é inserido no sistema. Quando um agente está em um sistema
em que há outros agentes (multiagentes), esse receberá uma interferência
social entre esses agentes.
As interferências sociais podem ser dos tipos: autonomia, organização e
interação entre os agentes. Na autonomia, os agentes não interagem e se
comportam como uma interação de neutralismo. Na organização, os agentes
possuem um compromisso em comum a ser atingido. E, nas interações,
podem ser diversas: de competição (agentes competem pelo mesmo recurso),
parasitismo (um agente parasita depende do outro, no caso, do hospedeiro),
amensalismo (um agente pode usufruir de recursos ou fonte de informações
acidentalmente) e simbiose (a combinação de dois agentes é obrigatória para
atingir uma meta).
praticar
Vamos Praticar
Os agentes inteligentes, além de resolverem miniproblemas, do tipo “jogos
deslizantes”, conseguem resolver buscas nos espaços de estado em jogos de
tabuleiro do tipo xadrez. Um deles é o jogo 8 rainhas. Marque a alternativa correta
correspondente ao objetivo desse tipo de jogo:
a) Descobrir qual é a melhor rainha do tabuleiro.
b) Descobrir qual é a melhor jogada com a eliminação de todas as damas do
tabuleiro.
c) Veri�car o posicionamento das oito rainhas no tabuleiro, para que não
exista qualquer possibilidade de ameaça a algumas delas.
d) Veri�car se as oito rainhas do tabuleiro podem atingir uma con�guração
especí�ca desejada.
e) Veri�car ameaça dos nós ou posições adjacentes de uma rainha especí�ca.
indicações
Material
Complementar
FILME
O jogo da imitação
Ano: 2014
Comentário: o �lme mostra a cinebiogra�a de Alan
Turing, matemático e cientista da computação britânico
que contribuiu com estratégias dos Estados Unidos
durante a Segunda Guerra Mundial. Você poderá ver os
esforços de Alan Turing nas áreas de matemática, lógica
e computação para a resolução de problemas, nesse
caso o desa�o da descriptogra�a de informações
alemãs. Além de se situar na história da computação,
você irá acompanhar o surgimento do primeiro
computador e terá uma visão da lógica computacional.
TRA ILER
LIVRO
Inteligência arti�icial
Peter Norvig e Stuart Russell
Editora: Inteligência Arti�cial
ISBN: 13 9788535251418
Comentário: essa leitura é uma ótima base para
compreender as bases, teoria e aplicações da
inteligência arti�cial tratando da resolução de
problemas por meio de algoritmos de IA, por exemplo,
a solução de jogos de damas.
conclusão
Conclusão
Podemos resumir nosso estudo em uma introdução da inteligência arti�cial e
sobre a resolução de problemas por meio dos agentes inteligentes.
Compreendemos que a inteligência arti�cial apresenta vários conceitos e
de�nições, isso devido à sua alta multidisciplinaridade. Diante dessa
de�nição, vimos que, durante a história da humanidade, desde Aristóteles,
com a axiomatização formal do raciocínio, até a modelagem das redes neurais
e o aperfeiçoamento dos sistemas inteligentes da atualidade, os cientistas e
pesquisadores visam à busca do aprendizado máquina, equiparando-os aos
comportamentos humanos inteligentes.
referências
Referências
Bibliográ�cas
BALTZAN, P.; PHILLIPS, A. Sistemas de informação . Porto Alegre: MG
Editora. 2012.
BENTO, G. B.; SOUZA, V. M. MADEIRA, K. O problema das n-rainhas .
Criciúma: UNESC, 2008.
COPPIN, B. Inteligência arti�cial . Rio de Janeiro: LTC: 2017.
FACELI, K.; LORENA, A. C.; GAMA, J.; CARVALHO, C. P. L. F. de; Inteligência
arti�cial : uma abordagem de aprendizado de máquina. Rio de Janeiro: LTC.
2011.
LIMA, I; PINHEIRO, C. A. M; SANTOS, F. A. O. Inteligência arti�cial . Rio de
Janeiro. Elsevier. 2014.
LUGER, G. F. Inteligência arti�cial . 6. ed. São Paulo: Pearson Education do
Brasil. 2013.
MEDEIROS, L. F. de; Inteligência arti�cial aplicada : uma abordagem
introdutória. Curitiba: Intersaberes, 2018.
NORVIG, P; RUSSEL, S. Inteligência arti�cial . Rio de Janeiro: Elsevier. 2013.
OSÓRIO, F.; PESSIN, G.; FERREIRA, S.; NONNENMACHER, V. Inteligência
arti�cial para jogos : agentes especiais com permissão para matar… e
raciocinar! São Leopoldo: Unisinos, 2007.
REZENDE, S. O. Sistemas inteligentes : fundamentos e aplicações. Barueri:
Manole, 2005.

Continue navegando