quinta-feira, 28 de janeiro de 2016

Computação na antiguidade e renascença

Um assunto que nunca vejo tratado é a computação na antiguidade. Esse é, seguindo a nossa tradição, um assunto espinhoso.
Para tornar a nossa argumentação um pouco mais compreensível, vamos recapitular três conceitos:
  1. Primeiro, Niklaus Wirth coloca que programa = algoritmo + estrutura de dados.
  2. Segundo, os algoritmos de busca e ordenação são uma classe especial e muito tratada de problemas computacionais, tanto que o assunto "estrutura de dados e seus algoritmos" é em muitos casos um curso à parte.
  3. O Terceiro e último conceito é o pensamento mágico. Ele é complexo e envolve muito dos algoritmos ocultos no cérebro humano que definem muito daquilo que usualmente é denominado humanidade, porém esmiuçar esses algoritmos não é o nosso objetivo no presente momento.

Por essa razão vamos apenas riscar a superfície desse assunto, expondo o suficiente para os objetivos desta postagem. Vamos escrever um pouco sobre figuras. Como destacou Ernest Hans Gombrich no seu famoso livro "História da Arte", inicialmente todas as figuras e representações eram "mágicas". Ainda hoje, a maioria das pessoas tem pensamento mágico em relação a figuras. Uma evidência disso pode ser obtida facilmente com um experimento em si mesmo: Fure com a ponta seca de um compasso textos de uma página de jornal; Observe o sentimento que este ato lhe causou. Isso feito, agora fure os olhos de fotos das páginas de um jornal e observe se o sentimento é o mesmo. Todo ser humano normal ficará incomodado ao furar os olhos das fotografias, apesar de saber que são apenas manchas de tinta na folha, da mesma forma que os textos o são.

 Isso expõe o fato: apesar de nossa aparente modernidade, ainda somos primitivos o bastante para sermos afetados pela "magia" de uma figura.

Com estes conceitos em foco vamos abordar alguns dos aspectos da computação na antiguidade.

Tanto na antiguidade assim como hoje em dia, a maior parte dos problemas computacionais são de armazenamento, recuperação, ordenação e busca de dados (The Art of Computer Programming: Volume3: Sorting and Searching). Apenas que no passado, o melhor computador disponível para processar dados era o próprio cérebro humano. Esse processamento recebia a denominação desde "técnica" ou "arte" até "magia".

 Aqui no "Ars Computatio" vamos deixar de lado as especulações místicas e religiosas e nos ater apenas ao aspecto computacional dessas "Artes" nos textos e episódios que abordaremos.

Através do conhecimento de "bons" algoritmos e processos mentais é possível utilizar procedimentos para se ter acesso às capacidades ocultas para a maioria das pessoas.

           Como Frances A. Yates escreveu no prefácio do livro "The Art of Memory":


"Apenas algumas pessoas sabem que a arte da memória, entre as muitas artes que os gregos inventaram, foi transmitida para Roma, a partir da qual entrou na tradição européia". Ela busca a memorização por meio de um artifício de registrar "lugares" (θέσεις - Théseis) e "imagens" εικόνες - eikónes) na memória... ... Antes da invenção da imprensa, a memória treinada era de vital importância, e essa manipulação da memória deve modificar a psique como um todo."

 A "Arte" em questão utilizam um arcabouço de técnicas e recursos para fazer isso, dando ao seu usuário "poderes", estes ao ver de muitas pessoas “mágicos”.
Rememoração completa dos fatos e textos, raciocínio relâmpago, aparente telepatia e premonição, como descrito no "Rhetoricaad Herennium" atribuído a Cícero: 

"Marcus A. Seneca podia repetir mais de duas mil palavras na ordem que haviam sido enunciadas, e se fossem versos, recitá-los de trás para frente, do último ao primeiro, sem esforço aparente."

Nas definições, Cícero nos dá mais pistas úteis:
"A prudência é o conhecimento das três classes de coisas, as que são boas, as que são más, e as que não são nem uma nem outra. Suas partes são a memória, a inteligência e a providência”
...
Memória é a faculdade pela qual a mente relembra; a inteligência é a faculdade pela qual a mente averiguá aquilo que é, e a providência é a faculdade pela qual se compreende ou antecipa algo que acontecerá antes que ocorra”.

Podemos assumir que para a maioria dos humanos essas capacidades não apenas são úteis, mas desejáveis, e ainda hoje possuem caráter "mágico".

Todas essas técnicas ou artifícios se baseiam no estabelecimento de uma estrutura de dados explícita, muitas vezes representada por um diagrama, uma sala ou um edifício.

"Constat igtur artificiosa memoria ex cocis et imaginibus" - A memória artificial é estruturada na mentalização (ligação imaginária, associação em locais da memória), escreve Cícero na obra citada.

Em termos mais atuais, uma vez estabelecida a estrutura de dados, o usuário popula a mesma com os atributos desejados e aprende alguns algoritmos básicos, e "compila" os referidos algoritmos e essa "base de dados" em "programas". Com essa "compilação", uma forma particular de transferência dos programas para o subconsciente, os mesmos podem ser usados de forma automática e transparente, como fazemos com os programas de direção automobilística. Por fim o usuário pasa a poder criar os seus próprios "programas" sobre a base de dados que passou a ter.

Na página 292 do livro “the art of memory” vemos uma referência interessante sobre isso:

Os esforços para conciliar os sistemas de memória classicos e o llullismo com suas figuras e letras continuaram a crescer no séc XVI.
Esse problema só pode ser comparado ao interesse de hoje (1962) pelos cérebros eletrônicos.
...
Seria de se esperar que um especialista em memória como Giordano Bruno inventasse (a tão almejada) máquina de memória universal. Tendo formação dominicana e sendo profundo conhecedor do llullismo, era o especialista que melhor estava preparado para resolver o problema.”

Há riqueza e diversidade nesses programas, e os grupos que os desenvolveram se mostravam bastantes ciumentos de sua divulgação [“ars reminiscendi”] . Esse foi o caso dos Dominicanos que acabaram por queimar vivo Giordano Bruno pelo uso e divulgação de seu "software" proprietário.

Oportunamente postaremos mais sobre esses curiosos e interessantes algoritmos cerebrais.

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.