Pesquisas
Meus principais interesses de pesquisa podem ser divididos em 2 grandes grupos: o primeiro seriam aplicações de métodos de inteligência computacional para problemas de otimização, tomada de decisão ou classificação, enquanto o segundo seriam pesquisas relacionadas a software livre.
Detalhando um pouco mais os tipos de pesquisa que desenvolvo e estou disposto à orientação: para o 1º grupo tenho muito interesse em problemas que envolvem aplicações de métodos de inteligência computacional em geral, mas particularmente em problemas relacionados com distribuição de energia elétrica; já para o 2º penso em trabalhos sobre aspectos sociais de comunidades de software livre e desenvolvimento de software básico para ser disponibilizado como software livre ou contribuição a softwares já existentes.
Em especial para alunos com interesse em orientação de pesquisa (Iniciação Científica, TCC, Atividade Complementar, ou mesmo Mestrado e Doutorado), deixo sugestões de trabalhos que estou disposto a orientar. Antes disso, descrevo alguns requisitos necessários para os que planejam concorrer a vagas em meus grupos de pesquisa
Perfil dos Pesquisadores
As pesquisas desenvolvidas estão sincronizadas com o estado da arte de suas respectivas áreas. É importante que o pesquisador compreenda que os mesmos estudos que desenvolvemos estão sendo trabalhados por outros laboratórios nas mais diversas universidades e centros de pesquisa do mundo.
Portanto, é imprescindível que o candidato se dedique à pesquisa como a um trabalho, de forma séria e eficiente, buscando sempre gerar contribuições relevantes para a área de atuação e preocupando-se com o prazo para desenvolvimento da mesma.
Do exposto, o perfil de pesquisadores que aceito para orientações devem ser aqueles que combinam autonomia e alto rendimento para a produção de estudos originais. De maneira mais detalhada, esses são os requisitos para todos aqueles que buscam minha orientação:
- O pesquisador que for bolsista deve se dedicar a no mínimo 40 horas semanais para a realização dos trabalhos. Aqueles que não tiverem bolsa, devem se dedicar no mínimo 20 horas semanais. Cabe ressaltar que, no geral, serão necessárias mais horas para o desenvolvimento das atividades.
- Para os bolsistas, a presença frequente no laboratório é indispensável para a realização das atividades.
- Todos os pesquisadores devem conseguir escrever bem em português, tanto gramaticalmente quanto em ortografia e estilo. Um dos principais trabalhos do pesquisador é divulgar os seus resultados, e isso não é possível se o pesquisador não consegue escrever bem e de maneira inteligível.
- Pesquisadores de Iniciação Científica e TCC devem ser capazes de ler e compreender textos em inglês. Em adição, candidatos ao Mestrado devem também ser capazes de escrever parágrafos de tamanho razoável em inglês. Para alunos de Doutorado, é necessário que consiga escrever textos mais elaborados nesse idioma.
- O pesquisador deve ser autônomo para buscar novos artigos nas bases de publicações científicas disponíveis, conseguir articular conceitos relacionados com seus estudos e situar a contribuição que está desenvolvendo na literatura - inclusive sendo capaz de indicar sobre o que o trabalho não trata.
- Ter autonomia para escrever artigos científicos sobre os resultados da pesquisa e publicá-los nas principais conferências e revistas da área.
- Participar das reuniões semanais de acompanhamento do desenvolvimento da pesquisa e enviar os relatórios referentes no prazo.
- Se engajar nas atividades extras do grupo de pesquisa, como a participação nos seminários, comparecimento às sessões de defesas, compartilhamento de material relativo ao tema de estudo, e mais.
- Entender que prazos e exigências devem ser cumpridos rigorosamente.
Inteligência Computacional
Sistemas Elétricos de Distribuição
- O grupo de pesquisa desenvolveu um medidor de energia inteligente. Resta-nos desenvolver um sistema de recomendação de estratégias, talvez usando redes neurais ou lógica fuzzy, para redução do consumo.
Requisitos: básico de Arduino, php, ou interfaceamento com linguagens web.
- Modelagem de problemas de otimização combinatória encontrados em sistemas elétricos de distribuição e aplicação de métodos metaheurísticos de resolução, como algoritmo genético e outros.
Requisitos: programação em linguagens compiladas, de preferência C/C++, ou conhecimento avançado em linguagens como Python e Lua, disposição para aprender sobre distribuição de energia.
- Modelagem de sistemas multiagentes para problemas encontrados em sistemas elétricos de distribuição de forma que possam ser resolvidos de maneira autônoma em tempo de operação - smart grids.
Requisitos: ter conhecimentos de programação em Java ou Python, disposição para aprender sobre distribuição de energia.
Inteligência Computacional Aplicada
- Modelagem de problemas de otimização combinatória e aplicação de métodos metaheurísticos de otimização, de forma a realizar estudos comparativos sobre operadores, variações de parâmetros, e mais.
Requisitos: programação em linguagens compiladas, de preferência C/C++, ou conhecimento avançado em linguagens como Python e Lua.
- Hiperheurísticas: análises estatísticas, aplicações e estudos teóricos sobre métodos de busca em problemas de otimização a partir da composição de operadores de diferentes metaheurísticas existentes.
Requisitos: conhecimento teórico e prático sobre vários métodos metaheurísticos, programação em linguagens compiladas, de preferência C/C++, ou conhecimento avançado em linguagens como Python e Lua.
Software Livre
Aspectos Sociais
- Por que há tão poucos brasileiros, quando comparado a outros países, participando de comunidades de software livre? O que impede brasileiros com conhecimento técnico de contribuir com esses projetos?
Requisitos: ter gosto para pesquisas sociais, projetar e analisar questionários.
Desenvolvimento/Contribuição de Software Livre
- Nos estudos de sistemas de distribuição de energia é necessário realizar cálculos matemáticos complexos, como fluxo de potência. Essa pesquisa visa o desenvolvimento de uma biblioteca multiplataforma para isso.
Requisitos: desenvolvimento C/C++, Python, git, engenharia de bibliotecas e disposição para aprender sobre distribuição de energia.
- Criar uma prova de conceito em Qt/QML para o aplicativo SmartUFPA. A ideia é desenvolver um software alternativo, que tenha as mesmas funcionalidades do SmartUFPA, que seja multiplataforma.
Requisitos: C++, Qt, QML, git e acesso a APIs na internet.
- Criar um editor colaborativo LaTeX em forma de aplicativo para o Nextcloud, utilizando a estrutura de permissões/usuários desse software para possibilitar o trabalho colaborativo sobre textos.
Requisitos: php, Javascript, Nextcloud, git.
- Criar uma versão do curiouscat/ask.me em forma stand-alone mas também como aplicativo para o Nextcloud.
Requisitos: php, Javascript, Nextcloud, git.
Requisitos: básico de Arduino, php, ou interfaceamento com linguagens web.
Requisitos: programação em linguagens compiladas, de preferência C/C++, ou conhecimento avançado em linguagens como Python e Lua, disposição para aprender sobre distribuição de energia.
Requisitos: ter conhecimentos de programação em Java ou Python, disposição para aprender sobre distribuição de energia.
Requisitos: programação em linguagens compiladas, de preferência C/C++, ou conhecimento avançado em linguagens como Python e Lua.
Requisitos: conhecimento teórico e prático sobre vários métodos metaheurísticos, programação em linguagens compiladas, de preferência C/C++, ou conhecimento avançado em linguagens como Python e Lua.
- Por que há tão poucos brasileiros, quando comparado a outros países, participando de comunidades de software livre? O que impede brasileiros com conhecimento técnico de contribuir com esses projetos?
Requisitos: ter gosto para pesquisas sociais, projetar e analisar questionários.
Desenvolvimento/Contribuição de Software Livre
- Nos estudos de sistemas de distribuição de energia é necessário realizar cálculos matemáticos complexos, como fluxo de potência. Essa pesquisa visa o desenvolvimento de uma biblioteca multiplataforma para isso.
Requisitos: desenvolvimento C/C++, Python, git, engenharia de bibliotecas e disposição para aprender sobre distribuição de energia. - Criar uma prova de conceito em Qt/QML para o aplicativo SmartUFPA. A ideia é desenvolver um software alternativo, que tenha as mesmas funcionalidades do SmartUFPA, que seja multiplataforma.
Requisitos: C++, Qt, QML, git e acesso a APIs na internet. - Criar um editor colaborativo LaTeX em forma de aplicativo para o Nextcloud, utilizando a estrutura de permissões/usuários desse software para possibilitar o trabalho colaborativo sobre textos.
Requisitos: php, Javascript, Nextcloud, git. - Criar uma versão do curiouscat/ask.me em forma stand-alone mas também como aplicativo para o Nextcloud.
Requisitos: php, Javascript, Nextcloud, git.