BRACO : Simulador de Braço Robótico

Implementar um simulador de braço robótico com as seguintes características mínimas:

  • Duas articulações (ombro e cotovelo)
  • Uma mão, sem articulações.
  • Capacidade para levar a mão até uma posição qualquer, definida pelo usuário.

    Os movimentos de rotação a serem aplicados às articulações, para levar a mão até o alvo, devem ser determinados através de um processo de busca em espaço de estados. No mínimo, as seguintes estratégias de busca deverão estar disponíveis para o usuário:

  • Busca em largura
  • Busca em profundidade
  • A* usando distância euclidiana para função heurística e total de passos de rotação para função de custo
  • Descida de gradiente e têmpera simulada utilizando distância euclidiana como heurística

    Material de Apoio:

  • Dicas para instalação do Java3D (podem estar desatualizadas).
  • Livro on-line sobre programação com Java 3D - códigos apresentados no livro podem ser re-utilizados.

    Melhor trabalho entregue até o momento: Clique Aqui (Java) - Inclui bibliotecas java3d

    Autores:
    Bruno Brandoli Machado - bbmpanela@gmail.com
    Jonathan Andrade Silva - jonathannos@gmail.com
    Wesley Nunes Gonçalves - wnunesgoncalves@gmail.com

    CUBO : Cubo Mágico

    Implementar as estratégicas de busca em largura, profundidade, aprofundamento iterativo, A*, descida de gradiente e têmpera simulada e aplica-las, com diferentes heurísticas, na solução do problema do cubo mágico (Rubik's Cube).

    Melhor trabalho entregue até o momento: Clique Aqui (Python)

    Autor: Thiago Luiz Cabreira do Nascimento

    MINMAX : MinMax com Corte Alfa-Beta

    Implementar o algoritmo MinMax, com cortes Alfa-Beta, e aplica-lo na construção de um jogo de dois oponentes (computador x usuário), de livre escolha (e.g. Velha, Trilha, Damas, Xadrez, etc).

    AGENDA : Agenda em LISP

    Implementar uma agenda telefônica, em LISP. Oferecer uma interface interativa, em modo texto, com as seguintes opções:

    1. Inserer
    2. Remover
    3. Busca por Nome
    4. Busca por Telefone
    5. Lista Todos por Nome
    6. Lista Todos por Telefone
    7. Salva em Disco

    Cada item da agenda deve conter pelo menos o Nome e o Telefone da pessoa. Esta agenda poderá ser armazena em uma lista de listas:

    Exemplo: Inicializando a agenda com telefones de 3 pessoas

        (setq Agenda `((Hemerson 382-1177) (Jose 387-2040) (Pedro 312-3500)) )

    Material de Apoio:
    - Uma implementação simples, sem interface, mas mostrando a utilização de diversas funções importantes.

    -----------------------------------------
    Melhor trabalho entregue até o momento: Clique Aqui

    Autores: Marcelo Rodrigues da Cruz
                    Amador de Castilho G. Collettes

    ID : Iterative Deepening (Aprofundamento Iterativo)

    Implementar a estratégia de busca Iterative Deepening e utilizar esta implementação na solução de
    pelo menos dois problemas a serem escolhidos entre os exemplos apresentados nas notas de aula (Espaço de Estados).

    Material de Apoio:
        (Caso tenham problemas para carregar os arquivos experimentem trocar o nome, utilizando no máximo 8 dígitos)
    - Problema do Vasilhame utilizando códigos-fonte disponíveis no livro do Winston
    - Missionários e Canibais utilizando códigos-fontes disponíveis no livro do Russel (AIMA)

    -----------------------------------------
    Melhor trabalho entregue até o momento: Clique Aqui (XLisp)

    Autores: Antonio Augusto Mira Filho
                     Daniel Pires Martins

    3) ID3: Utilização do ID3

    Definir um conceito que se enquadre nas restrições do ID3.
    Criar um conjunto de exemplos para esse conceito.
    Implementar o ID3 e utiliza-lo no aprendizado desse conceito. (Poderá ser utilizado, como base, o código fonte do Winston, disponível nas notas de aula).
    Criar um conjunto de exemplos, diferente do inicial, para testar a árvore de decisão gerada pelo ID3.
    Analisar os resultados obtidos.