O documento descreve o algoritmo SMA* (Simplified Memory-Bounded A*), que é uma variação do algoritmo A* projetada para lidar com restrições de memória. O SMA* explora os nós da fronteira de maneira semelhante ao A*, mas pode esquecer nós antigos para liberar memória quando necessário, garantindo assim que sempre encontre a solução ótima se houver espaço suficiente na memória.
Este documento fornece esquemas elétricos e diagramas de circuitos para caminhões e ônibus, incluindo códigos utilizados nos diagramas e localização de componentes. É dividido em seções sobre interpretação de diagramas, esquemas de circuitos que mostram a conexão entre componentes como alternador, faróis, lanternas e outros itens.
Este documento describe varias características de multiplexación M2 para camiones Daimler, incluyendo conceptos básicos de multiplexación, componentes del sistema M2 como el módulo de mamparo y módulo de chasis, y ejemplos de características como faros automáticos con limpiaparabrisas y advertencias de regeneración del filtro de partículas. La multiplexación permite controlar múltiples funciones del vehículo de forma centralizada y programable.
1. O documento fornece informações sobre a pinagem de vários tipos de ECUs de sistemas de injeção eletrônica de combustível de veículos Fiat, GM, Volkswagen e Ford.
2. São listadas as pinagens de ECUs como Motronic, MonoMotronic, Digifant, entre outros usados nesses fabricantes.
3. Para cada ECU é fornecida a numeração e função de cada pino, facilitando o diagnóstico e reparo desses sistemas.
Clarine necesita nuevas escalas mayores para su instrumento musical. Las escalas mayores son una secuencia de notas musicales ordenadas por tonalidad ascendente que suenan armónicas y alegres. Las escalas mayores tradicionales contienen 7 notas musicales.
O documento contém vários trechos de músicas de pagode brasileiro anotados em numerais, provavelmente para acompanhamento de instrumentos de percussão como tantãs e pandeiros. As músicas listadas incluem "Brilho de Cristal", "Trem das Onze", "Mel na Boca", "Conselho", "Sagrado e Profano", "Nosso Grito", "Acreditar", "Primeiro Amor", "Eu e você sempre", "O show tem que continuar", "Armadilha", "Hoje eu vou Pagodear", e
The document provides product information for various interior paints including Elan, Medallion, Integrity, and Guardian brands. It lists the type of product, sheen, spread rate, recommended application methods, dry time, and product codes for different sizes. The products include options for different finishes from flat to semi-gloss and are suitable for walls, trim, ceilings and other interior surfaces.
Auto mecânica 3 irmãos codigo de falhas i-shiftfsou
O documento lista códigos de falha e suas respectivas funções para vários componentes de um veículo, incluindo cilindros do grupo redutor e desmultiplicador, embreagem servo, pressão de ar na caixa de mudanças, temperatura do óleo e tensão da bateria. Os códigos indicam problemas como tensão ou corrente anormal, limites fora da calibração, dados intermitentes ou componentes danificados.
Este documento fornece esquemas elétricos e diagramas de circuitos para caminhões e ônibus, incluindo códigos utilizados nos diagramas e localização de componentes. É dividido em seções sobre interpretação de diagramas, esquemas de circuitos que mostram a conexão entre componentes como alternador, faróis, lanternas e outros itens.
Este documento describe varias características de multiplexación M2 para camiones Daimler, incluyendo conceptos básicos de multiplexación, componentes del sistema M2 como el módulo de mamparo y módulo de chasis, y ejemplos de características como faros automáticos con limpiaparabrisas y advertencias de regeneración del filtro de partículas. La multiplexación permite controlar múltiples funciones del vehículo de forma centralizada y programable.
1. O documento fornece informações sobre a pinagem de vários tipos de ECUs de sistemas de injeção eletrônica de combustível de veículos Fiat, GM, Volkswagen e Ford.
2. São listadas as pinagens de ECUs como Motronic, MonoMotronic, Digifant, entre outros usados nesses fabricantes.
3. Para cada ECU é fornecida a numeração e função de cada pino, facilitando o diagnóstico e reparo desses sistemas.
Clarine necesita nuevas escalas mayores para su instrumento musical. Las escalas mayores son una secuencia de notas musicales ordenadas por tonalidad ascendente que suenan armónicas y alegres. Las escalas mayores tradicionales contienen 7 notas musicales.
O documento contém vários trechos de músicas de pagode brasileiro anotados em numerais, provavelmente para acompanhamento de instrumentos de percussão como tantãs e pandeiros. As músicas listadas incluem "Brilho de Cristal", "Trem das Onze", "Mel na Boca", "Conselho", "Sagrado e Profano", "Nosso Grito", "Acreditar", "Primeiro Amor", "Eu e você sempre", "O show tem que continuar", "Armadilha", "Hoje eu vou Pagodear", e
The document provides product information for various interior paints including Elan, Medallion, Integrity, and Guardian brands. It lists the type of product, sheen, spread rate, recommended application methods, dry time, and product codes for different sizes. The products include options for different finishes from flat to semi-gloss and are suitable for walls, trim, ceilings and other interior surfaces.
Auto mecânica 3 irmãos codigo de falhas i-shiftfsou
O documento lista códigos de falha e suas respectivas funções para vários componentes de um veículo, incluindo cilindros do grupo redutor e desmultiplicador, embreagem servo, pressão de ar na caixa de mudanças, temperatura do óleo e tensão da bateria. Os códigos indicam problemas como tensão ou corrente anormal, limites fora da calibração, dados intermitentes ou componentes danificados.
Este documento describe el funcionamiento de los módulos PLD y ADM. El módulo PLD controla el motor mediante la supervisión electrónica y el cálculo de parámetros como el inicio y tiempo de inyección basándose en datos de sensores. El módulo ADM controla accesorios como el pedal del acelerador y proporciona datos al PLD. Ambos módulos protegen el motor mediante la detección de fallas en sensores, niveles bajos de aceite y temperaturas anormales.
1. O documento lista códigos de falhas para vários fabricantes de veículos comerciais, incluindo Mercedes Benz, Volvo, Scania, Ford, Agrale e Iveco. 2. As falhas estão categorizadas por sistema afetado, como motor, injeção eletrônica, freio motor, sensores e atuadores. 3. Os códigos fornecem informações sobre o tipo e localização precisa da falha para auxiliar na diagnose e reparo.
Este documento fornece uma lista de códigos de falhas para vários sistemas eletrônicos de veículos, incluindo o motor, transmissão, freios ABS e cabine. Os códigos são organizados por sistema e fornecem uma breve descrição da falha correspondente.
Este documento presenta varios problemas de probabilidad que involucran el lanzamiento de dados, monedas y bolas en urnas. Los problemas incluyen calcular probabilidades simples y condicionales, así como determinar la independencia de eventos. Se proporcionan tablas y diagramas de árbol para ayudar a visualizar y resolver los problemas planteados.
O documento fornece acordes para 15 músicas de samba em português. As músicas incluem "Brilho de Cristal" pelo Gr. Pixote, "Tanajura" pelo Gr. Negritude Jr. e "Pura Solidão" pelo Gr. Soweto, entre outras. Os acordes são fornecidos para violão, cavaquinho e banjo para cada música.
Este documento resume el proceso de desmontaje y reparación de un amortiguador Equalizer II. Explica que el problema común es la entrada de aceite en la cámara negativa debido al desgaste de la junta del pistón principal. Detalla los pasos para desmontarlo, cambiar las juntas dañadas y volver a llenarlo con el aceite correcto. El autor concluye que con un mantenimiento adecuado, el Equalizer es un buen amortiguador y no está mal diseñado. Invita a otros a añadir fotos y
El documento presenta el plano de embornamiento eléctrico de un vehículo Skoda Octavia 1.9 TDI con tracción integral del año 2004. Describe las conexiones y componentes del sistema de control del motor, incluyendo la unidad de mando del motor EDC 16U1, sensores, bombas, inyectores, fusibles y relés. Finalmente, indica que la figura muestra las conexiones de enchufe del mazo de cables del lado de la unidad de mando del motor.
O documento apresenta um manual técnico de um veículo Gol Power com detalhes sobre: 1) Novos motores EA1-111 3 cilindros; 2) Sistemas mecânicos, de aceleração eletrônica e de injeção eletrônica; 3) Diagnóstico de falhas e procedimentos de manutenção.
Este documento lista vários sensores e componentes de um veículo, incluindo sensores de pressão e temperatura dos gases de escape, sensor de pressão do turbo, sensor de fase CKP, sensor de nível de combustível e óleo do motor.
O documento descreve vários componentes elétricos e sensores de um motor a diesel, incluindo fusíveis, interruptores, módulo eletrônico de controle do motor e conectores. Ele também fornece especificações técnicas desses itens e códigos de falha com suas respectivas descrições.
1. O documento lista os sensores do sistema de controle do motor e fornece códigos de informação e códigos de falha.
2. É observada a diferença entre códigos de falha e códigos de informação, sendo que estes últimos não indicam falhas.
3. São fornecidos detalhes sobre os códigos de falha, incluindo ID, descrição da falha e componente afetado.
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive functioning. Exercise boosts blood flow, releases endorphins, and promotes changes in the brain which help enhance one's emotional well-being and mental clarity.
O documento fornece informações básicas sobre música, incluindo suas partes principais (melodia, harmonia e ritmo), pentagrama, claves, figuras e pausas, acidentes, compasso, intervalos, escalas cromática e diatônica, e modos maior e menor.
O documento discute computação numérica utilizando máquinas de Turing. Primeiramente, apresenta como máquinas de Turing podem ser usadas para calcular funções numéricas, representando números na fita através de sequências de 1s. Em seguida, mostra exemplos de funções numéricas como sucessor, zero e adição, e como elas podem ser computadas por máquinas de Turing. Por fim, discute como operações sequenciais de funções podem ser representadas por uma única máquina de Turing através da composição de suas partes
O documento descreve a hierarquia de Chomsky, que classifica as linguagens formais em quatro tipos principais com base na potência expressiva de suas gramáticas geradoras e reconhecedores associados. O documento explica cada tipo de linguagem formal na hierarquia, começando pelas linguagens regulares no nível 3 e terminando com as linguagens recursivamente enumeráveis no nível 0.
1) O documento apresenta algoritmos aproximativos para problemas NP-difíceis como cobertura de vértices, caixeiro viajante e soma de subconjuntos;
2) Para o problema de cobertura de vértices é apresentado um algoritmo 2-aproximativo de tempo polinomial;
3) Para o problema do caixeiro viajante é apresentado um algoritmo que constrói um ciclo hamiltoniano a partir de uma árvore geradora mínima, garantindo que o comprimento do ciclo seja no máximo o comprimento do ciclo ótimo
Apresentação sobre o algoritmo de ordenação Counting Sort, apresentada no 2º semestre de 2014, como um dos requisitos da disciplina de Projeto e Análise de Algoritmos, no Mestrado em Ciência da Computação, pela Universidade Federal de Lavras (UFLA). Disciplina ministrada pelo professor Dr. Sanderson L. Gonzaga de Oliveira.
Palestra sobre Javascript realizada no primeiro ciclo do Plano de Geração de Conhecimento realizado em outubro de 2013, no LEMAF - Universidade Federal de Lavras.
O Plano de geração de conhecimento é um trabalho realizado para tutoria de desenvolvedores com estagiários no estudo de tecnologias, com o objetivo de disseminação de conhecimento.
Palestra ministrada por Fernando Simeone, Carlos Eduardo Chessi Melo, Eduardo Assis da Silva e José Henrique Santos Andrade .
### Atualização 20/02/2015
Palestra melhorada, com algumas correções. Reapresentada por Fernando Simeone e Carlos Eduardo Chessi Melo na SETI (Semana de Tecnologia da Informação) na Universidade Federal de Lavras.
Este documento fornece um guia sobre startups. Ele discute definições de startups e requisitos iniciais, ideias e problemas, desenvolvimento do produto, e gerenciamento do produto. O guia oferece conselhos sobre entendendo o problema, desenvolvendo rapidamente, recebendo feedback, atraindo visitantes e ganhando dinheiro.
Este documento describe el funcionamiento de los módulos PLD y ADM. El módulo PLD controla el motor mediante la supervisión electrónica y el cálculo de parámetros como el inicio y tiempo de inyección basándose en datos de sensores. El módulo ADM controla accesorios como el pedal del acelerador y proporciona datos al PLD. Ambos módulos protegen el motor mediante la detección de fallas en sensores, niveles bajos de aceite y temperaturas anormales.
1. O documento lista códigos de falhas para vários fabricantes de veículos comerciais, incluindo Mercedes Benz, Volvo, Scania, Ford, Agrale e Iveco. 2. As falhas estão categorizadas por sistema afetado, como motor, injeção eletrônica, freio motor, sensores e atuadores. 3. Os códigos fornecem informações sobre o tipo e localização precisa da falha para auxiliar na diagnose e reparo.
Este documento fornece uma lista de códigos de falhas para vários sistemas eletrônicos de veículos, incluindo o motor, transmissão, freios ABS e cabine. Os códigos são organizados por sistema e fornecem uma breve descrição da falha correspondente.
Este documento presenta varios problemas de probabilidad que involucran el lanzamiento de dados, monedas y bolas en urnas. Los problemas incluyen calcular probabilidades simples y condicionales, así como determinar la independencia de eventos. Se proporcionan tablas y diagramas de árbol para ayudar a visualizar y resolver los problemas planteados.
O documento fornece acordes para 15 músicas de samba em português. As músicas incluem "Brilho de Cristal" pelo Gr. Pixote, "Tanajura" pelo Gr. Negritude Jr. e "Pura Solidão" pelo Gr. Soweto, entre outras. Os acordes são fornecidos para violão, cavaquinho e banjo para cada música.
Este documento resume el proceso de desmontaje y reparación de un amortiguador Equalizer II. Explica que el problema común es la entrada de aceite en la cámara negativa debido al desgaste de la junta del pistón principal. Detalla los pasos para desmontarlo, cambiar las juntas dañadas y volver a llenarlo con el aceite correcto. El autor concluye que con un mantenimiento adecuado, el Equalizer es un buen amortiguador y no está mal diseñado. Invita a otros a añadir fotos y
El documento presenta el plano de embornamiento eléctrico de un vehículo Skoda Octavia 1.9 TDI con tracción integral del año 2004. Describe las conexiones y componentes del sistema de control del motor, incluyendo la unidad de mando del motor EDC 16U1, sensores, bombas, inyectores, fusibles y relés. Finalmente, indica que la figura muestra las conexiones de enchufe del mazo de cables del lado de la unidad de mando del motor.
O documento apresenta um manual técnico de um veículo Gol Power com detalhes sobre: 1) Novos motores EA1-111 3 cilindros; 2) Sistemas mecânicos, de aceleração eletrônica e de injeção eletrônica; 3) Diagnóstico de falhas e procedimentos de manutenção.
Este documento lista vários sensores e componentes de um veículo, incluindo sensores de pressão e temperatura dos gases de escape, sensor de pressão do turbo, sensor de fase CKP, sensor de nível de combustível e óleo do motor.
O documento descreve vários componentes elétricos e sensores de um motor a diesel, incluindo fusíveis, interruptores, módulo eletrônico de controle do motor e conectores. Ele também fornece especificações técnicas desses itens e códigos de falha com suas respectivas descrições.
1. O documento lista os sensores do sistema de controle do motor e fornece códigos de informação e códigos de falha.
2. É observada a diferença entre códigos de falha e códigos de informação, sendo que estes últimos não indicam falhas.
3. São fornecidos detalhes sobre os códigos de falha, incluindo ID, descrição da falha e componente afetado.
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive functioning. Exercise boosts blood flow, releases endorphins, and promotes changes in the brain which help enhance one's emotional well-being and mental clarity.
O documento fornece informações básicas sobre música, incluindo suas partes principais (melodia, harmonia e ritmo), pentagrama, claves, figuras e pausas, acidentes, compasso, intervalos, escalas cromática e diatônica, e modos maior e menor.
O documento discute computação numérica utilizando máquinas de Turing. Primeiramente, apresenta como máquinas de Turing podem ser usadas para calcular funções numéricas, representando números na fita através de sequências de 1s. Em seguida, mostra exemplos de funções numéricas como sucessor, zero e adição, e como elas podem ser computadas por máquinas de Turing. Por fim, discute como operações sequenciais de funções podem ser representadas por uma única máquina de Turing através da composição de suas partes
O documento descreve a hierarquia de Chomsky, que classifica as linguagens formais em quatro tipos principais com base na potência expressiva de suas gramáticas geradoras e reconhecedores associados. O documento explica cada tipo de linguagem formal na hierarquia, começando pelas linguagens regulares no nível 3 e terminando com as linguagens recursivamente enumeráveis no nível 0.
1) O documento apresenta algoritmos aproximativos para problemas NP-difíceis como cobertura de vértices, caixeiro viajante e soma de subconjuntos;
2) Para o problema de cobertura de vértices é apresentado um algoritmo 2-aproximativo de tempo polinomial;
3) Para o problema do caixeiro viajante é apresentado um algoritmo que constrói um ciclo hamiltoniano a partir de uma árvore geradora mínima, garantindo que o comprimento do ciclo seja no máximo o comprimento do ciclo ótimo
Apresentação sobre o algoritmo de ordenação Counting Sort, apresentada no 2º semestre de 2014, como um dos requisitos da disciplina de Projeto e Análise de Algoritmos, no Mestrado em Ciência da Computação, pela Universidade Federal de Lavras (UFLA). Disciplina ministrada pelo professor Dr. Sanderson L. Gonzaga de Oliveira.
Palestra sobre Javascript realizada no primeiro ciclo do Plano de Geração de Conhecimento realizado em outubro de 2013, no LEMAF - Universidade Federal de Lavras.
O Plano de geração de conhecimento é um trabalho realizado para tutoria de desenvolvedores com estagiários no estudo de tecnologias, com o objetivo de disseminação de conhecimento.
Palestra ministrada por Fernando Simeone, Carlos Eduardo Chessi Melo, Eduardo Assis da Silva e José Henrique Santos Andrade .
### Atualização 20/02/2015
Palestra melhorada, com algumas correções. Reapresentada por Fernando Simeone e Carlos Eduardo Chessi Melo na SETI (Semana de Tecnologia da Informação) na Universidade Federal de Lavras.
Este documento fornece um guia sobre startups. Ele discute definições de startups e requisitos iniciais, ideias e problemas, desenvolvimento do produto, e gerenciamento do produto. O guia oferece conselhos sobre entendendo o problema, desenvolvendo rapidamente, recebendo feedback, atraindo visitantes e ganhando dinheiro.
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
A linguagem C# aproveita conceitos de muitas outras linguagens,
mas especialmente de C++ e Java. Sua sintaxe é relativamente fácil, o que
diminui o tempo de aprendizado. Todos os programas desenvolvidos devem
ser compilados, gerando um arquivo com a extensão DLL ou EXE. Isso torna a
execução dos programas mais rápida se comparados com as linguagens de
script (VBScript , JavaScript) que atualmente utilizamos na internet
7. Introdução
• O problema de memória do algoritmo A*;
• SMA* (Simplified Memory-Bounded);
• Principais dificuldades:
8. Introdução
• O problema de memória do algoritmo A*;
• SMA* (Simplified Memory-Bounded);
• Principais dificuldades:
• Garantir a solução ótima;
9. Introdução
• O problema de memória do algoritmo A*;
• SMA* (Simplified Memory-Bounded);
• Principais dificuldades:
• Garantir a solução ótima;
• Evitar expansão repetida de nós esquecidos.
10. Introdução
• O algoritmo estima o custo de uma solução
A
B
C
D
E
G H
K
10
10
10
10
10
8
8
16
8
8
f(n) = g(n) + h(n)
14. SMA* (grafo, v_inicial, v_final)
1
adicionar v_inicial na fila
2
loop do
3
if fila está vazia return falha
4
n = nó mais profundo de menor custo na fila
5
if n == v_final return sucesso
6
s = próximo sucessor de n
7
if s != v_final and está na maxima profundidade
8
f(s) = +∞
9
else
10
f(s) = max( f(n), g(s) + h(s) )
11
if todos sucessores de n gerados
12
atualizar custo dos ancestrais de n
13
if todos os sucessores de n estão na memória
14
remover n da fila
15
if memoria está cheia
16
deletar nó mais raso com maior custo
17
removê-lo da lista de sucessores de seu pai
18
inserir seu pai na fila, se necessário
19
20
inserir s na fila
21
end
O algoritmo
Fila
A
B
C
D
E
G H
K
10
10
10
10
10
8
8
16
8
8
Sucessores
A
12
A
15. SMA* (grafo, v_inicial, v_final)
1
adicionar v_inicial na fila
2
loop do
3
if fila está vazia return falha
4
n = nó mais profundo de menor custo na fila
5
if n == v_final return sucesso
6
s = próximo sucessor de n
7
if s != v_final and está na maxima profundidade
8
f(s) = +∞
9
else
10
f(s) = max( f(n), g(s) + h(s) )
11
if todos sucessores de n gerados
12
atualizar custo dos ancestrais de n
13
if todos os sucessores de n estão na memória
14
remover n da fila
15
if memoria está cheia
16
deletar nó mais raso com maior custo
17
removê-lo da lista de sucessores de seu pai
18
inserir seu pai na fila, se necessário
19
20
inserir s na fila
21
end
O algoritmo
Fila A
A
B
C
D
E
G H
K
10
10
10
10
10
8
8
16
8
8
Sucessores
A
12
A
16. SMA* (grafo, v_inicial, v_final)
1
adicionar v_inicial na fila
2
loop do
3
if fila está vazia return falha
4
n = nó mais profundo de menor custo na fila
5
if n == v_final return sucesso
6
s = próximo sucessor de n
7
if s != v_final and está na maxima profundidade
8
f(s) = +∞
9
else
10
f(s) = max( f(n), g(s) + h(s) )
11
if todos sucessores de n gerados
12
atualizar custo dos ancestrais de n
13
if todos os sucessores de n estão na memória
14
remover n da fila
15
if memoria está cheia
16
deletar nó mais raso com maior custo
17
removê-lo da lista de sucessores de seu pai
18
inserir seu pai na fila, se necessário
19
20
inserir s na fila
21
end
O algoritmo
Fila A
A
B
C
D
E
G H
K
10
10
10
10
10
8
8
16
8
8
Sucessores
A
12
A
n
17. SMA* (grafo, v_inicial, v_final)
1
adicionar v_inicial na fila
2
loop do
3
if fila está vazia return falha
4
n = nó mais profundo de menor custo na fila
5
if n == v_final return sucesso
6
s = próximo sucessor de n
7
if s != v_final and está na maxima profundidade
8
f(s) = +∞
9
else
10
f(s) = max( f(n), g(s) + h(s) )
11
if todos sucessores de n gerados
12
atualizar custo dos ancestrais de n
13
if todos os sucessores de n estão na memória
14
remover n da fila
15
if memoria está cheia
16
deletar nó mais raso com maior custo
17
removê-lo da lista de sucessores de seu pai
18
inserir seu pai na fila, se necessário
19
20
inserir s na fila
21
end
O algoritmo
Fila A
A
B
C
D
E
G H
K
10
10
10
10
10
8
8
16
8
8
Sucessores
A
12
n
A
B
10 + 5 = 15
s
18. SMA* (grafo, v_inicial, v_final)
1
adicionar v_inicial na fila
2
loop do
3
if fila está vazia return falha
4
n = nó mais profundo de menor custo na fila
5
if n == v_final return sucesso
6
s = próximo sucessor de n
7
if s != v_final and está na maxima profundidade
8
f(s) = +∞
9
else
10
f(s) = max( f(n), g(s) + h(s) )
11
if todos sucessores de n gerados
12
atualizar custo dos ancestrais de n
13
if todos os sucessores de n estão na memória
14
remover n da fila
15
if memoria está cheia
16
deletar nó mais raso com maior custo
17
removê-lo da lista de sucessores de seu pai
18
inserir seu pai na fila, se necessário
19
20
inserir s na fila
21
end
O algoritmo
Fila A B
A
B
C
D
E
G H
K
10
10
10
10
10
8
8
16
8
8
Sucessores
A
12
n
A
B
15
s
19. SMA* (grafo, v_inicial, v_final)
1
adicionar v_inicial na fila
2
loop do
3
if fila está vazia return falha
4
n = nó mais profundo de menor custo na fila
5
if n == v_final return sucesso
6
s = próximo sucessor de n
7
if s != v_final and está na maxima profundidade
8
f(s) = +∞
9
else
10
f(s) = max( f(n), g(s) + h(s) )
11
if todos sucessores de n gerados
12
atualizar custo dos ancestrais de n
13
if todos os sucessores de n estão na memória
14
remover n da fila
15
if memoria está cheia
16
deletar nó mais raso com maior custo
17
removê-lo da lista de sucessores de seu pai
18
inserir seu pai na fila, se necessário
19
20
inserir s na fila
21
end
O algoritmo
Fila A B
A
B
C
D
E
G H
K
10
10
10
10
10
8
8
16
8
8
Sucessores
A
12
n
A
B
15
20. SMA* (grafo, v_inicial, v_final)
1
adicionar v_inicial na fila
2
loop do
3
if fila está vazia return falha
4
n = nó mais profundo de menor custo na fila
5
if n == v_final return sucesso
6
s = próximo sucessor de n
7
if s != v_final and está na maxima profundidade
8
f(s) = +∞
9
else
10
f(s) = max( f(n), g(s) + h(s) )
11
if todos sucessores de n gerados
12
atualizar custo dos ancestrais de n
13
if todos os sucessores de n estão na memória
14
remover n da fila
15
if memoria está cheia
16
deletar nó mais raso com maior custo
17
removê-lo da lista de sucessores de seu pai
18
inserir seu pai na fila, se necessário
19
20
inserir s na fila
21
end
O algoritmo
Fila A B
A
B
C
D
E
G H
K
10
10
10
10
10
8
8
16
8
8
Sucessores
A
n
A
B G
12
15
s
8 + 5 = 13
21. SMA* (grafo, v_inicial, v_final)
1
adicionar v_inicial na fila
2
loop do
3
if fila está vazia return falha
4
n = nó mais profundo de menor custo na fila
5
if n == v_final return sucesso
6
s = próximo sucessor de n
7
if s != v_final and está na maxima profundidade
8
f(s) = +∞
9
else
10
f(s) = max( f(n), g(s) + h(s) )
11
if todos sucessores de n gerados
12
atualizar custo dos ancestrais de n
13
if todos os sucessores de n estão na memória
14
remover n da fila
15
if memoria está cheia
16
deletar nó mais raso com maior custo
17
removê-lo da lista de sucessores de seu pai
18
inserir seu pai na fila, se necessário
19
20
inserir s na fila
21
end
O algoritmo
Fila A G B
A
B
C
D
E
G H
K
10
10
10
10
10
8
8
16
8
8
Sucessores
A
n
A
B G
13
15
s
13
(15)
22. SMA* (grafo, v_inicial, v_final)
1
adicionar v_inicial na fila
2
loop do
3
if fila está vazia return falha
4
n = nó mais profundo de menor custo na fila
5
if n == v_final return sucesso
6
s = próximo sucessor de n
7
if s != v_final and está na maxima profundidade
8
f(s) = +∞
9
else
10
f(s) = max( f(n), g(s) + h(s) )
11
if todos sucessores de n gerados
12
atualizar custo dos ancestrais de n
13
if todos os sucessores de n estão na memória
14
remover n da fila
15
if memoria está cheia
16
deletar nó mais raso com maior custo
17
removê-lo da lista de sucessores de seu pai
18
inserir seu pai na fila, se necessário
19
20
inserir s na fila
21
end
O algoritmo
Fila G B
A
B
C
D
E
G H
K
10
10
10
10
10
8
8
16
8
8
Sucessores
A
A
G
13 (15)
n
13
23. SMA* (grafo, v_inicial, v_final)
1
adicionar v_inicial na fila
2
loop do
3
if fila está vazia return falha
4
n = nó mais profundo de menor custo na fila
5
if n == v_final return sucesso
6
s = próximo sucessor de n
7
if s != v_final and está na maxima profundidade
8
f(s) = +∞
9
else
10
f(s) = max( f(n), g(s) + h(s) )
11
if todos sucessores de n gerados
12
atualizar custo dos ancestrais de n
13
if todos os sucessores de n estão na memória
14
remover n da fila
15
if memoria está cheia
16
deletar nó mais raso com maior custo
17
removê-lo da lista de sucessores de seu pai
18
inserir seu pai na fila, se necessário
19
20
inserir s na fila
21
end
O algoritmo
Fila G B
A
B
C
D
E
G H
K
10
10
10
10
10
8
8
16
8
8
Sucessores
A
n
s
A
G
H
13 (15)
13
+∞
24. SMA* (grafo, v_inicial, v_final)
1
adicionar v_inicial na fila
2
loop do
3
if fila está vazia return falha
4
n = nó mais profundo de menor custo na fila
5
if n == v_final return sucesso
6
s = próximo sucessor de n
7
if s != v_final and está na maxima profundidade
8
f(s) = +∞
9
else
10
f(s) = max( f(n), g(s) + h(s) )
11
if todos sucessores de n gerados
12
atualizar custo dos ancestrais de n
13
if todos os sucessores de n estão na memória
14
remover n da fila
15
if memoria está cheia
16
deletar nó mais raso com maior custo
17
removê-lo da lista de sucessores de seu pai
18
inserir seu pai na fila, se necessário
19
20
inserir s na fila
21
end
O algoritmo
Fila G B H
A
B
C
D
E
G H
K
10
10
10
10
10
8
8
16
8
8
Sucessores
A
n
s
A
G
H
13 (15)
+∞
13 (∞)
25. SMA* (grafo, v_inicial, v_final)
1
adicionar v_inicial na fila
2
loop do
3
if fila está vazia return falha
4
n = nó mais profundo de menor custo na fila
5
if n == v_final return sucesso
6
s = próximo sucessor de n
7
if s != v_final and está na maxima profundidade
8
f(s) = +∞
9
else
10
f(s) = max( f(n), g(s) + h(s) )
11
if todos sucessores de n gerados
12
atualizar custo dos ancestrais de n
13
if todos os sucessores de n estão na memória
14
remover n da fila
15
if memoria está cheia
16
deletar nó mais raso com maior custo
17
removê-lo da lista de sucessores de seu pai
18
inserir seu pai na fila, se necessário
19
20
inserir s na fila
21
end
O algoritmo
Fila G B H
A
B
C
D
E
G H
K
10
10
10
10
10
8
8
16
8
8
Sucessores
A
n
A
G
13 (15)
13 (∞)
26. SMA* (grafo, v_inicial, v_final)
1
adicionar v_inicial na fila
2
loop do
3
if fila está vazia return falha
4
n = nó mais profundo de menor custo na fila
5
if n == v_final return sucesso
6
s = próximo sucessor de n
7
if s != v_final and está na maxima profundidade
8
f(s) = +∞
9
else
10
f(s) = max( f(n), g(s) + h(s) )
11
if todos sucessores de n gerados
12
atualizar custo dos ancestrais de n
13
if todos os sucessores de n estão na memória
14
remover n da fila
15
if memoria está cheia
16
deletar nó mais raso com maior custo
17
removê-lo da lista de sucessores de seu pai
18
inserir seu pai na fila, se necessário
19
20
inserir s na fila
21
end
O algoritmo
Fila G B H
A
B
C
D
E
G H
K
10
10
10
10
10
8
8
16
8
8
Sucessores
A
n
s
A
G
D
13 (15)
13 (∞)
24 + 0 = 24
27. SMA* (grafo, v_inicial, v_final)
1
adicionar v_inicial na fila
2
loop do
3
if fila está vazia return falha
4
n = nó mais profundo de menor custo na fila
5
if n == v_final return sucesso
6
s = próximo sucessor de n
7
if s != v_final and está na maxima profundidade
8
f(s) = +∞
9
else
10
f(s) = max( f(n), g(s) + h(s) )
11
if todos sucessores de n gerados
12
atualizar custo dos ancestrais de n
13
if todos os sucessores de n estão na memória
14
remover n da fila
15
if memoria está cheia
16
deletar nó mais raso com maior custo
17
removê-lo da lista de sucessores de seu pai
18
inserir seu pai na fila, se necessário
19
20
inserir s na fila
21
end
O algoritmo
Fila G B D H
A
B
C
D
E
G H
K
10
10
10
10
10
8
8
16
8
8
Sucessores
A
n
s
A
G
D
13 (15)
24 (∞)
24
38. Considerações Finais
• Solução deve caber na memória;
• Consequentemente, nem sempre a
solução será ótima;
A
B G
C D
E D
H D
D K
39. Considerações Finais
• Solução deve caber na memória;
• Consequentemente, nem sempre a
solução será ótima;
• Utiliza no máximo a memória gasta
pelo A*;
A
B G
C D
E D
H D
D K
40. Considerações Finais
• Solução deve caber na memória;
• Consequentemente, nem sempre a
solução será ótima;
• Utiliza no máximo a memória gasta
pelo A*;
• Quando houver memória para
armazenar toda a árvore, executará
otimamente eficiente;
A
B G
C D
E D
H D
D K
41. Considerações Finais
• Solução deve caber na memória;
• Consequentemente, nem sempre a
solução será ótima;
• Utiliza no máximo a memória gasta
pelo A*;
• Quando houver memória para
armazenar toda a árvore, executará
otimamente eficiente;
• Em uma implementação real, há
outros pontos a serem considerados.
A
B G
C D
E D
H D
D K
42. Referências
Russell, S. (1992). Efficient memory-bounded search methods. In
Proceedings of the 10th European Conference on Artificial Intelligence,
ECAI ’92, pages 1–5, New York, NY, USA. John Wiley & Sons, Inc.!
!
Russell, S. J. and Norvig, P. (2003). Artificial intelligence: A modern
approach. pages 101–111. Pearson Education, 2 edition.!
!