O desenvolvimento tecnológico digital, especialmente nas tecnologias de computação, telecomunicações e armazenamento de dados aumentou consideravelmente a diversidade, quantidade e complexidade das arquiteturas convergentes de informação (tudo que computa informação). A velocidade da mudança tecnológica está exigindo maior adaptabilidade dos sistemas ao ambiente em que eles operam. Nunca foi tão difícil implementar, integrar, instalar, configurar e manter sistemas tão complexos. Eles tem enorme quantidade de partes heterogêneas, com inúmeros protocolos de comunicação, sistemas operacionais, chips, etc. Trata-se de um trabalho altamente estressante, que geralmente traz um profundo sentimento de falha, de incapacidade de operar tantos sistemas e seus detalhes. Imagine ser responsável por otimizar o uso de todos os sistemas de uma cidade inteligente! A quantidade de configurações possíveis pode chegar a casa dos milhões, com grande dinâmica diária de ações necessárias. Muito trabalho repetitivo. Muita coisa falhando o tempo todo.

Preocupados com esse cenário, alguns pesquisadores da IBM publicaram um manifesto em 2001 que se tornou famoso, dando origem à chamada Computação Autonômica. “A complexidade dos sistemas de computação parece estar se aproximando dos limites da capacidade humana”, afirmaram os pesquisadores. A inspiração para a Computação Autonômica vem da biologia. Assim como o sistema nervoso autônomo humano governa várias funções sem envolver nossa consciência, os pesquisadores da IBM propuseram que os sistemas computacionais deveriam se gerenciar sozinhos de acordo com objetivos de alto nível delineados pelos operadores humanos. Ninguém fica pensando que deve abrir e fechar os olhos, nem que deve bater o coração. Isso é feito de forma autônoma. O sistema autônomo humano libera nossa atenção para tarefas de mais alto nível, como por exemplo: o que vou comer no café da manhã hoje? Ou, o que preciso estudar primeiro?

A ideia da Computação Autonômica é reduzir a interferência humana na operação, administração e manutenção dos sistemas, mantendo sua complexidade tratável para nós, reduzindo os gastos operacionais e permitindo que o setor de TI continue crescendo. A Computação Autonômica é baseada em um conjunto de capacidades de agir e/ou atingir ciências de algo. Vago não é? Mas, vamos lá. Primeiro, a Computação Autonômica definiu quatro capacidade de agir. São elas:

* Autoconfiguração – Visa criar sistemas capazes de se auto configurar, configurando componentes e o próprio sistema sozinho, visando atingir metas de alto nível. O operador humano apresenta os objetivos e o sistema autonômico busca atingi-los. Por exemplo, liga a TV e abre o Youtube.
* Auto-Otimização – Visa otimizar proativamente os recursos do sistema e outros aspectos para melhorar o desempenho, a eficiência, a qualidade, o uso dos recursos físicos (visíveis), etc. Por exemplo, economize energia no meu quarto.
* Auto-Cura – Visa detectar, diagnosticar e reparar problemas e falhas localizadas sem interferência humana. Por exemplo, sai de situações de pane nos meus sistemas operacionais.
* Autoproteção – Visa defender o sistema contra invasores ou falhas em cascata.

Sistemas que se auto-gerenciam devem apresentar essas quatro propriedades de agir listadas acima. Muito interessante é que esses sistemas podem errar ao tentar atingir os objetivos traçados. Ou seja, eles precisam aprender como atingi-los, configurando parâmetros de seus algoritmos e até mesmo trocando planos de ação. Em contraste, a Computação Imperativa, que é a computação tradicional não tem essa flexibilidade. Na Computação Imperativa todas as condições que podem aparecer no problema e suas soluções são definidas a priori. Existe pouca margem para alterar os algoritmos em tempo de execução. Já na computação autonômica, o sistema observa o que acontece e se ajusta.

Para efetivar a operação autonômica, Kephart e Chess propuseram que elementos autônomos monitorem seus estados internos, monitorem o ambiente em torno de si próprios, analisando dados coletados, escolhendo entre planos de ação disponíveis, executando-os, e obtendo conhecimento sobre os resultados da operação em curso. Esse ciclo de operação é chamado de Ciclo Autonômico. Fantástico, não é?

Pode-se ir além disso?? Sim, em 2006 Yingxu Wang propôs a chamada Computação Cognitiva. Ela é inspirada nos processos de inferência, percepção, memória e outros mecanismos cognitivos do cérebro humano, conforme definido no chamado Modelo de Referência em Camadas do Cérebro (em Inglês, Layered Reference Model of the Brain, ou LRMB). São 6 camadas com 37 processos mentais. Uma beleza! Fazendo dois parênteses: (i) se tiveres paciência, leia esse artigo. Mesmo que não sejas da área. Expanda seu nível de conhecimento de outras áreas; (ii) estou separando os termos Ciência e Consciência. Ciência de algo é representar digitalmente o conhecimento sobre algum estado/informação e usar isso na tomada de decisão em um computador. Ter Consciência é mais profundo. Envolve modelos mentais mais complexos. O que nos torna Conscientes? Quero com essa divisão, separar os níveis de Consciência que podem ser representados em nossas máquinas nos dias de hoje, do nosso nível de Consciência sobre o mundo hoje. Defino Ciência como um nível básico de Consciência, mas ainda distante da Consciência humana. A grande questão do futuro é se Ciência de Algo pode um dia se tornar uma Consciência Artificial em outros substratos não biológicos.

Mas em que a Computação Cognitiva difere da Autonômica? Em vários aspectos, mas o principal é que ela pode criar novos planos, estratégias! Ela pode alterar os algoritmos mais profundamente. Tem uma plasticidade (como é chamada essa facilidade) enorme. O aprendizado se dá não só pela otimização de algoritmos existentes e configuração de parâmetros, mas sim pela alteração de planos, estratégias, conexões entre habilidades, e muito mais. Nosso cérebro armazena informações e programas através de redes neurais, muito diferente da atual arquitetura de computadores criada por John Von Neumann. A Inteligência Artificial (IA) surgiu com a ideia de construir máquinas pensantes semelhantes aos humanos. Devido a várias limitações de nossas tecnologias, isso não aconteceu até hoje. Segundo Raymond Kurzweil, as expectativas eram muito altas e incorretamente programadas. Mas, agora estamos vivendo mais uma onda dessa revolução.

Voltando para a Computação Autonômica, existem ainda as capacidades de atingir Ciências de algo, extremamente importantes para a implementação efetiva desse tipo de computação. São elas:

* Auto-Ciência (ou Self-Awareness em Inglês) é a capacidade de criar Ciência de si próprio. Ou seja, é um processo capaz de determinar a partir de dados de entrada um modelo de como o próprio sistema se encontra. Esse estado de como o sistema se encontra é a própria auto-ciência, ou seja, um conhecimento do estado interno atual do sistema, suas limitações, configurações, decisões tomadas, impactos obtidos, etc. É o que chamamos de Modelo de Si Próprio.
* Auto-Situação é a capacidade de se auto-situar, geralmente com relação ao ambiente externo que cerca um dado sistema. É a capacidade de obter Ciência da Situação externa, ou seja do estado do ambiente externo ao sistema, determinado via a capacidade de auto-situação. É o chamado Modelo do Ambiente Externo.

Essas duas capacidades (Auto-Ciência e Auto-Situação) permitem o sistema representar conhecimento de si próprio (Modelo de Si Próprio) e do mundo que o cerca (Ciência da Situação ou Modelo do Ambiente Externo). Essas duas Ciências, aliadas as capacidade de auto-configuração, auto-otimização, auto-cura e auto-proteção formam a base da Computação Autonômica. É tudo que precisamos para criar Pilotos Automáticos. Programas de computador capazes de operar com o mínimo ou nenhuma interferência humana.

A automação de processos e serviços usando Computação Autonômica ou Cognitiva (Inteligência Artificial) já é uma realidade. As técnicas correntes já permitem que programas de computador aprendam novos problemas e os resolvam, desde que suas condições de contorno estejam bem definidas. A busca pela Inteligência Artificial Geral, semelhante a humana, segue firme. Cada vez mais teremos Computação Autonômica e Cognitiva embutida em nossos sistemas. É toda uma onda disruptiva que atinge toda a Engenharia!!! Ambas as computações estão sendo implementadas em máquinas de Von Neumann, mas já existem esforços para implementar novos recursos computacionais inspirados no cérebro humano (Computação Neuromórfica) ou na física básica (Computação Quântica). Explorar essas novas possibilidades é assunto para outros artigos!! Não perca.

Achou útil essa informação? Compartilhe com seus amigos! xD

Deixe-nos a sua opinião aqui nos comentários.

Quer ficar por dentro do assunto Smart City, o mais falado no Brasil e no mundo? Deixe seu e-mail e receba em primeira mão! clicando aqui.
Compartilhe:
Publicação anteriorAlunos de engenharia erram menos português do que estudantes de letras
Próxima publicaçãoUm aplicativo diagnostica câncer cervical a partir de imagens
É engenheiro, professor, coordenador do Information and Communications Technologies (ICT) Laboratory do Inatel e programador C/C++. É doutor em Eletrônica e Telecomunicações pela Unicamp e pós-doutor pelo Electronics and Telecommunications Research Institute (ETRI) da Coréia do Sul. Autor de mais de 100 artigos científicos. Já ministrou mais de 60 palestras sobre tecnologia e suas disrupções, incluindo Hack Town, Futurecom, QCon, TEDxInatel, Pint of Science, Ciência no Boteco, etc. Colunista do Olhar Digital. Pai da arquitetura NovaGenesis. Contribuiu para documento de requisitos para Internet do Futuro na Coréia do Sul e nas discussões iniciais do Plano Nacional de M2M/IoT. Hacker de tendências, consultor e estudante perpétuo. Você pode falar comigo pelo email: [email protected] ;)