Beruflich Dokumente
Kultur Dokumente
1. BackTracking
- Recursividade
- Busca Exaustiva (Combinatrio)
- Caixeiro Viajante, N-Rainhas, Passeio do Cavalo
- Fcil de implementar
- Usado para encontrar todas as solues possveis para o
problema
- Percorre a rvore por DFS (depth-first search - busca em
profundidade)
- Descobre uma m escolha e a desfaz voltando
- Percorre toda a arvore de espao de estados at achar uma
soluo
- Trata-se de uma funo de viabilidade
2. Algoritmos Gulosos
- Fcil Implementao
- Nem sempre produz melhor soluo (+informao = > chance
de soluo tima)
- Escolhe o melhor caminho no momento
- Problema do Troco
- No volta atrs
- Podem entrar em loop infinito
- Utilizam de uma estratgia contrria a programao dinmica.
* utiliza pilha
- BFS
* utiliza fila de vrtices (s, ento vizinhos com distncia 1 de
s, ento vizinhos a 2 de s)
- Algoritmos de Caminhos Mnimos (Dijkstra)
* Considerado algoritmo guloso
* No garante soluo tima caso grafo possua arestas de
peso negativo
* GPS (menor caminho)
- Algoritmos de rvores Mnimas (Prim, Kruskal)
- Prim
* Algoritmo guloso.
* Subrvore de custo mnimo.
* Conceito de Franja.
- Kruskal (diferena PRIM-KRUSKAL?)
* Algoritmo guloso.
* rvore geradora mnima (soma das arestas conectando
todos os vrtices mnimo).
* Menor custo para rotas de avio.
4. Programao Dinmica
- Mtodo para construo de algoritmos que resolvam problemas
computacionais.
- Otimizao combinatria.
- Recurso com apoio de tabela.
- A funo da tabela salvar a soluo dos subproblemas de
forma que estes no precisem ser recalculados.
- Reduz o problema em subproblemas e resolve esses
subproblemas em busca da soluo tima.
- Consumo de tempo proporcional a tabela.
6. Casamento de Padres
- Ato de verificar padres em um conjunto de dados (buscar
string em um texto ou um conjunto de nmeros em um
conjunto maior)
- Busca um padro P de tamanho m em um arranjo T de
tamanho n onde m<=n. Os elementos P e T so definidos
por um alfabeto finito sigma (Ex: a..z ou 0..9).
- Algoritmo Fora Bruta
O algoritmo de fora bruta pode ser utilizado para
casamento de padres. Porm no a melhor escolha
de algoritmo.
A complexidade da Fora Bruta O((n-m)m), ou seja,
ele buscar m em todas posies de n menos o
tamanho de m.
Utilizado para padres e textos pequenos.
- Algoritmo KMP
Complexidade para pior caso O(n).
A diferena entre KMP e Fora Bruta que no KMP os
valores que geraram um falso comeo j so conhecidos, e
por isso sero evitados.
- Algoritmo BMH
Implementao simples.
Muito utilizado em funes localizar de editores de
texto.
Pesquisa o padro da direita para a esquerda.
BMH se difere da fora bruta pois utiliza uma tabela de
deslocamento.
- Mtodo Robin-Karp
Trata cada substring de tamanho M do texto como
chave em uma tabela.
- Casamentos no exatos so situes onde o algoritmo
aproxima o input do caso mais utilizado, como exemplo o
Google aproxima o resultado de um input com erro
gramatical.
7. P, NP e NP-Completo
- Conceito de tempo polinomial: Um algoritmo polinomial se
o seu consumo de tempo limitado por uma funo
polinomial proporcional ao tamanho da instncia do
problema.
- Um algoritmo determinstico pode ser representado por uma
mquina de estados, onde aps o estado inicial, o estado
atual determinar o prximo estado (abstrato pra caralho).
Uma mquina determinstica pode nunca retornar um
resultado.
- J o conceito de no-determinstico se difere quando
quando o algoritmo considera valores externos aos de
entrada previamente definidos, como variveis globais ou
entradas de usurio.
- Tambm considerado como no-determinstico quando se
tem solues distintas segundo uma mesma entrada.
- Basicamente entende-se por NP, os problemas cuja soluo
pode ser verificada em tempo polinomial, mas podem no
ser resolvidos em tempo polinomial.
- Exemplos: Caixeiro Viajante, Quadrado Perfeito.