O documento discute problemas determinísticos versus não determinísticos e a complexidade de algoritmos. Também explica os conjuntos P, NP e NP-completo e fornece exemplos como a localização de rotas e o problema do caixeiro viajante.
Problemas intratáveis oudifíceis são comuns
na natureza e nas áreas do conhecimento.
• Problemas “fáceis”: resolvidos por algoritmos
polinomiais.
• Problemas “difíceis”: somente possuem
algoritmos exponenciais para resolvê-los.
• A complexidade de tempo da maioria dos
problemas é polinomial ou exponencial.
8.
P é umconjunto de problemas que podem ser resolvidos por uma
máquina Turing determinística em tempo polinomial.
NP é um conjunto de problemas de decisão que podem ser resolvidos
por uma máquina de Turing não determinística em tempo polinomial. P
é um subconjunto de NP (qualquer a que pode ser resolvido por
máquina determinística em tempo polinomial também pode ser
resolvido por máquina não-determinística em tempo polinomial).
Informalmente, NP é um conjunto de problemas de decisão que podem
ser resolvidos por um tempo polinomial através de um algoritmo
"Lucky Algorithm", um algoritmo mágico que sempre faz um palpite
certo entre o conjunto dado de escolhas.
Problemas NP-completos são os problemas mais difíceis no conjunto
NP. Um problema de decisão L é NP-completo se:
1) L está em NP (Qualquer solução dada para problemas NP-completos
pode ser verificada rapidamente, mas não há solução eficiente
conhecida).
2) Todo problema em NP é redutível a L em tempo polinomial (Redução
é definida abaixo).
11.
Exemplo: Localização derotas na Romênia, usando a
Busca A*
Objetivo: Bucharest (Bucareste)
Um mapa rodoviário simplificado de parte da Romênia.
176
100
A cidade écortada pelo rio Pregel, criando ilhas na cidade.
Existiam sete pontes conectando as ilhas e as margens
opostas do rio.
O problema consiste em determinar se é possível ou não
fazer um passeio pela cidade come ̧cando e terminando no
mesmo lugar, cruzando cada ponte exatamente uma u ́nica
vez.
Grafos (cont.)
História
Euler (1736)- pontes de Königsberg
Baseado na disposição das pontes, mostrou
que era impossível percorrer por todas
passando somente uma vez
O que éuma pontuação?
Cada solução inicializada tem uma pontuação. Essa pontuação é uma
maneira objetiva de comparar duas soluções: a solução com maior
pontuação é melhor. O Solver pretende encontrar a Solução com o maior
Índice de todas as soluções possíveis. A melhor solução é a Solução
com a pontuação mais alta que o Solver encontrou durante a resolução,
que pode ser a solução ideal.
O Planner não pode automaticamente saber qual solução é a melhor
para o seu negócio, então você precisa dizer-lhe como calcular a
pontuação de uma determinada solução de acordo com as necessidades
de sua empresa. Existem várias técnicas de pontuação que você pode
usar e combinar:
Maximizar ou minimizar uma restrição: score constraint signum (positivo
ou negativo)
Coloque um custo / lucro sobre as restrições: pontuação restrição peso
Priorizar restrições: nível de pontuação
Pontuação de Pareto
41.
A maioria doscasos de uso tem apenas 2 níveis de
pontuação: Hard e Soft. Ao comparar 2 pontuações, elas
são comparadas lexicograficamente: o primeiro nível de
pontuação é comparado primeiro. Se esses diferirem, os
outros níveis de pontuação são ignorados.
Hard e Soft score level
44.
2017-02-05 14:06:59,744 [main]INFO Solving ended:
time spent (10000), best score (-3hard/-5460soft),
score calculation speed (28039/sec),
Heurística refere àarte do descobrimento. Ela
estabelece várias ferramentas ou
procedimentos para tornar possível uma
descoberta.
O termo foi utilizado pela primeira vez por
Albert Einstein em uma publicação chamada
“Heurística da geração e conversão da luz”.
Ela é basicamente uma disciplina focada na
busca de soluções para diversos problemas.
56.
Busca Heurística
p Heurística- Informação específica do domínio que
pode ser usada para guiar o processo de busca.
p Em muitos casos uma heurística envolve a
aplicação de uma função que avalia um nó
particular e prediz a qualidade dos seus nós
sucessores.
p Uma função heurística de avaliação no jogo-da-
velha poderia ser o número de linhas, colunas e
diagonais ainda disponíveis, quanto maior este
número maior a chance de vitória.
57.
Busca Heurística –Exemplo ...
Porção do espaço de estados para o jogo-da-velha
N0 de
caminhos = 9!
58.
Busca Heurística –Exemplo ...
Os primeiros três níveis do espaço de estados do jogo-da-velha
reduzidos por simetria.
3 movimentos iniciais:
•Para o canto
•Para o centro de um lado
•Para o centro da grade
•
59.
A heurística do“maior número de
vitórias” aplicada aos primeiros filhos
do jogo-da-velha.
Busca Heurística – Exemplo ...
60.
Espaço de estadosreduzido heuristicamente para
o jogo-da-velha.
Busca Heurística – Exemplo