quinta-feira, 8 de novembro de 2007

A complexidade nos sistemas

Deixo-vos aqui um trabalho sobre a complexidade nos sistemas, um dos temas de entretem para os faxineiros desta semana: eu e o Rui Norte :)

quinta-feira, 25 de outubro de 2007

Seven Methods For Transforming Corporate Data Into Business Intelligence - Principais ideias -



Principais ideias retiradas de cada capítulo

Método 1 : SAD orientados aos dados

Sabemos da importância dos dados para uma organização pois representam factos ocorridos algures no tempo e no espaço,factos que caracterizam o negócio e que a qualquer momento podem traduzir informação,conhecimento e sabedoria. O crescendo da complexidade dos negócios, a consequente explosão do volume de dados e as necessidades cada vez mais exigentes e rápidas de informação por parte dos gestores, obrigam à existência de sistemas que simplifiquem e facilitem o acesso à informação de negócio. Este capítulo dá particular ênfase ao papel dos sistemas OLAP e Datawarehouse como exemplos de respostas a estas necessidades. Realce para o facto da criação destes sistemas não estar dependente apenas dos dados corporativos mas também da perspectiva de negócio, das necessidades e nas questões que os utilizadores de negócio pretendem ver satisfeitas. As soluções de OLAP e DataWarehouse devem representar mecanismos que permitam não só integrar os dados corporativos como também permitir uma visão única e transversal da informação de negócio e facilitar o processo de tomada de decisão. Existe,portanto, um destaque neste capítulo relativamente à integração e alinhamento dos dados com o conhecimento do negócio.

Método 2: Soluções Evolutivas – Algoritmos Genéticos -

As necessidades cada vez mais rápidas de resposta aos problemas e o acréscimo da sua complexidade ,tal como referido anteriormente, torna necessária a aplicação de métodos que permitam satisfazer as questões de negócios lançadas pelo decisor em termos temporais cada vez mais rápidos e em níveis de qualidade e certeza cada vez maiores. Como técnica heuristica que é, este capitulo destaca a importância dos Algoritmos Genéticos (AG) como processo optimizador. Os AG representam não só uma forma de resolver problemas cuja resolução é desconhecida, como também de atingir soluções alternativas inesperadas. A optimização surge como um processo que, de acordo com diversos critérios ou medidas, permite combinar diversos componentes do problema com vista a reduzir o leque de potenciais soluções, facilitando a tomada de decisão. A sua utilização pode seguir duas vertentes: a matemática(por exº através da técnica da programação linear) e heuristica (por exº através dos algoritmos genéticos), constituindo pois, um mecanismo facilitador da decisão e da inteligência do negócio, ao ir de encontro (ou até mesmo superar) as expectativas do decisor naquilo a que ele definiu como óptimo para solução do seu problema. Dhar e Stein utilizam uma analogia muito interessante para os problemas de optimização. Um problema de optimização é visto como uma paisagem composta de montanhas e vales, em que as montanhas podem ser vistas como as boas soluções e os vales as piores. A tarefa da optimização consiste em percorrer a paisagem e encontrar as maiores montanhas. Este capitulo realça,portanto, a importância de mecanismos que permitam facilitar o processo de tomada de decisão em cenários complexos, permitindo uma triagem de alternativas e consequente redução de potenciais soluções, numa vertente de optimização.

Método 3: Simular o Cérebro pra resolver os problemas – Redes Neuronais –

A capacidade do nosso cérebro aprender é infinita! Recebemos constantemente um conjunto de inputs ou estimulos nas mais diversas situações aos quais damos resposta produzindo resultados. A relação entre estes estimulos pode conduzir a resultados já obtidos, a alterá-los ou a produzir novos resultados. As Redes Neuronais (RN) tornam-se também elas uma técnica facilitadora da tomada de decisão na medida em que o seu output resulta de um processo ciclico de aprendizagem,descoberta e ajustamento. A aprendizagem feita por uma RN pode,apartir dos dados, conduzir à obtenção do conhecimento, através da descoberta de padrões e da identificação de relacionamentos desconhecidos até então entre eles. Realce para a sua utilidade em situações onde se dispõe dos dados apropriados, mas não existe grande detalhe sobre o problema e as suas alternativas: A própria RN trata de as identificar e destacar. Destaca-se assim, a importância do reajustamento do processo de decisão e da aprendizagem que dele resulta, conduzindo a novas alternativas e ajustes no processo de tomada de decisão.

Método 4: Sistemas baseados em regras

Os Sistemas Baseados em Regras (SBR) usam conhecimento prévio para resolver problemas, baseando-se na lógica booleana e em regras do tipo “IF-THEN” para estabelecer a veracidade ou falsidade das assertações. Um SBR é um modelo que expressa o seu conhecimento em termos de regras explicitas. Grande parte dos problemas de negócio são baseados em regras, isto porque as regras para além de representarem itens de conhecimento, permitem criar uma abstracção do negócio reduzindo a complexidade do espaço dos problemas. É vantajoso usar um sistema do tipo SBR quando se consegue especificar com confiança vários itens de conhecimento que indicam quais as acções a tomar em situações especificas. Por exemplo, o processo de atribuição de um empréstimo bancário é resultante da avaliação de um conjunto especifico de critérios.Antes do processo estar concluido, o decisor muitas das vezes está em condições de especificar com um alto grau de confiança qual o seguimento a dar ao processo. A maior parte do tempo de desenvolvimento de sistemas SBR ocorre na aquisição de conhecimento pois as interacções entre variáveis só começam a emergir à medida que os sistemas evoluem. Uma das formas de diminuir este tempo consiste na utilização de dados históricos associados ao problema. Este capítulo realça a importância do conhecimento tácito no processo de decisão e no potencial deste tipo de conhecimento em conjugação com regras.

Método 5: Lidando com a ambiguidade linguistica: a lógica fuzzy

A lógica fuzzy é um método racional que permite criar descrições parciais ou incompletas das regras, descrevendo um processo linguisticamente e traduzindo-o em poucas e flexiveis regras. Na maioria dos casos, as regras apresentam-se claras e bem definidas, mas existem muitas situações onde isso não acontece e recorre-se a aproximações para categorizar os eventos. Por exemplo, podemos dizer que uma pessoa que ganhe mais que 50.000€/ano é muito bem paga, ou seja estamos a generalizar. Entre uma pessoa que ganha 50.001€/ano e outra que ganha 90.000€/ano ambos seriam considerados muito bem pagos, mas um facto é que a última pessoa seria considerada muito mais bem paga que a primeira. E uma pessoa que ganhe 49.999€ não é ela também bem paga? Ou seja, a questão do ser muito paga torna-se uma noção fuzzy. A lógica fuzzy apenas faz com que o processo racional seja expresso em termos de aproximações, aplicadas a valores numéricos e que possa produzir outputs numéricos. Um sistema fuzzy tenta categorizar e atribuir um grau de aproximação, de modo a que as regras possam ser mais flexiveis e intuitivas na modelação de processos mais exigentes. A pessoa X aproxima-se em 30% da categoria MTO BEM PAGO enquanto que a pessoa Y aproxima-se 100%. Num sistema baseado na lógica fuzzy, uma regra pode ser aplicada a várias situações, mas o grau de pertença a cada uma dessas situações depende do contexto em que se aplicam. A lógica fuzzy não expressa as regras de uma forma precisa,tal como modelos matemáticos, a sua grande utilidade vem ao de cima quando a complexidade dos problemas aumenta, ou seja, quando as variáveis começam a interagir de uma forma não linear (por exº: as variáveis existentes em mercados financeiros: juros,câmbios,etc). Nestas situações, a lógica fuzzy oferece uma técnica mais intuitiva e flexivel de descrever este tipo de comportamento não linear nas variáveis ao generalizar o conceito de categorização. Tal como as redes neuronais, as regras fuzzy tentam aproximar relacionamentos não-lineares associados a sistemas complexos mas enquanto as primeiras precisam de bastante quantidade e qualidade de dados e o conhecimento está implicito na rede, as segundas não: só precisam de peritos que consigam descrever os vários itens de conhecimento sob a forma de regras e o conhecimento está distribuido pelas regras e pelas categorias. Os sistemas fuzzy priveligiam a exactidão de resultados em vez da explicação dos mesmos, ou seja não interessa o “porquê” de ter chegado ao resultado.

Método 6: Resolução de problemas por analogia: Racciocinio Baseado em Casos

Tirar partido do conhecimento obtido de experiências anteriores, é outro dos métodos usados para resolver problemas: o Racciocionio Baseado em Casos (RBC) é disso exemplo. À medida que a base de conhecimento aumenta, aumenta também o nível de certeza que o RBC pode fornecer na resolução de problemas. Este método permite olhar para soluções obtidas em problemas semelhantes, evitando que se criem regras que descrevam de que forma deve ser atingida a solução pretendida, como que houvesse um reaproveitamento de um template. Um CASO é uma colecção de atributos que,em conjunto, descrevem um cenário que envolve uma solução. Nos sistemas RBC , apenas são guardados os casos cuja informação maximize a capacidade de tomar a decisão. A formulação e resolução de problemas pode ser feita de maneira mais rápida, pois já existe uma noção concreta da forma como as soluções são alcançadas através de experiências anteriores. A utilização de um sistema RBC é particularmente vantajosa em cenários altamente escalaveis e flexiveis, onde novos casos são introduzidos ao longo do tempo no sistema melhorando o seu nivel de certeza ou exactidão(por exº quando são efectuadas correcções a erros produzidos anteriormente). O sucesso de um sistema RBC depende da forma como se indexam os casos. Por exemplo, num sistema de catalogação de livros de uma biblioteca, tipicamente os livros são indexados por autor,titulo e assunto. Se houver a necessidade de procurar livros de acordo com o número de páginas,tal não será possivel. O que um sistema deste género faz é apresentar uma solução que possa ser aplicada ao problema dado ter funcionado num problema semelhante. Cabe ao decisor avaliar se a solução é apropriada para a situação actual.

Método 7: Obter regras apartir dos dados – Algoritmos de Aprendizagem

Tipicamente, um Algoritmo de Aprendizagem (AP) tenta encontrar padrões e relacionamentos nos dados, disponibilizando não só bons modelos de predicção e classificação como também regras abstractas. Algoritmos Genéticos,Redes Neuronais e Algoritmos de Particionamento Recursivo são disso exemplos. Quando efectuamos uma consulta aos dados, temos uma ideia minima daquilo que pretendemos obter. E quando essa ideia não existe? Talvez o ideal seria consultar os dados de forma inteligente, onde pudessemos descobrir relações entre eles que até então nunca imaginavamos poderem existir. É aqui que os AP’s são vantajosos. Enquanto que uma consulta a uma base de dados responde à questão “quais os dados que correspondem a estes padrões” um AP responde à questão “ quais os padrões que correspondem a estes dados”. Tal como uma rede neuronal, tenta-se encontrar relacionamentos entre os inputs e os outputs com a diferença reside que os relacionamentos numa rede neural não são explicitos enquanto que num AP o são. Como é que um algoritmo deste tipo se enquadra no processo de decisão? Uma vez especificado o problema e obtidos os seus inputs, o algoritmo tenta produzir através destes um conjunto de regras que permitam descrever como as variáveis dependentes se relacionam com as independentes, ou seja, tenta modelar o problema. O desafio para estes algoritmos é que este processo de descoberta de relacionamentos seja feito de forma clara e rápida, devendo ser acompanhado pelos utilizadores de uma forma iterativa, na medida em que estes devem interpretar os resultados, distinguindo os outputs que fazem sentido daqueles que resultaram de mera coincidência.

Conclusão

Achei este livro particularmente interessante na forma como os autores conseguem descrever ,com um nível de detalhe razoavel e com exemplos bastante elucidativos, as diferentes técnicas usadas em disciplinas como a Investigação Operacional e a Inteligência Artificial, que desempenham um papel crucial nos Sistemas de Apoio à Decisão, e as suas vertentes de aplicação. Mais do que um olhar para a essência de cada uma dessas técnicas, este resumo pretende abordar a sua importância e influência no processo de decisão.

Indicadores Subjectivos. Vale ou não a pena medir?

O termo métrica conduz-nos forçosamente a expressões envolvendo números e ordens de grandeza, pois a medição implica uma estimativa. Percentagem de clientes satisfeitos ou Total de vendas de um produto são exemplos de estimativas. Estes e outros valores quantitativos, resultantes das medições invadem os relatórios dos decisores diariamente. Mas será que tudo é mensurável quantitativamente? Será que podemos medir a nossa felicidade? Dizer que sou 10% mais feliz que outra pessoa,fará sentido? Como poderemos então medir aspectos extremamente subjectivos como a felicidade?

A subjectividade é uma propriedade de uma percepção sobre um objecto realizada pelo individuo, de acordo com a experiência deste com o objecto, ou seja de acordo com um certo grau de influencia. Isto significa que, para um universo de N pessoas, a noção de felicidade não é tão directa como 2+2 ser igual a 4. Quando nos deparamos com esta dificuldade de medir a subjectividade, é frequente recorrer à objectividade das métricas quantitativas para alcançar a tão desejada métrica qualitativa. Por exemplo, podemos medir a forma física através do número de dias de treino por semana. Mas, se uma pessoa com 140Kg treinar todos os dias estará em melhor forma fisica que uma pessoa que tem 70Kg e que treina 2x por semana? As métricas quantitativas por si só não são suficientes para medir uma qualidade. É necessario também os atributos e os contextos que lhe permitam atribuir um significado!

Deste modo, em que situações pode ser benéfico medir a subjectividade? •Para melhorar ou aumentar a experiência adquirida no estudo de um problema •Quando queremos aprofundar o conhecimento sobre um problema. Por exemplo, tópicos como a religião, pena de morte,etc… •Para obter bastante detalhe sobre o problema

Faz sentido medir os indicadores subjectivos! A medição deste tipo de indicadores permite fornecer uma riqueza de detalhe sobre os problemas que os indicadores objectivos por si só não permitem. A medição qualitativa permite perceber o "Porquê" do evento ter ocorrido e não apenas o seu resultado. É extremamente importante percebermos o porquê de tal resultado ter sido alcançado. O conhecimento e a sabedoria podem surgir daí! A mais valia surge, portanto, quando complementamos a medição de indicadores objectivos com a de indicadores subjectivos: combinar "O quê" quantitativo com o "Porquê" qualitativo. A medição qualitativa pode em muitos casos ser determinante para avaliar quais as necessidades de dados e análises quantitativas a usar. Apesar dos indicadores subjectivos serem muito difíceis de quantificar, existem técnicas de investigação que facilitam esta tarefa, como são os casos das entrevistas, sondagens, casos de estudo, etc.

Arvore de Objectivos do Grupo

Elaborei,juntamente com os meus colegas de grupo de trabalho, Ana Cardoso e Sofia Marques, uma árvore de objectivos do grupo, no seguimento da abordagem ao capitulo 2 do livro "Modern Decision Making" feita na aula de SIAD.

Clique na imagem para aumentar
Esta árvore tenta representar de uma forma estruturada os vários objectivos que consideramos essenciais para a nossa missão na disciplina de SIAD enquanto grupo de trabalho.

sexta-feira, 19 de outubro de 2007

Evolução Histórica dos Sistemas de Apoio à Decisão

Decidi criar um conjunto de slides para destacar o que de mais significante retirei sobre a leitura que fiz sobre a evolução histórica dos sistemas de apoio à decisão (SAD). Foi dado um maior destaque à evolução de conceitos, de classificações e arquitecturas dos SAD. Navegue na apresentação. (Se não conseguir ver a apresentação clique aqui: Evolução Histórica dos SAD)

terça-feira, 9 de outubro de 2007

Muda, que quando a gente muda o mundo muda com a gente...

Sabemos que o nosso comportamento está sujeito à mudança, fruto de uma aprendizagem provocada pelo ambiente que nos rodeia. Estamos envolvidos num processo que se inicia e termina com a nossa vida, a endoculturação (afinal ainda resta alguma coisa do secundário!!). Somos afectados por um conjunto de variáveis e de relações que afectam directa e indirectamente a nossa (i)racionalidade, fazendo com que o processo de construção dos nossos paradigmas seja cíclico.

Como seres humanos, estamos projeccionados no tempo e no espaço, qual cubo no seu universo geométrico, em que as dimensões e métricas que nos caracterizam,distinguindo-nos e assemelhando-nos dos demais, são resultantes de uma aprendizagem constante proporcionando assim a mudança nos nossos paradigmas, geralmente benéfica ao conhecimento.

Costumamos chamar sábios às pessoas mais velhas ou com maior experiência de vida. Talvez porque a aprendizagem que efectuámos tenha sido insuficiente para chegar àquelas células do nosso cubo que representam uma mudança de paradigma, células alcançadas pela mudança de perspectiva,pela aprendizagem, qual fio condutor de mudança no nosso comportamento e no nosso conhecimento! Aqueles a quem chamamos sábios, souberam não só descobrir o seu cubo como também usar o que de melhor cada célula lhes deu. Continuamos envolvidos neste grande processo de decisão que é a vida tentando tirar o melhor partido de cada célula do nosso cubo num processo ciclico de aprendizagem na tentativa de concretizarmos os nossos sonhos...

Até quando?

Nota: reflexão enquadrada na leitura do tópico "The Power of a Paradigm Shift" do livro de Steven Covey: "The 7 Habits of Highly Effective People"

sábado, 6 de outubro de 2007

Direcções

Andei a investigar a evolução dos modelos no contexto da evolução da Teoria da Decisão, numa tentativa de perceber as diferenças e semelhanças das aproximações dos teóricos clássicos e modernos.

Entendi que a abordagem destes à construção de modelos de decisão tomou claramente duas direcções:

A primeira no sentido de optimizar, simplificando o suficiente para que o óptimo seja computável. O modelo de decisão clássico procura atingir o conhecimento em todas as alternativas que estão disponíveis para escolha assim como em todas as suas consequências. A certeza é um factor presente na avaliação das alternativas e das respectivas consequências. Este tipo de modelos está na base das teorias racionais de decisão, também chamadas de Normativas, em que o principal foco é a optimização.

A segunda direcção foi no sentido de construir modelos suficientemente satisfatórios que permitam efectuar boas decisões com custos de computação razoáveis. Desejou-se, portanto, reter nos modelos um conjunto mais valioso de propriedades do mundo real, que permitam ao decisor escolher soluções óptimas para um mundo simplificado ou procurar soluções satisfatórias para um mundo mais realista. Este tipo de modelos está na base das teorias de decisão não racionais, também chamadas Descritivas. Um exemplo é a teoria de satisfação de Herbert Simon, em que um agente é caracterizado por um nível de aspiração e escolhe a primeira alternativa que iguala ou excede esse nível, não sendo necessário avaliar todas as alternativas. Existem várias razões para abandonar o conceito de ideal:

* nem sempre existe uma estratégia de optimização, ou seja, o ideal nem sempre está definido.
* mesmo que a estratégia de optimização esteja definida vários factores condicionantes do problema podem impedir a sua resolução(por exº, um problema que precisa de ser resolvido com rapidez independentemente de ser resolvido da melhor maneira)
* existem estratégias que não envolvem optimização e que obtêm melhores resultados que as estratégias de optimização (exº: a heurística do dilema do prisioneiro)

Tal como na Teoria da Decisão Descritiva, na direcção mais recente da Teoria de Decisão existe uma preocupação central sobre a forma como as decisões são feitas e não apenas com os seus resultados. São teorias sobre "como decidir" em vez de "o que decidir".

Os novos modelos de decisão, ao contrário da perspectiva clássica, procuram descrever a forma como as decisões podem ser feitas quando as alternativas são afectadas por enumeras condicionantes.