sexta-feira, 9 de novembro de 2007

Distributed Systems - Sistemas Distribuídos

O que é que isto vos faz lembrar? Alguém? Ninguém? Eu? Está bem…faz-me lembrar Corba! ‘Cooorba?!’ Sim, isso! Porque nos tempos auges da faculdade, para estudar a concepção de aplicações distribuídas tínhamos de aprender esta arquitectura! Um autêntico pesadelo! Mas vamos ao que interessa…

O que é realmente um sistema distribuído?

Basicamente, é um conjunto de computadores ligados em rede, com software que permita a partilha de recursos e a coordenação de actividades, possibilitando um ambiente integrado.

O Nascimento desta arquitectura:

No final dos anos 1970s CII – Honeywell e Honeywell da Bull Information Systems realizaram um esforço de modo a projectar uma arquitectura que pudesse competir com a IBM SNA, mas com uma maior flexibilidade.

Honeywell tinha elaborado um anteprojecto de uma arquitectura distribuída chamada HDSA (Honeywell Distributed System Architecture), que tinha por objectivo renovar a Series 60, uma linha de produtos que foi anunciado em 1978 com um sufixo DPS. Foi pensado como uma alternativa para IBM's SCN, a partir da analogia ao "o outro computador da empresa".

A CII – HB, que participou nesse projecto foi inspirado pelo anterior CII investimento em NNA (New Network Architecture), aproximou-se significativamente do mercado HDSA. A CII – HB e a Honeywell, que desenharam a arquitectura de uma forma muito activa, respectivamente, em ECMA e ANSI – padronização de comissões em ISO/normas OSI (Open Communications System).

Esse esforço foi dado o nome de DSA – Distributed System Architecture; Ele abarcariam as estritas funções de rede e foi projectado para ser estendido em BD’s distribuídas e em aplicações.

Características (vantajosas, obviamente) de um sistema distribuído:

  • Partilha de Recursos
  • Hardware: impressoras, discos, etc;
  • Dados – ferramentas de trabalho cooperativo; bases de dados;
  • Interfaces;
  • Motiva o modelo cliente-servidor.
  • Abertura
  • Extensibilidade de software e hardware, com possível heterogeneidade;
  • Obtida especificando e documentando interfaces;
  • Possui mecanismos uniformes de comunicação entre processos.
  • Concorrência
  • Vários utilizadores podem invocar vários comandos simultaneamente;
  • Um servidor deve responder concorrentemente a vários pedidos;
  • Vários servidores correm concorrentemente, possivelmente na resolução de pedidos.
  • Escalabilidade
  • O software pode ser pensado de modo a funcionar em grandes sistemas nem necessidade de mudança;
  • Devem ser evitados algoritmos e estruturas de dados centralizados.
  • Tolerância a faltas
  • Faltas em elementos de processamento e comunicação;
  • Solução pode passar por redundância de hardware e replicação de servidores/serviços;
  • Motiva paradigmas mais avançados do que o cliente-servidor. Exemplo: comunicação em grupo, algoritmos de acordo, transacções;
  • Em sistemas de distribuídos a disponibilidade perante a faltas pode ser maior do que em sistemas centralizados, mas exige uma maior complexidade do software.
  • Transparência
  • O sistema deve ser visto como um todo e não como uma colecção de componentes distribuídos;
  • Exºs de transparência: acessos, localização, concorrência, replicação, falhas, migração, desempenho, escalabilidade.
Desenho lógico e físico de um sistema distribuído:

Aplicações Integradas:

  • Middleware de BD (SQL, ODBC);
  • Middleware de Aplicação;
  • Middleware de WEB (CGI, ActiveX, Java);
  • Remote Procedure Call (RPC);
  • Middleware Orientado à Mensagem;
  • Monitores de Processos de Transacção;
  • Middleware Orientado aos Objectos (por exemplo em arquitecturas RMI, SOAP e…CORBA!).

Problemas de Gestão e Árvores de Decisão

Imaginemos uma empresa que como todas as empresas quer aumentar as suas vendas, esta empresa quer decidir de que forma o vai fazer e pensou em 2 formas de conseguir atingir o seu objectivo:
  • Aumentar o Preço do seu produto em x%;

  • Alargar a zona de intervenção da empresa, recorrendo à construção de um entreposto comercial noutra região.
Estudos de mercados efectuados a esta empresa concluíram que existe associada a cada uma destas estratégias uma probabilidade de sucesso e de insucesso.

A Probabilidade de Sucesso de aumentar o preço estaria dependente do sucesso de uma campanha promocional que faria com que a alteração prevista fosse aceite e foi estimada ser W.

A probabilidade de Sucesso de alargar a zona de intervenção da empresa estaria dependente de esta vir a actuar sozinha no mercado e foi estimada ser Z.

Qual a decisão que esta empresa deve de tomar?

Este problema pode ser representado pela árvore de decisão abaixo:A Decisão que a empresa iria tomar seria escolher a estratégia que maior valor global apresentasse, no entanto, podemos ainda considerar a situação de que a empresa não é indiferente ao risco, como no caso apresentado mas sim aversa ao risco, para este caso as alterações que teriamos na nossa árvore de decisão seriam nada mais do que atribuir a cada um dos ramos da estratégia uma ponderação que reflectisse esse comportamento como por exemplo, atribuir uma ponderação de 0,3 á estratégia com maior risco, isto é com maior P(I) vs uma ponderação de 0,7 á estratégia com menor P(I) e incluir esse valor no apuramento do valor global das estratégias antes de se proceder à comparação dos mesmos.

quinta-feira, 8 de novembro de 2007

Eu Integro, Tu Integras, Ele integra e NÓS INTEGRAMOS!!!

No seguimento do título em epigrafe deste tomo, segue a conjugação do verbo juntar:
  • Eu junto
  • Tu juntas
  • Ele junta
  • Nós juntamos
  • Vós juntais
  • Eles juntam

Mas afinal juntamos o quê? Onde? Porquê? COMO?? Tenho alguma vantagem em juntar dados senão tiver um contexto para tal? O conceito de integrar está directamente relacionado com o conhecimento, ou seja, apenas me interessa integrar os dados que me são úteis e de teor válido num determinado âmbito para que o meu output – a informação – me seja correctamente devolvida!

Para uma empresa, integrar os dados de negócio permite transformar em informação de negócio prática e atempada para garantir tomadas de decisão fundamentadas, e deste modo executar acções direccionadas e garantir resultados sólidos.

sexta-feira, 2 de novembro de 2007

Isto é FUZZYdo!!!

Lógica Fuzzy!!! Não, Difusa!!! NÃO, VAGA!!! C'o a breca...

Com este tópico pretendo descrever a Lógica Fuzzy e os Sistemas Baseados neste lógica, mas sem entrar em grandes preciosismos, já que pretendo permanentemente actualizar e melhorar as descrições dos conceitos deste humilde blog.

Antes de mais, realço que vou descrever esta lógica como Lógica Fuzzy (LF), pelo que também podem referir-se a lógica difusa ou lógica vaga (como acharem mais fashion). Vamos a alguns exemplos banais desta lógica? Pois bem:


          • O copo que este fulano segura (à esquerda) está meio cheio ou meio vazio?

  • Uma pessoa com 75 Kg é gorda ou magra?
  • A Taxa de risco para um determinado empreendimento é grande ou pequena?
  • 25º é considerada uma temperatura elevada ou baixa?
O que podemos deduzir com estes exemplos:

Que muito do nosso conhecimento pode ser encarado como absolutamente certo, mas no entanto, e talvez sem nos darmos conta, a maior parte do conhecimento humano envolve informação de teor vago, ambíguo, incompleto e impreciso! Mas quando é que consideramos que algo é impreciso…? Simples, quando se pretende caracterizar algo em que a definição não é precisa ou rigorosa.

O nascimento da Lógica Fuzzy (LF):

Dr. Lotfi A. Zadeh, da Universidade da Califórnia, em meados da década de 60, observou que os recursos tecnológicos disponíveis na altura seriam incapazes de automatizar as actividades relacionadas com problemas de natureza industrial, biológica ou química, que compreendessem situações ambíguas. Zadeh compreendeu então que não seria possível resolver estes problemas através da lógica computacional. De modo, para solucionar estes problemas, decide publicar um artigo em que descreve a lógica fuzzy.

E como representar esta lógica?

Provavelmente, a representação é que pode gerar mais entropia, mas eu passo a explicar:

A semântica da LF recorre a conjuntos vagos. Isto quer dizer que, as proposições da LF têm um grau de verdade no intervalo contínuo [0,1], e NÃO no intervalo binário (0’s e 1’s da tabela ascii representando [true,false]), pois logicamente que a mente humana não raciocina dessa forma. Entre o Sim ou o Não, existem inúmeras possibilidades de outras respostas – imprecisão do ser humano.

Podemos igualmente distinguir as proposições de LF em simples e compostas. A proposição simples tem o formato de que x pertence ao conjunto A (x is A), em que x é uma variável e A é um conjunto vago. E composta, quando obtemos a combinação de proposições simples usando conectivas vagas correspondentes às conectivas de primeira ordem, por exemplo, a disjunção, conjunção e implicação vagas. Existem 15 implicações vagas distintas, mas como referi no início, ‘sem entrar em grandes preciosismos’ (já que posteriormente vou fazer um ‘drill-down’ a este tópico). Vamos então admitir dois exemplos, em que no primeiro temos um pequeno universo com um pequeno número de elementos – representação analítica matricial, e no segundo temos um grande universo ou um universo contínuo – representação gráfica.

1º Ex.:

O exemplo seguinte mostra as funções de pertença dos conjuntos vagos "heavy smoking" e "high risk of cancer", e a matriz que representa a função de verdade da implicação (smoking is “heavy smoking”) --> (risk is “high risk of cancer”) para a relação de implicação u /\ v.

Heavy Smoking: {0/0.0, 2/0.1, 4/0.6, 6/0.8, 10/1.0} em que 0, 2, 4, 6 e 10, é o número de cigarros por dia;

High Risk of Cancer: {0/1, 2/0.2, 3/0.7, 4/0.9, 5/1.0}, em que os valores 1 a 5 representam a escala do risco de cancro.


Risco

Nº de Cigarros


1

2

3

4

5

0

0.0

0.0

0.0

0.0

0.0

2

0.0

0.1

0.1

0.1

0.1

4

0.0

0.2

0.6

0.6

0.6

6

0.0

0.2

0.7

0.8

0.8

10

0.0

0.2

0.7

0.9

1.0

Nesta matriz podemos observar o grau de verdade da implicação [u /\ v], "heavy smoker"-->"high risk of cancer".

No 2º exemplo, vamos considerar que pretendemos monitorizar e controlar a temperatura de um determinado ventilador:
  • Universo de discurso da temperatura: -10º, 0º, 10º, 20º, 30º e 40º;
  • Variável vaga: Temperatura;
  • Valores (conjuntos) vagos (i.e., quantização vaga da temperatura): muito frio, frio, quente e muito quente;
  • Universo de discurso da velocidade do ventilado: 0, 20, 40, 60, 80 e 100;
  • Variável vaga: Velocidade do ventilador;
  • Valores (conjuntos) vagos (i.e., quantização vaga da velocidade): parada, devagar, média e rápida.
Representação gráfica da variável temperatura:
Representação gráfica da variável velocidade (do ventilador):
As nossas regras vagas (que determinam a velocidade do ventilador):
  1. If (temperatura is muito_frio) then (velocidade is zero)
  2. If (temperatura is frio) then (velocidade is baixa)
  3. If (temperatura is quente) then (velocidade is média)
  4. If (temperatura is muito_quente) then (velocidade is alta)
Então o processo de fuzzificação, responsável por projectar o input exacto nos conjuntos vagos envolvidos nas condições das regras vagas e determinar o seu grau de pertença em cada um desses conjuntos, permite a seguinte representação:
Sendo assim, 20ºC. é considerado 70% ‘Fria’, e 30% ‘Quente’. Mas se pretendermos que a temperatura fique ‘quente’, devemos activar a regra nº 3 (enumerada acima).


Quais as ilações
que podemos tirar com este tomo tão peculiar e nada exaustivo, sobre a lógica fuzzy, e aplicar esta ferramenta ao controlo de variáveis imprecisas na contribuição da tomada de decisões por meio da inteligência artificial?


- Na selecção de um perfil adequado para a ocupação de um posto de trabalho, com base nas competências e habilidades individuais. A LF poderá auxiliar a reduzir o grau de incerteza na tomada de decisão, ao reduzir o grau de incerteza dos resultados esperados de cada indivíduo;

- A proposta da utilização da LF na organização permite a potencialização do conhecimento estratégico, na medida em que reduz a inconsistência do conhecimento explícito;

- A tomada de decisão baseada na gestão da tecnologia e inovação, orienta-se pelos parâmetros de invenção e inovação. A LF permite identificar quais as atitudes que podem levar o saber ao fazer e auxiliam na identificação das acções que devem ser executadas;

- A LF na tomada de decisão permite igualmente identificar intervalos possíveis na solução de um problema, através da representação de funções que têm como parâmetros símbolos ou números limitados, possibilitando desta forma, a eliminação de informação de teor discrepante.

quinta-feira, 1 de novembro de 2007

Árvore de Hierarquia dos Objectivos


Modelo de Decisão do Case Study...'A Cadeira de SIAD'


Funções e Indicadores

As áreas de Economia e Gestão contêm inúmeras discussões sobre as relações entre variáveis, tais como:
  • Quantidade e Preço;
  • Consumo e Rendimento;
  • Procura de Moeda e Taxa de Juro;
  • Publicidade e Vendas.

Para conhecermos o comportamento dessas variáveis e a forma como se relacionam, a matemática e estatística andam de mãos dadas para nos ajudar nessa tarefa!
O recurso a funções matemáticas permite-nos, de forma intuitiva, ver estas relações e, desta forma, inferir e alterar controladamente o valor de uma variável em seguimento dos nossos objectivos, para a outra.

Exemplos de Funções Matemáticas:

De seguida, podem ver o aspecto das diversas funções, sendo que do lado esquerdo para um b > 0, e do direito b <>


Indicadores de Gestão

Indicadores de equilíbrio financeiro

Imobilização dos Capitais Permanentes = Capitais Permanentes / Imobilizado Líquido
Mede a cobertura das aplicações em capital fixo por capitais permanentes.
Este rácio deverá, em princípio, ser superior à unidade, o que refere a existência de fundo de maneio positivo. Poderá assumir valores inferiores à unidade, denunciando a existência de fundo de maneio negativo o que leva a reflectir sobre o equilíbrio financeiro da empresa.
A diferença entre os valores apresentados no numerador e no denominador representa o fundo de maneio.

Capacidade de Endividamento = Capitais Próprios / Capitais Permanentes
Este rácio mede a capacidade de endividamento a médio e longo prazo.
Quando o seu valor é 0.5 os capitais alheios estáveis são iguais aos capitais próprios, o que revela um limite à capacidade de endividamento a médio e longo prazo.

Autonomia Financeira = Capitais Próprios / Capitais Alheios Estáveis
Este indicador traduz a capacidade de contrair empréstimos a médio e longo prazos, suportada pelos capitais próprios. A capacidade esgota-se quando o rácio é igual à unidade, ou seja quando o passivo a médio e longo prazo iguala os capitais próprios.

Solvabilidade =
Capitais Próprios / Capitais Alheios
Avalia a capacidade da empresa para solver as responsabilidades assumidas a médio, longo e curto prazos. Este indicador evidencia o grau de independência da empresa em relação aos credores; quanto maior o seu valor, mais garantias terão os credores de receber o seu capital e maior poder de negociação terá a empresa para contrair novos financiamentos.
No entanto, a capacidade da empresa de amortizar as suas dívidas deverá, também, ser analisada numa óptica de curto prazo, utilizando os indicadores e a análise dos fluxos financeiros (cash-flow).


Indicadores Financeiros

Endividamento = Capitais Alheios / (Capitais Próprios+Capitais Alheios)
Esta relação indica o grau de endividamento da empresa. Inclui nos capitais alheios os empréstimos obtidos a médio e longo prazos (capitais alheios estáveis), os empréstimos obtidos a curto prazo e todos os créditos de exploração e extra-exploração (passivo circulante). Os capitais totais correspondem ao activo total, ou seja, integram os capitais próprios e os capitais alheios.


Coeficiente de Dependência = Capitais Alheios / Capitais Próprios
Trata-se de um indicador que é o inverso da solvabilidade e que, da mesma forma, avalia a capacidade da empresa para solver as responsabilidades assumidas.

Estrutura
= Capitais Alheios Estáveis / Capitais Próprios
Corresponde ao inverso da autonomia financeira, o qual evidencia a capacidade da empresa para contrair empréstimos a médio e longo prazos.

Estrutura do Endividamento =
Passivo Circulante / Capitais Alheios
Este indicador fornece informações relativas à estrutura do endividamento no que respeita à relação entre o endividamento de curto-prazo (passivo circulante) e o total do endividamento da empresa.


Cobertura do Investimento =
Auto Financiamento / Activo Imobilizado
Mede a capacidade da empresa, através dos meios líquidos segregados no período, de cobrir os investimentos em activos fixos.

Índice de Autofinanciamento = Autofinanciamento / Capital Próprio
Este índice informa sobre o contributo das actividades em meios líquidos para suportar novos investimentos, ou seja, informa sobre a capacidade da empresa para potenciar o capital próprio e assegurar o crescimento com recursos próprios.


Liquidez Geral = Activo Circulante / Passivo Circulante
Dá informações sobre a cobertura do activo circulante pelo passivo circulante, tido por fonte de financiamento privilegiada da empresa. Sempre que possível deverá ser > 1, o que a não acontecer exige o recurso aos capitais permanentes para financiar a parte não coberta pelo passivo circulante.

Liquidez Reduzida = (Activo Circulante – Existências) / Passivo Circulante
A comparação da liquidez geral com a reduzida evidencia o peso das existências em relação ao restante activo circulante. Assim, a liquidez reduzida pressupõe que possa haver dificuldades no esgotamento das existências e inclusive vendas abaixo do preço de custo.

Podem igualmente referir outros indicadores ao nível da Gestão, por exemplo na Gestão de stocks:

  • Rotatividade média das matérias primas;
  • Rotatividade média de stocks.