quinta-feira, 31 de maio de 2018

Alessandro Fabricio Garcia: pesquisador homenageado pela CEES em 2018


Recebi na cees-l -- Lista SBC da Comissao Especial de Engenharia de Software:

É com grande satisfação que informamos que o Prof. Dr. Alessandro Fabricio Garcia (PUC-RJ) será o pesquisador homenageado pela CEES em 2018, durante a realização do CBSoft'18 em São Carlos, SP. 
Como já é de conhecimento de todos, a indicação é feita por uma comissão composta pelos três últimos pesquisadores homenageados. A homenagem é um reconhecimento à relevância da contribuição para a pesquisa em Engenharia de Software no Brasil e no mundo, e, em particular, à ativa participação na história do Simpósio Brasileiro de Engenharia de Software.
Ao Alessandro, os mais sinceros parabéns! É uma honra para toda a comunidade de ES ter você como um excelente colaborador.
EM TEMPO: Parabéns ao Alessandro e aos seus colaboradores pela recém premiação ACM SIGSOFT Distinguished Paper no ICSE 2018, em co-autoria com Leonardo Sousa (PUC-Rio), Anderson Oliveira (PUC-Rio), Willian Oizumi (PUC-Rio), Simone Barbosa (PUC-Rio), Jaejoon Lee (Lancaster University), Marcos Kalinowski (PUC-Rio), Rafael de Mello (PUC-Rio), Roberto Oliveira (PUC-Rio), Baldoino Neto (UFAL), Rodrigo Paes (UFAL) e Carlos Lucena (PUC-Rio). O artigo é intitulado "Identifying Design Problems in the Source Code: A Grounded Theory"
Fabiano Cutigi Ferrari e José Carlos Maldonado - Coordenadores do Comitê Gestor da CEES - 2017-2018

Parabéns a ao Alessandro e a todos os autores do artigo!

Também no ICSE 2018:



segunda-feira, 21 de maio de 2018

Usando Ferramentas para Mapas Mentais para Desenhar Tablôs Analíticos

Uma ideia que tive (ou que algum aluno teve - não lembro) em 2016 foi a de usar aplicativos para o desenho de mapas mentais para desenhar demonstrações usando o sistema de tablôs analíticos.

Mas nem todos os aplicativos funcionam bem. O que melhor funcionou para mim foi o Bubbl.us. Abaixo uma demonstração de um sequente não-válido usando o sistema de tablôs analíticos com fórmulas marcadas para lógica clássica proposicional: 



Com uma conta grátis no Bubbl.us, você pode ter até 3 mapas. E pode compartilhar um link de um mapa, como este link do tablô abaixo, cujo sequente é válido:



quinta-feira, 10 de maio de 2018

Questão de Lógica em Concurso da UFPR

Meu aluno Jean Rangel me enviou a seguinte questão e pediu confirmação do gabarito:


Minha resposta foi

Deixa eu formalizar:

p: O solo foi adubado
q: As pragas foram exterminadas
r: As plantas ficaram doentes.

A primeira confusão da questão é misturar tempos verbais: passado aqui, futuro ali.

Mas vamos ignorar isso e colocar tudo no presente:

p: O solo é adubado
q: As pragas são exterminadas
r: As plantas ficam doentes.

Sendo assim, a fórmula do enunciado é

(!p|!q)->r

Onde:
! não
| ou
-> se então

Para contradizer uma implicação, é necessário que o antecendente (lado esquerdo, no caso !p|!q) seja verdadeiro e o consequente (r) seja falso.

Para que !p|!q seja verdadeiro é necessário que ou !p ou !q seja verdadeiro.
Logo,
ou
"O solo não é adubado"
ou
"As pragas não são exterminadas"
ou
as duas frases acima são verdadeiras.

Além disso, é preciso que q seja falso, ou seja, que
"As plantas não ficam doentes".

Vamos ver qual das opções tem uma das duas primeiras frases (ou as duas) e a terceira frase.

Exatamente a letra (E).
Resposta correta.


quarta-feira, 9 de maio de 2018

Comentários de Valdemar Setzer a texto sobre Machine Learning




O texto comentado é Google Duplex: An AI System for Accomplishing Real-World Tasks Over the Phone. Abaixo os comentários do professor Valdemar Setzer (IME-USP).

Muito impressionante. Mas logo no começo há um erro mistificador:

we have witnessed a revolution in the ability of computers to understand and to generate natural speech, 

Computadores são máquinas puramente sintáticas, não contêm semântica, e portanto não compreendem absolutamente nada. Podem comportar-se como se compreendessem, mas é não uma compreensão real, e ela não deveria se chamado como tal. Em minha conceituação, compreender algo significa associar uma representação mental (advinda de uma percepção sensorial ou da memória) com o conceito inerente ao que está sendo representado, o que é feito pelo pensamento. 

Por exemplo, se você olha para a entrada de sua sala, qual objeto você percebe visualmente? Não percebe visualmente nenhum objeto, e sim impulsos luminosos! A partir da representação mental do objeto, feita pelo pensamento a partir daqueles impulsos, você chega, com o pensamento, ao conceito "porta". Você reconheceu que o objeto tem a mesma essência de todas as portas, isto é, chegou ao conceito correto de "porta" -- que não tem representação simbólica nem física -- portanto, um computador jamais chegará a um conceito. Pode chegar a algum trecho da unidade de armazenamento onde está a palavra "porta", mas isso NÃO foi uma compreensão, foi uma manipulação meramente sintática!

Um exemplo de um conceito puro é o que há de comum entre todas as representações simbólicas do 2: 2, II, ii, .., :, dois, dos, due, deux, zwei, two, dva, chtaim etc. Esse conceito puro, com o qual trabalha-se na matemática, não tem representação simbólica; ele existe no mundo platônico das ideias, ao qual temos acesso com nosso pensamento. E ao qual jamais um computador terá acesso, pois é uma máquina puramente física. Portanto, na minha teoria jamais um computador terá a compreensão humana. Pode simular uma compreensão, mas alguém simulou um fogo no computador e saiu correndo de medo?

Você vê que eu avancei em relação ao "Chinese Room" do Searle, que mostra que os computadores não têm compreensão (no caso, da língua chinesa) mas não diz o que  é compreensão.

Eu acho que a mistificação que citei no começo é extremamente perigosa, mas isso é um outro assunto.

Quanto ao artigo, aposto que o sistema segue certos padrões, por exemplo reserva de mesa em um restaurante. Será que ele comportaria um montão de padrões? Conseguiria reconhecer qual padrão usar em cada caso?


=====
Comentário de Cristina Murta no Facebook: 
Comentários de Descartes sobre máquinas imitando homens, no livro Discurso do Método, publicado em 1637 [Descartes, 1981]. Descartes aponta dois critérios – muito seguros, segundo ele – para diferenciar homens e máquinas: 

se houvesse outras [máquinas] que apresentassem semelhança com os nossos corpos e imitassem nossas ações tanto quanto fosse moralmente possível, teríamos sempre dois meios muito seguros para reconhecer que nem por isso constituiriam homens verdadeiros. Desses, o primeiro é que nunca poderiam usar as palavras, nem outros sinais, compondo-os, como fazemos para expressar a outrem nossos pensamentos, pois se pode muito bem conceber que uma máquina seja feita de tal modo que profira palavras, e até que profira algumas a respeito das ações corporais que causem qualquer alteração em seus órgãos (por exemplo, se a tocam em certo ponto, pergunte algo que se lhe quer dizer; se em outro, que grite que lhe fazem mal, e coisas semelhantes), mas não que ela as organize de diferentes modos, para responder ao sentido de tudo quanto se disser em sua presença, assim como podem fazer os homens mais embrutecidos. E o segundo é que, apesar de realizarem coisas tão bem, ou talvez melhor do que qualquer um de nós, falhariam indubitavelmente em outras, pelas quais se descobriria que não agem pelo conhecimento, mas unicamente pela disposição de seus órgãos. Pois, enquanto a razão é um instrumento universal, que pode servir em todas as espécies de circunstâncias, tais órgãos necessitam de uma disposição particular para cada ação particular. Daí resulta que é moralmente impossível que existam numa máquina disposições bastante diversas para fazê-la agir em todas as ocorrências da vida, exatamente como a nossa razão nos faz agir.