A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Psychic Modeling Projeto e Análise de Algoritmo Prof. Diane Castonguay Charles Gomes Rogério Arantes Gaioso.

Apresentações semelhantes


Apresentação em tema: "Psychic Modeling Projeto e Análise de Algoritmo Prof. Diane Castonguay Charles Gomes Rogério Arantes Gaioso."— Transcrição da apresentação:

1 Psychic Modeling Projeto e Análise de Algoritmo Prof. Diane Castonguay Charles Gomes Rogério Arantes Gaioso

2 O que será feito ? War Story Apresentação do problema Alguns conceitos A primeira tentativa Solução final Moral da história Referências

3 War Story [1] O que é isso ?????????

4 Psychic Modeling Descrição do problema: A partir de um conjunto de números fornecido pelo jogador, com garantia que um subconjunto deste contém alguns dos números vencedores, deseja-se a relação de combinações possíveis para se obter premiação. Exemplo Mega Sena: Cartela que possui 60 números onde o jogador aposta 6 números, sendo que com 4 números o bilhete ganha prêmio. Jogador informa um subconjunto de 15 números e garante que quatro deles serão premiados. Sistema deve listar as combinações possíveis.

5 Psychic Modeling [1] Instância Conjunto C = {c 1,...,c n } Subconjunto S = {s 1,...,s 15 } Subconjunto S = {s 1,...,s 4 }, sendo S S Instância de Set Cover

6 Classes P, NP e NP-Completo Classe P Problemas que podem ser resolvidos em tempo polinomial, isto é, O (n k ) onde n é o tamanho da entrada e k é alguma constante Classe NP NP significa não deterministicamente polinomial Problemas que são verificáveis em tempo polinomial Classe NP- C Um problema é NP - completo se ele é NP e pode ser reduzido a um outro problema NP - completo

7 P = NP

8 Set Cover [3] Instância: Conjunto E = {e1,...,en} Subconjunto S = {C1,...,ct} Função de custo: S -> W Pergunta Existe uma cobertura de mínima de conjunto aonde subconjunto S' S

9 Set Cover [3]

10 Componentes da solução [1] Gerar subconjunto [4] Definir quais subconjuntos atendem Uma estrutura de dados necessária [5] Estratégia de busca [6]

11 Variáveis [2] M = conjunto de números totais existentes R = quantidade de números por cartela J = quantidade mínima para acertar e ganhar um prêmio N = quantidade de números fornecidos pelo adivinho P = quantidade de números garantidos entre os vencedores W = quantidade de acertos desejados J <= P <= R <= N N C P = (N /P!)/(N-P)! combinações possíveis com P números

12 Primeira tentativa [1] Força bruta Resultado final: 28 combinações Bastavam apenas 5 bilhetes !!!!!!!!

13 Primeira tentativa (cont.) [2] {1, 2, 3, X } {1, 2, 4, X } {1, 2, 5, X } {1, 3, 4, X } {1, 3, 5, X } {1, 4, 5, X } {2, 3, 4, X } {2, 3, 5, X } {2, 4, 5, X } {3, 4, 5, X } R = 4, J = 2, W = 1, P = 3, N = 5

14 Primeira tentativa (cont.) [2] {1, 3, 5, X } {2, 4, 5, X } R = 4, J = 2, W = 1, P = 3, N = 5

15 Sobreposições [2] É possível que entre os subconjuntos possíveis de P números haja alguns com pelo menos J números diferentes. Quando isso ocorre, estes subconjuntos se sobrepõem com respeito aos J números, e apenas um deles deveria ser comprado. Se a diferença entre dois subconjuntos é maior ou igual a P-J, então eles não se sobrepõem. N C P = (N /P!)/(N-P)! combinações possíveis com P números 2 número total de possível de conjuntos de bilhetes, onde = N C P N C J subconjuntos possíveis de ocorrer Complexidade total: 2 N C J

16 Segunda tentativa [2] Heurísticas Geração Randômica Resultados semelhantes ao calculado, com tempo de execução menor

17 Comparativo [2] RJNPW Limite Inferior Nº Bilhetes Tempo (seg)

18 Moral da história [1] Tenha certeza que você modelou o problema corretamente antes de tentar resolvê-lo. O sucesso em corrigir o erro foi possível devido à correta formulação inicial e no uso de rotinas e abstrações bem definidas: seleção/eliminação de subconjuntos do resultado final [3] a estrutura de dados [4] a busca combinatória [5]

19 Referências [1] The Algorithm Design Manual, Steven S. Skiena [2] Randomized algorithms for identifying minimal lottery ticket sets F. Younas, S. Skiena. Journal of Undergraduate Research, [3] Set Cover. NODE201.HTM#setcover [4] Geração de subconjuntos. NODE152.HTM#generatingsubsets [5] Estrutura de dados. NODE133.HTM#setdatastructures [6] Busca combinatória. NODE92.HTM#simulatedannealing


Carregar ppt "Psychic Modeling Projeto e Análise de Algoritmo Prof. Diane Castonguay Charles Gomes Rogério Arantes Gaioso."

Apresentações semelhantes


Anúncios Google