;(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

Rafael Reis

REPORTAGEM

Texto que relata acontecimentos, baseado em fatos e dados observados ou verificados diretamente pelo jornalista ou obtidos pelo o a fontes jornalísticas reconhecidas e confiáveis.

Para inteligência artificial, Neymar já não é mais nem top 10 do planeta

Neymar já deixou o clube dos dez melhores jogadores do mundo, dizem robôs - Loris Roselli/NurPhoto via Getty Images
Neymar já deixou o clube dos dez melhores jogadores do mundo, dizem robôs Imagem: Loris Roselli/NurPhoto via Getty Images

07/04/2022 04h00

Receba os novos posts desta coluna no seu e-mail

Email inválido

Neymar já foi duas vezes terceiro colocado na eleição da Fifa de melhor jogador do mundo (2015 e 2017) e, durante muito tempo, costumava ser apontado como um virtual futuro vencedor dos prêmios do gênero.

Mas, na atual temporada, o atleta de futebol mais caro de todos os tempos não aparece nem mesmo entre os dez maiores destaques individuais da modalidade no planeta.

Essa não é a opinião do "Blog do Rafael Reis", mas sim uma avaliação feita por ferramentas de inteligência artificial, sem nenhum tipo de interferência humana, do "WhoScored?", site que transforma estatísticas em notas que avaliam o desempenho de cada jogador nos principais campeonatos da Europa e da América do Sul.

De acordo com os algoritmos, as atuações do camisa 10 do Paris Saint-Germain em 2021/22 merecem nota 7,47, apenas a 14ª média mais alta do mundo na contabilidade das partidas disputadas desde agosto ado.

Nesta temporada, o craque brasileiro jogou apenas 22 vezes pela equipe mais poderosa da França, marcou sete gols (nenhum na Liga dos Campeões) e distribuiu cinco assistências. Desde que chegou à Europa, há quase dez anos, ele nunca havia sido tão pouco produtivo quanto agora.

Segundo os robôs do "WhoScored", o pior Neymar antes da sua versão atual havia dado as caras na temporada ada, quando teve nota 7,69. No auge (seu primeiro ano pelo PSG), o camisa 10 chegou a ser avaliado com a média 8,95.

Ainda de acordo com a inteligência artificial, o brasileiro é hoje o jogador com pior desempenho do trio de ataque do clube parisiense, já que Kylian Mbappé tem nota 7,89 e Lionel Messi, 7,65.

Mbappé, aliás, aparece no pódio dos melhores jogadores da temporada. O jovem atacante ocupa a segunda colocação e está atrás apenas do polonês Robert Lewandowski, do Bayern de Munique, que tem 7,97. Outro francês, Karim Benzema, do Real Madrid, é o terceiro, com 7,74.

O top 10 de 2021/22 tem algumas surpresas, como o meia-atacante francês Christopher Nkunku, do RB Leipzig, na quarta posição (7,67), e o atacante italiano Domenico Berardo, do Sassuolo, em décimo (7,53).

Neymar não é nem o melhor brasileiro do ranking. Esse posto cabe a Vinícius Júnior, do Real Madrid, que tem média 7,62, a oitava mais alta do planeta.

Já eliminado da Liga dos Campeões da Europa e da Copa da França, o PSG tem na reconquista do Campeonato Francês (perdeu para o Lille no ano ado) sua última possibilidade de não fechar a temporada de forma catastrófica.

Mas, pelo menos esse objetivo está perto de ser atingido. A oito rodadas do fim da Ligue 1, os comandados de Mauricio Pochettino têm 12 pontos de vantagem para o Olympique de Marselha, vice-líder da competição. No sábado, podem dar mais um o rumo ao título, contra o Clermont, fora de casa.

Os melhores jogadores da temporada

1 - Robert Lewandowski (POL/Bayern de Munique): 7,97
2 - Kylian Mbappé (FRA/Paris Saint-Germain): 7,89
3 - Karim Benzema (FRA/Real Madrid): 7,74
4 - Christopher Nkunku (FRA/RB Leipzig): 7,67
Mohamed Salah (EGI/Liverpool): 7,67
6 - Lionel Messi (ARG/Paris Saint-Germain): 7,65
7 - Joshua Kimmich (ALE/Bayern de Munique): 7,64
8 - Vinícius Júnior (BRA/Real Madrid): 7,62
9 - Trent Alexander-Arnold (ING/Liverpool): 7,57
10 - Domenico Berardi (ITA/Sassuolo): 7,53

Fonte: WhoScored?