Ludificação – Gamify 2017

 Foi por intermédio de acçõe de divulgação em correio electrónico que tive conhecimento do Gamify 2017. Apesar de não se enquadrar directamente em nenhuma das áreas do meu interesse, tanto a nível pessoal como profissional, ou sequer ser um amante de jogos de vídeo, considero que o tema mereceria uma investigação mais profunda. Neste sentido, decidi publicar um pequeno texto com várias das ideias que apreendi no evento, enriquecidas com alguma investigação adicional por se centrar no recurso mais importante de uma empresa: as pessoas.

Introdução

Desastres são eventos imprevisíveis e catastróficos que se abatem sobre grupos de pessoas ou organizações. É, no entanto, destes cenários que se extraem muitas lições valiosas no seio da gestão dessas mesmas organizações. Na secção Sumário e Recomendações do relatório Summary of recovery efforts related to September 11th, 2001 – Destruction of World Trade Center para o Departamento dos Serviços Financeiros de Nova Iorque, a empresa de seguros de saúde Empire BlueCross BlueShield enfatizou o que considerou ser os seus três principais recursos aquando da destruição da sua sede na sequência dos atentados terroristas de 2001. Considerou, como os mais importantes recursos, a sua capacidade para recuperar os dados tanto em suporte digital como em papel, o seu pessoal e a sua infra-estrutura em sistemas IPTV de televisão. De facto, o seu plano de manutenção dos dados em servidores permitiram-lhes recuperar toda a informação processada até a uma data bastante próxima do evento. Por outro lado, os seus programas de Gestão e Implementação Estratégica e de melhoria contínua da qualidade que proporcionaram, a cada colaborador, o conhecimento do impacto da sua função em toda a estrutura, permitiram-lhes dar seguimento aos projectos sem a necessidade de decisões das camadas hierárquicas superiores. Por seu turno, o circuito fechado IPTV de televisão teve, como resultado, a formação dos seus empregados, proporcionando-lhes a sensação de que estão habilitados a agir, tendo sido o seu empenho considerado como um factor essencial na sua fulminante recuperação.

O caso apresentado permite concluir que o mobiliário ou imobiliário industrial pode ser eficientemente substituído mediante a activação de provisões ou recurso a seguros financeiros. No entanto, a informação associada ao estado da actividade e o conhecimento da produção e processos não são recursos facilmente recuperáveis. É seguro, portanto, afirmar que os dois recursos de uma organização que merecem uma especial atenção são os dados que agrega ao longo do tempo e a sua massa humana.

A Transformação Digital caracteriza-se por uma mudança social devida ao processo de digitização das diversas formas de representação da realidade. Empresas como a Google ou a Wikipedia levaram a um desvio fundamental na forma como os dados podem ser prospectados e como se pode levar um elevado número de pessoas a colaborar a nível mundial numa relação de pares ao invés da clássica relação hierárquica. Há vinte anos atrás seria extremamente difícil imaginar que seria possível construir uma empresa produtiva, recorrendo a voluntários sem um plano, sem tarefas atribuídas e mesmo sem um salário. A enciclopédia livre tornou essa abstracção numa realidade. As redes sociais, tais como o Facebook, Twitter ou o LinkedIn, revolucionaram a forma como as pessoas interagem entre si, conectando-as a uma escala global e permitindo-lhes propalar as suas emoções, pensamentos e aspirações.

O tratamento e prospecção dos dados coleccionados ao longo do tempo requerem competências técnicas nas áreas de Machine Learning, Data Mining e Big Data que podem ser obtido através da contratação de pessoal qualificado. As pessoas e os seus conhecimentos sobre a organização de que fazem parte poderão constituir um imenso potencial activo tanto de processos produtivos como de processos de inovação contínua ou até mesmo disruptiva.

Dada a importância do activo humano de uma empresa, torna-se útil o desenvolvimento de metodologias capazes de trazer mais-valias de um meio tão rico, realizando da melhor forma o seu potencial. Como o Gamify se apresenta como uma metodologia capaz de dar resposta a este problema, foi proposta a participação no Gamify2017, organizado pela Fractal Mind, com o intuito de melhorar a percepção sobre a abordagem em gestão dos recursos humanos.

Motivação para o conceito de Ludificação (Gamify)

O jogo electrónico interactivo Cathod-ray tube amusement design, desenvolvido em 1947, é considerado como sendo um dos primeiros percursores dos jogos de vídeo apesar de nunca ter sido produzido em massa. Na década que se seguiu, foram programados o Jogo do Galo para a máquina Bertie de Brain em 1950 e o Jogo do Nim para o Nimrod em 1951 cujos propósitos eram puramente demonstrativos. Em 1958 foi apresentado o jogo Tennis for Two apenas orientado para o entretenimento e foi o culminar da investigação em sistemas de radar. No entanto, o dispositivo foi desmantelado no final da exposição para a qual foi construído.

Nos anos que se seguiram, os jogos electrónicos eram desenvolvidos em contextos académicos ou para demonstrar o poder computacional de equipamentos. Neste contexto surgiu o Spacewar em 1962 que se foi popularizando gradualmente nos meios académicos até ao final da década. A sua narrativa possuía carácter futurista e fora inspirada em novelas de ficção científica. Este jogo inspirou o aparecimento em 1971 dos dois primeiros jogos comerciais, nomeadamente, o Computer Space e o Galaxy Game. Deu-se assim início à era dos jogos de arcadas.

Em 1972 foi construída a Magnovox Odyssey, a primeira consola de jogos de vídeo que se podia conectar a uma televisão. Um dos jogos construídos para a consola inspirou o jogo de arcada Pong cujo sucesso permitiu popularizar os jogos electrónicos. Desde então, a indústria deste tipo de jogos tem vindo a evoluir gradualmente a complexidade tanto técnica como de narrativa bem como as dinâmicas do jogo.

Os jogos de vídeo evoluíram de tal forma que já desde 1984 têm sido classificados em géneros de acordo com características como a jogabilidade, narrativa, perspectiva, interacção, resposta emocional, etc., à semelhança do que acontece com a música, cinema e literatura. Os principais géneros são:

  • Aventura: o jogador é o protagonista de uma história na qual, para progredir, é levado a solucionar enigmas.
  • Acção: caracterizam-se pela necessidade de movimentos rápidos e reflexivos.
  • Acção-aventura: misturam as características dos jogos de acção e aventura.
  • Plataforma: o protagonista move-se em superfícies bidimensionais, evitando obstáculos.
  • Combate: os jogadores digladiam entre si.
  • Atirador na primeira pessoa (FPS): o jogador é levado a assumir o papel do protagonista onde o cenário é-lhe apresentado de acordo com essa perspectiva.
  • Estratégia em tempo real (RTS): são tipicamente definidos determinados objectivos em torno de recursos limitados, construções de bases e unidades e combate com adversários que definem os mesmos objectivos.
  • Jogo de estratégia com revezamento: são jogos semelhantes aos de estratégia em tempo real onde há um revezamento das jogadas à semelhança do que acontece em jogos de tabuleiro como o xadrez.
  • Desempenho de papéis: caracterizam-se por providenciar aos jogadores a flexibilidade de desenvolverem personalidades, resolverem problemas, etc..
  • Desempenho de papéis online massivamente multi-jogador: jogo de desempenho de papéis num ambiente virtual ocupado por milhares de outros jogadores.
  • Furtivos: foco no subterfúgio ou jogo de precisão.
  • Sobrevivência e horror: jogos de acção-aventura ou FPS caracterizados por cenas de horror.
  • Simulação: pretendem simular realidades físicas como o voo de aeronaves, formas de gestão, etc..
  • Corridas: onde o jogador compete em corrida, conduzindo veículos motorizados.
  • Desportivos: simulam experiências desportivas tanto ao nível de execução como de estratégia.
  • Ritmo: a acção requerida ao jogador é indicada por determinados estímulos rítmicos.
  • Enigmáticos: requerem que os jogadores resolvam enigmas que podem requerer o uso da lógica, memória, reconhecimento de padrões, tempo de reacção, etc..
  • Tradicionais: constituem versões computorizadas de jogos de tabuleiro, de cartão, cartas e palavras.
  • Educacionais: jogos orientados ao ensino de determinadas habilidades.

Os jogos de vídeo tornaram-se numa indústria mais rentável do que a cinematográfica, milhares de milhões de horas foram jogadas no League of Legends em 2016 cuja final foi assistida 36 milhões de espectadores que superou a prova congénere da NBA e a média de idades das pessoas que dedicam algum do seu tempo aos jogos de vídeo é de 35 anos, estando incluídos altos quadros de empresas. Tais números permitem concluir que uma grande parte das pessoas activas joga jogos de vídeo nos seus tempos de lazer.

Antes do advento dos jogos de vídeo, o estudo dos jogos era realizado no âmbito da antropologia, determinando a influência do jogo na cultura das sociedades e como este as poderia influenciar. A disseminação dos jogos de vídeo veio aumentar o interesse no estudo dos jogos e a subsequente criação do Digital Games Research Association tornou-a numa disciplina autónoma que requer conhecimentos do foro da psicologia, antropologia, economia, educação e sociologia. É natural assumir que as mecânicas de jogo e as suas consequências psicológicas sejam bem-sucedidas em cenários alternativos.

Em 1910, a Kellog’s e a Cracker Jacks começaram a distribuir prémios nos seus produtos com o intuito de aumentar as vendas. A introdução de pequenas surpresas permitiu incutir a escolha dos seus produtos em detrimento de outros no mercado de interesse, apelando a um sentido psicológico de satisfação. Um estudo em sociologia do trabalho, intitulado Banana Time: Job Satisfaction and Informal Interaction, publicado em 1959 apontou a necessidade e inevitabilidade da introdução de momentos de lazer durante as horas produtivas. Em 1978 foi desenvolvido o primeiro jogo massivamente multi-utilizador, o Multi-user Dungeon, que permitiu a criação de uma comunidade num ambiente virtual. Os jogos de vídeo tornaram-se muito populares e acessíveis ao consumidor médio na década de 80. Foram também popularizados jogos educacionais tais como o Oregon Trail e Carmen Sandiego. As várias componentes dos jogos começaram a incluir objectivos, narrativas competitivas e aplicações à vida real. Em 1982 surgiu o jogo Me Slow Learner cujo propósito se prendia com a formação de professores que leccionavam em turnos cujos alunos se encontravam em estágios muito díspares da aprendizagem. A década de 90 caracterizou-se pelas vendas massivas de consolas de jogo, tornando os jogos de vídeo acessíveis a quase todos os níveis da população. Em 2002 é fundada a Serious Games Initiative com a missão de desenvolver jogos com fins distintos do entretenimento. Nos anos que se seguiram, foram aplicados jogos em vários cenários reais, desde campanhas publicitárias, captação de visualizações em páginas Web até à contenção de comportamentos violentos em estratégia com o jogo A Force More Powerful. Em 2007 foi publicado um livro sobre a validação do uso das mecânicas de jogos na educação. Desde 2010, a Suécia tem recorrido a técnicas de ludificação para estimular o cumprimento dos limites de velocidade estabelecidos na lei. A aplicação das mecânicas de jogo a um cenário real pela aplicação Foursquare inspirou muitas das principais empresas multinacionais a aplicar estas mesmas mecânicas no seu ambiente. Em 2011 foi criado o jogo Foldit que possibilitou a resolução de um problema científico na área do desdobramento de proteínas.

Existe actualmente investigação activa na área dos jogos de vídeo com vários propósitos levada a cabo pelo Serious Games Institute.

O conceito de ludificação

A ludificação pode ser definida como a metodologia para alteração de comportamento com base na aplicação de mecânicas, dinâmicas e psicologias de jogo em contextos alheios ao jogo. No entanto, é necessário enfatizar o facto de que, apesar de utilizar ferramentas e processos comuns ao desenvolvimento de jogos, a ludificação não é um jogo. A realidade dos jogos é desenhada para que os jogadores se envolvam, se mantenham altamente motivados, concentrados, dedicados e que sintam um constante desejo de progressão. A experiência real, por seu turno, não se consegue equiparar à que os jogadores obtêm a jogar e, em grande parte, isso deve-se ao alheamento da realidade que os jogos conseguem produzir.

Apesar de não ser possível desenhar uma realidade alternativa, é possível estende-la com a introdução de técnicas existentes no mundo dos jogos. Não é imperativo que tal prática resulte na criação de algum tipo de jogo mas apenas a introdução das suas mecânicas. Por exemplo, para engajar os colaboradores na sua formação para a qualidade poderá ser inventada uma narrativa criativa e inventadas classes de personagens com capacidades especiais que poderão aceitar missões e recolher recompensas à semelhança do que acontece no World of Warcraft ou outro jogo de desempenho de papéis. As missões poderiam incluir o recrutamento de jogadores, levantamento de necessidades para melhoria da qualidade, criação de soluções, dinamização de fóruns de discussão, etc.. A aplicação Zombies, Run é um caso de sucesso no auxílio ao fomento de hábitos de corrida. Permite aumentar a motivação de quem corre, incluindo o interveniente num hipotético cenário com zombies.

O propósito da ludificação consiste na procura de soluções inovadoras capazes de motivar um grupo específico de utilizadores, com desejos e ansiedades bem determinadas, a alterar ou melhorar um conjunto de comportamentos de forma a atingir metas pessoais ou colectivas desde melhorar as suas capacidades comunicativas até à redução de erros no atendimento ao cliente. A introdução da metodologia da ludificação permite, portanto, estimular as pessoas a realizar tarefas que normalmente considerariam pouco apelativas. Dada a natureza humana do objecto de intervenção da metodologia, esta encontra aplicações nas mais diversas áreas empresariais e sociais tais como recursos humanos, gestão de tarefas, vendas, marketing, gestão de marcas, educação, saúde ou desporto. Pode fazer a diferença onde quer que surja a vontade de criar um maior envolvimento.

De uma forma geral, um mecanismo consiste num conjunto de partes rígidas, interligadas entre si, capazes de transferir ou transformar movimentos e forças. Consiste numa abstracção teórica do funcionamento de máquinas que alteram o seu estado ao longo do tempo. Como abstracção, modela também outras realidades. É possível afirmar que um jogo consiste num mecanismo cujas partes intervenientes são o seu suporte físico, as regras que o definem e as suas relações. Se considerarmos que as mecânicas são os elementos que se combinam na produção de mecanismos, as mecânicas de um jogo são os agentes, objectos, elementos, regras e as suas relações. As mecânicas de um jogo são facilmente identificáveis.

Na realidade de uma empresa, estas mecânicas podem não ser tão óbvias mas, mesmo assim, identificadas em vários contextos. Por exemplo, é fácil identificar algumas mecânicas nos processos de melhoria da qualidade. Existe, porventura, uma plataforma onde os clientes possam apresentar as suas reclamações. Um tal sistema que se adeque ao NP ISSO 10002:2017 define quem é responsável pelas reclamações, quem é responsável pela monitorização, como cada reclamação deve ser processada e qual o fluxo a ser seguido aquando do registo de uma reclamação. A ludificação é capaz de reestruturar e melhorar essas mecânicas, optimizando as suas regras, providenciando mais retroacção e criando um propósito comum, de forma a desenvolver o sistema de interacção entre os diversos elementos intervenientes no sistema.

Imagine-se, por exemplo, que seja permitido aos utilizadores do sistema de reclamações fazer comentários e classificá-los à semelhança do que acontece no Stackoverflow. Esta mecânica, aliada à atribuição de pequenos prémios como crachás e à distribuição dos intervenientes em vários níveis, sendo-lhes possível observar o resultado e posição dos adversários traria um maior engajamento dos colaboradores.

As interacções do jogador com as mecânicas conduzem a consequências emocionais e constituem as dinâmicas de um jogo. Estas dinâmicas descobrem-se durante o jogo, são jogadas que podem ser analisadas e que evoluem no decurso do mesmo. Num cenário hipotético de um sistema de reclamações com as várias soluções propostas classificadas, os jogadores iniciariam o jogo com os mesmos pontos e, ao fim de algum tempo, a partilha e classificação de soluções seria factor diferenciador das respectivas pontuações. As dinâmicas podem ser positivas ou negativas no caso de as soluções poderem ser classificadas como boas, como más ou de acordo com uma escala de satisfação. Neste cenário, da interacção do utilizador com as mecânicas de um sistema surgem várias dinâmicas como a sugestão de novas ideias, a competição, a retroacção, o trabalho em equipa, o sentimento de conquista e reconhecimento, melhoria na qualidade, etc..

O objectivo da ludificação consiste em intervir nos sistemas que se pretendem melhorar, optimizando as suas dinâmicas mediante a alteração ou introdução de mecânicas necessárias para as estimular. Aumento do espírito de equipa, conseguir retroacção imediata e regular, introdução de novas formas de reconhecimento dos colaboradores, promover uma competição mais justa e saudável, etc., são exemplos de dinâmicas que podem ser optimizadas com a introdução de mecânicas adequadas. Por exemplo, a criação de um quadro classificativo com as posições dos colaboradores de acordo com a sua popularidade no sistema de reclamações, mecânica de jogo que fomenta a competitividade e retroacção, permite manifestar a criação de uma dinâmica de competição que os estimula a criar ou participar na evolução e materialização das soluções. A existência de recompensas para os melhores jogadores, ao invés da premiação das melhores soluções, fomenta o seu sentimento de conquista, sendo esta uma dinâmica de jogo que influencia a motivação.

A psicologia e desenho de jogos

A psicologia do jogo, com as mecânicas e as dinâmicas, constitui um dos três componentes essenciais com aplicabilidade em contextos exógenos ao jogo. Trata-se da disciplina onde se estudam as respostas emocionais decorrentes da experiência causada por um jogo, as quais podem ser estimuladas nas realidades empresariais.

Os seres humanos desenvolveram uma série de necessidades que se relacionam de perto com a sobrevivência, agregação social e evolução e que se podem resumir nos itens:

  • Fisiológicas: necessidades inerentes ao funcionamento e bem-estar físico;
  • Segurança: sentir-se seguro, livre de elementos que possam atentar contra a sua integridade;
  • Necessidades de estima: ser respeitado, ter atenção, estatuto, poder, reputação, dignidade, criatividade, auto-estima, ser competente, independente e livre;
  • Necessidades cognitivas: saber, perceber, explorar, procurar aventura, ter novas experiências, viajar, sentir excitamento;
  • Auto-realização: realizar o potencial próprio, ser tudo o que se conseguir ser;
  • Transcendência: levar terceiros a realizar o seu próprio potencial e a atingir auto-satisfação.

 De um ponto de vista psicológico, as necessidades são incitadas mediante a vivência de emoções positivas e negativas. Por exemplo, tanto o sentimento negativo da sensação de sede ou fome como a sensação de saciado conduzem à necessidade de comer ou beber. O medo e o sentimento de segurança, por seu turno, estão no cerne da procura de realidades livres de perigos. De um mogo geral, os seres humanos são premiados quando suprem as suas necessidades e penalizados no caso contrário. O sentido de recompensa e penalização no caso das necessidades sociais, cognitivas, de auto-realização e transcendência adquire um carácter mais complexo e difícil de definir uma vez que variam entre os indivíduos. No entanto, dentro da realidade de cada um em particular, esses sentidos encontram-se sempre presentes.

 No que concerne ao nível pessoal, o principal propósito das actividades humanas consiste em obter prazer e evitar dor. Se existir a percepção de que uma actividade irá proporcionar uma maior probabilidade de sucesso e subsequente ganho em prazer do que fracasso e a dor que lhe está associada então essa actividade será preferida em detrimento daquelas em que a percepção é contrária. A quantidade de prazer ou dor advenientes de uma determinada actividade depende, deste modo, da percepção dos executantes relativamente às suas habilidades, capacidade de evolução e medição de sucesso. Por exemplo, o prazer que se sente quando são superadas as expectativas no decurso de uma actividade é apenas possível quando são disponibilizadas medidas concretas de claras. Existe uma tendência para as pessoas medirem o seu desempenho relativamente aos seus pares. Há sempre algures alguém melhor, mais feliz, mais talentoso ou mais bem-parecido.

O que pode ser feito para tornar as actividades mais agradáveis? Os jogos são precisamente pensados para dar uma resposta a este tipo de questões. É possível desenhar jogos onde o jogador joga contra outros jogadores, contra a máquina, contra ele próprio, sendo-lhes disponibilizado um conjunto de objectivos e regras dos quais, no decurso do jogo, é possível extrair medições concretas sobre o seu desempenho. De uma forma resumida, a envolvência num jogo depende da experiência proporcionada. A experiência de um jogo resume-se nos seguintes pontos.

  • Competição: As actividades do jogo permitem, aos jogadores, utilizarem e desenvolverem as suas capacidades de forma a superar os desafios colocados pelos seus adversários.
  • Sorte: Actividades onde o acaso tem uma forte componente sobre o resultado. O prazer deste tipo de jogos prende-se com a minimização do impacto que o acaso possa ter no cumprimento dos objectivos, podendo dar a ilusão de que os jogadores possuem a capacidade para prever o futuro. Jogos de casino classificam-se nesta categoria.
  • Vertigem: Actividades de distorcem as percepções reais de forma a intensificar sensações como a vertigem no caso das montanhas-russas, o medo no caso das casas de horror, etc..
  • Fazer acreditar: Actividades onde são criadas realidades alternativas onde as regras do mundo não se aplicam. O prazer materializa-se das características e habilidades que não são possuídas na vida real. Neste contexto enquadram-se as brincadeiras de imaginação com carros em miniaturas ou bonecas.

Por seu turno, as principais razões que tornam um jogo agradável são:

  • Trata-se de uma actividade que coloca obstáculos que os intervenientes são capazes de transpor mediante a aplicação ou desenvolvimento das suas habilidades.
  • É necessária a aplicação de um grande poder de concentração na actividade onde todas as distracções externas se tornam supérfluas.
  • São expostos objectivos claros e bem definidos.
  • É proporcionada uma constante retroacção sobre o progresso no decurso da actividade.
  • Trata-se de uma actividade capaz de absorver os problemas e preocupações da realidade.
  • Permite um elevado controlo dentro do seu âmbito.
  • Permite um envolvimento capaz de absorver toda a atenção do jogador, não deixando espaço sequer para a auto-reflexão.
  • Permite alterar a percepção do tempo.

Os jogos não são apenas actividades, são um pouco mais do que isso. Por exemplo, o StarCraft, para além de ser superado, desempenhando actividades de gestão de recursos e planeamento de jogadas estratégicas com as peças de jogos, possui uma narrativa que se desenrola num futuro distante onde o jogador é o protagonista e líder militar que evita uma invasão alienígena.

Motivação

A psicologia de jogo identifica a procura de prazer e a fuga à dor como motores da motivação humana. A forma mais intuitiva de embrenhar os colaboradores numa actividade consiste em definir um conjunto claro de recompensas. No entanto, de modo a determinar o impacto de uma determinada recompensa num grupo específico é necessário proceder ao levantamento de todos os motivadores intrínsecos.

É neste contexto que surge o conceito de SAPS (Status, Access, Power, Stuff), tendo sido identificados o Estatuto, o Acesso, o Poder e as Coisas como os tipos de recompensas motivadoras, apresentadas na ordem de prioridades.

  • Estatuto: Refere-se aos vários níveis que os jogadores podem atingir. O Estatuto pode não só relacionar-se com algum tipo de promoção no trabalho mas também com a percepção que os pares têm de um indivíduo no que concerne à actividade. Por exemplo, o StackOverflow definiu o conceito de reputação de modo a dividir os participantes de acordo com os vários níveis de confiança.
  • Acesso: Recompensa que fornece aos jogadores oportunidades de actuar em cenários mais restritos ou especiais. Um exemplo simples prende-se com a possibilidade de disponibilizar o conteúdo a um grupo restrito de jogadores antes de este ser disponibilizado aos restantes. No Projecto Euler é permitido aos utilizadores que resolverem um determinado problema, aceder às soluções de outros intervenientes.
  • Poder: Refere-se a títulos especiais que permitem colocar uns jogadores em posições de superioridade relativamente aos outros. Por exemplo, um jogador altamente posicionado por ter o poder de decidir sobre a distribuição de bens virtuais a outos jogadores.
  • Coisas: Significa a atribuição de prémios tangíveis após o fecho de missões. Este tipo de recompensa foi identificado como o menos motivador género de recompensa cujos custos deverão ser seriamente ponderados.

Exemplos da aplicação da ludificação em empresas portuguesas

O Gamify 2017 reuniu um conjunto de oradores responsáveis por diversas áreas em diferentes empresas portuguesas que expuseram algumas ideias de sucesso dos seus projectos em ludificação.

Grupo Nabeiro

O grupo Nabeiro que produz a marca Delta Cafés introduziu um novo produto no mercado hoteleiro com uma meta de vendas estipulada em 600000 unidades. De modo a atingir os objectivos, foi decidido engajar a equipa de vendas, dinamizando o seu envolvimento. Para o efeito, dividiram a equipa em dois grupos que se considerariam adversários numa guerra civil do género norte contra o sul em que cada venda representaria um ataque sobre o inimigo. A informação sobre o estado da competição era disponibilizado a todos numa plataforma construída para o efeito.

O envolvimento das equipas levou à criação de fóruns privados nas redes sociais onde os elementos poderiam interagir entre si. A ordem do sucesso deste simples processo de ludificação permitiu envolver os próprios clientes, permitindo-lhes fazer parte do jogo e proporcionando-lhes uma experiência fora do comum nos processos de venda. O número de vendas, no final da campanha foi cerca de 1200000 unidades, dobro da meta preestabelecida.

A empresa em questão pretende aperfeiçoar as técnicas de ludificação utilizadas na sua equipa de vendas e estender o modelo a outros sectores.

Worten

A Worten, empresa do grupo Sonae que se dedica à venda de consumíveis electrónicos, aplicou o conceito da ludificação para melhorar o nível de serviço das equipas de loja mediante o desenvolvimento da plataforma Winners.

O desafio inicial consistiu em distribuir os prémios com base em métricas claras e objectivas de modo a ser possível alinhá-los com os objectivos do negócio e, ao mesmo tempo, recompensar os melhores vendedores. Para o efeito, foi criada uma plataforma onde é disponibilizada informação retroactiva como o estado das vendas, os objectivos a alcançar e o respectivo progresso tanto das equipas como dos indivíduos.

O projecto teve como resultado um aumento significativo do envolvimento das equipas de vendas e a equiparação ou superação dos principais concorrentes em termos de medidas de satisfação dos clientes.

EDP Distribuição

O InnovGrid consiste num projecto de Transformação Digital da EDP Distribuição orientado para o engajamento da população no sentido de optimizar o consumo de energia mediante a introdução daquilo que se pode designar por contadores inteligentes. O projecto é desenvolvido de acordo com as linhas condutoras estabelecidas a partir da investigação realizada no âmbito do projecto europeu S3C (Smart Consumer, Smart Customer, Smart Citizen), sendo-o, em particular, a iniciativa da ludificação levada a cabo na cidade piloto de Alcochete.

Numa primeira fase, direccionada para o envolvimento dos utilizadores, foi recolhida informação preliminar que permitiu analisar a viabilidade de um programa de ludificação. De facto, foi reconhecida pelos clientes e em particular pelas escolas a importância da sensibilização das camadas mais jovens para a problemática do consumo de energia.

O processo de ludificação foi conseguido mediante a criação de uma plataforma onde foram disponibilizados questionários sobre energia, retroacção persuasiva activa e um conjunto de objectivos a atingir cuja população alvo se centrou nas crianças em idade escolar. Os participantes da plataforma diminuíram os seus consumos de energia em cerca de 28% quando comparados com os seus consumos no período homólogo do ano anterior. Além disso, as respostas aos questionários foram, no geral, as correctas, denotando o interesse dos intervenientes na temática e a eficácia dos incentivos definidos pela empresa.

No futuro, a empresa considera estender o processo da ludificação ao encorajamento da população em geral a identificar e reportar possíveis irregularidades na distribuição eléctrica como são o caso das anomalias nas luminárias.

Cetelem

A Cetelem encontra-se a desenvolver um projecto de ludificação na área dos Recursos Humanos. O seu objectivo prende-se precisamente com a tentativa de uma reorganização da estrutura da empresa, optimizando a adequabilidade de cada colaborador ao respectivo cargo hierárquico. O processo irá permitir ainda avaliar as competências dos colaboradores e identificar o que pretendem saber e alcançar no âmbito da empresa.

Workshop “Gamification and Design Thinking como Framework de Inovação”

Tratando-se da identificação e resolução de problemas no âmbito do bem-estar de pessoas, tanto clientes como colaboradores, a abordagem Design Thinking mostra-se ser uma das escolhas óbvias nesse sentido. Os problemas que afectam as pessoas envolvem a sua cultura, experiências pessoais, os contextos e os processos das suas vidas. Ao mapear estes elementos, o Designer, priorizando o trabalho entre equipas multidisciplinares, permite abordá-los de vários ângulos de forma a identificar dificuldades, as suas causas e consequências bem como a propor soluções e oportunidades de inovação.

São consideradas três fases fundamentais no Design Thinking que podem ser executadas em paralelo de acordo com o âmbito do que se pretende inovar:

  • Imersão: Na fase de imersão, os responsáveis pelo projecto de inovação procedem à compreensão superficial e profunda do contexto do problema dos pontos de vista de todos os actores intervenientes. Esta fase divide-se em duas etapas.
    • Preliminar: Onde são concentrados os esforços na percepção e entendimento do problema inicial bem como na definição do escopo e fronteiras do projecto.
    • Em profundidade: Nesta etapa são elaborados planos de pesquisa e identificados os perfis dos actores chave do processo a serem estudados e abordadas as pessoas que se enquadram nesses perfis.
  • Ideação: Após o processo de Imersão, é realizada a Análise e Síntese da informação recolhida de modo a serem identificados padrões e criados desafios que auxiliem a compressão do problema. No seguimento, são geradas ideias inovadoras com as ferramentas sintéticas obtidas no processo de Análise.
  • Prototipagem: Trata-se de uma fase que pode ser aplicada no decurso do projecto e consiste na elaboração de protótipos como função auxiliar da validação das ideias. Os protótipos devem-se caracterizar por terem um custo baixo e serem submetidos a um processo contínuo de testes, tendo como premissa uma grande possibilidade de falha.

O Game Design Think constitui uma abordagem muito semelhante ao Design Thinking, tendo como pano de fundo a reestruturação das mecânicas inerentes ao processo de modo a estimular a motivação.

É pertinente fazer notar que a duração do Workshop não pode ter sido considerada suficiente sequer para abordar uma das fases da metodologia. Nas linhas seguintes são descritas as actividades que foram realizadas com alguns comentários adicionais.

  1. Identificação do problema: A identificação de um ponto de melhoria, principalmente num ambiente onde se assume que tudo funciona da melhor forma, é, por si só, um problema de difícil solução e que requer a aplicação de tempo e recursos na sua resolução. No Workshop foi considerado o número reduzido de cidadãos que estão comprometidos com a reciclagem.
  2. Formação de grupos de trabalho: Os participantes foram divididos em grupos de trabalho de acordo com listas pré-definidas. De seguida, cada pessoa foi convidada a apresentar-se aos outros elementos do grupo e a contar um pequeno segredo obscuro sobre si. Tratou-se de um processo facilitador da comunicação.
  3. Definição dos objectivos do problema: Foi estabelecido, como objectivo do processo, que, até 2018, 70% dos cidadãos portugueses se comprometem com a reciclagem e que o país passe a cumprir com as quotas de ambiente. De modo a torna-lo mais claro, foi criada uma capa de revista que noticiava o cumprimento desse objectivo.
  4. Imersão: A fase da imersão preliminar foi simulada do seguinte modo. Cada elemento de cada grupo procurou um elemento de outro grupo do qual deveria extrair informação emocional sobre o seu compromisso com a reciclagem. Foi aconselhado enfocar as razões mais profundas, questionando os motivos para os comportamentos descritos. Com base na informação recolhida foram criados os perfis dos actores chave.
  5. Análise e Síntese: Foi trabalhado o actor chave que representa o conjunto de pessoas que não se comprometem com a reciclagem mas admitiriam fazê-lo em determinadas situações. Para o efeito, foram resumidas, em pequenas frases, as características que podiam ser levantadas a partir dos dados recolhidos nas entrevistas e construído o actor chave pretendido.
  6. Estabelecimento dos vários níveis de compromisso: Foram resumidos vários objectivos no que concerne ao compromisso com a reciclagem e agrupados em vários níveis:
    1. Nível 0: O cidadão não se encontra comprometido com a reciclagem.
    2. Nível 1: O cidadão informa-se sobre processos de reciclagem.
    3. Nível 3: O cidadão criou hábitos de reciclagem e incluiu a separação do lixo na sua rotina diária.
    4. Nível 4: O cidadão participa em fóruns sobre reciclagem.
    5. Nível 5: O cidadão dinamiza fóruns de reciclagem e envolve familiares, vizinhos e conhecidos nesse processo.

O tempo disponibilizado no Workshop não foi suficiente para avançar com a introdução das mecânicas de jogo que permitiriam atingir o objectivo. Contudo, foi dado um enfoque especial ao facto de que deveria ser criado um protótipo de baixo custo que deveria ser constantemente testado e refinado até se obter uma solução fiável.

É pertinente apresentar o conteúdo da entrevista realizada:

«Costumas separar o lixo para reciclagem em casa?
Não.

Porquê?
Nunca criei esse hábito.

Se tivesses de pagar imposto por não separares o lixo ou fosses recompensado de algum forma por fazê-lo, estarias hoje a separá-lo para reciclagem?
Claro que sim.

Como o farias?
Teria de arranjar maneira.

Separas o lixo para reciclagem na empresa onde trabalhas?
Sim.

Porquê?
Porque a empresa tem uma série de regras nas suas políticas de ambiente que não tenho dificuldade em seguir.

Porque não crias regras para reciclagem em casa e as segues?
Em casa não tenho espaço para albergar contentores para separação do lixo.

Se considerares recipientes mais pequenos, aumentando a regularidade em que os despejas nos contentores públicos, isso seria exequível?
Sim. No entanto, não estou disposto a fazê-lo porque não existem contentores públicos perto de casa.

A que distância estão colocados os contentores públicos mais próximos?
A cerca de 500m.

Se colocassem contentores mais próximos, considerarias alterar os teus hábitos de modo a separares o lixo para reciclagem?
Estaria disposto a considerar a hipótese.

Quando fazes compras, tens em consideração a quantidade de embalagens e sub-embalagens nas quais são transportados ou no lixo que o seu consumo gera?
Não, só tenho em consideração a relação entre a qualidade e o custo monetário na escolha dos produtos que compro.

Porquê?
Na verdade, nunca tinha considerado essa hipótese.
»

Observações finais

Como nota final é útil enfatizar o facto de que é necessário envolver um grande número de pessoas no processo das ideias. No processo, deverão ser criados protótipos de baixo custo que são continuamente testados e alterados de modo a se chegar a uma ideia que funcione e constitua uma solução satisfatória. Tanto a abordagem da Ludificação como o Design Thinking se centram na aprendizagem mediante o erro e o processo deve ser refinado continuamente. Tal como um jogo, caso não sejam criados novos desafios, pode deixar de ser estimulante, também a introdução de mecânicas de ludificação poderão ser apenas eficientes num curto intervalo de tempo. Trata-se, portanto, de um método que deve ir ao encontro da política da empresa da melhoria contínua. O fracasso da aplicação da metodologia pode inviabilizar a sua aplicação no futuro e, portanto, esta deve ser realizada com um cuidado especial.

Anúncios
Publicado em Notícias e política | Etiquetas , , , | Publicar um comentário

As derivadas de ordem arbitrária da função composta

Irei aqui apresentar a demonstração de Gomes Teixeira, como este a apresentou no seu trabalho Sur les derivées d’ordre quelconque publicado no volume XVIII do Giornale di Matematiche sobre a derivada de ordem arbitrária da função composta, conhecida por fórmula da Faà di Bruno, apesar de ter sido discutida anteriormente por diversos autores desde Arbogast. Para o efeito, começo por explicitar alguma notação.

Denotamos a composição da função f com g por f\circ g, isto é, \left(f\circ g\right)(x)=f\left(g(x)\right). Denotamos por f', f'', f''', …, f^{(n)} as sucessivas derivadas da função f. Nesta notação, temos, por um lado, \left(f\circ g\right)^{(n)} como sendo a derivada de ordem n da função composta, representando f^{n}\circ g a composta da derivada de ordem n de f com a função g. Por exemplo, se f=x^m e g=\sin x então f\circ g=\sin^m x e \left(f^{n}\circ g\right)(x)=\frac{m!}{(m-n)!}\sin^{m-n}x. A fórmula para a primeira derivada da função composta escreve-se como

\left(f\circ g\right)'(x)=\left(f'\circ g\right)(x)g'(x)

Se considerarmos o exemplo anterior vemos que

\left(\sin^m x\right)'=\left(m\sin^{m-1}x\right)\cos x

Começamos por calcular algumas das sucessivas derivadas da função f\circ g. Temos então, combinando a fórmula anterior para a função composta e a regra do produto,

\begin{array}{l} \left(f\circ g\right)'=\left(f'\circ g\right)g'\\ \left(f\circ g\right)''=\left(f''\circ g\right)g'^2+\left(f'\circ g\right)g''\\ \left(f\circ g\right)'''=\left(f'''\circ g\right)g'^3+3\left(f'\circ g\right)g'g''+\left(f'\circ g\right)g''\\ \cdots \end{array}

A continuação do processo conduz-nos a concluir que

\left(f\circ g\right)^{(n)}=\sum\left\lbrack A_i\left(f^{(i)}\circ g\right)\left(g'\right)^{\alpha_1}\left(g''\right)^{\alpha_2}\left(g'''\right)^{\alpha_3}\cdots\left(g^{(n)}\right)^{\alpha_n}\right\rbrack

cujos parâmetros estão sujeitos às condições

\begin{array}{l} \alpha_1+2\alpha_2+3\alpha_3+\cdots+n\alpha_n=n\\ \alpha_1+\alpha_2+\alpha_3+\cdots+\alpha_n=i \end{array}

A regra da derivada da função composta permite-nos verificar a validade da expressão anterior para n=1 e supomos, por hipótese de indução, que também o é para um n arbitrário, isto é,

\left(f\circ g\right)^{(n)}=\sum_i\left\lbrack A_i\left(f^{(i)}\circ g\right)\left(g'\right)^{\alpha_1}\left(g''\right)^{\alpha_2}\left(g'''\right)^{\alpha_3}\cdots\left(g^{(n)}\right)^{\alpha_n}\right\rbrack

Se aplicarmos a derivada a ambos os membros da expressão anterior obtemos

\begin{array}{ll} \left(f\circ g\right)^{(n+1)}=& \sum_i\left\lbrack \left(f^{(i+1)}\circ g\right)\left(g'\right)^{\alpha_1+1}\left(g''\right)^{\alpha_2}\cdots\left(g^{(n)}\right)^{\alpha_n}+\right.\\ &+\alpha_1\left(f^{(i)}\circ g\right)\left(g'\right)^{\alpha_1-1}\left(g''\right)^{\alpha_2+1}\cdots\left(g^{(n)}\right)^{\alpha_n}+\\ &\left.+\cdots\right\rbrack \end{array}

Ora, os expoentes de \left(f^{(i+1)}\circ g\right)\left(g'\right)^{\alpha_1+1}\left(g''\right)^{\alpha_2}\cdots\left(g^{(n)}\right)^{\alpha_n} satisfazem as equações

\begin{array}{l} \left(\alpha_1+1\right)+2\alpha_2+3\alpha_3+\cdots+n\alpha_n+(n+1)\times 0=n+1\\ \left(\alpha_1+1\right)+\alpha_2+\alpha_3+\cdots+\alpha_n+0=i+1 \end{array}

É pertinente observar que foi aqui utilizada a hipótese de indução. Relativamente aos termos intermédios temos

\begin{array}{l} \left(\alpha_1+1\right)+\cdots+l\left(\alpha_k-1\right)+(k+1)\left(\alpha_{k+1}-1\right)+\cdots+n\alpha_n+(n+1)\times 0=n+1\\ \left(\alpha_1+1\right)+\cdots+\left(\alpha_k-1\right)+\left(\alpha_{k+1}+1\right)+\cdots+\alpha_n+0=i \end{array}

Verificamos deste modo que, verificando-se a fórmula para n, também se verifica para n+1 e a prova por indução fica completa. A determinação dos coeficientes A_i consegue-se com o auxílio da consideração das funções f=g^k onde g(x)=x+x^2+x^3+\cdots+x^n onde k é um inteiro. A expansão do multinómio g^k é dada por

\left(x+x^2+x^3+\cdots+x^n\right)^k=\sum_{\alpha_1+\alpha_2+\alpha_3+\cdots+\alpha_n=k}{\frac{k!}{\alpha_1!\alpha_2!\alpha_3!\cdots}x^{\alpha_1+2\alpha_2+3\alpha_3+\cdots}}

A derivada de ordem n em x=0 vale

\left(f\circ g\right)^{(n)}(0)=\sum_{\alpha_1+\alpha_2+\alpha_3+\cdots+\alpha_n=k}{\frac{k!n!}{\alpha_1!\alpha_2!\alpha_3!\cdots}}

onde \alpha_1+2\alpha_2+3\alpha_3+\cdots+n\alpha_n=n. Mas, de acordo com a fórmula geral para a derivada de ordem n da função composta, temos também

\left(f\circ g\right)^{(n)}(0)=\sum_i{A_i\frac{k!}{(k-i)!}\left(g_0\right)^{k-i}\left(g'_0\right)^{\alpha_1}\left(g''_0\right)^{\alpha_2}\left(g'''_0\right)^{\alpha_3}\cdots\left(g^{(n)}_0\right)^{\alpha_n}}

onde g^{(k)}_0 representa a derivada de ordem k de g calculada em x=0. Como g_0=0, todos os termos nos quais k>i são nulos e, por conseguinte,

\left(f\circ g\right)^{(n)}(0)=\sum_i{A_ik!\left(2!\right)^{\alpha_2}\cdots\left(n!\right)^{\alpha_n}}

onde \alpha_1+2\alpha_2+3\alpha_3+\cdots+n\alpha_n=n e \alpha_1+\alpha_2+\alpha_3+\cdots+\alpha_n=i. A comparação dos coeficientes permite-nos conlcuir que

A_i=\frac{n!}{\alpha_1!\alpha_2!\alpha_3!\cdots\alpha_n!\left(1!\right)\left(2!\right)^{\alpha_2}\cdots\left(n!\right)^{\alpha_n}}

A título de exemplo, a derivada de ordem n da função e^z onde z é, por seu turno, uma função de x, é dada por

\left(e^z\right)^{(n)}=\sum_i{\frac{n!e^z\left(z'\right)^{\alpha_1}\left(z''\right)^{\alpha_2}\cdots\left(z^{(n)}\right)^{\alpha_n}}{\alpha_1!\alpha_2!\alpha_3!\cdots\alpha_n!\left(2!\right)^{\alpha_2}\cdots\left(n!\right)^{\alpha_n}}}

onde os \alpha_k satisfazem as equações

\begin{array}{l} \alpha_1+2\alpha_2+3\alpha_3+\cdots+n\alpha_n=n\\ \alpha_1+\alpha_2+\alpha_3+\cdots+\alpha_n=i \end{array}

É útil notar que existe uma relação intrínseca entre a fórmula discutida e o problema combinatório da contagem do números de partições de um conjunto. No entanto, não a iremos aqui abordar.

Publicado em Sem categoria | Publicar um comentário

Uma fórmula combinatória

Na sua Mémoire sur la proportion des naissances des files et des garçons, Poisson mostrou que, sendo p a probabilidade de um acontecimento A e q a probabilidade do acontecimento contrário \bar{A} numa experiência aletória, a probabilidade X de se verificarem x ocorrências de A em n provas é dado pela fórmula

X=q^{n-x}\sum_{i=0}^{x}{\binom{n-x+i-1}{i}p^i}

Sabemos, por seu turno, que essa mesma probabilidade é dada pela soma das primeiras x+1 parcelas da expansão do binómio (p+q)^n, isto é, é dada por

X=\sum_{i=0}^{x}{\binom{n}{i}q^{n-i}p^i}

Como representam a mesma probabilidade para qualquer valor de x, ambas as expressões deverão ser equivalentes. A constatação probabilística de fórmula advém do seguinte argumento.
Se nas m=n-x primeiras experiências ocorrer o evento \bar{A}, então A poderá sair, quanto muito, x vezes. Esta probabilidade é dada por q^m. Se nas m+1 primeiras experiências se verificar m vezes \bar{A} e uma vez A (sem que este se encontre na última posição de modo a não se reduzir ao caso anterior), nas restantes x-1 provas, o evento A não poderá ser verificado um número de vezes superior a x-1 e não se verificará, consequentemente, mais do que x vezes nas n experiências. Esta probabilidade é dada por

\binom{m}{1}q^mp

Se nas primeiras m+2 provas se verificar m vezes \bar{A} e duas A sem que o acontecimento A ocupe a posição de ordem m (de modo a que não se reduza aos casos anteriores), o acontecimento A não poderá ser verificado um número de vezes superior a x. Esta probabilidade é dada por

\binom{m+1}{2}q^mp^2

É claro que, se continuarmos o mesmo raciocínio até exaurirmos as n posições, obtemos as probabilidades sucessivas

\binom{m+i-1}{i}q^mp^i

em que i assume todos os valores compreendidos entre 0 e x. A probabilidade procurada é dada pelas somas das probabilidades descritas, seguindo-se a fórmula acima, nomeadamente,

X=q^{n-x}\sum_{i=0}^{x}{\binom{n-x+i-1}{i}p^i}

Tendo a prova probabilística um carácter combinatório, considerei pertinente procurar uma demonstração algébrica da igualdade das expressões, isto é, da identidade

q^{n-x}\sum_{i=0}^{x}{\binom{n-x+i-1}{i}p^i}=\sum_{i=0}^{x}{\binom{n}{i}q^{n-i}p^i}

Na primeira abordagem que experimentei comecei por observar que

\sum_{i=0}^{x}{\binom{n}{i}q^{n-i}p^i}=q^{n-x}\sum_{i=0}^{x}{\binom{n}{i}q^{x-i}p^i}

e a identidade a ser mostrada reduz-se à igualdade

\sum_{i=0}^{x}{\binom{n-x+i-1}{i}p^i}=\sum_{i=0}^{x}{\binom{n}{i}q^{x-i}p^i}

Substituímos q por 1-p no segundo membro da equação anterior para ficarmos com

\sum_{i=0}^{x}{\binom{n-x+i-1}{i}p^i}=\sum_{i=0}^{x}{\sum_{j=i}^{x}{(-1)^{j-i}\binom{n}{i}\binom{x-i}{j-i}p^j}}

após algumas simplificações. A mudança de índices no somatório duplo conduz-nos ao resultado

\sum_{i=0}^{x}{\binom{n-x+i-1}{i}p^i}=\sum_{i=0}^x{p^i\sum_{j=0}^{i}{(-1)^j\binom{n}{j}\binom{x-j}{i-j}}}

A comparação das potências permite-nos concluir que a identidade polinomial é válida no caso de se verificar a identidade

\binom{n-x+i-1}{i}=\sum_{j=0}^{i}{(-1)^{i-j}\binom{n}{j}\binom{x-j}{i-j}}

ou, invertendo a ordem da soma,

\binom{n-x+i-1}{i}=\sum_{j=0}^{i}{(-1)^{j}\binom{n}{i-j}\binom{x-i+j}{j}}

A demonstração algécrica que procuramos reduzir-se-ia, deste modo, à demonstração desta identidade, o que não me pareceu simplificar o problema inicial.
Tentei, portanto, uma abordagem diferente que conduzisse à identidade de uma forma construtiva, a qual passo a descrever.
Começamos por observar que

1=\sum_{i=0}^n{\binom{n}{i}p^iq^{n-i}}

Segue-se daqui que

1-p^n=\sum_{i=0}^{n-1}{\binom{n}{i}p^iq^{n-i}}

Se representarmos por P_x a expressão

P_x=\sum_{i=0}^{x}{\binom{n}{i}p^iq^{n-i}}

então o algoritmo da divisão permite-nos concluir a identidade

P_{n-1}=1-p^n=q\sum_{i=0}^{n-1}{p^i}

uma vez que 1-p=q. Por seu turno,

P_{n-2}=P_{n-1}-\binom{n}{1}qp^{n-1}=q\left(\sum_{i=0}^{n-1}{p^i}-\binom{n}{1}p^{n-1}\right)

O algoritmo da divisão permite-nos, mais uma vez, concluir a identidade

\sum_{i=0}^{n-1}p^i-\binom{n}{1}p^{n-1}=q\sum_{i=0}^{n-2}{\binom{1+i}{i}p^i}

de onde se segue que

P_{n-2}=q^2\sum_{i=0}^{n-2}{\binom{1+i}{i}p^i}

O padrão de indução começa a tornar-se claro. De facto, suponhamos, por hipótese de indução, que

P_{n-k}=\sum_{i=0}^{n-k}{\binom{k-i+i}{i}p^i}

da qual já observámos atrás valer para k=0. Da definição de somatório temos também

P_{n-(k+1)}=P_{n-k}-\binom{n}{k}q^kp^{n-k}

A aplicação da hipótese de indução reduz esta expressão a

P_{n-(k+1)}=q^k\left\lbrack\sum_{i=0}^{k-1}{\binom{k+i-1}{i}p^i}+\left(\binom{n-1}{k}-\binom{n}{k}\right)p^k\right\rbrack

Porém, como

\binom{n-1}{k-1}+\binom{n}{k-1}=\binom{n}{k}

fica

P_{n-(k+1)}=q^k\left\lbrack\sum_{i=0}^{k-1}{\binom{k+i-1}{i}p^i}-\binom{n-1}{k-1}p^k\right\rbrack

O algoritmo da divisão, aliado à identidade

\sum_{i=0}^{n}{\binom{k+i}{i}}=\binom{n+k+1}{n}

permite escrever a identidade anterior como

P_{n-(k+1)}=q^{k+1}\sum_{i=0}^{n-k-1}{\binom{k-i}{i}p^i}

A demonstração por indução do que pretendíamos prova fica concluída se fizermos agora k=n-x.

Publicado em Sem categoria | Publicar um comentário

Intersecção de espaços afins

No texto Um problema sobre reflexões e refracções expus um resultado em óptica intuitivo que, apesar de se poder basear numa prova geométrica simples, não me pareceu tão trivial do ponto de vista algébrico. O resultado é o seguinte: os raios de um feixe que partem do ponto P e são reflectidos no plano \alpha geram um feixe cujos raios se intersectam num mesmo ponto Q. Os pontos P e Q encontram-se numa recta perpendicular ao plano \alpha, em lados opostos e à mesma distância.

A demonstração geométrica é simples. De facto, se considerarmos os pontos P e Q dispostos como acabámos de descrever, consideramos a recta PQ que intersecta o plano no ponto A. Consideramos agora uma segunda recta que passa por P e intersecta o plano no ponto R. Pretendemos mostrar que um raio que parte de P segundo a direcção da recta PR é reflectido segundo a recta RQ. De facto, o ângulo de incidência é igual ao ângulo R\hat{P}A. Por seu turno, o ângulo que a recta RQ faz com a normal ao plano é igual ao ângulo R\hat{Q}A. Como os triângulos PRA e QRA são semelhantes, segue-se que R\hat{P}A=R\hat{Q}A e a recta RQ define a direcção de reflexão uma vez que o ângulo de incidência iguala o da reflexão.

A prova algébrica que decidi apresentar assentou na determinação da intersecção de espaços afins quando estes são descritos em forma vectorial. Não pretendo voltar aqui a essa demonstração, cingindo-me apenas ao método.

Sejam dois espaços afins descritos pelas equações vectoriais

X=P+\sum_{i=1}^p{\lambda_i\vec{u}_i}

e

X=Q-\sum_{i=p+1}^{p+q}{\lambda_i\vec{u}_i}

É óbvio que a sua solução passa pela determinação dos coeficientes \lambda_i que satisfazem a equação vectorial

0=P-Q+\sum_{i=1}^{p+q}{\lambda_i\vec{u}_i}

Se A for a matriz cujas colunas são dadas pelos vectores \vec{u}_i e \vec{b} for o vector P-Q que representaremos pela matriz coluna b, o problema reduz-se à determinação da solução do sistema

A\lambda=b

onde \lambda corresponde à matriz coluna cujas entradas são os \lambda_i.

A existência de uma solução para o sistema anterior depende da característica da matriz. Se a característica for máxima, todos os vectores são linearmente independentes e, neste caso, existe intersecção se a característica da matriz aumentada não for superior. A intersecção dos espaços resulta num espaço de dimensão não nula se a característica da matriz for inferior ao número de colunas e a característica da matriz aumentada não for superior. No caso em que a característica da matriz aumentada é superior, a intersecção dos espaços é vazia.

O problema é de fácil resolução quando a dimensão dos vectores é baixa. No entanto, quando a dimensão é alta, também é elevado o número de equações e, consequentemente, a complexidade do problema.
Voltemos à equação que nos permite obter a intersecção dos espaços, nomeadamente,

0=\vec{b}+\sum_{i=1}^{p+q}{\lambda_i\vec{u}_i}

Se multiplicarmos escalarmente a equação por \vec{u}_i obtemos p+q equações resumidas pela equação matricial

M\lambda=A^Tb

onde M=A^TA é uma matriz simétrica cuja dimensão é igual ao número de incógnitas a determinar. Não é difícil concluir que qualquer solução do problema, descrita com base em valores para os \lambda_i são também solução deste sistema. Assim, sendo este sistema impossível, podemos concluir que a intersecção dos espaços afins é vazia. No entanto, nem todas as soluções deste sistema valem para o problema. A título de exemplo, consideremos as rectas em \mathbb{R}^3 definidas pelas equações

X=P+\lambda_1\vec{u}_1

e

X=Q-\lambda_2\vec{u}_2

de tal forma que \vec{u}_1 e \vec{u}_2 sejam linearmente independentes. Escolhemos P e Q de modo que a intersecção seja vazia. Tal é possível uma vez que a dimensão dos vectores é superior ao número de parâmetros. Do ponto de vista geométrico, estamos a consdierar rectas enviesadas. Ora, sendo os vectores linearmente independentes, o sistema de equações

M\lambda=A^Tb

possui uma solução. De um ponto de vista geométrico, a substituição do valor de \lambda_1 encontrado, na primeira equação, proporciona o ponto de intersecção caso a segunda recta se encontrasse no plano definido pelo ponto P e os vectores \vec{u}_1 e \vec{u}_2. Do mesmo modo, a substituição do \lambda_2 encontrado, na segunda equação, permitiria determinar o ponto de intersecção caso a primeira recta se encontrasse no plano definido pelo ponto Q e os vectores \vec{u}_1 e \vec{u}_2. Tal acontece devido ao facto de que o vector P-Q deverá estar contido no espaço gerado por todos os vectores como se segue imediatamente da equação

0=\vec{b}+\sum_{i=1}^{p+q}{\lambda_i\vec{u}_i}

Como a característica de M é igual à característica de A, podemos concluir que, caso uma solução do sistema M\lambda=A^Tb seja também solução de A\lambda=b então todas as soluções também o serão. Tal resulta do facto de que a solução de um sistema é dada pela soma de uma solução particular com o espaço vectorial determinado pela solução da equação homogénea que é o mesmo em ambos os sistemas. Por outro lado, se uma solução do sistema M\lambda=A^Tb não for solução de A\lambda=b então nenhuma outra solução do sistema verificará esta propriedade e a intersecção é vazia.

O método apresenta uma segunda vantagem para além de diminuir o número de equações a serem resolvidas quando pretendemos determinar a intersecção de espaços de pequenas dimensões em comparação com a dimensão do espaço envolvente. Sendo M uma matriz simétrica, podemos resolver o sistema com o auxílio da decomposição de Cholesky com pivot ou, caso a matriz seja esparsa, do método dos gradientes conjugados. Será aqui discutida a primeira abordagem.
Observamos que o sistema a ser resolvido se escreve na forma M\lambda=b' onde M=A^TA é uma matriz simétrica. Ora, como

x^TMx=x^TA^TAx=(Ax)^T(Ax)\ge 0

qualquer que seja o vector coluna x, então a matriz M é simétrica semi-definida positiva. Como qualquer matriz A pode ser, por intermédio de algum algoritmo de ortogonalização, decomposta num produto A=QR onde Q é uma matriz cujas colunas são compostas por vectores ortogonais e normados e R é uma matriz triangular superior, então

M=A^TA=(QR)^T(QR)=R^TQ^TQR=R^TR

isto é, M=LL^T, sendo L uma matriz triangular inferior. Da factorização M=LL^T construímos a factorização M=LDL^T onde D é uma matriz triangular e os elementos da diagonal de L são unitários. A título de exemplo, suponhamos que pretendemos determinar a intersecção dos espaços definidos pelas equações

X=(1,0,0,0,0,0)+\lambda_1\vec{u}_1+\lambda_2\vec{u}_2+\lambda_3\vec{u}_3

e

X=(0,-1,0,0,0,0)-\lambda_4\vec{u}_4-\lambda_5\vec{u}_5-\lambda_6\vec{u}_6

onde os vectores \vec{u}_i correspondem às colunas da matriz

A=\left\lbrack\begin{array}{cccccc} 1&1&0&1&-1&0\\ 0&1&1&1&-1&1\\ -1&0&1&0&1&-1\\ 0&1&1&1&0&-1\\ 1&2&1&2&-2&1\\ 0&0&1&1&1&-1 \end{array}\right\rbrack

Se fizermos \vec{b}=(1,1,0,0,0,0), a solução do problema advém da solução sistema A\lambda=b. Pelos motivos atrás explicitados, consideramos o sistema A^TA\lambda=A^Tb ao qual aplicamos o método da decomposição. Tal sistema escreve-se como

M=\left\lbrack\begin{array}{cccccc} 3&3&0&3&-4&2\\ 3&7&4&7&-6&2\\ 0&4&5&5&-1&-1\\ 3&7&5&8&-5&1\\ -4&-6&-1&-5&8&-5\\ 2&2&-1&1&-5&5 \end{array}\right\rbrack\left\lbrack\begin{array}{c} \lambda_1\\ \lambda_2\\ \lambda_3\\ \lambda_4\\ \lambda_5\\ \lambda_6 \end{array}\right\rbrack=\left\lbrack\begin{array}{c} 2\\ 1\\ -1\\ 1\\ 3\\ 0 \end{array}\right\rbrack

A decomposição da matriz M é conseguida com o auxílio da recorrência

\left\lbrace\begin{array}{l} d_j=m_{jj}-\sum_{k=1}^{j-1}{l_{jk}^2d_k}\\ l_{ij}=\frac{1}{d_j}\left(m_{ij}-\sum_{k=1}^{j-1}{l_{ik}l_{jk}d_k}\right),\ i>j \end{array}\right.

No caso em que d_j=0, trocamos a linha j com a linha i de tal forma que d_i\ne0. Se d_i=0 para todo o i\ge j então o processo termina, sendo os l_{ij} arbitrários com i>j. Ao aplicarmos as fórmulas anteriores obtemos

L=\left\lbrack\begin{array}{cccccc} 1&0&0&0&0&0\\ 1&1&0&0&0&0\\ 0&1&1&0&0&0\\ 1&1&1&1&0&0\\ -\frac{4}{3}&-\frac{1}{2}&1&?&1&0\\ \frac{2}{3}&0&-1&?&?&1 \end{array}\right\rbrack

Temos também d={11}=3, d_{22}=4 e d_{33}=1. Como, neste caso, d_{44}=0, procedemos à determinação de d_{55} que verificamos valer \frac{2}{3}. Procedemos, deste modo, à troca da linha e coluna 4 com a linha e coluna 5 e continuamos o processo que termina quando não for possível construir um elemento diagonal não nulo. Após a decomposição ficamos com o sistema

LDL^T\left\lbrack\begin{array}{c} \lambda_1\\ \lambda_2\\ \lambda_3\\ \lambda_5 \\ \lambda_4 \\ \lambda_6 \end{array}\right\rbrack=\left\lbrack\begin{array}{c} 2\\ 1\\ -1\\ 3\\ 1\\ 0 \end{array}\right\rbrack

onde

L=\left\lbrack\begin{array}{cccccc} 1&0&0&0&0&0\\ 1&1&0&0&0&0\\ 0&1&1&0&0&0\\ -\frac{4}{3}&-\frac{1}{2}&1&0&1&0\\ 1&1&1&0&1&0\\ \frac{2}{3}&0&-1&-2&a&1 \end{array}\right\rbrack

com a arbitrário. Ora, o sistema anterior escreve-se como

LX=\left\lbrack\begin{array}{c} 2\\ 1\\ -1\\ 3\\ 1\\ 0 \end{array}\right\rbrack

cuja solução é dada por

X=\left\lbrack\begin{array}{c} 2\\ -1\\ 0\\ \frac{31}{6}\\ 0\\ 9 \end{array}\right\rbrack

isto é,

DL^T\left\lbrack\begin{array}{c} \lambda_1\\ \lambda_2\\ \lambda_3\\ \lambda_5 \\ \lambda_4 \\ \lambda_6 \end{array}\right\rbrack=\left\lbrack\begin{array}{c} 2\\ -1\\ 0\\ \frac{31}{6}\\ 0\\ 9 \end{array}\right\rbrack

Não é difícil concluir que o sistema de equações resultante é impossível, sendo-o também o sistema original e, portanto, os espaços afins considerados não se intersectam. Se os espaços fossem dados pelas equações

X=(1,0,0,0,0,0)+\lambda_1\vec{u}_1+\lambda_2\vec{u}_2+\lambda_3\vec{u}_3

e

X=(2,0,-1,0,1,0)-\lambda_4\vec{u}_4-\lambda_5\vec{u}_5-\lambda_6\vec{u}_6

neste caso, o sistema seria dado por

LDL^T\left\lbrack\begin{array}{c} \lambda_1\\ \lambda_2\\ \lambda_3\\ \lambda_5 \\ \lambda_4 \\ \lambda_6 \end{array}\right\rbrack=\left\lbrack\begin{array}{c} -3\\ -3\\ 0\\ 4\\ -3\\ -2 \end{array}\right\rbrack

isto é,

DL^T\left\lbrack\begin{array}{c} \lambda_1\\ \lambda_2\\ \lambda_3\\ \lambda_5 \\ \lambda_4 \\ \lambda_6 \end{array}\right\rbrack=\left\lbrack\begin{array}{c} -3\\ 0\\ 0\\ 0\\ 0\\ 0 \end{array}\right\rbrack

Facilmente constatamos que o sistema possui uma infinidade de soluções, uma vez que a solução do sistema

DY=\left\lbrack\begin{array}{c} -3\\ 0\\ 0\\ 0\\ 0\\ 0 \end{array}\right\rbrack

é dada pela família de vectores da forma

\left\lbrack\begin{array}{c} -1\\ 0\\ 0\\ 0\\ \mu\\ \nu \end{array}\right\rbrack

com \mu e \nu arbitrários. A solução do sistema final é-nos proporcionada pela equação

L^T\left\lbrack\begin{array}{c} \lambda_1\\ \lambda_2\\ \lambda_3\\ \lambda_5 \\ \lambda_4 \\ \lambda_6 \end{array}\right\rbrack=\left\lbrack\begin{array}{c} -1\\ 0\\ 0\\ 0\\ \mu\\ \nu \end{array}\right\rbrack

e, portanto,

\left\lbrack\begin{array}{c} \lambda_1\\ \lambda_2\\ \lambda_3\\ \lambda_5 \\ \lambda_4 \\ \lambda_6 \end{array}\right\rbrack=\left\lbrack\begin{array}{c} \mu'-1\\ 2\nu\\ \mu'-\nu\\ 2\mu\\ -\mu'\\ \nu \end{array}\right\rbrack

onde usámos a abreviação \mu'=a\nu-\mu. Facilmente verificamos tratar-se de uma solução do sistema original e, portanto, a intersecção procurada é dada por todos os pontos da forma

X=(1,0,0,0,0,0)+\left(\mu'-1\right)\vec{u}_1+2\nu\vec{u}_2+\left(\mu'-\nu\right)\vec{u}_3

Trata-se de um espaço de duas dimensões.

Publicado em Matemática | Etiquetas , , , | Publicar um comentário

Dois artigos sobre séries trigonométricas

Traduzi dois artigos, nomeadamente, Sobre a possibilidade de representar uma função por uma série trigonométrica de Riemann e Sobre um teorema concernente às séries trigonométricas de Cantor cuja importância é inegável. De facto, a noção de integral que é considerada habitualmente foi introduzida no primeiro dos artigos de modo a possibilitar uma abordagem ao problema. No segundo dos artigos, encontra-se a demonstração de que se a soma de uma série trigonométrica for nula então todos os coeficientes o são. A elaboração deste resultado conduziu o autor, em trabalhos posteriores, a introduzir a noção de conjunto.

Publicado em Matemática | Etiquetas , , , | Publicar um comentário

Algumas notas sobre o conceito de derivada

No artigo A análise do ponto de vista histórico apus uma ligação para um conjunto de textos que versam sobre alguns dos principais temas de análise dum ponto de vista histórico. Neste, vou destacar as actualizações que efectuei no texto A derivada relativamente ao conceito de derivada segundo José Anastácio da Cunha e à extensão que dei relativamente ao método dos círculos de Descartes. Comecemos pelo primeiro.

A definição de derivada baseada em infinitésimos

No livro XV dos seus Principios mathematicos o autor expôs uma teoria algo rigorosa de derivada. Começou por definir infinitamente grande como sendo a variável que poderá sempre assumir um valor superior a qualquer grandeza dada. Por outro lado, diz-se que uma variável é infinitésimo se puder sempre assumir um valor em módulo inferior a qualquer grandeza dada. O polinómio

p(x)=a_nx^n+a_{n-1}x^{n-1}+\cdots+a_1x

é um infinitésimo se x também o for. De facto, seja \varepsilon uma grandeza positiva arbitrária. Como x é um infinitésimo, podemos sempre torná-lo inferior a 1. Neste caso, \left|x^n\right|>|x| sempre que n>1 e, portanto,

\left|p(x)\right|<\left(\left|a_n\right|+\left|a_{n-1}\right|+\cdots+\left|a_1\right|\right)|x|

Se M for o máximo dos \left|a_i\right| então

\left|p(x)\right|<nM|x|

Como x é um infinitésimo podemos atribuir-lhe um valor inferior a \frac{\varepsilon}{nM}, advindo

\left|p(x)\right|<\varepsilon

como se pretendia.

Definiu diferencial do seguinte modo. Sendo f(x) uma função de x, o seu diferencial df é tal que

f'(x)=\frac{df}{dx}

não depende de dx e

\frac{f(x+dx)-f(x)}{dx}-f'(x)

é um infinitésimo.

Mostremos que

d\left(x^n\right)=nx^{n-1}

De facto,

\frac{d\left(x^n\right)}{dx}=nx^{n-1}

que não depende de dx. Por outro lado,

\frac{(x+dx)^n-x^n}{dx}-nx^{n-1}=\binom{n}{2}x^{n-2}dx+\binom{n}{3}x^{n-3}dx^2+\cdots+(dx)^{n-1}

que é um infinitésimo para qualquer valor finito de x.

Não é difícil demonstrar as principais propriedades da derivada com base nesta definição, nomeadamente, as derivadas da soma de funções, produtos de funções e composições de funções. Apresentamos aqui o caso da função implícita que não foi estudado pelo autor. Pretendemos mostrar que, sendo y uma função de x definida implicitamente pela equação

f(x,y)=0

o seu diferencial é dado por

dy=-\frac{\frac{\partial f}{\partial x}}{\frac{\partial f}{\partial y}}dx

se \frac{\partial f}{\partial y}\ne 0 numa vizinhança do ponto onde a função se encontra definida. Ora, facilmente verificamos que

\frac{dy}{dx}=-\frac{\frac{\partial f}{\partial x}}{\frac{\partial f}{\partial y}}

não depende de dx. Resta provar que

\frac{y(x+dx)-y(x)}{dx}+\frac{\frac{\partial f}{\partial x}}{\frac{\partial f}{\partial y}}

ou, o que vem dar ao mesmo,

\frac{\partial f}{\partial y}\frac{y(x+dx)-y(x)}{dx}+\frac{\partial f}{\partial x}

é um infinitésimo. Se abreviarmos por dy a quantidade y(x+dx)-y(x), da equação f(x,y)=0 segue-se também que f(x+dx,y+dy)=0. Então também

\frac{f(x+dx,y+dy)-f(x,y)}{dx}=0

que podemos escrever como

\frac{f(x+dx,y+dy)-f(x+dx,y)}{dy}\frac{y(x+dx)-y(x)}{dx}+\frac{f(x+dx,y)-f(x,y)}{dx}=0

A expressão anterior pode ainda se colocada na forma

\left[\frac{f(x+dx,y+dy)-f(x+dx,y)}{dy}-\frac{\partial f}{\partial y}(x+dx,y)\right]\frac{y(x+dx)-y(x)}{dx}+\frac{f(x+dx,y)-f(x,y)}{dx}-\frac{\partial f}{\partial x}+\frac{\partial f}{\partial y}(x+dx,y)\frac{y(x+dx)-y(x)}{dx}+\frac{\partial f}{\partial x}=0

Como as quantidades

\frac{f(x+dx,y+dy)-f(x+dx,y)}{dy}-\frac{\partial f}{\partial y}(x+dx,y)

e

\frac{f(x+dx,y)-f(x,y)}{dx}-\frac{\partial f}{\partial x}

são infinitésimos concluímos, da equação anterior, que

dh=\frac{\partial f}{\partial y}(x+dx,y)\frac{y(x+dx)-y(x)}{dx}+\frac{\partial f}{\partial x}

é um infinitésimo. Se f(x,y) admitir derivadas contínuas então

dl=\frac{\partial f}{\partial y}(x+dx,y)-\frac{\partial f}{\partial y}(x,y)

é um infinitésimo se dx também o for. Segue-se que

\frac{\partial f}{\partial y}\frac{y(x+dx)-y(x)}{dx}+\frac{\partial f}{\partial x}=dh-dl\frac{y(x+dx)-y(x)}{dx}

Como

dl\frac{y(x+dx)-y(x)}{dx}

é um infinitésimo, também o será

\frac{\partial f}{\partial y}\frac{y(x+dx)-y(x)}{dx}+\frac{\partial f}{\partial x}

como era pretendido.

O método do círculo revisitado

O método do círculo na determinação da tangente a uma curva definida por uma condição algébrica afigura-se muito mais intuitivo do que o método dos diferenciais por não depender dum conceito tão abstracto como é o de limite. Com isto em mente, decidi tentar deduzir o algoritmo das derivações a partir deste método. Estas são as conclusões.

Seja f(x,y)=0 uma equação algébrica, sendo f(x,y) uma expressão polinomial. De modo a determinarmos a recta que lhe é tangente, consideramos a família de círculos de centro no ponto arbitrário (p,0) que intersecta a curva no ponto \left(x_1,y_1\right). Esta intersecção determina-se por intermédio da resolução do sistema de equações

\left\lbrace\begin{array}{l}f(x,y)=0\\ \left(x-p\right)^2+y^2=\left(x_1-p\right)^2+y_1^2\end{array}\right.

Se fixarmos y, o algoritmo da divisão aplicado a f(x,y) permite-nos escrever

f(x,y)=f\left(x_1,y\right)+\left(x-x_1\right)f'_x(x,y)

onde f'_x(x,y) é uma função polinomial. Se fixarmos x_1, o algoritmo da divisão conduz-nos a

f\left(x_1,y\right)=f\left(x_1,y_1\right)+\left(y-y_1\right)f'_y\left(x_1,y\right)

Como f\left(x_1,y_1\right)=0, concluímos que

f(x,y)=\left(x-x_1\right)f'_x(x,y)+\left(y-y_1\right)f'_y\left(x_1,y\right)

O sistema de equações pode-se, portanto, escrever como

\left\lbrace\begin{array}{l}\left(x-x_1\right)f'_x(x,y)+\left(y-y_1\right)f'_y\left(x_1,y\right)=0\\ \left(x-x_1\right)\left(x+x_1-2p\right)+\left(y-y_1\right)\left(y+y_1\right)\end{array}\right.

Se multiplicarmos a primeira equação por y+y_1, a segunda por -f'_y\left(x_1,y\right) e somarmos obtemos a equação

\left(x-x_1\right)\left\lbrack\left(y+y_1\right)f'_x(x,y)-\left(x+x_1-2p\right)f'_y\left(x_1,y_1\right)\right\rbrack=0

De modo a que x_1 seja raiz dupla da equação é necessário que seja satisfeita a identidade

y_1f'_x\left(x_1,y_1\right)-\left(x_1-p\right)f'_y\left(x_1,y_1\right)=0

Daqui determinamos p e, por conseguinte, a normal à curva no ponto \left(x_1,y_1\right) tem a direcção do vector

\left(f'_x\left(x_1,y_1\right),f'_y\left(x_1,y_1\right)\right)

Se p(x) for uma função polinomial, sabemos que esta se poderá escrever como

p(x)=p'(x)(x-a)+p(a)

Definimos, deste modo, p'(x) como sendo o polinómio que resulta da identidade

p(x)-p(a)=p'(x)(x-a)

Interessa-nos agora determinar o valor de p'(a). Para o efeito, observamos que p'(x)=0 se p(x) for a função constante. Sendo p(x)=q(x)+r(x) então

p(x)-p(a)=q(x)-q(a)+r(x)-r(a)=\left[q'(x)+r'(x)\right](x-a)

seguindo-se que p'(a)=q'(a)+p'(a). Se for agora p(x)=q(x)r(x) temos

p(x)-p(a)=q(x)r(x)-p(a)r(a)=\left[q(x)-q(a)\right]r(x)+\left[r(x)-r(a)\right]q(a)

A equação anterior admite ainda a representação

p(x)-p(a)=\left[q'(x)r(x)+q(a)r'(x)\right](x-a)

Segue-se daqui a identidade p'(a)=q'(a)r(a)+q(a)r'(a). Em particular, se p(x)=kq(x) com k constante, então p'(a)=kq'(a). Se p(x)=x^2, concluímos que p'(a)=2a. Por seu turno, se p(x)=x^3=x^2\cdot x então p'(a)=3a^2. O método da indução permite-no concluir que se p(x)=x^n então p'(a)=na^{n-1}. Segue-se finalmente que se

p(x)=a_nx^n+a_{n-1}x^{n-1}+\cdots+a_1x+a_0

então

p'(a)=na_{n}x^{n-1}+(n-1)a_{n-1}x^{n-2}+\cdots+a_2x+a_1

Da função implícita é possível deduzir os casos das funções radicais, da função inversa e da função composta.

Publicado em Matemática, Sem categoria | Etiquetas , , , , | Publicar um comentário

Assinatura de procedimentos em SQL Server

Para além da minha função de administrador de bases-de-dados, desempenho ainda a de analista de sistemas na qual desenvolvo e analiso soluções de integração entre sistemas heterogéneos. Neste âmbito, foi-me requerido o melhoramento do seguinte processo:

  1. Sempre que existe a necessidade de processar um determinado conjunto de dados, um email é enviado ao operador;
  2. O operador executa uma aplicação que extrai um conjunto de dados em forma tabular de uma base-de-dados Oracle;
  3. O operador executa uma macro de Excel sobre os dados contidos no ficheiro, incluindo informação adicional;
  4. O operador envia o resultado ao seu cliente.

Não é difícil concluir uma melhoria trivial sobre este processo, nomeadamente, a eliminação dos três primeiros passos, com o auxílio de uma aplicação web que poderia ser facilmente criada pela equipa de desenvolvimento. O processo anterior evoluiria para:

  1. O utilizador autentica-se e inicia a extracção do relatório;
  2. A aplicação conecta-se à base-de-dados Oracle e extrai e processa os dados necessários;
  3. O utilizador descarrega ou visualiza o relatório final.

Neste caso específico, poderia ser criado na base-de-dados um utilizador cujas permissões se cingiriam à leitura das tabelas requeridas para a extracção dos dados cujas credenciais poderiam ser do conhecimento da equipa de desenvolvimento. No entanto, os administradores da base-de-dados não estão predispostos a criar um utilizador com as permissões pretendidas. Por outro lado, disponibilizando à equipa de desenvolvimento as credenciais de um utilizador com permissões demasiado elevadas viola claramente o princípio do menor privilégio, segundo o qual só deverão ser atribuídas apenas as permissões necessárias para a execução de uma tarefa. Dada a quantidade de dados envolvida, a solução passa pela interposição de uma base-de-dados que exponha uma interface para a consulta pretendida. Tendo em conta a experiência da equipa de desenvolvimento, a escolha recaiu sobre o SQL Server.

A extracção de dados Oracle a partir do SQL Server efectua-se facilmente com o auxílio do conector de dados Attunity. Mais uma vez a escolha particular desta tecnologia em detrimento do ODAC (Oracle Database Access Components) deveu-se particularmente à sua aplicabilidade no SSIS (SQL Server Integration Services). Após a instalação do Attunity, é necessário configurar uma conexão ODBC sobre a qual é criado um Linked Server no SQL Server e mapeado um login, que será designado por elevated_login ao utilizador conhecido com permissões elevadas. Não serão aqui detalhados os passos para o efeito. É também criado o login e respectivo utilizador rectricted_login que não será mapeado no Linked Server.

Se criarmos o procedimento na base-de-dados MyDatabase


CREATE PROCEDURE [dbo].[MyProcedure]
WITH EXECUTE AS 'elevated_login'
AS
BEGIN
SELECT * FROM OPENQUERY(My_Oracle_Linked_Server, '
 SELECT * FROM ORASCHEMA.ORATABLE
');
END;

sobre o qual atribuímos permissões de execução aos utilizadores elevated_login e restricted_login. Se executarmos o procedimento no contexto do utilziador elevated_login, o procedimento retorna-nos os dados pretendidos. A execução no contexto do utilizador restricted_login resulta no erro:

Cannot execute as the server principal because the principal “elevated_login” does not exist, this type of principal cannot be impersonated, or you do not have permission.

De facto, o utilizador restricted_login não tem permissões para personificar o utilizador elevated_login e a chamada do procedimento falha. Por outro lado, o princípio do menor privilégio é violado caso sejam atribuídas ao utilizador mais restrito permissões de personificação de um utilizador elevado. Tais atribuições permitiriam, após personificação, a elevação do utilizador restrito ao nível em que este seria capaz de executar qualquer consulta sobre o Linked Server. Coloca-se, portanto, a questão: É possível dar permissões a um utilizador menos elevado para executar um procedimento num contexto de um utilizador mais elevado sem o personificar? A resposta à pergunta é positiva e o método baseia-se no conceito de certificado.

Um certificado consiste num objecto assinado electronicamente ao qual se encontra associada uma chave pública (ver criptografia de chave pública). Esse objecto permite assistir a criação de conexões seguras entre bases-de-dados espelho, encriptar dados ou assinar packages e procedimentos. Vejamos como é possível recorrer ao certificado para permitir ao utilizador restricted_login executar apenas o procedimento, personificando o elevated_login.

Em primeiro lugar, como o Linked Server é um objecto de servidor, o certificado terá de ser conhecido ao nível da base-de-dados master. Podemos, portanto, criar aí um certificado.


USE master;
GO

CREATE CERTIFICATE [SigningCertificate]
ENCRYPTION BY PASSWORD = '$tr0ngp@$$w0rd'
WITH SUBJECT = 'Certificate for signing a Stored Procedure';
GO

O comando permite criar um certificado, isto é, um par de chave pública e chave privada. A chave privada é subsequentemente encriptada com o auxílio da palavra-chave “$tr0ngp@$$w0rd”. De modo a ser possível importar o par na base-de-dados MyDatabase, exportamos o respectivo conteúdo.


BACKUP CERTIFICATE [SigningCertificate]
TO FILE = 'd:\tmp\SigningCertificate.cer'
WITH PRIVATE KEY (
FILE = 'c:\tmp\SigningCertificate.pvk',
ENCRYPTION BY PASSWORD = 'b4ckup$tr0ngp@$$w0rd'
DECRYPTION BY PASSWORD = '$tr0ngp@$$w0rd'
)
;

Note-se que, para importar o certificado, é necessário conhecer a chave privada que lhe está associada. O processo de exportação encripta a chave privada com o auxílio da palavra-chave “b4ckup$tr0ngp@$$w0rd”. Como é óbvio, é necessário proporcionar a palavra-chave que desencripta a chave privada associada ao certificado que se encontra armazenada na base-de-dados. Criamos um login associado ao certificado e atribuímos-lhe permissões de personificação do elevated_login.


CREATE LOGIN [SigningLogin]
FROM CERTIFICATE [SigningCertificate];

GRANT IMPERSONATE ON LOGIN::elevated_login to [SigningLogin];

Importamos, de seguida, o certificado na base-de-dados MyDatabase onde foi criado o procedimento.


USE MyDatabase;
GO

CREATE CERTIFICATE [SigningCertificate]
FROM FILE = 'd:\tmp\SigningCertificate.cer'
WITH PRIVATE KEY (
FILE = 'd:\tmp\SigningCertificate.pvk',
ENCRYPTION BY PASSWORD = 'M1D4b453$tr0ngp@$$w0rd',
DECRYPTION BY PASSWORD = 'b4ckup$tr0ngp@$$w0rd');
GO

O comando anterior permite importar o certificado e a respectiva chave privada que foi encriptada com o auxílio da chave “b4ckup$tr0ngp@$$w0rd”. Será armazenada na base-de-dados MyDatabase encriptada pela palavra-chave “M1D4b453$tr0ngp@$$w0rd”. Criamos o utilizador associado ao certificado.


CREATE USER [SigningLogin] FROM LOGIN [SigningLogin]
GO

Finalmente, assinamos o procedimento.


ADD SIGNATURE TO OBJECT::[dbo].[MyProcedure]
BY CERTIFICATE [SigningCertificate]
WITH PASSWORD = 'M1D4b453$tr0ngp@$$w0rd';
GO

Se o utilizador restricted_login executar o procedimento assinado, a personificação do elevated_login será conseguida por intermédio do login SigningLogin. Verificamos que as permissões são atribuídas ao certificado ao invés de o serem ao utilizador menos elevado.

Será tentador assumir que é possível mapear o SigningLogin no Linked Server. No entanto, a sua tentativa será fútil uma vez que um utilizador associado a um certificado serve apenas o propósito de assinar objectos e não pode ser usado para conexões às base-de-dados.

Publicado em Computadores e Internet | Etiquetas , , , | Publicar um comentário