;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Inteligência artificial acha 8 sinais que poderiam ser de civilização alien

Rede de radiotelescópios Alma, no Chile - ESO
Rede de radiotelescópios Alma, no Chile Imagem: ESO

Thiago Varella

Colaboração com Tilt*, de São Paulo

04/02/2023 12h29

Inteligências artificiais (IAs) também estão ajudando cientistas a buscarem evidências de vida inteligente fora da Terra. Um grupo de pesquisadores desenvolveu um sistema que já descobriu oito s tecnológicas, que algoritmos anteriores não haviam notado, e poderiam indicar uma civilização alienígena.

A IA foi treinada para procurar, entre dados de radiotelescópios que já haviam sido estudados anteriormente, por sinais que não fossem gerados por processos astrofísicos naturais. Os resultados foram publicados na revista científica Nature Astronomy.

O sistema não está sendo usado exatamente para encontrar extraterrestres, mas sim para buscar "evidências de inteligência".

O que são evidências de vida inteligente?

Os cientistas estão procurando pelas chamadas "technosignatures" (s tecnológicas). Ou seja, sinais de rádio que indicariam a presença de tecnologia fora da Terra — o que poderia dar indícios de uma sociedade extraterrestre evoluída e com capacidade de se comunicar.

A novidade é que esta IA está separando falsos sinais detectados até agora, filtrando grandes volumes de dados produzidos por radiotelescópios — captações que são cheias de interferências de fontes como telefones, satélites e wi-fi.

Se realizada por humanos, esta busca seria "como procurar uma agulha em um palheiro", explica o autor Danny Price, do ICRAR (Centro Internacional de Pesquisa de Rádio Astronomia, na sigla em inglês) da Universidade Curtin, nos EUA, ao site The Conversation.

Porém, o algoritmo é capaz de separar, de maneira rápida, falsos positivos de s tecnológicas potenciais.

Sinais encontrados são reais?

Após o treinamento, a Inteligência Artificial foi alimentada com 150 terabytes de dados do Telescópio Green Bank (GBT, o maior radiotelescópio orientável do mundo), na Virgínia Ocidental (EUA), o que equivale a 480 horas de observação.

O novo sistema algorítmico filtrou 20.515 sinais de interesse, que foram analisados manualmente e levaram os pesquisadores às oito novas s tecnológicas que aram despercebidas.

No entanto, nenhuma delas foi observada novamente, o que significa que, muito provavelmente, tenham sido interferência de rádio — a IA não está isenta de detectar falsos positivos. Price ressalta que os algoritmos não "entendem ou pensam". Na verdade, eles reconhecem padrões e são muito úteis em tarefas de classificação.

A expectativa dos cientistas é de que novas tecnologias, como o processador de sinal do telescópio MeerKAT, na África do Sul, capaz de identificar de onde vem o sinal no céu, reduzam os erros.

Se conseguirem detectar uma tecnológica real, o resultado será revolucionário — estaremos mais perto de descobrir vida inteligente fora da Terra. Mas, mesmo se nada for encontrado, não significa que estamos sós no universo. Pode apenas ser que nossos telescópios ainda não são sensíveis o suficiente para captar transmissões fracas de exoplanetas distantes.