Arquivo

Archive for abril \26\America/New_York 2011

O Movimento dos Jovens Acadêmicos…

terça-feira, 26 abr 2011; \17\America/New_York\America/New_York\k 17 Deixe um comentário

O original, pode ser encontrado aqui: The Young Academy Movement (DOI: 10.1126/science.1206690).

I have often argued on this page that scientists need to do more than simply advance their individual research projects. Maintaining excellence in the global scientific enterprise will require constant adjustments to policies and programs. In addition, much more outreach by scientists will be needed to make science better understood by the general public and by governments. Promising progress toward both of these goals comes from a movement that is forging new organizations of young scientists—the “young academies”—around the world. A few weeks ago, a new international organization, the Global Young Academy, held its initial meeting in Berlin to discuss spreading the idea to many more nations (www.globalyoungacademy.org). This effort deserves full support from of all of society.

In 2000, a new type of organization, Die Junge Akademie (the Young Academy), was created as a joint venture by two German academies. This Young Academy was described as “an organization intended to harness the resources of both academies in ways that would fertilize research fields with new ideas and bolster career pathways, as well as invigorate older academies by involving the young scientific community in critical policy-related work.”* In 2005, a similar Young Academy was established in the Netherlands. The success of these two experiments has recently inspired six other nations to create their own Young Academies: Egypt, Nigeria, Pakistan, Sudan, Thailand, and Uganda; all nations where the tolerance and rationality inherent to science will be invaluable.

I see this empowerment of young scientists as the next step in a process that began in 1993 in New Delhi, when the national academies of sciences from more than 60 nations came together to develop a coherent scientific position on world population issues in preparation for the major 1994 United Nations International Conference on Population and Development in Cairo. This first-ever meeting of the world’s science academies soon created the InterAcademy Panel (IAP), now a vibrant global network of more than 100 member academies (www.interacademies.net). The IAP functions as a mutual support organization for the existing science academies around the world.

But the empowerment of national science academies with distinguished, well-established members can leave a gap between these influential organizations and the young, dynamic scientists who represent the future in each nation. This is precisely the gap that has been filled by the Young Academies: each a group of fewer than 200 scientists, typically selected by their national science academies to serve in 4-year leadership roles. Through its connection to a prestigious national science academy, each Young Academy is empowered to exert national leadership in advancing science through projects that the young scientists themselves determine. These young scientists can often be more effective than their older peers in interactions with society and with politicians. They also bring new energy to these interactions, with a better gender balance due to the advances that women scientists have made in recent decades.

By bringing together outstanding scientists from many different disciplines, Young Academies catalyze the formation of multidisciplinary scientific collaborations that generate innovative new discoveries. Participation in a Young Academy also strengthens a nation’s scientific enterprise by training its next generation of leaders. The work exposes them to important policy issues while building networks of trusted personal relationships that can bridge disciplines for a lifetime. And by providing a shortcut for outstanding young scientists to exert national leadership, Young Academies can be highly effective in recruiting a nation’s most talented students to scientific careers—a critical issue for the future of every nation.

By fusing the promotion of the larger goals of science with an integration of young scientists into public service, the Young Academy movement is well positioned to drive the creation of the tolerant, rational societies that the world so badly needs.

Ética profissional em Física

terça-feira, 26 abr 2011; \17\America/New_York\America/New_York\k 17 6 comentários

Warning, warning! Post sobre política! Prestem atenção no nome da pessoa que escreveu o post, pois ele é o único responsável pelas besteiras escritas abaixo. Os demais editores desse blog podem ter opiniões completamente diferentes do que está escrito aqui.

Todo mundo adora boatos. É uma dessas questões de darwinismo social que eu nem preciso argumentar muito. Boatos são divertidos quando você não está envolvido na história. Quando a questão invade seu círculo pessoal ou profissional, tudo fica ruim.

A maioria dos leitores desse blog deve estar cientes dos boatos sobre uma ressonância no estado final de 2 fótons com seção de choque 30 vezes maior que o do modelo padrão vazada de uma nota interna da colaboração Atlas, no LHC. Se você não sabe o que foi, veja os dois links que eu coloquei aqui no AP no último post que escrevi antes desse. A história começou quando alguém, anonimamente, colocou o abstract dessa nota no blog Not Even Wrong, do Peter Woit. Daí foram poucos minutos até isso se espalhar em todos os blogs de física de altas energias e mais alguma horas até a imprensa não-científica começar a anunciar o vazamento de informação.

Eu acho que não é segredo que eu discordo de diversos aspectos da política dessas grandes colaborações. Eu fico muito chateado, por exemplo, de não saber quem foram os autores de cada artigo. Acredite, eu sei na pele que cada artigo publicado de um grande experimento depende de todas aquelas pessoas listadas. Se o detector não for construído, operado e mantido funcionando corretamente, se a calibração estiver errada, se a simulação for imprecisa, etc etc etc, não tem análise. E daí? Ainda assim eu quero saber quem fez a análise, da mesma forma que eu quero saber quem construiu o detector. Todo mundo que entende como é um experimento sabe do que é necessário para um resultado existir, não é desmerecer ninguém.

Eu também acho irritante o quão resumidos são os artigos. Ler PRL de física experimental de altas energias é frustrante. Ler PRD e afins é um pouco melhor. Mas se um dia vocês pudessem ver o cuidado com que uma nota interna para avaliação de análise é preparada, vocês entenderiam como um artigo deveria ser escrito. E essas notas internas que vão dar origem a artigos passam por um peer review interno muito mais duro que o das revistas para o qual o artigo é enviado. Contudo, nem toda nota interna é a desse tipo. Algumas notas internas são resumos para conferências, que também sofrem peer review, e outras são apenas idéias que alguém resolveu colocar no papel para trocar informação com os colaboradores. Esse último tipo de nota não sofre qualquer revisão, qualquer tipo de avaliação, e foi uma nota desse tipo que vazou.

Uma das coisas mais importantes de se fazer ciência é poder errar. Mesmo artigos prontos tem erros. Mas eu estou falando de coisas mais bobas ainda, aquele tipo de erro que acontece quando estamos fazendo algo complicado, mas que é corrigido no processo de refinar o resultado. E ninguém quer ou deve ser avaliado por esse tipo de erro. Imagina se você fosse avaliar um programador como ruim só porque da primeira vez que ele tentou compilar o código de um programa extenso, havia erros no código. Seria absurdo, certo?

O que as pessoas que vazaram essa nota interna fizeram foi criar a possibilidade dos seus colegas poderem ser avaliados dessa forma. Foi uma atitude inconsequente e anti-ética. O dono do blog para quem a informação foi vazada diz que não dirá quem deu a informação, mesmo que a colaboração peça essa informação. O indivíduo deve estar se sentindo o Julian Assange da ciência, mas honestamente, não há nada de bom no que aconteceu e nem na atitude dele. Infelizmente, não há mecanismo oficial nenhum através do qual a colaboração pode descobrir quem vazou a nota e nem mesmo me é claro se eles querem fazer isso. Mas eu não gostaria de trabalhar com uma pessoa que tem essa atitude. (Algumas pessoas estão dizendo que foram os próprios autores da nota que vazaram a informação. Eu ficaria muito surpreso se isso fosse verdade, eles precisariam ser muito ingênuos para fazer isso.)

Eu vejo algumas pessoas defendendo o vazamento baseadas na tese de liberdade de expressão. Que qualquer pessoa deve ter o direito de falar o que quiser. Se você quer realmente defender essa tese, também tem que defender a tese de que essas pessoas tem que ser expulsas da colaboração. De outra forma, vai ficar muito difícil de trabalhar.

Um outro blog sobre o mesmo assunto:

The ethics and public relations implications of asking for help

Categorias:Ars Physica

O DOE cancela uma iniciativa massiva de treinamento…

segunda-feira, 25 abr 2011; \17\America/New_York\America/New_York\k 17 1 comentário

Quem quiser ler o original, pode encontrá-lo aqui: DOE Pulls the Plug on Massive Training Initiative (DOI: 10.1126/science.332.6026.162-a). DOE é uma abreviação, em Inglês, para “Department Of Energy”, que é o órgão americano análogo ao Ministério das Minas e Energia no Brasil. Historicamente, esse é o órgão que patrocina a pesquisa científica em Física de Partículas (pense em termos da Segunda Guerra Mundial) — no Brasil, esse papel é feito pelo Ministério de Ciência e Tecnologia (através do CNPq e CAPES).

In April 2009, President Barack Obama announced an ambitious education and training initiative at the Department of Energy (DOE). Speaking to members of the U.S. National Academy of Sciences, Obama said a proposed 10-year, $1.6 billion program, dubbed “Regaining our Energy Science and Engineering Edge” (RE-ENERGYSE), would “capture the imagination of young people who can help us meet the energy challenge.”

But RE-ENERGYSE never got off the ground. Congress twice declined to fund any portion of its sprawling vision, which would have included graduate and postdoctoral fellowships, summer research projects for undergraduates, professional master’s degrees in clean energy, and associate degree programs to train a clean-energy technology workforce. In February, the White House threw in the towel, dropping the program from DOE’s 2012 budget request.

Energy Secretary Steven Chu insists that the Administration remains gung ho about attracting more students into the field of clean-energy research. But its 2012 budget request signals a major shift. Instead of RE-ENERGYSE, Chu is now touting expansion of a small graduate fellowship program that is run out of an office different from the one responsible for implementing RE-ENERGYSE.

To understand why RE-ENERGYSE never got off the ground, it helps to understand DOE’s checkered history in science education. Although some previous Administrations tried to carve out a larger role for DOE in this arena, Congress has traditionally seen education as a secondary mission for a department that already has major responsibilities for science, energy, national security, and environmental cleanup. So the broad scope of RE-ENERGYSE was a red flag for some influential legislators, who also wondered why it was under the jurisdiction of the energy undersecretary when existing education and workforce-training efforts were overseen by the science undersecretary (Science, 10 July 2009, p. 130).

Kristina Johnson, the former energy undersecretary whom Chu asked to manage RE-ENERGYSE, says that it seemed clear to her. “It’s a national imperative, and the president is strongly behind it,” she explains. “So I came in, very wide-eyed, and said we should do this. As an engineer, I like to set a goal and put in place a plan and then carry it out. It’s really pretty simple.”

Although Chu tried to explain the program to legislators when testifying on DOE’s 2010 budget, Congress eliminated his request for $115 million when it approved DOE’s overall budget. The next year’s request, for $55 million, fared no better. And last October, Johnson, a former engineering dean and successful entrepreneur who joined the Administration in May 2009, left DOE and now consults for energy companies. “When she left, RE-ENERGYSE was gone, too,” says one DOE official. The Administration made it official by removing the initiative from its 2012 budget.

“There are broad STEM workforce–development programs across the federal government,” says Carl Wieman, associate director for science at the White House Office of Science and Technology Policy, in explaining the decision. “And there are plenty of other opportunities to improve STEM education.” Wieman, a physics Nobelist and science educator who joined the Administration last fall, says that RE-ENERGYSE “may have been comprehensive, but that also makes it complex to set up and make work. So the decision was that we’ll find something that Congress is happier with and move on.”

That something, Chu says, is a request for $11 million in 2012 to more than double the number of graduate research fellows supported by DOE’s Office of Science. It’s the most direct way to beef up the nation’s clean-energy workforce, he says: “The pipeline starts early, by getting [elementary and secondary school students] interested in science. But [educating] undergraduates and those in graduate school, this is something that we feel very strongly about.” Some 150 fellows are now funded under a program begun in 2009. Last month, DOE also announced a competition this year to award 20 postdoctoral fellowships for research on clean-energy technologies.

Qual é o filme?

sábado, 23 abr 2011; \16\America/New_York\America/New_York\k 16 3 comentários

De SpikedMath Comics. 🙂

Spoiler Alert! Respostas debatidas nos comentários.

Se gostou, tem também o segundo e o terceiro. Depois eu vou postar nos comentários quais as respostas que eu e meus colegas pensamos para cada um. Há alguns que eu nós não conseguimos decifrar 🙂

Categorias:Humor

Rumores. Seria um BSM Higgs?

sexta-feira, 22 abr 2011; \16\America/New_York\America/New_York\k 16 Deixe um comentário

Post rápido:

This week’s rumor
Higgs in ATLAS, maybe

🙂

Categorias:Ars Physica

Org2Blog – integrando o org-mode do emacs ao seu blog do wordpress.

quinta-feira, 21 abr 2011; \16\America/New_York\America/New_York\k 16 13 comentários

Este é um teste do sistema de postagem org2blog, que transforma textos do org-mode do emacs para posts de blog do wordpress. Esse é o melhor sistema de postagem para wordpress que eu encontrei até agora. O org-mode é um modo de edição de arquivos de texto estruturados no editor de texto emacs. Uma das grandes vantagens do org-mode é a possibilidade de exportar seus textos para diversos formatos – como um documento em latex ou html, uma apresentação do beamer, um livro em docbook,… e agora, com o add-in org2blog, posts de blogs para o wordpress.

As vantagens são inúmeras:

  • EDITAR NO EMACS!!!
  • o org-mode tem uma sintaxe muito simples para estruturar textos com seções, subseções, incluir links, listas, tabelas e etc.
  • editar no emacs te permite usar macros e scripts para fazer geração dinâmica de textos,
  • o org-mode permite adicionar equações em latex, como se fosse em um documento latex normal, e traduz isso para a sintaxe do wordpress – \int e^{ikx} dk = 2\pi\delta(x).
  • o org-mode-babel permite adicionar código em diversas linguagens de programação e editá-las usando seu modo natural no emacs. O código é automaticamente colorido com syntax-highlighting (para a linguagem correta!) e postado usando as tags adequadas no wordpress. Veja por exemplo esse código em Haskell:
    sort :: (Ord a) => [a] -> [a]
    sort (x:xs) = (filter (<x) foo) ++ [x] ++ (filter (>=x) foo)
      where foo = quicksort xs

    O org-mode também pode executar o código, compilar e testar.

  • o org-mode possui dezenas e dezenas de ferramentas para lidar com texto,
  • exportar não apenas para wordpress mas para dezenas de outros formatos.

Enfim, essas são apenas algumas das vantagens. Eu comecei a usar o org-mode para editar apresentações de slides em beamer. Por muito tempo eu reclamei que não existia uma forma fácil de se fazer isso, e o org-mode foi a saída perfeita para mim. Agora o org2blog vem sanar uma outra séria deficiência de ferramentas na minha opinião: como editar de forma fácil posts de blog com código-fonte e latex simultaneamente.

Instalação do org-mode

Instalar o org-mode é muito fácil. Primeiro de tudo você precisa do emacs, claro. Vou assumir que você está no linux (sinceramente, se você está no windows eu recomendaria que instalasse o linux primeiro, porque eu nem sei fuçar no win-emacs 😛 ). Você deve baixar e descompactar o org-mode no site e colocá-lo na sua pasta de add-ons do emacs (tipicamente na pasta ‘~/.emacs.d/’). Abra então o terminal na pasta e dar os comandos típicos:

make
make doc
sudo make install

Depois adicione no seu arquivo de configuração do emacs (tipicamente ‘~/.emacs’ ou ‘~/.emacs.d/init.el’, o que você preferir) as seguintes linhas (ajustando para os diretórios adequados):

(setq load-path (cons "~/.emacs.d/org-mode/lisp" load-path))
(setq load-path (cons "~/.emacs.d/org-mode/contrib/lisp" load-path))
(require 'org-install)
(org-babel-do-load-languages
 'org-babel-load-languages
 '((R . t)
   (emacs-lisp . t)
   (haskell . t)
   (gnuplot . t)
   (latex   . t)
   )) ;; adicione aqui as linguagens que quiser que o org-mode reconheça. 

Para manter atualizado você pode baixar os arquivos do repositório git do org-mode, conforme as instruções no site. Veja o manual do org-mode para todas as instruções de como usá-lo. Para configurar o org-babel, a parte do org-mode que lida com códigos, veja essa página e essa pagina.

Instalação do org2blog

O org2blog, com instruções de instalação, pode ser encontrado no github do punchagan. Baixe os arquivos usando o git, conforme indicado no README, no seu diretório ‘~/.emacs.d’ do emacs. Siga o README para saber como configurar o seu emacs para logar automaticamente no seu blog e colocar o seu post.

Enfim. Não tem mais muito o que dizer. Eu fiquei muito empolgado com a possibilidade de editar meus posts no emacs com calma e só postar depois de pronto. O org-mode tem diversas ferramentas para lidar com texto que o tornam de longe a melhor ferramenta de editoração eletrônica para emacs – para textos em latex e apresentações particularmente. Além disso ele tem coisas como o record-mode e outras ferramentas para lidar com todo-lists e agendas. Vale a pena dar uma olhada.

Boa sorte.

Categorias:org2blog Tags:, , ,

A história evolutiva do homem

terça-feira, 19 abr 2011; \16\America/New_York\America/New_York\k 16 1 comentário

A um tempo atrás eu assisti um documentário fantástico da PBS, daquela mesma série que fez o documentário do Universo Elegante, foi o Becoming Human (tradução livre: “Tornando-se humano”). É o melhor documentário que já vi sobre a evolução do homem, recomendo. O filme completo de 3h está no YouTube aqui, em inglês. Não consegui achar legendas em Português. Ele também está disponível integralmente no site da PBS, mas provavelmente bloqueado para IPs dos EUA.

É verdade que meus conhecimentos do assunto são de Zé, o que aprendi na escola e em alguns livros de divulgação, mas o documentário é muito bem fundamentado por especialistas. Conta-se em detalhes a história dos paleontólogos e suas descobertas, com um enfoque grande em como são extraídas conclusões com base nos fósseis, genética e geologia. O documentário traça as espécies de hominídeos conhecidas e que passo da evolução cada uma deu. Fala-se sobre quais são os marcos da evolução dos primatas que acredita-se serem os pontos mais importantes que levaram a diferenciação do humano moderno, como o aumento da infância, a postura ereta, a adaptação para resistência a corrida em caça, o desenvolvimento da arte, a invenção da cozinha, a quase extinção do gênero Homo e a ascensão da adaptação a diferentes ambientes do Homo sapiens. Há bastante informação científica de qualidade. O filme também é atual, de 2009, e contém os avanços mais recentes como o sequenciamento do DNA dos neandertais. Vale a pena assistir!

The Joy of Haskell, parte 1 – Introdução

segunda-feira, 18 abr 2011; \16\America/New_York\America/New_York\k 16 1 comentário

Como alguns devem ter percebido, eu me tornei recentemente um entusiasta da linguagem de programação chamada Haskell. Eu até criei um blog para postar sobre isso, e coloquei propaganda dele aqui. O Rafael Lopes de Sá me convenceu de que não era necessário fazer isso e que eu poderia mesmo postar aqui sobre isso, então resolvi fazer um post introdutório sobre Haskell, para que os meus posts seguintes façam mais sentido.

Porque Haskell?

O que é tão atraente nessa linguagem para mim? É uma linguagem um pouco estranha, com uma curva de aprendizado um pouco complicada e as vezes parece necessário um esforço bem maior para fazer coisas que são simples em outras linguagens. Porque não C? O que Haskell faz que C não faz? Ora, nada. C e Haskell são duas formas diferentes de escrever essencialmente os mesmos comandos fundamentais. Mas há razões para eu preferir Haskell.

O primeiro é que Haskell é uma linguagem de altíssimo nível. Calma, isso não é um juízo de valor. Uma linguagem de baixo nível é uma linguagem que opera com poucas camadas de abstração entre o código e o que será de fato executado na máquina. C permite fazer operações de baixo nível: manipular memória, executar instruções asm, etc… Linguagens de alto nível escondem esses detalhes em abstrações lógicas, de modo você que nunca vai precisar se preocupar com detalhes de hardware. Haskell é uma linguagem que opera em níveis de abstrações muito mais altos que o normal. Haskell existe em um universo bastante independente do fato de que aquilo será compilado e executado em um computador físico. É uma linguagem bastante matemática e abstrata. E mesmo assim é eficiente. Há outras linguagens abstratas de alto nível – como Perl, Lisp, ML,… Mas os compiladores de Haskell são particularmente eficientes, e capazes de produzir códigos que rodam com pouca perda de desempenho se comparados a C.

O segundo é que Haskell agrega certas características que a tornam muito próximas de um sistema lógico-matemático. Muito de Haskell é baseado em uma formulação da matemática chamada Cálculo Lambda. O cálculo lambda é uma sistema formal alternativo ao sistema baseado em teoria de conjuntos. Ele pode ser usado para re-escrever a matemática que conhecemos em outras bases. Haskell é muito próximo de algo chamado cálculo lambda tipado. Isso por si é bem atraente, e há matemáticos que usam Haskell para criar sistemas formais para provar teoremas, etc. Mas para mim o melhor disso é que criar mesmo estruturas matemáticas úteis (espaços vetorias, grupos, espaços de probabilidade,etc…) em Haskell é bem natural.

Haskell é expressivo. Isso é um valor muito subjetivo, mas eu acho que o sistema de tipos de Haskell permite expressar conceitos de forma muito legível. O tipo de um objeto em Haskell traz muita informação sobre o que aquele objeto faz. Muitas vezes basta saber o tipo para saber exatamente como aquilo deve ser implementado.

Finalmente, Haskell é um exercício intelectual interessante. Eu acho estimulante programar em Haskell e acho que me fez um programador melhor mesmo quando estou usando outras linguagens.
Há outras vantagens no Haskell – como o fato de que a trasparência referencial e a avaliação não-estrita tornarem a paralelização de programas algo bem simples. Alguns dizem que linguagens influenciadas por Haskell (como as últimas versões de C#, Scala, OCaML, …) são linguagens do futuro, pois permitem fazer computação concorrente e paralela de forma trivial. Eu acho isso um overstatement, mas certamente elas vão ficar importantes.

Mas eu realmente não ligo muito pra isso. Eu gosto de Haskell como um fim em si. É quase como se fosse o meu Sudoku ou o meu Cubo de Rubik – um passatempo intelectual interessante. Isso tudo não faz de Haskell uma linguagem melhor por si só, mas quando combinado com um certo tipo de personalidade de programador, a combinação fica bem eficiente.

O que é Haskell?

Haskell é uma linguagem de programação com algumas características:

  • é funcional,
  • pura (com transparência referencial),
  • não-estrita,
  • com tipos estáticos,
  • polimorfica (com variáveis de tipo e typeclasses)

todas essas coisas serão entendidas ao longo de vários posts. São conceitos abstratos de computação que são mais fáceis de entender quando vemos um código.

Em primeiro lugar, antes de falar sobre isso, vamos ver como usar o Haskell. Você pode facilmente preparar seu computador para programar em Haskell instalando algo chamado Haskell Platform – no Ubuntu pode ser instalado via apt-get ou synaptic, no windows e em outros sabores de linux é só baixar do site o binário (http://hackage.haskell.org/platform/). O haskell platform vem com várias ferramentas, entre elas o compilador Glasgow Haskell Compiler (GHC), que contém também um modo interativo chamado GHCi, e o gerenciador de pacotes Cabal, que é usado para instalar bibliotecas de maneira bem simples.

O GHCi é um modo interativo, bem parecido com o que se encontra em outras linguagens como Python. É um loop com um cursor que recebe comandos. Você pode colar um pedaço de código lá e ele será executado. É a melhor forma de começar a aprender. Você pode começar digitando uma expressão matemática qualquer e receber a resposta assim que pressionar `Enter`:

/> 2 + 2
 4
/> 4 * 5 + 2
 22

Um programa em Haskell é essencialmente isso: uma expressão cujo valor deve ser encontrado através de um processo de “avaliação” (evaluation – não sei se essa é a melhor tradução). Essa é a essência de uma linguagem funcional – o fato de que o código é escrito como uma expressão, resultado da aplicação de funções sobre outras expressões, e o objetivo final do código é encontrar o valor daquela expressão. Algo como aqueles exercícios que você fazia na 6ª série: “Efetue: …” e uma expressão complicada com números e operadores era dada, para que você encontrasse o valor daquela expressão.

Todo objeto em Haskell é uma expressão, com um valor bem definido. E todo valor tem um tipo bem definido. Há tipos básicos, Int (inteiros), Char (caracteres), Double (ponto flutuante de dupla precisão), Bool (booleanos), etc… e tipos mais abstratos, sobre os quais vou falar mais tarde – os tipos algébricos, que são o “bread and butter” do Haskell. Você pode dar um nome para uma expressão, para resumir a construção de outras expressões. Se você editar um arquivo chamado “teste.hs” com o seguinte conteúdo:

> -- arquivo teste.hs
> x :: Int
> x = 20
> y :: Int
> y = 5

Você pode carregá-lo no GHCi da seguinte forma:

/> :l teste.hs
[1 of 1] Compiling Main ( foo.hs, interpreted )
Ok, modules loaded: Main.
/> x
20
/> x + y
25
/> let z = x + y
/> z
2

Para criar nomes dentro do GHCi é preciso usar a cláusula “let”. Em um arquivo separado não é preciso.

Note a sintaxe: x::Int. Isso significa “vou dar o nome x a uma expressão que tem tipo Int”. Isso não é uma declaração de variáveis como é comum em linguagens imperativas. Isso é só a definição de um nome. Não existem “variáveis” em Haskell como existe em C, um espaço reservado de memória cujo conteúdo pode ser manipulado. Um nome é um nome definitivo – aquele nome é um mero sinônimo para a expressão que ele representa. Um nome não pode mudar de valor. Se você tentar colocar:

> x :: Int 
> x = 10
> x = 20

em um arquivo, quando tentar carregá-lo obterá um erro:

Multiple declarations of `Main.x'
 Declared at: dah.hs:1:0
 dah.hs:3:0

Alguns tipos algébricos importantes são fornecidos na biblioteca padrão, chamada Prelude. Por exemplo, as listas:

> xs :: [Int]
> xs = [3,4,32]

Uma lista é uma sequencia ordenada de valores do mesmo tipo. Uma lista de objetos de tipo a tem tipo [a]. String é um sinônimo para [Char]:

/> :t "rafael"
"rafael" :: [Char]
/> :t ("rafael" :: String)
 ("rafael" :: String) :: String

Outro tipo composto comum é na verdade uma família de tipos chamados “tuplas”. São sequencias ordenadas de objetos de tipos que podem ser iguais ou não:

> tupla :: (Int, Double)
> tupla = (5, 3.14)

A principal diferença entre tuplas e listas é que listas de tamanhos diferentes tem o mesmo tipo, desde que os objetos internos seja do mesmo tipo:

> ys :: [Int]
> ys = [2,3,2,3,4,22,3,2,4,2,4]

Já tuplas de tamanhos diferentes têm tipos diferentes:

> tupla' :: (Int, Int, Double)
> tupla' = (5, 3, pi)

Tuplas e listas podem ser combinadas para fazer tipos bem complicados:

> foo :: [(Int, Double)]
> foo = [(1, 1.2), (3, 2.3)]
> bar :: (Int, (Int, Char), [String])
> bar = (1920, (0, 'a'), ["Haskell", "É", "Legal"])

Se eu não posso alterar que expressão um nome armazena, como faço computação em Haskell? Eu crio funções. Funções são objetos que recebem uma entrada e retorna uma saida. Por isso elas têm tipo (a -> b) onde a é o tipo do valor de entrada e b o tipo do valor de saída:

> succ, pred :: Int -> Int
> succ x = x + 1
> pred x = x - 1

Uma computação em Haskell é feita através da aplicação de funções sobre expressões – múltiplas funções são combinadas para que, quando aplicadas a uma expressão de entrada, produzirem o resultado desejado. Em Haskell funções são expressões como outras quaisquer. Elas podem ser entradas e saídas de outras funções. Eu posso ter uma função que recebe outra função como parâmetro ou retorna outra função como resultado. Por exemplo, eu posso ter uma função:

> foo' :: (Int -> Int) -> Int
> foo' f = (f 0)

Para qualquer função f::(Int -> Int), essa função retorna o valor de f calculado em 0. No futuro veremos casos mais úteis disso. Eu disse que funções são expressões como outras quaisquer. Se eu posso escrever expressões sem ter que dar um nome para elas, tem que haver um jeito de fazer isso com funções também, né? São as chamadas expressões lambda (também conhecidas como “closures” em outras linguagens). Eu posso aplicar a função foo’ em uma função anonima assim:

/> foo' (\ x -> x + 1)
1

A expressão (\ x -> expr ) deve ser interpretada assim: uma função que, quando recebe um número x, retorna expr. Portanto (\ x -> x + 1) é a função que quando aplicada em x, retorna x+1. Se eu avaliar a expressão foo’ (\ x -> x + 1) terei:

foo' (\ x -> x + 1)
(\x -> x + 1) 0
0 + 1
1

As vezes funções que recebem ou retornam funções são chamadas de funções de segunda ordem.

Eu disse que funções tem apenas uma entrada e uma saída. Mas e quando eu preciso de mais de um dado de entrada para produzir um resultado? Eu posso usar tuplas:

> soma :: (Int, Int) -> Int
> soma (x,y) = x + y

Não parece muito prático. Mas existe um teorema em cálculo Lambda que diz o seguinte: uma função de duas entradas é isomórfica a uma função que recebe apenas uma entrada e retorna uma função. Como assim? . Imagine que eu reescrevesse a função soma assim:

> soma :: Int -> (Int -> Int)
> soma x = (\y -> x + y)

O que acontece quando eu aplico essa função em um número? O resultado de (soma 1) é (\y -> 1 + y). Ou seja, (soma 1) é uma função que quando aplicada em y, me retorna 1 + y. Então ((soma 1) 2) = 3. Para facilitar a vida do programador, o compilador de haskell entende que (soma 1 2) significa: aplique soma ao número 1 e depois aplique a função resultante ao número 2. O compilador também permite escrever:

> soma :: Int -> Int -> Int
> soma x y = x + y

O compilador também entende a sintaxe (\ x y -> expr…). Isso é traduzido automaticamente para (\ x -> (\ y -> expr…)). A aplicação da função sobre um valor retornando uma função que aguarda outro valor é por vezes denominada aplicação parcial.

Note que o tipo a -> b -> c deve ser sempre interpretado como a -> (b -> c), nunca como (a -> b) -> c. Note a diferença: o primeiro recebe um valor e retorna uma função, o segundo recebe uma função e retorna um valor.

Você já percebeu nesse momento uma coisa: todos os nomes de expressões são em minúsculas e os nomes de tipos em maiúsculas. E também já percebeu que de vez em quando eu uso a, b, c para denotar um tipo qualquer. O compilador de Haskell entende isso. Isso é chamado polimorfismo paramétrico. Para entender vamos dar uma olhada na função de segunda ordem que implementa o padrão mais tipico do Haskell: a composição de funções. Suponha que eu queira aplicar as funções succ e pred em sequencia sobre um número. Eu posso fazer:

/> pred (succ 0 )
 0

Note que eu posso aplicar a combinação (pred (succ x)) em qualquer x. Eu posso ter a função

> bar' = (\ x -> pred (succ x))

Esse é um padrão independente do que fazem as funções pred e succ. Aliás, é independente do fato de que eu estou falando de números inteiros. Apenas depende de um fato: eu tenho duas funções cujos tipos são compatíveis: o tipo que succ retorna é compatível com o tipo de entrada de pred. Considere a seguinte função de segunda ordem:

> composicao f g x = f (g x)

Ela recebe duas funções (f e g) e um valor (x) e retorna a aplicação sucessiva dessas funções ao valor dado. Qual é o tipo dessa função? Vamos deixar o compilador inferir para nós:

/> :t composicao
composicao :: (t1 -> t2) -> (t -> t1) -> t -> t2

Ou seja: quaisquer que sejam as funções f e g, essa função faz sentido, desde que o tipo de saida de g seja o tipo de entrada de f. Essa função já existe na biblioteca padrão, e é chamada (.). Sua definição é:

> (.) :: (b -> c) -> (a -> b) -> a -> c
> (f . g) x = f (g x)

A aplicaçao parcial de (.) sobre duas funções retorna a função composta (no sentido matemático mesmo). Ou seja: (f.g) = (\ x -> f (g x)). Isso funciona para quaisquer tipos a,b e c e quaisquer funções que satisfaçam os tipos da declaração de (.). Isso quer dizer que (.) é uma função polimórfica – ou seja, uma família de funções que pode ser especializada para vários tipos diferentes. Exemplos:

> foo = sin . cos
> bar = succ . length

A função foo é a composição das funcções sin :: Double -> Double e cos :: Double -> Double. O resultado de (foo x) é sin(cos x). A função bar é a composição de succ, que calcula o sucessor de um número inteiro, com a função length, que calcula o tamanho de uma lista de um tipo qualquer:

> length :: [a] -> Int
> succ :: Int -> Int
> (succ . length) :: [a] -> Int

Funções desse tipo – que compõe operações simples para realizar operações complexas, são o arroz com feijão da programação funcional. Quase todas as funções importantes da biblioteca básica são funções polimórficas de segunda ordem. Veremos várias em breve – map, ($), (>>=), replicate, concat, concatMap, zip, …

Enfim. Acho que é o suficiente por hoje. Na próxima vou falar das coisas mais legais do Haskell que são os tipos algébricos e as classes. Depois vou discutir um pouco sobre as características da linguagem – o fato de ser fortemente tipada, de ter transparência referencial e avaliação não-estrita.

Categorias:Ars Physica

Entropia e formação de complexidade no universo

domingo, 17 abr 2011; \15\America/New_York\America/New_York\k 15 4 comentários

Distribuição de massa no universo prevista pela Relatividade Geral, rede cósmica. As cores indicam densidade de massa, com o preto ao púrpuro ao amarelo indicando região menos a mais densa. A escala indica cerca de 44 Mpc. Uma galáxia tem cerca de 10 Kpc de diâmetro.

Quando nós olhamos para um vídeo em que um omelete se transforma em um ovo de galinha, nós sabemos que o filme está sendo exibido de trás para frente, porque no universo a entropia sempre cresce. Uma pergunta muito natural então é: como foi possível que o universo tenha formado estruturas como as galáxias e os planetas, e depois a vida na Terra, quando formar estruturas complexas parece desafiar a segunda lei da Termodinâmica?

É importante entender que a pergunta é capciosa, porque ela é baseada em uma premissa falsa: a de que a Termodinâmica é válida universalmente. Na realidade, a Termodinâmica é uma aproximação para descrever sistemas quando eles podem atingir rapidamente um estado em que suas variáveis não dependem mais do tempo. Muitas vezes isso não é possível, e a Termodinâmica é inaplicável. Isso é o caso para maior parte dos processos que ocorrem no universo. Esse tipo de fenômeno se denomina fora do equilíbiro térmico.

A formação das galáxias é um exemplo. A termodinâmica não se aplica porque o campo gravitacional depende do tempo. E o processo é complicado pela contínua aglomeração de massa que o campo gravitacional provoca. A redistribuição de massa no espaço muda de volta o campo gravitacional. O efeito combinado ao longo do tempo forma a rede cósmica, da qual eu já comentei outras vezes no blog. Do ponto de vista da Termodinâmica, a formação das galáxias pode parecer uma incógnita, mas é porque a origem das galáxias vem da dinâmica do campo gravitacional.

Outros dois exemplos importantes são a formação dos núcleos atômicos e a formação da radiação cósmica de fundo. Se nós fossemos usar a Termodinâmica em Cosmologia para descrever esses processos, iríamos obter respostas incorretas. Na formação do hélio, por exemplo, vê-se que a abundância do hélio em equilíbrio termodinâmico se torna relevante quando a temperatura é cerca de 3.5×109 K, e a Termodinâmica prevê que cerca de 31% dos bárions deveria estar em forma de hélio hoje. O valor correto é mais próximo de 25-27%. A Termodinâmica falha porque a formação do hélio precisa competir com o fato de que a densidade de prótons e nêutrons está decaindo no tempo. Os prótons e nêutrons vão se tornando menos densos por causa da expansão do universo. A formação do hélio não dura para sempre porque eventualmente a densidade é tão baixa que não permite mais reações nucleares ocorrerem. Além disso, a formação do hélio depende da presença dos nêutrons, que decaem rapidamente a medida que as reações nucleares perdem força para converter prótons em nêutrons. Se abdicarmos da Termodinâmica e calcularmos o processo dependente do tempo, chegaremos ao valor correto de 27%. A radiação cósmica de fundo se forma por um processo similar de competição em que os elétrons livres que ainda espalham fótons por efeito Compton vão desaparecendo ao serem capturados pelos núcleos para formar os átomos neutros de hidrogênio e hélio.

Quando nós não podemos usar a Termodinâmica para reações físicas mas ainda se quer fazer contas para um número grande de partículas, se usa física estatística fora do equilíbrio onde a dinâmica é comandada pelo que genericamente se chama equações de Boltzmann. O nome de Boltzmann deve indicar como já se sabia faz tempo as limitações da Termodinâmica.

O propósito desse comentário é o seguinte: não é necessária nenhuma mágica para entender como se formam estruturas complexas no universo onde vale a segunda lei da Termodinâmica. Basta aplicar as leis físicas relevantes para o processo microscópico (no caso da formação dos núcleos é a física nuclear, da formação das galáxias é a Relatividade Geral). A Termodinâmica é uma aproximação que nem sempre descreve todas as variáveis físicas, só aquelas que se tornam independentes do tempo.

Calorimetria por fluxo de partículas

sábado, 16 abr 2011; \15\America/New_York\America/New_York\k 15 Deixe um comentário

Essa noite eu estava lendo a Letter of Intent do detector para um futuro colisor linear de léptons (ILC): SiD Letter of Intent

A idéia é um delírio. O detector até o solenóide é todo feito de pixels de silício. Detectores de silício são usados frequentemente para tracking e detecção de vértice de interação, mas a idéia desse detector é usar para calorimetria também. E isso é de fazer cair o queixo. Eles estão sugerindo fazer um calorímetro que funciona quase que completamente com fluxo de partículas. A técnica de fluxos de partícula não é nova, ela já foi usada com sucesso no ZEUS (HERA), CDF (Tevatron) e CMS (LHC) mas todos esses calorímetros usavam essa técnica de forma complementar, tendo o fluxo de energia como o prinicipal modo de detecção.

A idéia nessa proposta é identificar individualmente todas as partículas nos chuveiros eletromagnéticos e vetar aquelas provenientes de partículas carregadas, cuja energia pode ser medida no detector de tracking. Depois disso, tudo que sobra são os chuveiros de fótons no calorímetro eletromagnético (e os chuveiros de nêutrons no calorímetro hadrônico) que são medidos de forma tradicional, contando pares de elétrons-buracos produzidos. Uma das razões deles proporem o tungstênio como material de absorção é justamente porque ele tem uma grande razão de comprimento de radiação por comprimento de interação, além de um pequeno raio de Molière, tornando-o melhor para esse tipo de aplicação.

Isso é uma proposta completamente nova de calorimetria. Os problemas imediatos são óbvios. Primeiro, em eventos altamente inelásticos, que são os mais interessantes, pode ser muito difícil separar todos os chuveiros. Além disso, decaimentos semi-leptônicos são obviamente um desastre para essa técnica, já que o neutrino vai passar despercebido. Por fim, claro, existe o problema de otimizar o tamanho dos pixels para, por um lado ter uma reconstrução de trajetórias boa e por outro não ser atolado de ruído na medida da energia dos fótons. Eles estão falando em algo como milhões de canais – calibrar o ganho disso deve ser o inferno na terra.

Nesse tipo de calorimetria, a resolução certamente não varia como um processo de Poisson e, embora eu não consiga achar nenhum artigo que tenha calculado a dependência com a energia, várias referência indicam uma dependência mais rápida que linear. Sei lá… isso me parece jogar uma das coisas mais bacanas de um calorímetro (que é a dependência de 1/\sqrt{E}) no lixo, mas tudo bem. Para falar verdade, isso mais parece uma máquina fotográfica do que um calorímetro.

Não quero ser um profeta do desastre. Há também vantagens óbvias da fina segmentação lateral e longitudinal: poder fazer tracking até o calorímetro, poder fazer excelente particle identification no calorímetro, … De qualquer forma, é realmente de cair o queixo.

Categorias:Ars Physica

Executando Mathematica remotamente

terça-feira, 12 abr 2011; \15\America/New_York\America/New_York\k 15 Deixe um comentário

O Mathematica tem uma função muito interessante de execução remota que poucas pessoas fazem uso já que a implementação original é péssima.

Se você tem a sua disposição um cluster ou grid de computação de alta performance onde o Mathematica está instalado, você pode carregar a interface gráfica do Mathematica no seu computador mas executar todos os comandos na outra máquina de melhor performance. Não é necessário usar nenhum terminal bash; o Mathematica entre os dois computadores conversam sozinhos. Pelo menos para mim essa conexão é bem mais rápida do que carregar a GUI do Mathematica inteira remotamente, i.e. usando algo como o X11 forwarding.

Primeiro, você tem que ter o Mathematica instalado nas duas máquinas. Não é necessário que sejam a mesma versão, mas observe que o núcleo do Mathematica que será executado é o do computador remoto. Qualquer pacote a ser usado deve estar instalado lá. Note também que a versão do Mathematica que será executada é a do computador remoto; então se você tiver Mathematica 8 instalado no seu computador mas o núcleo instalado no computador remoto for Mathematica 7, você não vai poder usar nada específico do Mathematica 8.

O Mathematica possui dois elementos: o núcleo (Kernel) e a interface gráfica. Os Notebooks são uma espécie de script para o kernel. Você pode ter mais de um kernel funcionando ao mesmo tempo. Por padrão, o Mathematica vem configurado para executar um único kernel. Com o tutorial que se segue, você vai adicionar mais kernels ao Mathematica que serão executados em outro computador.

Mais de um Kernel não deve ser confundido com computação em paralelo, que o Mathematica implementa com subkernels. Hoje em dia com clusters e processadores multi-core, cada Kernel do Mathematica admite subkernels, um para cada processador. Em uma máquina Dual Core por exemplo, você pode configurar dois subkernels de um dado kernel. Em uma máquina com 12 processadores, você pode ter até 12 subkernels. O Mathematica não invoca subkernels automaticamente, ele por padrão usará um único core do seu computador. Ou seja, se você tem um Intel Quad Core 2.0 GHz, o Mathematica usa apenas um dos quatro processadores 2.0GHz. Para executar mais de um subkernel você deve prefixar os seus comandos com algo como o Parallelize:

primes = Table[Prime[10^i], {i, 11}]; IntegerLength /@ primes // Parallelize // AbsoluteTiming

Por padrão, ao usar esse comando o Mathematica invocará o número máximo de subkernels possíveis. Em um Quad Core, são 4. Ele então vai dividir a tarefa entre os 4 processadores. Nem todos os processos podem ser divididos em subkernels, no entanto. Após iniciar uma execução remota do Mathematica para um cluster de alta performance, se você quiser usar todo o potencial do cluster, terá que executar comandos como o Parallelize. Em uma computação longa com muita paralelização, é recomendável inicializar os subkernels com o comando LaunchKernels[].

O Mathematica não tem uma implementação satisfatória de execução remota. Os problemas são vários, e.g. portas aleatórias de conexão, que quase sempre serão bloqueadas por Firewall. A alternativa abaixo usa uma conexão ssh do computador local para o remoto e transfere toda a comunicação do kernel remoto por ssh.

 

Passo 1: Instalar scripts

Devido a limitação do WordPress.com, eu renomeei os arquivos para .doc. Primeiro, você precisa baixar os seguintes arquivos dependendo da sua plataforma e salvá-los no seu computador. Importante: eu só testei para o MacOSX.

  • Mac OS X: tunnel e ssh-askpass para ~/Library/Mathematica/FrontEnd (sua home, não o diretório raiz), como tunnel.sh e ssh-askpass (o último sem extensão).
  • Linux: tunnel para ~/.Mathematica/FrontEnd como tunnel.sh.
  • Windows: tunnel.bat, para algo como
    \Documents and Settings\seu_usuario_windows\Application Data\Mathematica\FrontEnd, salve-o como tunnel.bat.

No Mac OS X e no Linux, após transferir e renomear os arquivos, execute o Terminal e aplique os comandos chmod +x tunnel.sh e chmod +x ssh-askpass no diretório onde os scripts foram salvos.

Passo 2: Configurar o Mathematica

No Mathematica no seu computador, siga estes passos:

  1. Acesse o menu Evaluation > Kernel Configuration Options.
  2. Clique em “Add”.
  3. Escolha um nome para o núcleo, e.g. “Cluster remoto”.
  4. Marque a opção “Append name to…” se quiser que os comandos executados no computador remoto e os resultados do computador remoto sejam explicitamente identificados no Notebook do Mathematica. Por exemplo, cada resultado será prefixado como Out [Cluster remoto]: =.
  5. No Mac, por uma questão de compatibilidade com o Linux, marque “Translate Return into New Line”.
  6. Marque “Advanced Options”

Os próximos passos requerem mais explicação:

Arguments to MLOpen deve conter verbatim, uma única linha:

-LinkMode Listen -LinkProtocol TCPIP -LinkOptions MLDontInteract -LinkHost 127.0.0.1

Launch Command para Mac ou Linux

"`userbaseDirectory`/FrontEnd/tunnel.sh" user@remote_machine
"/mathematica/default/Executables/math" "`linkname`"

e para Windows:

"`userbaseDirectory`\FrontEnd\tunnel.bat" user@remote_machine
"/mathematica/default/Executables/math" "`linkname`"

onde /mathematica ... /math deve ser substituído pelo caminho completo do executável de linha de comando do Mathematica no computador remoto. Esse arquivo estará no diretório do executável do Mathematica com nome math. Substitua também user@remote_machine pelo seu login (user) seguido do endereço IP ou hostname do computador remoto.

No Windows, você ainda precisará do PuTTY.

Pronto. Ao abrir um Notebook, o Kernel remoto pode ser escolhido no menu Evaluation > Notebook’s Kernel. Você pode forçar a inicialização do Kernel em Evaluation > Start Kernel. No Mac, uma janela aparecerá perguntando sua senha; no Linux o Terminal fará isso. Se tudo der certo, o Mathematica local irá inicializar o kernel remoto. O bash script tunnel.sh e o tunnel.bat salvam no diretório onde eles estão um arquivo .log, útil para debug.

Sobre esse tutorial: Essa estratégia foi desenvolvida por Sascha Kratky. O ssh-askpass para Mac foi escrito por Richard Brittain, especialista em computação aqui em Dartmouth College.

Uma nova partícula?

quinta-feira, 7 abr 2011; \14\America/New_York\America/New_York\k 14 10 comentários

Hoje eu acordei no meio de uma onda de tweets, emails, notíciais de jornais, mensagens de skype e mais o que você quiser imaginar com meio mundo comentando sobre a massa de dois jatos em estados finais com um lépton, um neutrino e dois jatos em colisões de um próton e um antipróton. Meio surreal, não? Como explicar a mesma coisa um monte de vezes vai dar trabalho, um post aqui no blog parece ser mais adequado.

As pessoas estavam falando sobre esse artigo do CDF, escrito por A. Annovi, P. Catastini, V. Cavaliere e L. Ristori:

Invariant Mass Distribution of Jet Pairs Produced in Association with a W boson in ppbar Collisions at √s = 1.96 TeV

baseado na tese de doutoramento da Viviana Cavaliere, que pode ser vista abaixo apresentando seu resultado na palestra de ontem (Eu estava dormindo, terminei não indo. Mas a palestra é meio devagar, fiquem avisados!):

O que eles fizeram foi estudar estados finais com um lépton (elétron ou múon, usado para o trigger), um neutrino (detectado como MET) e dois jatos. Quando eles olharam a distribuição de massa dos jatos, eles viram isso aqui:

Todas as áreas sólidas ou hachuradas são os eventos calculados com processos do modelo padrão. Alguns deles são eventos que realmente produzem esse estado final, como WW (um W decaindo leptonicamente, o outro hadronicamente), WZ (idem) e W+qq (onde os qq são produzidos juntos com o W). Outros são produtos de problemas experimentais, como Z+qq (com o Z decaindo leptonicamente e um dos léptons não sendo detectados), ou eventos com três jatos qqq (onde um q é detectado como lépton e a onde a energia transversa dos jatos é tão mal conhecida que fica parecendo faltar algo).

Você vê que ali em torno de 120-160 GeV tem vários pontos sistematicamente acima do esperado. A linha azul é um ajuste a uma gaussiana com a resolução que o calorímetro deles permite, o que não é lá muito bom (vocês tem que entender que os experimentos do Tevatron são antigos, está mesmo na hora de fechar). O excesso parece como aquele de WW ou WZ, só que com um massa maior que 80 ou 90 GeV. Ou seja, a explicação “natural” seria uma nova partícula tipo o Z, normalmente chamada Z’. O bacana desse tipo de modelo é que ele também explica a grande assimetria forward-backward na produção de pares de top observada, também no CDF, alguns meses atrás.

Bem, para ser completamente sincero, poderia até ser um Higgs. O problema com o Higgs é que a constante de acoplamento do Higgs depende da massa da partícula e isso quer dizer que jatos de quarks bottom deveriam ter um excesso mais pronunciado ainda. Jatos de quarks b são possíveis de serem diferenciados porque tem um vértice deslocado e o CDF tem um detector de silício bem perto do ponto de interação que permite separá-los. Não há nenhum reforço quando essa seleção é feita… so, no Higgs for you, at least not for now.

Todo mundo ficou muito empolgado porque o artigo diz que há uma evidência de 3.2 sigmas. 3.2 sigmas pode parecer impressionante, mas tem muitas coisas que devem ser tomadas com cuidado e muita gente já se decepcionou com evidências de 3 sigmas no passado. Para começar, como já discutimos por aqui, em física de altas energias, a hipótese nula nunca é conhecida com perfeição (um dos caveats clássicos do p-value) e esse tipo de interação considerada nessa análise é particularmente complicada de se calcular.

Para se ter uma idéia se a descrição dos processos conhecidos é adequada, é comum verificar variáveis cinemáticas em regiões onde não há excesso de sinal. Duas variáveis são particularmente importantes para a medida de massa: as energias e as direções. A medida de energia dos jatos é um assunto experimentalmente complicado por si só, e vou deixar para o final. Medir direções é mais simples, já que o CDF tem um vasto detector de traços na sua parte mais interna. O gráfico abaixo mostra a distribuição, em áreas onde não há excesso, de \Delta R = \sqrt{\Delta\eta^2 + \Delta\phi^2} onde \eta=-\ln\tan\frac{\theta}{2} e (\theta,\phi) são os ângulos polares usuais.

Vocês vêem como essa distribuição é mal descrita teoricamente. Claro que pode-se adotar a postura de dizer: ok, eu não sei calcular direito essa variável cinemática, então vou usar a distribuição medida para descrever o background na região de sinal. Quando se faz isso, a evidência do sinal cai para 2.2 sigmas ou sobe para 4.2 sigmas, dependendo da região de controle que se usa. Copiando do artigo:

We use these regions to derive a correction as a function of ∆Rjj to reweight the events in the excess region. We find that the reweightings change the statistical significance of the result by plus or minus one sigma.

Isso mostra como falar em p-values pode ser perigoso. Esse excesso não é visto em procuras por Higgs, imagino, porque vários desses processos de reweighing são utilizados.

Medir a energia dos jatos, outro dado essencial para o valor da massa, é complicado experimentalmente devido aos processos físicos que ocorrem no calorímetro hadrônico. Em processos nucleares, como o núcleo é um sistema fortemente acoplado, há sempre uma fração considerável da energia que some. Além disso, quando não se considera a energia de todas as partículas do jato, ou seja, quando há vasamento, há uma imprecisão adicional intrínsica na escala de energia desses objetos. Já discutimos por aqui como isso é um problema no CMS, por exemplo.

O gif animado abaixo mostra como o excesso desaparece se o erro na escala de energia crescer até 7% (não sei se a incerteza é tão grande assim, provalvelmente fica em torno da metade disso, mas o exercício é interessante):

Ou seja, eu, como a maioria das pessoas, estamos empolgados, mas com pé atrás. O próximo passo é verificar se esse excesso é observado no D0, Atlas e CMS. Eu sei que tanto no D0 quando no Atlas isso já está sendo considerado. Imagino que no CMS também, mas não conheço quem está fazendo essa análise lá. Pode ser uma grande notícia, mas esperem um pouco para estourar a champagne. Nesse aspecto, ponto para o CDF, que escreveu um artigo super sóbrio, sem buzzwords da modinha que não tem significado físico nenhum.

Categorias:Ars Physica

O universo é quântico II, novas divergências em TQC

terça-feira, 5 abr 2011; \14\America/New_York\America/New_York\k 14 5 comentários

Será que existem divergências em teorias quânticas de campos (TQC) em espaços-tempo curvos que não podem ser removidas por renormalização?

Como o título já deve dar a entender, esse segundo post já vai ser sobre um aspecto técnico.

Leia mais

O universo não foi feito para nós

domingo, 3 abr 2011; \13\America/New_York\America/New_York\k 13 12 comentários

Vale lembrar, ou conhecer, esse trecho de Pálido Ponto Azul de Carl Sagan. Legendado em português. Para ver a legenda, verifique que o botão CC esteja em vermelho. Agradecimentos ao usuário do YouTube filipesmg que preparou as legendas. Narrado pelo próprio Sagan.

Então, o que realmente procuramos na filosofia e na religião? Paliativos? Terapia? Conforto? Buscamos fábulas tranqulizadoras ou um entendimento de nossas reais circunstâncias?

Antes de ir, outra chance para Sagan:

Carl Sagan foi um cientista com uma sensibilidade rara. Hoje em dia com atenção da mídia em Hitchens e Dawkins, ou de campanhas de organizações que comparam Hitler a religiosos, o belíssimo livrinho dele As variedades da experiência científica passou desapercebido. 😦

Sinto a falta da voz da razão de Sagan.

%d blogueiros gostam disto: