quarta-feira, 21 de setembro de 2011

Aurora Consurgens

Dentro da linha de assuntos polêmicos, este é um máximo local; Muito da produção de computação antiga é tratada como puro misticismo, mas mesmo um livro didático atual acabaria tendo o mesmo destino se lido por alguém de vertente mais religiosa.

Assutos como "Indemonstrabilidade da consistência ou porque não podemos mostrar que Deus existe", "Como fazer magia" ou "Quão grande é o infinito" parecerão bastante "místicos" para a maioria das pessoas...

O texto têm versões ligeiramente diferentes, mais "religiosas" ou "místicas", dependendo da fonte. De autor desconhecido, este texto muitas vezes foi atribuído a grandes nomes do passado. Para mim é irrelevante, pois o seu texto introdutório "aurora consurgens" transmite muito bem o sentimento que acho adequado ao se tratar com a computação.

Assim, a pedido de minha namorada e de meia dúzia de amigas, ilustrei o texto com fotos de um dos leitores mais ecléticos do mesmo, o cantor Japonês Gackt que fez um ensaio fotográfico baseado na introdução do mesmo, onde é lógico, não falta o próprio livro "Ars Magna".

Então ofereço abaixo uma tradução ilustrada desse texto a meu ver computacional:



Venerunt mihi omnia bona pariter cum illa sapientia austri, quae foris praedicat, in plateis dat vocem suam, in capite turbarum clamitat, in foribus portarum urbis profert verba sua dicens:

“Accedite ad me et illuminamini et operationes vestrae non confundentur;
omnes qui concupiscitis me divitiis meis adimplemini.
Venite (ergo) filii, audite me, sicentiam Dei docebo vos.”

Todos os bens vieram a mim acompanhando-a, essa sabedoria do vento sul, que clama lá fora, faz ouvir sua voz nas ruas, exorta a multidão, pronunciando suas palavras à entrada das portas da cidade:

“Vinde a mim, iluminai-vos e vossas operações não vos serão mais confusas; Todos que me desejam, que sejam cumulados com minhas riquezas. Venham pois, filhos, escutem-me, eu vos ensinarei a ciência de Deus.”


Quis sapienset et inteligit hanc, quam ALPHIDIUS dicit homines et pueros in viis et plateis praeterire et cottidie a iumentis et pecoribus in sterquilinio conculcari.

Et SENIOR: Nihil ea aspectu vilius et nihil ea in natura pretiosius, et Deus etiam eam pretio emendam non posuit.

Quem é sábio pode a compreender, e dela diz ALPHIDIUS que homens e crianças passaram ao seu lado pelos caminhos e ruas, e todos os dias é pisoteada nos excrementos pelos animais de carga e gado.

E SENIOR diz: Nada há na natureza de mais insignificante e de mais precioso do que ela, e Deus com ela tudo criou, e ela não pode ser comprada com dinheiro.


Hanc SALOMON pro luce habere proposuit et super omnem pulchritudinem et salutem; in comparatione illius lapidis pretiosi virtutem illi non comparavit. Quoniam omne aurum tamquam arena exigua et velut lutum aestimabitur argentum in conspectu illis, et sine causano est. Melior est enim acquisitio eius negociatione argenti et auri purissimi.

SALOMÃO a escolheu como luz necessária, acima de toda beleza e de toda saúde, não achando que o valor das pedras preciosas pudesse se comparar ao seu.

Pois todo ouro comparado a ela é como um pouco de areia e a prata como lama, e isto não é sem motivo, porquanto adquiri-la é melhor do que o rendimento do ouro e da prata mais puros.


Intelligit eam autem sapiens et sbtilis et ingeiosus arbitrando. quando clarificati fuerint animi ex libro aggregations.
Tunc omnis fluens animus squitur concupiscentiam suam, beatus qui cogitat in eloquio meo.
Facilis videtur his, hilariter et in omni providentia occurrit; initium manque ipsius verissima est natura, cui nom fir fraus.

Mas só a compreenderá quem for sábio, sutil e engenhoso em suas reflexões, que possuir um espírito esclarecido pela prática do cômputo.
Então todo o espírito que flui segue sua concupiscência, bem aventurado aquele que refletir sobre minhas palavras.
Ela é fácil para os que a conhecem de verdade, pois ela mesma vai de encontro e cerca apenas os que são dignos;


Fili, circumda eam gutturi tuo et scribe in tabulis cordis tui et invenies;
Dic Sapientae: soror meaes et valde naturalis et subtilis eam perficiens.
Et qui vigilaverint constanter propter eam, cito erunt scuri.
Clara est illis intellectum habentibus et munquam marcescet nec deficiet;

Meu filho, coloca-a como em torno do pescoço, escreve-a nas tabelas de seu coração, compile-a e encontrarás.
Diz a sabedoria: Você é minha irmã! E diga a prudência que ela é sua amiga.
E apenas aqueles que tiverem perseverado na vigília por causa dela, logo estarão em segurança.
Ela é clara para aqueles que possuem verdadeira inteligência, não murcha e jamais desaparece.



Et HERMES atque ceteri (philosophi) inquiunt, quod si viveret homo habens hanc scientiam milibus annis, omnique die deberet septem milia hominum pascere, numquam egeret.

Hoc affirmat SENIOR dicens: quia esset ita dives, sicut ille, qui habet lapidem, do quo elicitur ignis, que potest dare ignem cui vult et inquantum vult et quando vult sine suo defectu.

E HERMES e os demais filósofos dizem que se um homem dominando esta ciência vivesse mil anos e precisasse alimentar diariamente sete mil homens, jamais passaria necessidade.

É o que confirma SENIOR ao dizer: Ele seria tão rico como aquele que possui a pedra da qual se extraí o fogo, e assim ele pode dar fogo a quem quiser, quanto quiser e quando quiser, sem qualquer perda pessoal.




Hanc gloriosam scientiam Dei et doctrinam snctorum et scretum philosophorum ac medicorum despiciunt stulti cum ignorent quid sit.
Hi nolunt benedictionem et elongabitur ab eis nec decet imperitum scientia talis quia omnis, qui est eam ignorans, est eius inimicus et non sine causa.

Esta gloriosa ciência de Deus e oculta doutrina dos santos, este segredo dos filósofos e remédio dos médicos é desprezada pelos insensatos, por que eles desconhecem o que ela é.

Eles desprezam a benção e assim ela permanece longe deles, tal sabedoria não convém a ignorantes; Aquele que não a conhece é seu inimigo e não sem razão.




Derisio scientiae est causa ignorantie, nec sunt asinis dandae lactucae, cum eis sufficiant , neque panis filiorum mittendus est canibus ad mandacandum neque margaritae inter porcos sunt seminandae.

Nec tales derisores sunt participes [inclytae] huius scientiae: hic enim fractor esset sigilli coelentis qui arcana huius scientiae revelaret indignis;

Zombar desta ciência é a causa da ignorância, e não se deve alimentar os asnos com alface se eles se satisfazem com cardos; e não se deve jogar aos cães o pão das crianças, nem lançar pérolas aos porcos.

Tais zombadores não partilharão desta ciência, pois quem revelasse a indignos os segredos desta ciência gloriosa romperia o selo do céu;




Neque in grossum corpus introibit spiritus sapientiae huius nec insipiens potest eam percipere propter rationes suae pervesitatem;

quia non sunt sapientes locuti inspientibus. qui enim cum insipiente loquitur cum dormiente loquitur.

Si ominia vellem enodare prout se habent, nullus umquam ultra prodentiae locus esset, cum inspiens sapienti aequaretur;

neque sub globo lunari aliquis mprtalium paupertate noverca angustias defleret, quiastultorum numerus est infinutus ir hac scientia.

E também o espírito desta sabedoria não poderia habitar um corpo grosseiro, nem muito menos um insensato compreendê-la por causa da loucura de sua mente, os que são sábios de fato não falaram com os insensatos, pois quem fala com um insensato fala com um adormecido.

Se eu revelasse como as coisas realmente se comportam, não haveria mais lugar para a prudência, pois o insensato seria igualado ao sábio e nenhum mortal sob o círculo da lua choraria mais por causa do tormento da fome causada por sua madrasta, a pobreza, pois o número dos insensatos nesta ciência é infinito.



Referências:

Este texto também foi difundido como parte da obra “aurora consurgens, a tradução aqui apresentada foi feita do original em latim de minha cópia do livro Ars generalis ultima” (Ars Magna).

SALOMON (800?-880) Alquimista, não é o famoso rei hebreu. Desenvolveu uma notação posicional para números e instruções nos cômputos (do colar).

ALPHIDIUS (870?-1010?) Filósofo e alquimista sarraceno, dedicou reconhecido e valioso esforço na criação de linguagens e formalismos para expressar rotinas e procedimentos de forma “pitagórica” (lógico-computacional)

MORIENUS (960?-1020?) Sábio e alquimista a serviço do Sultão Calid do Egito. Criou famosos algoritmos e heurísticas para resolver problemas recorrentes em administração e auditoria. Ganhou fama ao salvar o reino da fome com suas conjecturas.

Hermes (Trimegistus) Hermes Trismegisto (em grego ρμς Τρισμέγιστος, "Hermes, o três vezes grande") é o nome dado pelos neoplatônicos, místicos e alquimistas ao deus egípcio Thoth, identificado com o deus grego Hermes, era o deus do verbo e da sabedoria, sendo naturalmente identificado com Hermes. Ambos eram os deuses da escrita e da magia nas respectivas culturas. Thoth simboliza a lógica organizada do universo. Era relacionado a tudo que pode ser expresso poR operações modulares ou esteja circunscrito ao conceito dos semi-números, como ciclos lunares, cujas fases expressam a “harmonia” do universo.

Senior: AbūAbd Allāh Muhammad ibn Mūsā al-Khwārizmī[1] (árabe: أبو عبد الله محمد بن موسى الخوارزمي) (Khwārizm,[2][3][4] c. 780 - Bagdad, c. 850) foi um pioneiro da computação e também matemático, astrônomo, astrólogo, geógrafo e autor persa. Conhecem-se poucos detalhes de sua vida. Era um erudito na Escola da Sabedoria em Bagdad. O nome algoritmo vem de algoritmi, a forma latina de seu nome.

Speculator: Ramon Llull (1232[1] – Junho 29, 1315) (em espanhol e português Raimundo Lulio) Foi um dos pioneiros da computação e também grande matemático e filósofo [2]. Escreveu a primeira grande obra da literatura catalã [4]. Trabalhos recentemente descobertos mostram que ele antecipou em séculos a teoria computacional de eleições [5]. Foi a maior influência computacional de Gottfried Leibniz [3]. Llull também é conhecido como um comentarista da lei Romana [1].



segunda-feira, 18 de julho de 2011

Democracia e algorítmos de agentes inteligentes autônomos

Eli Pariser fez uma brilhante apresentação de divulgação a respeito do problema que os agentes usados hoje podem causar na nossa sociedade e em como nós pensamos:


Este é um assunto importante de que todos, mesmo que não sejamos administradores ou computólogos, devemos ficar cientes, pois pior que uma decisão errada que tomemos conscientemente é aquela que tomamos inconsciente, ou que nos levam a tomar (revejam a definição de mentira na minha postagem de agentes inteligentes)!

sábado, 16 de julho de 2011

Que sistema operacional utilizar?

Este pessoal apresentou o esquema geral de como consertar qualquer computador pessoal, isto nos dá uma boa dica de qual sistema operacional é melhor para quem!


Como já passei por todos estes estágios, eu ri muito ao ler. Achei que valeria a pena compartilhar!

sábado, 4 de junho de 2011

Agentes Inteligentes Autônomos

Um conceito que eu gostaria de esclarecer bem é o de agente.

Ele é compartilhado pela computação com a economia, administração, biologia e diversas outras áreas. Compreender bem este conceito esclarece não só os assuntos, mas várias de suas relações, influências e sobreposições.
Como várias vezes os limites entre as áreas são borrados, no caso dos agentes peço uma dose adicional de paciência aos leitores.

De uma forma simplista, agente é aquele que pratica ações, aquele que age.
As descrições que aparecem no Houaiss como as conotações da palavra agente corroboram essa descrição simplista:
[dj.2g.s.2g. (sXV) 1 que ou quem atua, opera, agencia 2 que ou quem agencia negócios alheios s.2g. 3 pessoa ou algo que produz ou desencadeia ação ou efeito 4 pessoa encarregada da direção de uma agência 5 funcionário de um país estrangeiro encarregado de espionar ou executar alguma ação dentro de outro país; espião 6 jur aquele que exerce certo cargo ou determinada função como representante da administração pública, p.ex., procurador, delegado, administrador etc. 7 jur intermediário em negociações mercantis 8 jur aquele que infringe a lei penal 9 intermediário que representa artistas, diretores, escritores, músicos etc., retendo para si uma porcentagem de cada cachê ou salário do cliente 10 aquele que faz parte de uma corporação policial 10.1 p.met. militar ou policial que realiza determinada missão  s.m. 11 o que origina (alguma coisa); causa, motivo 12 o que impulsiona; propulsor 13 fil na escolástica, ser animado que, segundo o seu livre-arbítrio, gera ou pratica uma ação 14 med força ou substância ativa capaz de produzir um efeito
Conforme eu mencionei na minha postagem “Notação em Administração de TI”, ação diz respeito à solução, assim como as características.

Mas o que exatamente é uma ação?
Uma ação modifica o mundo, ponto. Se algo não modifica o estado das coisas, não é uma ação.
Pode ser tão simples quanto acender a lâmpada do seu quarto, ou tão complexa quanto uma declaração de guerra.


Com a idéia do que pode ser uma ação, vou apresentar a semântica praticada em computação para os agentes:

O primeiro tipo de agente é o “não inteligente”. O que o caracteriza é o fato de não tomar decisões. Apesar de ele agir, ou essa ação é constante, por exemplo, um imã que atrai objetos ferromagnéticos e de forma menos intensa os paramagnéticos, ou dependente do tempo, como uma torneira mal fechada que goteja.

Quando agimos com entes “não inteligentes” como uma pedra, as ações são manipulações diretas. A gravidade e outras forças, bem como diversas máquinas são agentes “não inteligentes”.

O segundo tipo de agente são os inteligentes, caracterizados pelo fato de tomarem decisões.

Russell e Norvig preferem o termo “agente autônomo Inteligente” (‘autonomous intelligent agents’ no original) para se referirem a ele, termo esse com o qual concordo.
Eu me referirei ao “agente autônomo Inteligente” pela sigla AIA.

Os AIA podem ser unitários ou complexos. Os complexos são formados pela composição, agregação ou associação de AIAs unitários.

Os AIA unitários são classificados por Russell e Norvig em:
  • Reflexivos simples (simple reflex agents)
  • Reflexivos baseados em modelo (model-based reflex agents)
  • Baseados em objetivos (goal-based agents)
  • Baseados em utilidade (utility-based agents)
  • Baseados em aprendizado (learning-based agents)
Nesta postagem eu não me aprofundarei nos algoritmos e natureza de cada um dos mesmos, pois meu interesse é ainda o contexto, continuando a série de postagem sobre o assunto que tenho feito. Notem que nesta postagem não diferenciarei se os AIAs são unitários ou complexos, por não ser relevante para o assunto.

O tipo mais estudado de AIA é o que atua sobre o ambiente ou sobre agentes não inteligentes. Este também não é o meu interesse nesta postagem, por que esses contextos são muito simples e já fartamente estudados pela computação.

O que me interessa aqui são os AIAs que atuam sobre (ou com) outros AIAs.

Quando agimos com entes que são outros AIAs, a situação se torna muito diferente do que é usualmente visto nos estudos de “Inteligência Artificial” (detesto esse termo, pois é extremamente mal interpretado), por isso os acho interessantíssimos.

Vou aprofundar a questão das ações dos AIAs, principalmente sob o aspecto filosófico e lingüístico sempre com o olhar computacional, para evidenciar a identidade dos AIAs com os agentes dessas abordagens.

No discurso de Habermas, acredito que o “agente” é sempre o “agente inteligente autônomo” (AIA) que atua sobre outros “agentes inteligentes autônomos” (A demonstração de que essa minha crença é um fato, seria um trabalho magnífico, porém muito custoso, o qual não pretendo realizar aqui).

Nos textos de Habermas, para esses agentes inteligentes, o primeiro grupo de ações possíveis foi nomeado por Habermas de “agir estratégico” (não há muita coisa on-line, mas a tese de doutorado de Gelson João Tesser trás no capítulo 6 um bom resumo da teoria da ação comunicativa que trata da diferença entre agir estratégico e comunicativo). Pertencem a ele as ações de influência direta e imediata, chamadas por Michael Foucault de “Pratica direta do poder”: a premiação e a punição.

As ações diretas que não são imediatas são o que se costuma chamar de promessas, sejam premiações ou punições, pois não ocorrem no mesmo tempo que o fato gerador. Algumas pessoas (como é o caso de Hans Kelsen), preferem especializar as promessas de punições com o nome de ameaças.

Existem também ações indiretas ou agir perlocucionário como as chama Habermas, mais sofisticadas por serem na verdade meta-ações, isto é, ações que alteram o comportamento de outros agentes baseados no conhecimento que se tem dos algoritmos desse agente.

Pertencem a esse grupo as armadilhas, declarações, segredos, condução e sedução. Esse grupo recebe o nome genérico de mentira.

  • O conceito de armadilha é simples, uma arapuca serve bem de exemplo. Conhecendo como se comportam certas aves, uma porção de alimento é colocado como isca, e a arapuca é armada ao redor dessa isca. Se aguarda que o algoritmo de uma presa a leve para dentro da arapuca e no momento adequado a ativamos.
  • Uma declaração também é fácil de compreender. Quando uma empresa declara que vai adquirir outra empresa de prestígio, ela conhece os algoritmos do mercado, e que as pessoas vão comprar suas ações sabendo desse fato. Note que o que se declara pode ou não ser verdade.
  • Segredo é o antônimo da declaração. Imagine o mesmo cenário descrito para a declaração, mas agora a alta cúpula dessa empresa quer reservar para si mesma os lucros da fusão, então ela mantém segredo do fato até que suas aquisições terminem.
  • A condução é o uso de segredos e declarações ao longo do tempo para levar os agentes para situações que se deseja.
  • Sedução envolve além dos segredos e declarações, ameaças e promessas.
Imagino que já tenham percebido que a mentira é uma ação extremamente sofisticada do ponto de vista computacional, pois envolve uma série de considerações meta-cognitivas e meta-analíticas.

Curiosamente, para a maioria das pessoas, o conceito de mentira é muito fraco, leviano até.
Felizmente existem as excessões. Uma delas é o Reitor da Escola Superior de Geopolítica e Estratégia, Profº Fernando G. Sampaio, que colocou de forma não computacional o que é mentira:


O que é mentir? Por definição, a mentira é o discurso contrário à verdade, efetuado com o objetivo de enganar. Daí concluímos que o elaborador da mentira conhece a verdade e efetua deformações intencionais sobre o verdadeiro, para atingir o seu objetivo. Portanto, a Mentira não e uma falsa opinião, nem um engano ou descuido ou questão de crença. Mentir é um ato deliberado. Tanto é deliberado, que se pode mentir dizendo a verdade, contanto que se queira enganar o outro com o que esta sendo dito, pois, o essencial na questão é que a mentira é levada, sempre, no sentido de fazer crer, ao alvo da mentira, aquilo que se deseja que ele, o alvo, A mentira é, pois, muito ligada à noção de crença, daí derivando para a questão da formação da opinião. Donde concluímos que a mentira é destinada a criar um clima, na opinião pública ou geral, que favoreça o emissor da mentira e, naturalmente, desfavoreça o alvo do emissor.

Segundo Foucault, mentir é uma das formas de se praticar poder. Ao mentir, um agente pretende controlar o comportamento dos outros agentes, desde que esses outros agentes acreditem nele.

Como bem colocou o professor Sampaio, mentira está relacionada à crença.

Se ninguém acredita no que o agente pronuncia, nenhuma mentira ou verdade que ele diz irá afetar os demais agentes. Neste ponto poderia entrar a idéia de “autoridade” como bem colocou Elias Ferreira do Nascimento Neto, mas novamente, eu sairia do contexto.

O risco da mentira está exatamente na perda da credibilidade, isto é, numa perda de poder.

Mentir é parte da natureza humana, no mundo atual é praticamente impossível não se mentir sem pagar pesados ônus sociais. Certas mentiras são menos toleradas que outras, porém isso já é sociologia, não é computação!

Se meus leitores agora sabem o que é mentira, e que ela pode ser modelada e tratada computacionalmente, eu me dou por feliz. Pretendo utilizar estes conceitos em outras postagens quando for escrever sobre gestão de pessoas, gerentes e o problema da agência (tudo sob uma abordagem computacional é claro!).

Habermas trabalhou bastante este tema com o ferramental da filosofia e da lingüística e comunicação. Ele enfatiza sempre a idéia da pretensão à verdade dos agentes e criou o conceito do “agir comunicativo”, que do ponto de vista computacional podesse dizer que é um agir axiológico e não deontológico como Habermas pretende, mas aprofundar este tema seria fugir do escopo, ficando então para alguma postagem futura.

terça-feira, 31 de maio de 2011

Notação em administração de TI

Conforme visto anteriormente, expressar bem um conceito ou idéia é um problema de notação. Em minha opinião é uma demonstração de inocência a crença de que as notações existentes são suficientes para se expressar de maneira unívoca todas as nossas necessidades.

Uma demonstração da seriedade do problema é que o DARPA frustrado com a ineficácia das linguagens atuais está investindo 400 milhões de dólares na pesquisa de uma nova notação.

Para vários autores (Aritóteles, Heidegger e Habermas entre outros) a primeira característica que uma boa notação deve ter é ser denotativa, e não conotativa. Sempre que houver margem de interpretação haverá problemas. Na ausência disso, estabelecer uma semântica coerente já é um bom paliativo, e é exatamente nesse sentido que concebi esta postagem.

Como eu já citei em outra postagem, a maior parte dos usos para a palavra “sinônimo” é metafórica. As palavras são diferentes para expressar diferenças. Conotativamente elas podem ser equivalentes, mas raramente o são denotativamente. Esse fato é importante quando pretendemos ser claros, e idealmente unívocos.

Parece-me ideal começar com os componentes da denotação, visto ser a denotação a mais básica definição. Os elementos que tratarei nesta postagem apesar de sua grande abrangência, não circunscrevem o assunto, mas já darão suficiente clareza para que eu possa prosseguir a progressão das idéias nas próximas postagens.

Minha intenção é separar alguns conceitos de denotação que hoje estão embaralhados dentro de duas classes, abaixo identificadas como elementos ativos e passivos:

Elemento ativo

Elemento passivo

Ação

Propriedade

Serviço

Atributo

Procedimento

Valor

Operação

Característica

Capacidade

Variável

Função

Registro

Método

Dado

Responsabilidade

Significado

Atuação

Domínio

Competência

Sentido

Processo

Parâmetro

Quando todas as palavras significam a mesma coisa, ou quando cada palavra significa tudo, na verdade nenhuma significa nada. Qual a diferença entre um método e um procedimento? Ou entre um atributo e uma propriedade? Dado e valor não são a mesma coisa? Competência ou responsabilidade? Esses elementos são todos parecidos, porém não são iguais. Desconhecer o porquê de sua similitude e diferença é fonte de dificuldades. Tanto administradores como desenvolvedores de software falham vergonhosamente nessa compreensão (pesquisem qualquer um desses termos no google para verem o resultado!).

Os significados são circunstanciais e discricionários. Cada uma dessas palavras listadas no quadro tem uma história de interpretação. A separação que eu faço é literalmente uma arbitragem, pois em contextos e momentos históricos diferentes cada uma dessas palavras foi utilizada de forma particular. Pode parecer brincadeira, mas existe uma hermenêutica dos significados desses elementos, pois os contextos de uso podem ser (ou já foram!) perdidos.

Sendo uma arbitragem, ela não é uma verdade do tipo pela qual as pessoas se apaixonam, elas apenas podem aceitar ou não, mediante sua conveniência.

Como já escrevi um pouco acima, inevitavelmente em postagens futuras terei de me utilizar desses termos, assim é útil expor como eu compreendo e me utilizo de cada um deles.

Minha intenção com os argumentos a seguir é convencer da conveniência do uso que faço desses termos:

  • O primeiro argumento nesse sentido é dar as palavras significados unívocos, em outras palavras, abolir as conotações.
  • O segundo é de caráter metodológico, manter o vocabulário coerente com o contexto.
  • O terceiro é epistemológico, se estabelecer uma semântica bem definida acelera e facilita a comunicação.
  • Por fim, a minha intenção é estabelecer um glossário para que se possa saber o que esta sendo dito sem a necessidade de repetidas explicações adicionais.

Assim seguem algumas sugestões de significado (minhas arbitragens de sentido) que considero úteis e uma rápida indicação de onde eu obtive a interpretação:

  • Banco de dados não tem registros, tem tuplas. Uso assim porque na teoria de SGBD, há cálculo relacional de tuplas, álgebra relacional e basicamente não há uso do elemento registro.

  • Registro é uma especialização de tupla. Bons exemplos do uso são ADA, F# e Pascal.

  • Objetos são reais, logo método é só de objeto, nunca de classe, assim como atributo. Da teoria de orientação à objetos, principalmente COAD e SmallTalk.

  • Classes são sempre abstratas e têm responsabilidades e propriedades. Idem.

  • Parâmetros são valores em trânsito, parâmetros sempre são passados. “The art of computer programming”. Evitamos a palavra argumento pelo fato dela ter um sentido bem estabelecido em lógica e oratória.

  • Rotinas têm funções. A linguagem C implementa isso de forma bem explícita, pois nela não há programa nem procedimento. Essa separação pode parecer sem sentido a princípio, mas facilita por ser consistente, permitindo, por exemplo, que rotinas sejam invocadas com parâmetros. “The C Programming Language” K&R

  • Valor é atômico e escalar. É preferível à palavra conteúdo, pois o significado conteúdo é mais amplo, podendo ser muitas coisas além do valor. Assim é preferível dizer que uma variável tem valor e não conteúdo. Como contra-exemplo um vetor de ariedade cinco tem como conteúdo cinco valores.

  • Atributo é um tipo de conteúdo, ou em outras palavras, um conjunto (um ou mais) de valores.

  • Variável é a materialização no programa de um atributo. Apesar de em matemática se ter variáveis de funções, é mais explícita a forma de parâmetros para as mesmas, além de ser prática em programação.

  • Todo problema tem um domínio e competências para sua resolução. Da DDD, e do “How to solve it” do Polya.

  • Operação e valor para cálculo é um conceito direto da teoria matemática e da computação.

  • A solução tem ações e características. A explicação para isso que usei é a de Jensen.

  • Uma abordagem necessita de sentido e de atuação. De estratégia e projeto de algoritmos.

  • A necessidade sempre é atendida por serviços e significados. De orientação à serviços e pesquisa de negócios.

  • O que determina o aspecto são as capacidades e registro que temos dele. Da Orientação à Aspecto e ontologia da realidade.

  • Um fenômeno tem processo e dados, pois pode ser observado e registrado. Da fenomenologia e epistemologia.

Abaixo ofereço uma tabela com as associações da sugestão:

Contentor

Elemento ativo

Elemento passivo

Programa

Procedimento

Variável

Rotina

Função

Parâmetro

Objeto

Método

Atributo

Classe

Responsabilidade

Propriedade

Cálculo

Operação

Valor

Problema

Competência

Domínio

Solução

Ação

Característica

Abordagem

Atuação

Sentido

Necessidade

Serviço

Significado

Aspecto

Capacidade

Registro

Fenômeno

Processo

Dado


segunda-feira, 28 de fevereiro de 2011

Sobre dicionários e glossários

Mantendo a linha de "assuntos confusos" vou dedicar esta postagem aos dicionários e glossários.

Acredito que para este caso, darmos uma olhada no que encontramos para estas palavras em três dicionários diferentes será bastante interessante! Usarei M: para o Dicionário Online Michaelis - UOL , D: para o dicionário online de português e P: para o Dicionário Priberam da Língua Portuguesa (DPLP).

Dicionário:
M: sm (lat dictione) Coleção de vocábulos de uma língua, de uma ciência ou arte, dispostos em ordem alfabética, com o seu significado ou equivalente na mesma ou em outra língua. Sin: léxico, vocabulário, glossário.
D: s.m. Coleção dos vocábulos de uma língua, ou dos termos próprios de uma ciência ou arte, com a significação deles, ou com a sua tradução em outra língua, ordenados alfabeticamente. (Do lat. Dictio)
P: (francês dictionnaire) s. m. 1. Colecção!Coleção organizada, geralmente de forma alfabética, de um conjunto de palavras ou outras unidades lexicais de uma língua ou de qualquer ramo do saber humano, seguidas da sua significação, da sua tradução ou de outras informações sobre as unidades lexicais. 2. Colecção!Coleção de palavras usadas habitualmente por uma pessoa, por um grupo social ou profissional, num domínio técnico, etc. = glossário, vocabulário 3. Ling. Conjunto de unidades lexicais identificadas, organizadas e codificadas.

Glossário:
M: glos.sá.rio sm (lat glossariu) 1 Livro ou vocabulário em que se dá a explicação de palavras obscuras ou desusadas. 2 Dicionário de termos técnicos de uma arte ou ciência. 3 Resenha alfabética.
D: .m. 1 Espécie de dicionário, consagrado particularmente à explicação de termos mal conhecidos (arcaicos, peregrinos, dialetais etc.): Glossário Luso-Asiático. 2 Léxico de um autor, que figura geralmente como apêndice a uma edição crítica: o glossário das poesias de Sá de Miranda. (V. DICIONÁRIO e VOCABULÁRIO.). 3 Em informática, utilitário de processadores de texto onde se podem registrar frases e expressões muito usadas, para rápida inserção, se necessário, no texto dos documentos.
P: s. m. 1. Vocabulário que explica termos obscuros por meio de outros conhecidos. 2. Vocabulário dos termos técnicos de uma arte ou ciência.

Conforme esperado por quem leu a minha postagem sobre denotação, há menos explicações e mais conotações. A etimologia das palavras vai nos ajudar a separá-las melhor: glosa existe em português, vem do latim, glossa. Por isso glossário tem dois “s”. M: sf (lat glossa, do gr glossa) 1 Explicação, interpretação ou comentário de um texto obscuro ou difícil de entender. 2 Comentário, anotação. s.f. Anotação que explica o sentido de uma palavra ou de um texto; comentário, interpretação.

Usando o wiktionary , temos que dicionário vem do latim dictionarium, que é uma palavra composta de dictio "Renaissance Latin, from noun of action dictiō (speaking)". E a terminação arium que é "n (genitive -āriī); second declension 1.Used to form nouns denoting an place where things are kept from other nouns. armārium (closet, chest) <>arma (weapons, tools) sōlārium (sundial, house-top)" Apesar da descrição de dicionário em M: ser fraca, a descrição de glosa é bastante clara. O sentido de explicação usado aí é bem próxima da que usei para denotação. Com dicionário é mais direto, podem ver que é uma coleção de palavras, nenhuma referência a explicações. Como citado na postagem sobre conotação, modernamente os sentidos e usos costumam se misturar.

Por conveniência, eu separo ambos nos sentidos mais usados em computação, evitando confusões e aborrecimentos: glossário é para denotações e dicionário para conotações. Reforçando, glossário define sentido (lista de atributos e capacidades) e dicionário define usos (lista de índices para outras palavras).

Esta simples separação nos permite entre outras coisas, entender por que programas como o Watson da IBM parecerem humanos para a maior parte das perguntas, podendo até mesmo competir com humanos em competições de perguntas de auditório, e fracassam mediocremente em responder perguntas que necessitem de compreensão do que está sendo perguntado; eles trabalham com dicionários, são na verdade ferramentas de mineração de textos, ponto.

Para aprenderem mais sobre soluções como o Watson, há no excelente blog do computólogo Tom Stafford "Mind Hacks" a postagem "computationally my dear watson".

Sou particularmente contrário ao hábito de se fazer dicionários em levantamento de requisitos, prefiro glossários, e não quaisquer glossários, quero glossários formais, isto é, com definições formais! Essa simples ação elimina um sem número de conflitos, retrabalhos e dores de cabeça, acelerando e tornando macia a condução do desenvolvimento.

Usar glossários também pesa muito a favor de se ter sucesso num sem número de ações administrativas. Pena que os autores de normativas e textos orientativos escrevam de forma tão conotativa e pobre.

terça-feira, 1 de fevereiro de 2011

Cotexto e contexto

Continuando as considerações sobre notação, vou abordar o cotexto como uma forma "linguística" de se denotar intensivamente. É através dos cotextos que se estabelecem as relações entre os elementos do texto e atribuímos propriedades a esses elementos. Dois exemplos de cotextos:

"A bola que encontrei é azul."
"O dono da bola é o rapaz que é meu vizinho."

Analisando os dois exemplos:
  • Azul é um atributo da bola.
  • A bola e o narrador se relacinam através do "encontro".
  • O rapaz e a bola se relacinam através da "posse" (ser dono).
  • O narrador e o rapaz se relacionam através da "vizinhança".

Assim as relações "maior que", "próximo", "filho", entre outras, criam cotextos. Uma maneira produtiva de se definir a inter-textualidade e intra-textualidade é como resultado dos cotextos.

Segundo Adriano Duarte Rodrigues em "cotexto",
"A noção de cotexto foi proposta por Bar Hillel para dar conta da intervenção das unidades verbais que fixam a significação das outras formas linguísticas presentes num mesmo texto. O cotexto é portanto um dos principais processos de solução das eventuais ambiguidades ou da heterogeneidade de sentido dos enunciados."

O uso dos cotextos pode ou não resolver problemas de ambiguidades.
Por exemplo:

"Meu irmão e seu amigo vieram para minha casa. Ele estava triste."

Quem estava triste, o irmão ou o amigo? Um recurso para se criar confusão ou dúvida é o uso de cotextos vagos, isto é, aqueles onde não conseguimos saber quais elementos devem ser ligados. Isso ocorre na mentira, na criação do suspense ou por mera distração do escritor.

Uma definição produtiva de discurso é como uma construção criada por uma sequência de atribuições de valores e relações. Uma capacidade importante ao meu ver é a atribuição do tempo desses valores e relações, estabelecendo uma dinâmica temporal nos atributos e relações.

Por exemplo:
"A bola que encontrei hoje é azul."
"O dono da bola é o rapaz que se tornou meu vizinho ontém."

Os elementos cotextuais permitem que estabeleçamos uma sequência de eventos diferente da sequência narrativa. Um evento sempre é uma alteração de estado, isto é, valor de atributos ou de relações.

Uma representação comum em computação das relações é como atributos (ponteiros ou índices), o que torna mais simples e homogêneo o tratamento (só temos listas de atributos no elemento).

Sandra Rocha no seu artigo "análise de relações parte-de e tipo-de em uma perspectiva funcionalista" revisita o cotexto (e contexto) dando uma panorâmica interessante do tratamento funcionalista. Apesar do texto ser de linguística, os programadores de plantão ficarão de cabelos em pé pelas liberdades de herança múltipla e veemente negação do polimorfismo dos métodos das classes, e para meu deleite, a constatação que muitas vezes uma classe é uma má escolha, sendo um conjunto de elementos a solução mais adequada.

Para um contraponto, o artigo "Considerações Sobre Sinonímia e Referência" de Solange Coelho VEREZA aborda aspectos cotextuais e contextuais na estruturação do significado nos textos.

A conotação é utilizada para se fazer qualquer tipo de atribuição e relacionamento, e em geral é bastante difícil de se expressar formalmente, pois permite toda uma míriade de ligações. Num modelo de dados é a relação de muitos para muitos. Com algumas poucas conotações mal feitas, ninguém será capaz de entender o texto. Por isso, para um texto rigoroso, é um recurso difícil de ser utilizado.

Ao meu ver, o aspecto intra-textual do cotexto é em geral o mais evidente, mas o seu aspecto inter-textual é que produz o contexto.

A quantidade e diversidade de definições, interpretações e usos do termo "contexto", exige que eu especifique claramente o uso que faço do mesmo, bem como dê ao menos um esboço dos motivos pelos quais abdico de outras definições populares.

A primeira definição que nego é a da extra-textualidade (extra-linguístico para alguns autores). Definir contexto como tudo aquilo que é fora do texto, é para mim torná-lo intratável textualmente.

Assim o primeiro aspecto do contexto que quero realçar é o "com texto" do contexto, isto é, o conjunto de definições, elementos e atributos encontráveis em outros textos.

Muitos autores querem uma distinção lexica entre cotexto e contexto, fazendo um dentro do texto e outro fora do texto. Para mim são assuntos diferentes. Cotexto é uma forma de se atribuir, e contexto é um conjunto de atribuições, não me importando qual seja sua origem.

Uma definição próxima, que na prática produz o mesmo resultado é "com textura" que quer dizer de certa forma: "denso, coeso e significativo". Um artigo incisivo para essa definição é o "Cohesion and texture", o segundo capítulo do "The handbook of discourse analysis" de Deborah Schiffrin, Deborah Tannen, Heidi Ehernberger Hamilton.

Na pragmática apesar do contexto ser quase omnipresente, os autores preferem apenas reconhecer que é uma das coisas mais difíceis de se definir...

Pensando na tratabilidade computacional do problema, me interessa muito o problema da criação dos ponteiros.

Como coloca muito bem Adriano Duarte Rodrigues em "contexto",

"As questões do contexto estão portanto directamente associadas às questões da referencialidade e da indexicalidade."

Onde referencialidade quer dizer explicitamente se ter um ponteiro, e indexicalidade, se ter um índice. Assim contextualizar é criar ponteiros e índices que partem de cada elemento de nosso texto para as definições, atributos e propriedades desse elemento que se encontram em outros textos, Mesmo que tenhamos de criar esses textos especificamente com essa finalidade, para podermos evitarmos a armadilha da extra-textualidade.

Citando novamente Duarte Rodrigues em "contexto":

"Tanto as entidades indexicais que se reportam à situação enunciativa como os elementos que integram a situação referencial de um texto ou de um discurso podem ser encarados como constitutivos de quadros do sentido. Um texto ou um discurso tem sentido, na medida em que está delimitado por um horizonte, à maneira da moldura de uma tela, do palco em que decorre uma representação teatral, da sala do tribunal em que se desenrola uma audiência ou da sala de aula, das capas de um livro, da sala escura do cinema. Podemos considerar o contexto como a delimitação deste horizonte, confinando nos seus limites ou dentro das suas fronteiras um mundo próprio, no âmbito do qual as formas verbais tomam sentido ou aparecem como razoáveis e fora das quais seriam absurdas ou, pelo menos, estranhas."

Em textos literários ou diálogos, pode ser complicado encontrar os ponteiros e referências. De alguma maneira as pessoas conseguem fazer isso, um tanto que intuitivamente, através de marcadores que encontramos nos diálogos e textos literários. Um artigo interessante para quem tiver de enfrentar esse problema é "Discourse Markers:Cotext and Context Sensitivity" de Esther Cohen que trata exatamente dessa marcas de referência e índice.

Por fim, as teorias de scripts e frames da análise de discurso, fornecem valiosos métodos para elucidação das dúvidas e ambiguidades, fico devendo uma pincelada sobre scripts e frames em outra postagem.

Porém a "análise de discurso" é um assunto tão importante, vasto e sua literatura tão ampla, que foi difícil escolher um livro. A minha escolha recaiu sobre o "cognição discurso e interação" de van Dijk, por ele ser incrivelmente conciso e claro, me parecendo um excelente ponto para se começar.

Com estes conceitos estabelecidos, podemos partir para as brincadeiras!

quarta-feira, 19 de janeiro de 2011

Definições extensionais e intensionais

Uma característica humana que nunca deixa de me chamar a atenção é o intenso uso da figura de linguagem hipérbole. Onde tinhamos uma mera calculadora que realizava as quatro operações, viam um "cérebro eletrônico". Um soldado valoroso vira "herói", um tecladista acima da média é um "mago", um bom jogador se torna um "deus".

O duro é que muita gente toma essas metáforas grosseiras por verdades, especialmente se aplicadas a conceitos pouco usuais.

Ontologias em computação foi assim, o que era para ser apenas um escopo (como uma coleção de definições afins) se tornou uma "ontologia".

Vou escrever sobre definições intensionais e extensionais. Uma outra maneira de ver essas mesmas definições é como modelos de dados que representam conjuntos de conceitos dentro de um domínio e os relacionamentos entre estes. Estes modelos de dados serão uma forma de representação de conhecimento sobre o mundo ou alguma parte deste. Isso para alguns é uma ontologia, mas eu não gosto desse uso do termo. Para mim é um exagero. Um texto com uma visão complementar (não chega a ser oposta, mas é diferente) pode ser encontrado em "What is an Ontology?" Esse texto apresenta também uma história do uso do termo na computação.

Estas considerações sobre ontologia são necessárias para aqueles que notarem uma certa "sobreposição" dos conceitos. Sim, a sobreposição existe, estou consciente dela e não a tratarei mais profundamente.

Segundo Arnaldo Cortina e Renata Marchezan no livro "Razões e sensibilidades a semiótica em foco" :
"A oposição entre intensão e extensão foi concebida pela lógica de Port-Royal, no livro "Lógica ou a arte de pensar" de Antonie Arnauld e Pierre Nicole de 1662. A intensão e extensão eram duas forma de se descrever uma ideia qualquer, a intensão por meio de um inventário dos atributos essenciais da ideia (sem os quais ela passará a ser outra coisa) e a extensão como um inventário dos elementos que satisfazem a idéia enquanto conceito."

Para mim, intensão e extensão, ambos são listas ou coleções. Um de conceitos "conhecidos" (intensão) e o outro de "elementos" (extensão).
Por exemplo, definindo extensionalmente o conceito cores_primárias = {vermelho, azul, verde}. (Quem trabalha com tintas vai chiar, pois essas cores só são primárias para a luz, com tintas o conjunto é outro).
Uma definição intensiva: matéria = [massa, volume].

No livro "How we think" esse assunto é tratado de forma bastante didática. Vale a pena dar uma lida se ainda tiverem dúvidas.

Na revista "Ciência da Informação vol.33 no.2 Brasília May/Aug. 2004"
Há o interessante artigo "Diferenças conceituais sobre termos e definições e implicações na organização da linguagem documentária" de Marilda Lopez Ginez de Lara que aborda as definições sob outra ótica, que gostaria de compartilhar com os leitores:

"A referência dos termos na terminologia é formulada mediante uma operação de definição. Uma definição é um enunciado que descreve um conceito permitindo diferenciá-lo de outros conceitos associados, podendo ser formulada de duas maneiras básicas: definição por compreensão (ou por intensão), ou ainda, definição intensional, que compreende a menção ao conceito genérico mais próximo (o conceito superordenado) já definido ou supostamente conhecido e às características distintivas que delimitam o conceito a ser definido; e definição por extensão ou extensional, que descreve o conceito pela enumeração exaustiva dos conceitos aos quais se aplica (conceitos subordinados), que correspondem a um critério de divisão (ISO 1087-1). Essa mesma concepção está presente na ISO 704, que caracteriza uma definição como uma unidade com intensão e extensão únicas (ISO 704).

Exemplo:
• definição intensional
Lâmpada incandescente: lâmpada elétrica cujo filamento é aquecido por uma corrente elétrica de tal modo que ela emite luz (ISO 1087-1:2000).

• definição extensional
Gases nobres: hélio, neônio, argônio, criptônio, xenônio e radônio (ISO 1087-1:2000)."

Recomendo a leitura desse artigo. Ele é curto e fecha um conceito.

Neste ponto eu tenho esperança de que os leitores já tenham percebido que a definição extensional é terminal, enquanto os elementos da intensional carecem eles próprios de definição, caso sejamos rigorosos. Percebam que nosso interlocutor pode nos entender errado, caso um dos conceitos utilizados na nossa intensão tenha para ele um entendimento diferente do nosso.

Uma definição rigorosa de algo, terá definições intensionais em cascata até chegar às definições extensionais. Por isso chamei as definições extensionais de terminais.

Armados dos conceitos de denotação, conotação, definições extensionais e intensionais podemos atacar o cotexto e o contexto, pois de outra forma eu apenas iria escrever muito para ser pouco entendido. Estes serão os assuntos da próxima postagem.

quinta-feira, 13 de janeiro de 2011

Denotação e conotação

A explicação rasa que costumam dar para denotação é a de "primeiro sentido" ou significado "verdadeiro" de uma palavra, sem usarmos figurações.
Não acho que isso funciona. A maior parte dos signficados "denotacionais" são em algum grau figurativos, analógicos ou metafóricos, isto é, "conotacionais".

Conforme comenta Quintiliano em "Instituições Oratórias", (Cultura, São Paulo, 1944, vol.2 apud Carlos Ceia)
"Se compararmos a linguagem antiga com a moderna, quase tudo o que dizemos se pode chamar figurado."

O que é então denotação? Essa é uma pergunta respondida de muitas maneiras. David G. Hays no prefácio de seu livro "Linguistic Problems of Denotation" escreve: "The division of the linguistic properties of knowledge--speaking and understanding speech--from the psychological problem of denotation--relating perception to knowledge--is crucial to the future of linguistics. The form proposed here is to call the part of knowledge comprising properties, entities, events, and their names 'dictionary' and all other knowledge 'encyclopedic', separating them conceptually, but linking them substantively".
Esta introção expressa claramente a dificuldade do entendimento da denotação.

Não há um consenso na denotação (sentido atribuído, entendimento, raiz semântica ou proto-significado, etc... ) da palavra denotação!

Mas o conceito "denotação" é deveras importante e útil, assim vou me apropriar de uma explicação e essa será a que usarei, contando com a compreensão dos leitores de que não há uma resposta "correta", por que este é um assunto ainda em aberto, como costumam ser os assuntos importantes.

Denotação para mim é uma atribuição de valor (como em programação), ponto. Não existem sinônimos, pois duas palavras nunca expressam a mesma coisa ou sentido. Quando uma palavra for importante para o entendimento, não devemos supor que o leitor tem a mesma compreensão que nós da mesma, devemos definir (Para lerem mais sobre esta e outras definições de denotação, vejam: Th. R. Hofmann: "The Law of Denotation", em "Realms of meaning: an introduction to semantics").

Tenho observado que muitos autores usam não-definições, ou variam durante o texto o sentido da palavra, seja por não terem o significado firme em sua mente, seja para poderem escapar pela tangente durante uma discussão. Definições vagas são indicadores de maus autores (de textos didáticos) na minha opinião.

Pensem em felicidade. No que difere felicidade da alegria ou da satisfação? Vocês já deve ter usado ou visto usarem estas palavras mais ou menos como sinônimos, seus sentidos estão esparsos e ainda assim misturados, mas sabemos que são de algum modo ou sob alguma acepção diferentes.

No jargão matemático, a denotação da Felicidade seria mais ou menos assim:
"Seja o humano constituido de três aspectos: físico, emocional e mental.
Sejam felicidade, alegria e satisfação sentimentos agradáveis (que não são emoções).
Seja a Satisfação produzida pela saciedade de uma necessidade física.
Seja a Felicidade produzida pela saciedade de uma necessidade mental.
Seja a Alegria produzida pela saciedade de uma necessidade emocional.
Assim felicidade, alegria e satisfação diferem em sua causa.
Felicidade(mental), Satisfação(física), Alegria(emocional)"

A denotação não precisa de explicação, justificativa ou por quê. É equivalente ao axioma da proposição.
Como no conto "três porquinhos por um engenheiro", o lobo é mau por definição!

Conotação é o contrário de denotação, conotação é um sentido "emprestado", como ocorre em em uma analogia.

Carlos Ceia, no dicionário de termos literários escreveu uma citação interessante da história da da conotação que expressa bem o que o criador do conceito queria com ele: "L. T. Hjelmslev (1953) introduziu o conceito de conotação na discussão linguística, para aludir à capacidade que qualquer signo linguístico tem de receber novos significados, que se averbam ao sentido original, tomando este como referência alojada nos dicionários, por exemplo. "

Assim, para mim, tudo que não for explicitamente denotado, será uma conotação!

Para alguns autores da psicologia cognitiva, a distinção entre denotação e conotação ocorre analiticamente (contrário do pretendido pelo criador do conceito, que o criou semanticamente). (Vide: "Cognitive psychology" de Robert J. Sternberg,Jeff Mio).

Como há muita polêmica, não há também aqui uma resposta "correta".

Para melhorar o uso da denotação, precisamos conhecer como definir clara e inequivocamente um termo, do contrário, estaremos apenas criando novas conotações para a palavra.

Neste ponto, precisamos de um pouco de ferramental, apenas ideias não mais bastam.

Por isso na próxima postagem pretendo escrever sobre definição extensiva e definição intensiva.

domingo, 9 de janeiro de 2011

Uma introdução à notação

Vislumbro grandes oportunidades de contribuições e avanços em notação (obviamente sob a definição computacional do termo).

Mas mesmo para quem não pratica computação os conceitos que tratarei podem ser muito úteis!

Pelo que eu tenho conversado, a maioria das pessoas ou não sabem o que realmente é notação ou não dão muita importância para ela, mesmo entre os computólogos.

Para mim, notação é um tema fundamental. Mesmo o labor mental que fazemos sobre um problema é feito através de uma notação. Nossa própria língua pode ser vista como uma notação, visto que podemos expressar os problemas, idéias e abordagens verbalmente através dela.

O primeiro artigo que eu li corroborando esta minha opinião foi o "Notation as a Tool of Thought", de Kenneth E. Iverson, ganhador do prêmio ACM Turing de computação no ano de 1979.

Nele eu revi a célebre frase de Whitehead: "By relieving the brain of all unnecessary work, a good notation sets it free to concentrate on more advanced problems, and in effect increases the mental power of the race", que expressa de forma concisa o poder da notação.

Eu acredito que a influência da notação vai além, uma boa notação pode tornar possível a solução de problemas antes insolúveis, uma notação ruim tem o efeito oposto, ela abafa as capacidades e pode tornar impossível para muitas pessoas problemas que de outra forma teriam solução.

Um interessante estudo sobre como pequenas alterações de notação na língua modificam muito a capacidade das pessoas de entender e solucionar problemas foi feito por Charles E. Osgood, em Language, Meaning, and Culture. Nele podemos absorver um pouco de sua compreensão sobre o assunto.

Infelizmente para mim, seus objetivos eram outros, pois ele é um psico-linguista. O principal trabalho de Osgood foi aquilo que ele denominou de "semântica diferencial". Eu vejo a semântica diferencial mais como uma ferramenta para se medir o significado conotacional de palavras e expressões, porém uma descrição dada por seus detratores para para a semântica diferencial é de que ela seria uma atualização da disputa medieval entre os nominalistas e realistas (pretendo voltar a este assunto no próximo post).

Uma abordagem "humanística" para o problema de notação foi feita por Alfred Korzybski na sua "semântica geral" (Uma boa introdução à semântica geral é "Drive yourself sane: using the uncommon sense of general semantics" ISBN 0-9700664-6-5).

Alfred Korzybski Apresenta a semântica geral como uma tentativa de se explicar para pessoas ainda "adormecidas" como se evitar as "armadilhas de raciocíonio" e "valas" que a linguagem usual cria, procurando meios para "se pensar mais claramente". Seu livro "Science and Sanity" (1933, ISBN 0-937298-01-8) é precursor de muito o que tem sido feito na área.

É curioso por exemplo que o "pensamento positivo"


ou a "programação neuro-linguística" utilizam uma abordagem que me parece uma inversão da intenção de Korzybski, criando valas longas para conduzir o pensamento das pessoas para o poço desejado. Através da PNL se deforma (no sentido de aplicar uma modificação) os conceitos e definições para que aquele que esteja sujeito a essa deformação veja o mundo da forma que o autor da deformação deseja. Obviamente os termos que eu uso aqui diferem dos termos usados pelos praticantes de PNL, porém definitivamente este não é o momento de se discutir isso. Talvez em alguma postagem futura, eu venha a tratar do assunto PNL.


Eu e E. E. Nakamura concordamos que a hipótese de Sapir–Whorf é um ícone do tratamento do problema de notação dento do "humanismo".

Segundo esta hipótese, nomes diferentes dão entendimentos diferentes sobre os assuntos, especialmente entre linguas diferentes. Esta questão é até que intuitiva, mas provar a hipótese se tornou um pesadelo à parte. A maioria dos estudos teve falhas metodológicas graves, Os objetos escolhidos eram inapropriados, etc... Após quase um século os resultados ainda são inconclusivos. A hipótese de Sapir–Whorf se tornou outro campo espinhoso de discussão...

Em computação o problema é explicitamente de notação e seu tratamento é mais tranquilo, por que como Goodaire e Parmenter provocam os leitores com o título do primeiro capítulo de seu livro D. M. with Graph Theory (1998, ISBN 0-13-092000-2), "Yes! There are Proofs!".

Provocações à parte, antes de brincar mais um pouco com notação, vou tentar fechar um entendimento para alguns conceitos deveras confusos, porém necessários para abordarmos o assunto de forma inteligível para os leitores que não estão acostumados a lidar com processamento de linguagem natural: Denotação e conotação, definição extensiva e definição intensiva, cotexto e contexto.

Só que isso fica para as próximas postagens!

segunda-feira, 3 de janeiro de 2011

O que é computação?

Primeiramente, acho prudente explicar o que entendo por computação.

Como Dijkstra sabiamente comparou, o computador (enquanto máquina) está para a computação assim como o microscópio está para a biologia e o telescópio está para a astronomia (apud Braben ISBN-13: 978-0198522904).

Portanto, pode ser que o tanto que eu escreva sobre as máquinas computadores seja menos do que muitos leitores esperariam. Porém estarei sempre falando dos computadores enquanto entes abstratos.

Computação tem mais a ver com como são empregados os esforços mentais para resolver problemas, minimizar o efeito negativo da complexidade desses problemas no seu tratamento e principalmente evitar a complexidade artificial criada pela ignorância (desconhecimento) ou estupidez (no sentido de falta de inteligência).

Outra coisa que gostaria de colocar é a razão pela qual eu trato de forma computacional o pensamento humano.

Assim há dois aspectos que considero valiosos para a compreensão de como eu escrevo e sobre o que escrevo:

O primeiro aspecto, é o significado da palavra computador. Computador é aquele que computa, independentemente de sua natureza. Ele pode ser humano, animal ou eletrônico, isso é irrelevante. É dessa forma que Turing tratou o ente computador: "We may compare a man in the process of computing a real number to a machine", no seu artigo seminal "On computable numbers" onde nasce o famoso conceito da máquina de Turing.

Muito do que os antigos "magos", "paranormais" ou "mentalistas" faziam é aplicar conceitos da computação mental humana para explorar suas limitações e características "ocultas" (que não são empregadas ou percebidas normalmente). Keith Barry nos dá uma mostra divertida disso nesta palestra:





Ao se supor o cérebro humano como um computador, tanto suas fraquezas como seu potencial oculto são revelados.
Assim, o segundo aspecto é que eu gosto e uso os paradigmas da psicologia cognitiva.
A psicologia cognitiva é radicalmente diferente de outras abordagens da psicologia em duas linhas principais (Neulfeld e Stein, 1999, "As bases da psicologia cognitiva". Revista da Saúde – URCAMP – V.3 N.2 – jul/dez ):
  • Aceita o método científico positivista e rejeita a introspecção como método válido de investigação, contrariamente aos métodos fenomenológicos como a psicologia freudiana.
  • Contrariamente à psicologia comportamental, afirma a existência de estados mentais internos como o desejo e as motivações (conscientes ou inconscientes) e as crenças (sistema de suposições, consciente ou inconscientemente, individual ou coletivamente).
A abordagem cognitiva foi divulgada por Donald Broadbent no seu livro “Perception and Communication” em 1958 (Broadbent, 1958 ISBN-13: 978-0080090900). Desde então, o paradigma dominante na área foi o do processador humano de informação, modelo este defendido por Broadbent.

Abaixo temos a figura mais conhecida desse modelo:

Nesse quadro de pensamento, considera-se que os processos mentais são comparáveis aos softwares executados em um computador que, neste caso, é o cérebro. Esta teoria toma o computador como metáfora e utiliza-se da nomenclatura usada na computação para referenciar os processos mentais dos indivíduos humanos, retormando o conceito seminal do Turing.

Al Seckel nos apresenta em sua palestra algumas das clássicas armadilhas cognitivas do processador humano de informações:






Comparar um humano com uma máquina pode ser chocante para algumas pessoas, mas é bastante útil para outras. Os modelos biológicos usados pela medicina são todos baseados em analogias de máquinas, desde alavancas simples a sofisticadas bombas de sódio-potássio.

Segundo Newell (1987 ISBN:0-674-92099-6), descrever um sistema qualquer como um “sistema de conhecimento” é apenas uma das alternativas existentes. Essa é uma escolha pragmática, que depende da intenção de quem escolhe. No Ars Computatio, esta é a minha escolha.

Portanto não é ruim lembrar aos desavisados que o mapa não é a estrada, mas apenas uma representação da mesma.