Esta é uma coleção de projetos que desenvolvi para os cursos de Sistema Inteligente e Representação de Conhecimento e Raciocínio Automático no segundo e terceiro ano do meu bacharelado em ciência da computação na UDC (Espanha). Os projetos são os seguintes:
Compositor canônico automatizado com múltiplas vozes usando Answer Set Programming que leva em consideração muitas restrições e preferências melódicas. Utiliza as ferramentas gringo, clasp, python e lilypond. É fornecido um pequeno exemplo de arquivo de áudio, criado com um dos arquivos de preferência fornecidos. Usando Python, fecho, gringo e lilypond.
Solucionador Sokoban por busca heurística que resolve o jogo Sokoban. Com a ajuda de algum código extraído diretamente do livro de Russell&Norvig03, meu parceiro e eu desenvolvemos o domínio específico e uma heurística adequada. Greedy, BSF, DSF e A* podem ser utilizados para realizar a busca. O objetivo é mover o jogador (@) PARA CIMA, PARA BAIXO, ESQUERDA e DIREITA para coletar os gols (.). As paredes (#) não podem ser movidas, mas os objetos ($) podem. A heurística selecionada são as distâncias mínimas até os objetivos.
Hitori Puzzle Solver que transforma uma versão simplificada do quebra-cabeça Hitori em um conjunto de cláusulas booleanas CNF baseadas nas regras do jogo, chama um solucionador de satisfatibilidade proposicional (SAT) e cria a solução. Usando Python e picosat.
Raciocínio probabilístico com conjuntos de respostas que calcula as probabilidades de diferentes coisas acontecerem no jogo Big Bang Theory Pedra, papel, tesoura, lagarto, Spock. Usando P-log.
Projeto de provador de teoremas que verifica se uma conclusão segue das premissas usando um provador de teoremas para cálculo de predicados chamado Prover9. Este software aceita uma lista de fórmulas em Lógica de Primeira Ordem e decide se uma fórmula é válida ou não por refutação usando resolução.
8solucionador de quebra-cabeças por pesquisa heurística que encontra uma solução para o jogo. Com a ajuda de algum código extraído diretamente do livro de Russell&Norvig03, desenvolvemos o domínio específico e uma heurística adequada. Greedy, BSF, DSF e A* podem ser utilizados para realizar a busca. A melhor heurística tentada foi a distância do táxi.
Romênia Roteiro Pesquisa que encontra uma rota para Bucareste saindo de Arad (de preferência a mais curta). Com a ajuda de algum código extraído diretamente do livro de Russell&Norvig03, desenvolvemos o domínio específico e uma heurística adequada. Greedy, BSF, DSF e A* podem ser utilizados para realizar a busca. A heurística utilizada foi a distância reta.
Entre em contato com Daniel Ruiz Perez para solicitações, relatórios de bugs e boas piadas.
O software neste repositório está disponível sob a Licença Pública Geral GNU, versão 3. Consulte o arquivo LICENSE para obter mais informações.