2005/03/07

Enc: [Sbc-l] programação matemática

Prezad*s,
Eu considero a situação muito mais grave. Além do fato que a maioria dos alunos em computação tem pouca noção de matemática, existe em Brasil um buracão entre a computação e a matemática em que quase ninguém está fazendo pesquisa.


Para clarificar: só matemático que virou pesquisador na informática teórica. Meu campo principal é a criptografia (protocolos zero-knowledge e quânticos), mas me interesso por muito mais assuntos, como
- teoria de informação (entropia de Shannon etc)
- teoria de complexidade (NP completeness, random complexity, reversible computing)
- complexidade de Kolmogorov
- teoria de informação quântica: (complexidade comunicação, complexidade de computação, códigos quânticos)

Trata-se de campos de pesquisa enormes em que centenas de pesquisadores no mundo inteiro atuam,
e que têm seus congressos anuais como STOC, FOCS, STACS, etc.
Até hoje (depois de quase 7 anos em Brasil) não encontrei nenhum pesquisador brasileiro fazendo pesquisa em um destas áreas.
(Se alguém conhece uma publicação brasileira em um deste congressos, gostaria de saber).

Existem mais áreas teóricas como
- teoria de computabilidade
- análise algoritmos
- teoria de códigos (para correção de erros)
- inteligência artificial teórica
- geometria computacional
- pesquisa operacional
- semântica de linguagem de operação
- análise formal de protocolos
- etc
Eu diria que estas áreas tinham menos dificuldades de ser reconhecidas,
ou porque sua utilidade era obvia,
ou por se tratar de áreas muito relacionadas à lógica.
Mas o que chama a atenção é que tudo que é relacionado
à teoria de complexidade aparentemente não chegou em Brasil.

Em muitos institutos que eu conheço no mundo, os departamentos de matemática e de computação formam um contínuo:
- O MIT já reconheceu a importância deste campo nos anos 80, e há no mínimo três professores de CS e no mínimo dois professores da matemática fazendo pesquisa nestas áreas
http://theory.lcs.mit.edu/people.html:
(pensei especificamente em Rivest, Goldwasser, Micali, Sipser e Spielman.
Pelo que saiba, Sipser e Spielman são de matemática, o primeiro
orientador do segundo. O trabalho dos outros membros do grupo eu não conheço)
- Na Universidade de Montreal (onde fiz meu doutorado) há 6 professores
para informática teórica:
http://www.iro.umontreal.ca/labs/theorique/
- O equivalente holandês do IMPA mudou de nome para
"Centrum voor Wiskunde [=matemática] en Informática" em 1980 (!!!)
onde há vários grupos fazendo pesquisa nestas áreas:
http://www.cwi.nl
- No Dinamarca tem o BRICS: www.brics.dk
E há muito mais grupos espalhado no mundo.

Em contrasto, no Brasil tem nada. A situação da UFMG me parece típico para o Brasil inteiro:
Existe um hiato entre o departamento de Computação e o de Matemática.
Exagerando um pouco: o informático quer saber nada de teoria mas
quer programar em Java (nada contra Java, é uma linguagem bonita).
E o matemático gosta de assuntos puros, como hiperquadrados não Riemannianos
["non-Riemannian hypersquares"; veja The mathematical experience, Davis & Hersch, pg 34]
e tem desdém para tudo que parece aplicado, como assuntos de computação
(passei anos entre matemáticos; sei como eles pensam).
Ambos acham, raciocinando dentro de seu sistema de pensamento fechado,
que informática teórica seja irrelevante. O resultado é previsível:
informática teórica não existe em Brasil, e isto se reflete no ensino.

A única universidade com um Departamento de Informática Teórica
é a UFRGS, pelo que achei via google:
http://www.inf.ufrgs.br/~hgmc/teorica/paginas/tecomp.html

Nem é um assunto simples: o que é mais útil para um bacharelado em
informática? Saber SQL e Java, ou saber qual é a definição de um bit
segundo a definição de Shannon, conhecer o problema da parada da Máquina de Turing?

Na Universidade de Montreal eu era monitor da disciplina
Informática teórica. Era uma disciplina temida porque era difícil,
e quem tomou bomba duas vezes tinha que sair do programa.
A situação em Brasil está melhorando um pouco por causa da criptografia,
um assunto cada vez mais importante por ser relacionado à segurança de computador.
Hoje há grupos fortes na Unicamp e USP (o LabSEC da UFSC é mais aplicado).

Me parece que a melhor estratégia seja de tentar convencer os matemáticos
que informática teórica é um campo interessante *e* relevante, o que não é
verdade para assuntos puros como hiperquadrados não Riemannianos
ou topologia (é um trauma minha -- tinha nota baixa para esta matéria).
Ao mesmo tempo, acredito que este país precise de um instituto para informática
teórica, parecido com o IMPA.

Quanto ao ensino na computação:
não sei se é verdade, mas tenho a impressão que muito programas ensinam
muito cálculo, tempo que na minha opinião poderia ser melhor aproveitado
ensinando matemática discreta. Há até uma explicação para isto:
muitas vezes quem define o programa são os matemáticos, que por força de tradição
dão ênfase na matemática contínua, enquanto para informática a matemática
discreta é muito mais relevante. Até me interessaria aprofundar este assunto um pouco.

Jerô

=================
Jeroen van de Graaf
jvdg@lcc.ufmg.br
LCC/Cenapad---UFMG
Prédio ICEX, sala 2040
(31) 3499 4909
----- Repassado por Jeroen Antonius Maria van de Graaf/LCC/ATI/REITORIA/UFMG em 06/03/05 22:04 -----
"Manuel ljfas"
Enviado Por: sbc-l-bounces@inf.ufrgs.br
03/03/05 09:45

Para
sbc-l@inf.ufrgs.br
cc
Assunto
Re: [Sbc-l] programação matemática







Caros
Eu já presenciei profissionais da computação desenvolvendo algoritmos ridículos, ineficientes e ilegíveis justamente por não saber programação matemática. Isso é consequência da má formação.
A programação matemática (programação linear, prog. Inteira, Prog. Dinâmica, Pesquisa Opercional, etc) faz uma ponte entre a teoria puramente matemática e a prática de projeto de algoritmos. Eu entendo que programação matemática está muito mais próxima da computação do que da matemática. Afinal, a essência dessa disciplina são os algoritmos e a modelagem de problemas.
Esse problema tem um efeito cascata. A ausência dessas disciplina geram profissionais que um dia podem se tornar professor. Na condição de professor, se ele não for trabalhar com disciplinas básicas (projeto de algoritmos, análise de algoritmos, teoria da computação, etc.) ele talvez não descubra a real necessidade das disciplinas que ele não teve. Mas ele descobre que tecnologias são interessantes porque está na mídia. Além disso, ele não se dá conta que tecnologia é igual moda, um dia é uma coisa, outro dia é outra. E assim, as diciplinas que dão base para a CIÊNCIA (da computação) vão sendo deixadas de lado.
Esse problema nós observamos também nos eventos da SBC. Se hoje eu desenvolver um algoritmo revolucionário para algum problema eu não consigo publicar no evento da SBC. Basta observar os worshops e seções do congresso da SBC deste ano. Não seria possível encaixar o artigo. Isso não é curioso?
No entanto, é possível publicar nos eventos tais como: Pesquisa Operacional, Matemática Computacional, etc. Nesses eventos nós encontramos muitas pesquisas sobre algoritmos. Isso também não é de interesse da computação? Algoritmos não é de interesse da computação?
Esse assunto realmente deveria ser discutido pela SBC.
Manuel









----- Original Message -----
From: campani@inf.ufrgs.br
To: sbc-l@inf.ufrgs.br
Subject: [Sbc-l] programação matemática
Date: Wed, 2 Mar 2005 11:03:23 -0300
>
> Caros e Caro Manuel:
>
> Oportuna a tua mensagem. Vejo nos últimos anos uma preocupação
> maior, no Brasil,
> com o tempo que o aluno permanece no curso superior que com sua efetiva
> formação. Isto ocorre normalmente pelo sacrifício de certas disciplinas em seu
> currículo, particularmente as mais teóricas. No entanto, são estas exatamente
> aquelas que lhe darão uma formação consistente. É o caso de programação
> matemática, importante disciplina que pode fornecer aos futuros bachareis um
> ferramental matemático precioso. Acho que a SBC deveria fazer uma discussão
> neste sentido. Uma outra disciplina, que me parece é apresentada aos alunos
> apenas na UFRGS e na PUC-Rio, é teoria das categorias, que é uma
> ferramenta bem
> interessante para ciência da computação, e cuja adoção nos cursos poderia
> incrementar a qualidade do profissional formado.
>
> Um abraço,
>
> Campani
>
> -----
>
> Colegas
>
> Costantemente nos deparamos com algoritmos concebidos a partir de
> formulações de programação matemática. Na literatura encontramos
> alguns desses algoritmos clássicos e muito importantes, tais como:
> algoritmo Húngaro para o problema de atribuição, algoritmo de
> Out-of-Kilter para Fluxo de Custo Mínimo, algoritmo de Edmond para
> Emparelhamento de Grafo não Bipartido. Alguns desses algoritmos
> baseiam-se em variáveis primais e/ou duais oriundas de formulações
> de programação matemática.
>
> Estes exemplos de algoritmos demostram a importância da programação
> matemática na concepção de algoritmos robustos e eficientes. Apesar
> disso, são POUCOS CURSOS de Ciência da Computação, tais como da
> UNICAMP e USP, que contêm disciplinas de programação matemática em
> sua grade curricular. Pelo menos é isso que eu tenho observado. Por
> que isso ocorre se algoritmos é a base da computação?
>
> Manuel
>
> ----------------------------------------------------------------
> This message was sent using IMP, the Internet Messaging Program.
> _______________________________________________
> Sbc-l mailing list
> Sbc-l@inf.ufrgs.br
> https://listas.inf.ufrgs.br/mailman/listinfo/sbc-l
--
___________________________________________________________
Sign-up for Ads Free at Mail.com
http://promo.mail.com/adsfreejump.htm

_______________________________________________
Sbc-l mailing list
Sbc-l@inf.ufrgs.br
https://listas.inf.ufrgs.br/mailman/listinfo/sbc-l