Tribo do C.I. Podcast – Episódio #007 – Porque Festa de Nerd é Evento de TI

E aí Galera, beleza? É com grande alegria que a Tribo do CI publica ao mundo o 7º episódio do PodCast Tribo do C.I. Neste episódio, como prometido,  fizemos uma entrevista com o Joelias Júnior, que organizou o FLISOL-2010 e está organizando o FGSL7. Quem o entrevistou foi Sebastião Relson, porém este podcast tem a participação de Sheldon Led, contando sobre sua viagem para a latinoware, e Alemão que teve uma participação mais tímida. Espero que gostem, comentem e mande-nos e-mails.

Para divulgar, utilize esta url encurtada: — http://relink.ws/NEbb

Este Podcast é um oferecimento:

Foi falado no podcast:

Até o Próximo

Linguagens formais e Autômatos – 1

Teoria das linguagens Formais foi desenvolvida por volta de 1950 para desenvolver teorias relacionadas às linguagens naturais, porém viu-se que estas teorias também eram aplicáveis às linguagens artificiais, originárias da Ciência da Computação. Desde então houve um desenvolvimento significativo da Análise Léxica, Sintáxe de linguagens de programação, modelos de sistemas biológicos e, recentemente, até mesmo no tratamento de linguagens não-lineares, como Planares, Espaciais e n-Dimensionais.

A sintaxe trata das propriedades livres da linguagem, como por exemplo a verificação gramatical de programas, já a semântica é voltada à interpretação de uma linguagem, como por exemplo um significado ou valor para um determinado programa. Atualmente, a teoria da sintaxe possui construções matemáticas bem definidas e universalmente reconhecidas, como por exemplo as Gramáticas de Chomsky.

Uma linguagem de programação pode ser vista de duas formas:

  • Uma entidade livre, ou seja, sem qualquer significado associado;
  • Uma entidade juntamente à uma interpretação do seu significado;

Os formalismos das  linguagens lineares abstratas podem ser classificados nos seguintes tipos:

  • Operacional: Também conhecido como Reconhecedor, define-se um autômato ou uma máquina abstrata, baseada em estados, em instruções primitivas e na especificação de como cada instrução modifica cada estado.
  • Axiomático: Também conhecido como Gerador, associam-se regras às componentes da linguagem.
  • Denotacional: Também conhecido como Funcional, define-se uma função que caracteriza o conjunto de palavras admissíveis na linguagem.

Visto que estes formalismos são aplicados à qualquer modelo matemático, as bases que tomamos para iniciar o estudo das linguagens formais também são conhecidas da matemática convencional, são eles: A teoria dos Conjuntos, relações, funções, Lógica e Técnicas de Demonstração, bem como os conceitos de Alfabeto, Palavras, Linguagens e Gramáticas.

  • Conjunto: É uma coleção de zero ou mais objetos distintos, denominados Elementos do conjunto. Um elemento é uma entidade básica a qual não é definida formalmente. As operações dos conjuntos são: União, intersecção, diferença, complemento, conjunto das partes, produto cartesiano. Tais operações não serão detalhadas neste artigo.
  • Relações: É um subconjunto de um produto cartesiano. Existem quatro tipos de relações: Reflexiva, Simétrica, Antissimétrica, Transitiva.
  • Funções: É uma relação onde cada elemento do domínio está relacionado com, no máximo, um elemento do contra-domínio. Existem funções Injetoras, Sobrejetoras e Bijetoras ou Isomórficas.
  • Lógica: A lógica aqui tratada é referente à Lógica Booleana, que estuda os princípios e métodos usados para distinguir sentenças verdadeiras ou falsas.
  • Técnicas de Demonstração: Dado um teorema, partimos do ponto em que descobrimos hipótese e tese, então utilizamos técnicas para comprovar que a hipótese implica a tese. As principais técnicas de demonstração são:
    • Prova Direta: Simplesmente pressupõe verdadeira a hipótese e, a partir desta, prova ser verdadeira a tese.
    • Prova por Contraposição: parte do resultado que se A=>B então B=>A
    • Prova por Redução ao absurdo: Em latim, Reductio ad Absurdum, pressupõe falsa a hipótese, se não conseguir provar sua falsidade, portanto o teorema é verdadeiro.
    • Prova por indução: uma tese base é provada e uma regra de indução é usada para provar uma série de outras teses.
  • Alfabeto: É um conjunto finito de Símbolos, portanto pode ser um conjunto vazio.
  • Palavra: É uma seqüência finita de símbolos (do alfabeto) justapostos.
  • Gramáticas: É uma quádrupla ordenada G = (V,T,P,S) onde 
    • V: Conjunto finito de símbolos variáveis ou não-variáveis;
    • T: Conjunto finito de símbolos terminais disjuntos de V;
    • P: Conjunto finito de pares, denominados regras de produção tal que a primeira componente é palavra de (V U T)+ e a segunda componente é palavra de (V U T)*;
    • S: Elemento de V denominado variável inicial.

Com estes conceitos básicos podemos passar para o estudo das Linguagens Regulares

Google pai dos burros?

Google está de olho em você

Há alguns anos, quando tenho alguma dúvida em como escreve-se corretamente certa palavra, eu apenas digito da maneira que acho correto na caixa de pesquisa do Google e ele analisa se está certo. Caso esteja errado, simplesmente irá aparecer um “Você quis dizer: <jeito certo>“. Isso funciona na maioria das vezes, exceto quando existe muito conteúdo na web escrito com a palavra errada. Veja, clicando, um exemplo que dá certo e um exemplo que dá errado!

voce-quis-dizer-bicicleta-google

 

Existem muitas piadas que brincam com as tecnologias Google, e realmente, o Google nos impressiona cada dia mais. Há um bom tempo atrás, a revista Época teve como reportagem de capa o Google, e na reportagem ensinava-se técnicas para uma pesquisa mais eficiente. Hoje praticamente você faz a pergunta na caixa de pesquisa e aparecem conteúdos respondendo-a. Parece que é mágica, mas é pura tecnologia. Em se tratando do exemplo do “Dicionário” que o Google virou, nos perguntamos como ele consegue isso? O que está por trás dessa mágica? Bom, não vou ser o Mister M da vez, explicando detalhadamente sobre o assunto, mas essa façanha acontece por causa do uso de Metadados, e Web Semântica, além dos robots do Google, que varrem a internet. A respeito desse último, ele pode ser explicado de maneira bem simples no vídeo abaixo, que fala sobre como funciona o Google Tradutor (outra mágica do Google).

Falando em Google tradutor, veja aqui alguns serviço extras que ele faz. É isso que esperamos de uma empresa de inovação, que ela crie conceitos, sugira idéias, forme opiniões, enfim, que faça parte da vida de cada um. Hoje eu utilizo vários serviços Google, e o principal deles é o de pesquisa, pois tudo que ouço falar, eu dou uma googlada para saber um pouco mais, afinal, se não está no Google, não existe!!!