Francis David

Tecnologia, Ciência e Sociedade

Rede Neural Artificial - parte 1

Filed under: Inteligencia Artificial — fdavid at 2:20 am on Monday, May 28, 2007

ai.jpg

Introdução
O cérebro humano é formado por milhôes de células que possuem como principal propriedade a capacidade de se intercomunicar rapidamente via correntes iônicas.

Utilizando modelagem computacional tentamos reproduzir o funcionamento dos neurônios biológicos e assim criar instrumentos para o desenvolvimento da inteligência computacional.

Não falta material na internet sobre inteligência artificial ou sobre os diversos tipos de redes neurais (uma técnica de IA), entretando imensa maioria foca os aspéctos teóricos ou técnicas normalmente demonstradas por expressões matemáticas.

Este documento visa uma abordagem mais prática, com exemplos reais e não só algoritmos e expressões matemáticas (não deconsiderando a impontâncias de ambos), porém para uma maior abrangência sobre os pontos teóricos e históricos sugiro a Wikipedia.

Clique aqui para fazer download do documento.

Formatação da data

Filed under: Kylix, Delphi, Dicas, Lazarus — fdavid at 1:30 pm on Friday, May 25, 2007

lazdeky.jpgVocê precisa fazer a máscara de um campo tipo data, automaticamente você utiliza a “/” como separador (padrão no Brasil), quando vai instalar no cliente dá a mensagem “Invalid date format” porque o usuário configurou o “.” como separador de data.

Para obter qual o separador que esta sendo utilizado basta utilizar as variáveis internas que retorna um char com o caracter.

var DateSeparator: Char;
var TimeSeparator: Char;
var DecimalSeparator: Char;
var ThousandSeparator: Char;


entre outros, consulte a unit SysUtils para saber mais.

Alterando campos no Firebird

Filed under: Firebird, Dicas — fdavid at 3:16 pm on Wednesday, May 23, 2007

fb2min_logo.jpg

Apesar de muito procurar não consegui encontrar um método para alterar um campo de NULL para NOT NULL sem utilizar os objetos internos do Firebird.

Para isso é necessário:

UPDATE RDB$RELATION_FIELDS SET RDB$NULL_FLAG = 1
WHERE RDB$RELATION_NAME = ‘tablename’ AND
RDB$FIELD_NAME = ‘fieldname’ ;

onde: 0 NULL e 1 NOT NULL
Outras alterações na tabela são possíveis sem tanto trabalho, como por exemplo:

Alterar o tipo de um campo:

ALTER TABLE tablename ALTER fieldname TYPE typefield;

Mas atenção, o Firebird não permite alterações que possam resultar em perda de dados, se um campo é VARCHAR(50) não é possivel reduzi-lo, ai não tem jeito precisa excluir e recriar.

ALTER TABLE tablename DROP fieldname;
ALTER TABLE tablename ADD fieldname typefield;

Ao contrario do que muitos pensam o MODIFY não funciona no Firebird, pelo menos na versão 2.0.

Dicionário no Firefox

Filed under: Firefox — fdavid at 7:56 am on Sunday, May 20, 2007

firefox_logo.jpg

Em meus tempos de Windows utilizava o Babylon Translation, entre varios recursos utilizava mais a tradução de palavra, pois retorna muitas outras informações o que facilitava e muito uma tradução, com certeza foi o dicionário mais completo que já utilizei.

O tempo passou, a licença do Babylon (sempre usei versão trial) vivia expirando e eu começei a utilizar Linux, neste testei alguns dicionários mas o resultado nunca foi satisfatório, passei a pesquisar na web usando Google Translate, que também não é muito exato quando se traduz uma palavra isolada, mas faz traduçôes de textos on-line e isso que me fazia ficar com ele.

Quando o Google não dava conta do recado, corria para as versões on-line do Babylon:

Quem usa qualquer dicionário on-line sabe que a produtividade é prejudicada com eles, você tem que ficar copiando e colando a palavra, isso quando não tem que ficar remarcando opções de tradução.

O que proponho neste documento é utilizando o Firefox selecionar uma palavra e traduzi-la utilizando o Babylon, que na miha opnião é o melhor, mas o processo pode ser utilizado para outros dicionários on-line.

(Read on …)

Exemplos GTK tem C

Filed under: C, GTK, Dicas — fdavid at 12:00 pm on Friday, May 18, 2007

gtk-logo-rgb.gif

Como não utilizo o Gnome (que nem faz mais parte do Slackware) estava verificando se tinha algo para customizar a GTK assim como o QT tem o kcontrol, olhando os pacotes da GTK encontrei um software muito interessante.

$ /usr/bin/gtk-demo

Exibe uma listagem de varios widgets GTK que podem ser executados e ter seu código fonte visualizado, como estou com um projeto acadêmico em C usando GTK, isso foi uma mão na roda.

gtkdemo.jpg

Next Page »