sexta-feira, 7 de agosto de 2026

Iniciei um mestrado ou doutorado: vou conseguir concluir com êxito?


A pós-graduação stricto sensu no Brasil é uma jornada com alto custo intelectual, de expressiva exigência emocional, financeira e social. O panorama do pós-graduando brasileiro envolve particularidades estruturais que tornam o caminho até o diploma de mestre ou doutor um verdadeiro teste de resistência. 

Além disso, existem diferenças profundas entre a graduação e a pós-graduação. Na graduação, de forma geral, o estudante não precisa produzir nada 'novo', de própria autoria, o foco é aprender o 'estado da arte' e cursar muitas disciplinas. Já no mestrado e, especialmente, no doutorado, é exigido que o estudante tenha suas próprias ideias, tenha uma certa autonomia e independência para pesquisar e escrever. 

Alguns Desafios da Pós-Graduação no Brasil

  • Precarização e Financiamento. A dependência das bolsas de estudo (CAPES, CNPq e FAPs estaduais) é um dos maiores pontos de tensão. Muitas vezes, os valores das bolsas exigem dedicação exclusiva e impedem o acúmulo de vínculos empregatícios, sem garantir direitos trabalhistas básicos (como aposentadoria, licença médica formal ou 13º salário). A inflação e períodos de congelamento do fomento aumentam a insegurança financeira dos estudantes pesquisadores. Trabalhar e estudar é, quase sempre, um duplo desafio que nem todos conseguem equilibrar. 
  • Saúde Mental e Pressão Acadêmica. O ecossistema acadêmico brasileiro impõe uma rotina de publicações em periódicos qualificados, além do cumprimento de créditos, prazos (quase sempre) rígidos de qualificação e defesa. A cobrança constante por resultados, aliada à incerteza sobre o mercado de trabalho pós-defesa, gera altos índices de ansiedade e burnout.
  • Infraestrutura e Burocracia. Especialmente nas ciências experimentais, é comum que alunos enfrentem paralisações em suas pesquisas devido à falta de insumos, atrasos na importação de reagentes, entraves burocráticos ou sucateamento de laboratórios.

O Papel Central da Orientação e do Apoio Adequado

A relação entre orientador e orientando é frequentemente o fator determinante entre a desistência e a conclusão do curso. Com uma relação boa entre orientador e orientando, os seguintes pontos podem ser alcançados: 

  1. Alinhamento de Expectativas. Um bom orientador não atua apenas como supervisor científico, mas como um gestor de projeto. Definir metas realistas dentro do prazo regulamentar da instituição evita sobressaltos ao longo de todo o processo.
  2. Rede de Apoio Emocional e Institucional. O suporte de um orientador empático ajuda a mitigar o isolamento do pesquisador. Além disso, contar com o apoio do Programa de Pós-Graduação (PPG), de grupos de pesquisa e de uma rede familiar sólidos reduz a taxa de desistência.
  3. Planejamento de Riscos. Diante de imprevistos financeiros ou de saúde, um orientador experiente ajuda a redimensionar o escopo da dissertação ou tese, permitindo pedir prorrogações ou licenças médicas quando necessário, sem comprometer a viabilidade do trabalho.

Estratégias para Aumentar as Chances de Sucesso

Embora a certeza absoluta não exista, a adoção de posturas táticas pode reduzir os riscos ao longo do percurso.

  • Disciplina de Gestão de Tempo. Tratar o mestrado ou doutorado como um trabalho regular, estabelecendo metas diárias ou semanais de leitura e escrita, impede o acúmulo de demandas para os meses finais.
  • Aproveitamento de Oportunidades de Fomento. Buscar ativamente editais de auxílio a eventos, bolsas sanduíche e financiamentos pontuais pode aliviar a pressão orçamentária do projeto.
  • Flexibilidade e Resiliência. Aceitar que hipóteses podem falhar ou que experimentos precisarão ser refeitos é parte do método científico. O foco deve estar na solução de problemas, e não no idealismo do projeto perfeito.

A trajetória acadêmica no Brasil exige flexibilidade e resiliência contínuas. A dedicação pessoal aliada a uma orientação presente e estratégica transforma o desafio da pós-graduação em uma conquista viável e transformadora.

No final (ou no início) ainda pode ficar uma pergunta: tudo isso, todo esse sacrifício para concluir (ou iniciar) um mestrado ou doutorado vale mesmo a pena? Como resposta, cito a frase de Fernando Pessoa$ ^1$: “Tudo vale a pena quando a alma não é pequena.” 

1 Essa frase está no poema "Mar Português", que faz parte do livro "Mensagem", publicado por Fernando Pessoa em 1934.

#Reflexão #Pós-Graduação #Mestrado #Doutorado 

quarta-feira, 5 de agosto de 2026

Uma linha do tempo: principais IAs generativas (2022–2026)

Linha do tempo: principais IAs generativas (2022–2026)

Nesta postagem geramos uma linha do tempo com os lançamentos públicos das principais IAs generativas de texto (chatbots/LLMs) e mais algumas ferramentas especializadas, incluindo Perplexity AI, MathGPT e também a primeira versão do DeepSeek. Poderíamos ter incluído muitas outras ferramentas, mas optamos por apresentar nesta linha do tempo somente as mais conhecidas do público.

Cronologia de lançamentos

Data IA / Família Empresa / Origem Observação
30 nov 2022 ChatGPT (GPT‑3.5) OpenAI (EUA) Primeiro chatbot generativo de grande adoção pública.
07 dez 2022 Perplexity AI (motor de respostas) Perplexity AI (EUA) Lançamento do mecanismo de busca com IA e citações.
07 fev 2023 Bing ChatCopilot Microsoft (EUA) Lançado como Bing Chat; depois renomeado para Microsoft Copilot.
24 fev 2023 LLaMA 1 Meta (EUA) Primeira família de modelos abertos (7B–65B).
mar 2023 Claude 1 Anthropic (EUA) Lançamento inicial restrito a usuários aprovados.
21 mar 2023 BardGemini Google (EUA) Lançamento público do Bard, depois rebatizado e rebaseado em Gemini.
abr 2023 Qwen (Tongyi Qianwen, beta) Alibaba (China) Beta aberto sob o nome Tongyi Qianwen.
18 jul 2023 Llama 2 Meta + parceiros Versão aberta para pesquisa e uso comercial.
jul 2023 Claude 2 Anthropic Primeira versão amplamente disponível ao público geral.
set 2023 Mistral 7B Mistral AI (França) Modelo aberto (Apache 2.0) que popularizou GQA e SWA.
02 nov 2023 DeepSeek Coder DeepSeek (China) Primeiro modelo público da DeepSeek, focado em código.
03 nov 2023 Grok 1 xAI / Elon Musk (EUA) Lançado inicialmente para assinantes Premium do X.
29 nov 2023 DeepSeek LLM (7B/67B) DeepSeek Primeiro LLM geral da DeepSeek, aberto e competitivo com GPT‑4.
06 dez 2023 Gemini (modelo) Google Anúncio da família Gemini; Bard passa a rodar com Gemini Pro.
2023–2024 MathGPT (ferramenta) Projeto aberto / app Integrador de LLM + CAS para matemática; divulgado publicamente em 2023 e consolidado como app/serviço nos anos seguintes.
mar 2024 Claude 3 Anthropic Grande salto em capacidades (incluindo visão).
14 mar 2024 Claude 3 (anúncio oficial) Anthropic Lançamento divulgado em 14 de março de 2024.
ago 2024 Gemini Advanced (Bard → Gemini) Google Consolidação da marca Gemini no chatbot.
14 ago 2024 Grok‑2 xAI Nova geração com melhor raciocínio e geração de imagens.
set 2023–2024 Qwen (público geral) Alibaba Após beta de abr/2023, abertura ampla ao público em set/2023 e evoluções em 2024.
2024–2025 Llama 3 / 3.1 Meta Evoluções da família Llama com modelos até 405B parâmetros.
09 jul 2025 Grok 4 xAI Lançamento da versão 4 com uso nativo de ferramentas e contexto longo.
2025–2026 Gemini 2 / 3 Google Sequência de atualizações e novos modelos Gemini.
2025–2026 GPT‑5 / 5.1 / 5.6 OpenAI Evolução da série GPT‑5 no ChatGPT.
2026 Qwen 3.8‑Max Alibaba Modelo de grande porte com pesos abertos ao público.
24 abr 2026 DeepSeek‑V4 DeepSeek Lançamento oficial de V4 (Pro e Flash).

Observação: MathGPT aparece aqui como "ferramenta pública" (integrador de LLM + sistema de álgebra computacional) com repositório e propostas em 2023 e consolidação como app/serviço gratuito nos anos seguintes; não é um chatbot generalista como ChatGPT ou Claude, mas sim um assistente especializado em matemática.

Detalhes por família

  • ChatGPT / GPT (OpenAI): ChatGPT lançado em 30/11/2022; depois GPT‑4 (2023) e série GPT‑5 a partir de 2025, com atualizações como GPT‑5.1 e GPT‑5.6 em 2025–2026.
  • Perplexity AI: Motor de respostas com IA e citações, lançado em 07/12/2022; evoluiu para assistente com múltiplos modelos e navegação em tempo real.
  • Gemini / Bard (Google): Bard em 21/03/2023; anúncio do modelo Gemini em 06/12/2023, com Bard migrando para Gemini; depois Gemini 2/3 e integrações amplas em 2025–2026.
  • Claude (Anthropic): Claude 1 em mar/2023 (acesso restrito); Claude 2 em jul/2023 (público geral); Claude 3 em mar/2024.
  • Copilot (Microsoft): Lançado como Bing Chat em 07/02/2023; depois renomeado para Microsoft Copilot e integrado ao Windows/365.
  • Llama (Meta): LLaMA 1 em 24/02/2023; Llama 2 em 18/07/2023; Llama 3/3.1 em 2024, com modelos de até 405B parâmetros.
  • Qwen (Alibaba): Beta como Tongyi Qianwen em abr/2023; abertura pública em set/2023; evoluções contínuas até Qwen 3.8‑Max em 2026.
  • Grok (xAI / SpaceXAI): Lançado em 03/11/2023; Grok‑2 em ago/2024; Grok 4 em 09/07/2025; atualizações como Grok 4.5 em 2026.
  • DeepSeek (China): Primeiro modelo público, DeepSeek Coder, em 02/11/2023; em 29/11/2023, DeepSeek LLM (7B/67B) como primeiro LLM geral; depois R1 (2025) e V4 (24/04/2026).
  • Mistral AI (França): Empresa fundada em abr/2023; Mistral 7B em set/2023; depois Mixtral, Mistral Large e outras versões em 2023–2025.
  • MathGPT: Projeto/integrador de LLM + CAS para matemática, com repositório público em jan/2023 e evolução para app/serviço gratuito de resolução de problemas matemáticos.
Nota de transparência: Esta postagem foi elaborada com o auxílio de um assistente de inteligência artificial (IA generativa), que auxiliou na compilação, organização e formatação das informações apresentadas. As datas e fatos foram verificados em fontes públicas e documentos de referência.

segunda-feira, 3 de agosto de 2026

'Humanizar' texto acadêmico usando IA. Funciona?

Usar IA para 'Humanizar' Textos Acadêmicos Funciona?

Usar IA para 'humanizar' texto acadêmico e enganar o professor realmente funciona?

A resposta direta é: não funciona tão bem quanto os alunos imaginam, e na maioria das vezes o resultado é um tiro pela culatra.

A ideia de usar uma IA para gerar o texto e depois outra IA para "humanizar" parece um plano infalível (ou pelo menos muito bom) na cabeça de quem quer economizar tempo, mas na prática acadêmica essa estratégia pode entregar falhas gritantes. Além disso, quase sempre o professor desconfia quando recebe um texto que não foi escrito pelo próprio aluno. E pior: é uma estratégia duplamente questionável em termos éticos.

1. O que os "humanizadores" realmente fazem?

Ferramentas chamadas de "humanizadores de texto" não adicionam sentimentos, vivência ou repertório crítico ao texto (porque IAs não têm nada disso). O que elas fazem é basicamente:

  • Trocar palavras por sinônimos incomuns: Muitas vezes aplicados fora do contexto adequado.
  • Embaralhar a estrutura das frases: Altera a sintaxe para quebrar padrões preditivos.
  • Inserir redundâncias: Tenta burlar os algoritmos dos detectores estatísticos de IA.

2. Os problemas gerados no texto acadêmico

  • Sintaxe confusa: O texto resultante costuma ficar truncado, estranho e com um tom artificial. Ele perde a fluidez e a coerência lógica necessárias para um artigo ou trabalho acadêmico.
  • Perda de precisão conceitual: Na academia, os termos técnicos têm significados muito específicos. Quando o "humanizador" troca um termo científico por um sinônimo genérico para parecer mais "humano", ele frequentemente estraga o conceito teórico.
  • Alucinações e fontes inventadas: A IA geradora inicial pode criar citações de autores ou livros que simplesmente não existem. O "humanizador" não vai checar os fatos; ele só vai reescrever a mentira de um jeito diferente.
  • Desaparecimento da identidade do aluno: Professores conhecem a forma como seus alunos escrevem, discutem em sala e formulam ideias. Um texto cheio de vocabulário rebuscado, porém vazio de conteúdo crítico, salta aos olhos imediatamente.

3. Como os professores percebem?

Mesmo que o texto consiga enganar a pontuação de um detector automático de IA (que não são 100% confiáveis), ele não engana o detector mais eficiente de todos: a leitura crítica do professor.

O que o aluno acha que fez O que o professor realmente lê
Criou um texto fluido e indetectável. Um amontoado de palavras difíceis sem uma tese clara.
Driblou o sistema. Erros conceituais básicos e citações fantasma.
Escondeu o uso da IA. Um estilo genérico, desprovido de posicionamento crítico.
O diagnóstico final: A tentativa de "humanizar" um texto gerado por IA geralmente transforma um texto sintético mediano em um texto ruim e confuso. Em vez de parecer escrito por um humano, ele acaba parecendo escrito por uma máquina com um dicionário de sinônimos quebrado.

A melhor utilidade da IA na academia continua sendo como assistente de pesquisa e estruturação de ideias — para gerar brainstorming, revisar a gramática de um texto original ou ajudar a mapear referências —, e não como uma substituta para o pensamento crítico do aluno.

Inspiração: notícia do g1 - link 'Humanizadores' de textos prometem driblar detectores de IA.
Nota de Transparência: Este artigo foi estruturado e formatado com o auxílio de inteligência artificial (Gemini, Google) para fins explicativos e educacionais, com curadoria e revisão sobre integridade acadêmica no uso de ferramentas generativas.

domingo, 2 de agosto de 2026

Campeão mundial de xadrez, mas não o número 1 do mundo

Campeão Mundial vs. Número 1 do Ranking FIDE

Ser Campeão Mundial Não Garante o Topo do Ranking FIDE

Histórico dos momentos nos últimos 50 a 60 anos em que o detentor da coroa não era o número 1 do mundo.

Ser campeão mundial de xadrez não significa, necessariamente, que o enxadrista possui o maior rating FIDE do mundo. Como o título é decidido em confrontos diretos (matches) ou torneios específicos, nem sempre o campeão vigente coincide com o líder do ranking oficial da FIDE.

Casos Históricos nas Últimas Décadas

1. Anatoly Karpov (1984 – 1985)
Campeão Mundial: Anatoly Karpov
Número 1 da FIDE: Garry Kasparov
Karpov mantinha o título mundial desde 1975, mas em janeiro de 1984 o jovem Garry Kasparov assumiu a liderança do rating FIDE. Kasparov manteve-se no topo até derrotar Karpov no lendário confronto de 1985, unificando a liderança do ranking ao título supremo.
2. A Era do Título Dividido e Vladimir Kramnik (2000 – 2005)
Campeão Mundial (Clássico): Vladimir Kramnik
Número 1 da FIDE: Garry Kasparov
Em 2000, Vladimir Kramnik superou Garry Kasparov no match pelo Campeonato Mundial Clássico. Apesar da derrota, Kasparov continuou como número 1 inquestionável do rating FIDE até se aposentar em 2005. Paralelamente, os campeões dos torneios eliminatórios da FIDE no mesmo período (Khalifman, Ponomariov, Kasimdzhanov) também figuravam bem abaixo do topo do ranking.
3. Viswanathan Anand (2010 – 2013)
Campeão Mundial: Viswanathan Anand
Número 1 da FIDE: Magnus Carlsen
Anand reinou como campeão indiscutível de 2007 a 2013. Contudo, a partir de 2010, Magnus Carlsen assumiu o topo da lista da FIDE e estabeleceu sua hegemonia no ranking, que culminou na conquista do título mundial em 2013 ao vencer o próprio Anand.
4. Ding Liren (2023 – 2024)
Campeão Mundial: Ding Liren
Número 1 da FIDE: Magnus Carlsen
Após Magnus Carlsen abdicar da defesa do título em 2023, o chinês Ding Liren venceu Ian Nepomniachtchi e tornou-se campeão mundial oficial. Carlsen, no entanto, seguiu firme como o enxadrista número 1 do mundo em pontuação de rating.
5. Gukesh Dommaraju (2024 – Presente)
Campeão Mundial: Gukesh Dommaraju
Número 1 da FIDE: Magnus Carlsen
Ao derrotar Ding Liren no fim de 2024, o jovem fenômeno indiano Gukesh D. conquistou a coroa mundial. Apesar disso, Magnus Carlsen continua isolado na liderança do ranking de rating FIDE.

Resumo Comparativo

Período Campeão Mundial #1 do Ranking FIDE
1984 – 1985 Anatoly Karpov Garry Kasparov
2000 – 2005 Vladimir Kramnik Garry Kasparov
2010 – 2013 Viswanathan Anand Magnus Carlsen
2023 – 2024 Ding Liren Magnus Carlsen
2024 – Presente Gukesh Dommaraju Magnus Carlsen

Como Funciona a Matemática do Sistema de Rating Elo no Xadrez

Entenda o cálculo estatístico por trás das pontuações dos enxadristas.

O sistema de rating Elo (criado pelo físico e mestre de xadrez Arpad Elo) não mede simplesmente quantas partidas você ganhou, mas a probabilidade estatística de você vencer um determinado adversário com base nas pontuações atuais de ambos.

1. O Conceito Central: Expectativa de Vitória (E)

Antes de qualquer partida começar, o sistema calcula uma pontuação esperada (um valor entre 0 e 1) para cada jogador.

Se o jogador A tem rating RA e o jogador B tem rating RB, a pontuação esperada para o jogador A (EA) é dada pela fórmula logística:

EA = 1 / (1 + 10(RB - RA) / 400)

Da mesma forma, a expectativa do jogador B é EB = 1 - EA.

O que o fator 400 significa?
Ele é a escala padrão do xadrez. A cada 400 pontos de diferença entre dois jogadores, o jogador de maior rating tem estatisticamente 10 vezes mais chances de vencer do que o de menor rating.

Exemplo Prático:

  • Jogador A: 2700 de rating
  • Jogador B: 2500 de rating (diferença de 200 pontos)

Cálculo: EA = 1 / (1 + 10-0.5) ≈ 0,76

  • O Jogador A tem uma expectativa de resultado de 0,76 (76% de probabilidade).
  • O Jogador B tem uma expectativa de resultado de 0,24 (24% de probabilidade).

2. A Atualização do Rating

Após a partida, o resultado real (SA) é comparado com a expectativa (EA):

  • Vitória: SA = 1,0
  • Empate: SA = 0,5
  • Derrota: SA = 0,0

O novo rating (R'A) é calculado aplicando a fórmula:

R'A = RA + K × (SA - EA)

O Fator K (O "Peso" da Partida)

O fator K é um multiplicador que determina quão rápido o rating de um jogador se ajusta:

  • K = 40: Para novos jogadores ou jovens (para o rating ajustar rápido).
  • K = 20: Para a maioria dos enxadristas amadores e intermediários.
  • K = 10: Para jogadores de elite (geralmente acima de 2400 de rating, garantindo maior estabilidade no topo).

3. Cenários de Exemplo (com K = 10)

Usando o mesmo exemplo do Jogador A (2700) contra o Jogador B (2500):

Resultado da Partida Resultado Real (SA) Expectativa (EA) Cálculo da Variação Novo Rating de A
A vence 1,0 0,76 +10 × (1 - 0,76) = +2,4 2702,4
Empate 0,5 0,76 +10 × (0,5 - 0,76) = -2,6 2697,4
B vence 0,0 0,76 +10 × (0 - 0,76) = -7,6 2692,4

Destaques Importantes:

  • Um empate nem sempre é neutro: Como o Jogador A era o favorito, empatar contra o Jogador B custou 2,6 pontos de rating para o Jogador A, enquanto o Jogador B ganhou esses mesmos 2,6 pontos.
  • Sistema de Soma Zero: Em qualquer partida individual, os pontos ganhos por um jogador são exatamente iguais aos pontos perdidos pelo outro.
Nota de Transparência: Este texto foi elaborado com o auxílio de Inteligência Artificial (Gemini, Google) para pesquisa histórica, levantamento de dados e formatação do conteúdo.

quarta-feira, 29 de julho de 2026

Sobre estrelas anãs vermelhas.

Anãs Vermelhas: Qual o Limite de Massa para uma Estrela?

Qual o Limite de Massa para uma Estrela?

As estrelas anãs vermelhas são as estrelas mais numerosas da Via Láctea e despertam grande interesse entre os astrônomos devido à sua enorme longevidade. Entretanto, nem todo objeto de baixa massa pode ser considerado uma estrela, e existe também um limite superior a partir do qual a estrela deixa de ser uma anã vermelha e passa a ser classificada como uma anã laranja.

Limite inferior: aproximadamente 0,075 massas solares

O limite inferior para que um objeto seja considerado uma estrela corresponde à massa mínima necessária para sustentar a fusão nuclear do hidrogênio em seu núcleo.

Limite de ignição do hidrogênio: cerca de 0,075 massas solares (M☉), equivalente a aproximadamente 75 massas de Júpiter.

Abaixo desse valor, a temperatura e a pressão no núcleo nunca atingem valores suficientes para manter a fusão do hidrogênio de forma contínua. Esses objetos são conhecidos como anãs marrons. Algumas delas conseguem fundir deutério durante alguns milhões de anos, mas isso não é suficiente para classificá-las como estrelas verdadeiras.

  • Massa inferior a 0,075 M☉: anã marrom.
  • Massa igual ou superior a 0,075 M☉: estrela.

Limite superior: aproximadamente 0,5 massas solares

O limite superior não é tão rigorosamente definido quanto o inferior, mas a maior parte dos astrônomos considera que estrelas com massas entre aproximadamente 0,075 e 0,50 massas solares pertencem à classe das anãs vermelhas.

Acima desse intervalo, a temperatura superficial aumenta e o espectro estelar passa gradualmente do tipo espectral M para o tipo K. Nessa faixa, as estrelas deixam de apresentar a coloração avermelhada predominante e passam a ser conhecidas como anãs laranja.

Classificação aproximada

Tipo espectral Massa aproximada Classificação
M9 – M0 0,075 – 0,50 M☉ Anã vermelha
K9 – K0 0,50 – 0,80 M☉ Anã laranja
G9 – G0 0,80 – 1,05 M☉ Anã amarela (como o Sol)

Esses limites são aproximados e podem variar ligeiramente conforme a composição química (metalicidade) da estrela e o modelo de evolução estelar utilizado.

Duas famílias de anãs vermelhas

As próprias anãs vermelhas podem ser divididas em dois grupos principais.

Anãs vermelhas de baixa massa (0,075–0,35 M☉)

  • São completamente convectivas.
  • O material do núcleo mistura-se continuamente com as camadas externas.
  • Praticamente todo o hidrogênio pode ser utilizado na fusão nuclear.
  • Apresentam tempos de vida extremamente longos.

Anãs vermelhas mais massivas (0,35–0,50 M☉)

  • Desenvolvem um pequeno núcleo radiativo.
  • A mistura do hidrogênio torna-se menos eficiente.
  • Seu comportamento aproxima-se daquele observado em estrelas semelhantes ao Sol.

Alguns exemplos conhecidos

Estrela Massa Classificação
Próxima Centauri 0,122 M☉ Anã vermelha (M5.5)
Estrela de Barnard 0,16 M☉ Anã vermelha
Wolf 359 0,09 M☉ Anã vermelha
Lalande 21185 0,39 M☉ Anã vermelha
61 Cygni A 0,70 M☉ Anã laranja (K5 V)

Resumo

  • Menos de 0,075 M☉: anã marrom (não é uma estrela).
  • 0,075 a 0,50 M☉: anã vermelha (tipo espectral M).
  • 0,50 a 0,80 M☉: anã laranja (tipo espectral K).
  • 0,80 a 1,05 M☉: anã amarela (tipo espectral G, como o Sol).

A impressionante longevidade das anãs vermelhas

As anãs vermelhas são as estrelas de vida mais longa do Universo. Enquanto estrelas mais massivas, como o Sol, consomem rapidamente o combustível nuclear disponível em seus núcleos, as anãs vermelhas queimam hidrogênio de maneira extremamente lenta e eficiente. Quanto menor for sua massa, menor será sua luminosidade e, consequentemente, menor será o consumo de combustível ao longo do tempo.

Além disso, as anãs vermelhas menos massivas (com massas inferiores a aproximadamente 0,35 M☉) são totalmente convectivas. Isso significa que o hidrogênio presente em praticamente toda a estrela é continuamente misturado ao núcleo, permitindo que quase todo esse combustível seja utilizado na fusão nuclear. Em contraste, o Sol consegue consumir apenas o hidrogênio existente em sua região central.

Como consequência, a vida dessas estrelas é extraordinariamente longa: varia de centenas de bilhões até vários trilhões de anos, muito acima da idade atual do Universo, estimada em cerca de 13,8 bilhões de anos.

Um fato curioso: se uma anã vermelha de baixa massa foi formada logo após o nascimento do Universo, ela continua hoje praticamente na mesma fase de sua vida. Em termos astronômicos, essa estrela ainda pode ser considerada "jovem", pois consumiu apenas uma pequena fração do hidrogênio disponível em seu interior.

Tempo de vida estimado de algumas anãs vermelhas

Massa da estrela Tipo aproximado Tempo de vida na sequência principal Comparação com a idade do Universo
0,10 M☉ Anã vermelha muito pequena ≈ 8 a 12 trilhões de anos Mais de 700 vezes a idade atual do Universo
0,30 M☉ Anã vermelha ≈ 500 bilhões a 1 trilhão de anos Dezenas de vezes a idade do Universo
0,50 M☉ Anã vermelha mais massiva ≈ 80 a 150 bilhões de anos Cerca de 6 a 11 vezes a idade do Universo
1,00 M☉ (Sol) Anã amarela ≈ 10 bilhões de anos Inferior à idade atual do Universo

Um Universo ainda muito jovem

Esse fato leva a uma conclusão fascinante: o Universo ainda é jovem demais para que qualquer anã vermelha tenha encerrado naturalmente sua evolução. Nenhuma anã vermelha jamais morreu por envelhecimento, simplesmente porque ainda não houve tempo suficiente desde o Big Bang para que isso acontecesse.

Os modelos de evolução estelar indicam que as menores anãs vermelhas terminarão sua existência transformando-se lentamente em anãs azuis, estrelas que se tornariam gradualmente mais quentes e azuladas à medida que consumissem seu hidrogênio. No entanto, esse estágio permanece apenas teórico: o Universo ainda não possui idade suficiente para que qualquer exemplar tenha alcançado essa fase evolutiva.

Em outras palavras, todas as anãs vermelhas que já nasceram ao longo da história do Universo continuam existindo até hoje. Muitas das primeiras estrelas de baixa massa formadas logo após o surgimento das primeiras galáxias provavelmente ainda brilham quase com o mesmo vigor de bilhões de anos atrás, tornando essas pequenas estrelas verdadeiras "fósseis luminosos" da juventude do cosmos.

Curiosidade

As anãs vermelhas representam aproximadamente 70% a 75% de todas as estrelas da Via Láctea, o que as torna, de longe, a classe estelar mais abundante da nossa galáxia. Apesar disso, nenhuma delas pode ser observada a olho nu a partir da Terra, pois todas são pouco luminosas.

Nota de transparência: Este texto foi elaborado com o auxílio da inteligência artificial (ChatGPT, da OpenAI) e revisado pelo autor antes da publicação.

#Astronomia #Ciência #Física

terça-feira, 28 de julho de 2026

Resolvendo uma EDO fornecida pelo usuário com RK-6

Janela principal do script.

Neste script, o usuário escreve a equação diferencial (EDO) em uma caixa de edição de texto. Após clicar no botão 'RUN', os parâmetros de entrada são analisados e se estiver tudo certo, a equação é resolvida numericamente usando o método de Runge-Kutta de 6a. ordem. O resultado é mostrado graficamente em uma nova janela. Depois disso, o usuário tem a opção de editar a EDO e calcular uma nova solução ou 'fechar' (sair) do programa. Esse script apresenta dois diferenciais:

  1. a equação é dinamicamente analisada;
  2. é usado o método de Runge-Kutta de 6a. ordem. 

Em geral, para resolver uma EDO, é usado o método de RK de 4a. ordem. Exemplos de saída:

Exemplo de saída 1.

 
Exemplo 2.


Exemplo de erro, o valor de h deve ser positivo.
 
Código Scilab:
// ===============================================
// rk4_gui.sce
//
// Resolve numericamente uma Equacao Diferencial Ordinaria de 1a ordem
//         dy/dt = f(t,y)
// pelo metodo de Runge-Kutta de 4a ordem (RK-6), com uma interface
// grafica onde o usuario informa:
//    - a equacao diferencial f(t,y)  (ex: -2*y + t)
//    - o instante inicial t0
//    - o valor inicial y0
//    - o tempo final de integracao tf
//    - o passo de integracao h
//
// Ao clicar em "RUN", a solucao numerica e calculada e plotada dentro
// da propria janela.
//
// COMO USAR:
//   1) Abra este arquivo no SciNotes (editor do Scilab).
//   2) Execute (Executar > Executar sem eco no Scilab, ou tecla F5),
//      ou no console digite:  exec('rk6_gui.sce', -1)
//   3) A janela sera aberta. Edite os campos e clique em RUN.
//
// EXEMPLOS DE EQUACOES QUE PODEM SER DIGITADAS (use as variaveis t e y):
//   -2*y + t          -> equacao linear
//   y                 -> crescimento exponencial (dy/dt = y)
//   -0.5*y            -> decaimento exponencial
//   y*(1-y)           -> equacao logistica
//   -y + sin(t)       -> oscilador amortecido forcado
//   t^2 - y           -> nao-linear simples
//
// OBSERVACAO: o programa resolve EDOs escalares de 1a ordem da forma
// dy/dt = f(t,y). Sistemas de equacoes e EDOs de ordem superior nao
// sao suportados nesta versao.
// =========================================================

// -------------------------------------------------------------------
// Funcao que monta a interface grafica (janela, campos, botoes, eixo)
// -------------------------------------------------------------------
function rk6_gui()

    f = figure('figure_name', 'EDO - Método de RK-6a. Dr. Aquino.', ...
                'position', [80, 60, 340, 630], ...
                'background', [0.95 0.95 0.95], ...
                'menubar', 'none', ...
                'toolbar', 'none', ...
                'resize', 'off');

    // ---- Painel esquerdo: entradas do usuario ----
    uicontrol(f, 'style', 'frame', 'position', [10, 10, 320, 610]);

    uicontrol(f, 'style', 'text', ...
              'string', 'Parâmetros do Metodo RK-6a.', ...
              'position', [20, 590, 300, 25], ...
              'fontsize', 11, 'fontweight', 'bold', ...
              'horizontalalignment', 'center');
              
        uicontrol(f, 'style', 'text', ...
              'string', 'Prof. Dr. Francisco J. A. de Aquino.', ...
              'position', [20, 570, 300, 25], ...
              'fontsize', 11, 'fontweight', 'bold', ...
              'horizontalalignment', 'center');

    uicontrol(f, 'style', 'text', 'string', 'dy/dt = f(t, y)  :', ...
              'position', [20, 550, 300, 20], 'horizontalalignment', 'left');
              
    edit_eq = uicontrol(f, 'style', 'edit', 'string', '-y/2 + 2*exp(-t/2)*cos(2*t)', ...
              'position', [20, 525, 300, 25]);

    uicontrol(f, 'style', 'text', ...
              'string', '(use t e y; funções: sin, cos, exp, sqrt, log,...)', ...
              'position', [20, 503, 300, 18], 'fontsize', 10, ...
              'horizontalalignment', 'left');

    uicontrol(f, 'style', 'text', 'string', 'Instante inicial  t0 :', ...
              'position', [20, 465, 170, 20], 'horizontalalignment', 'left');
              
    edit_t0 = uicontrol(f, 'style', 'edit', 'string', '0', ...
              'position', [200, 465, 120, 25]);

    uicontrol(f, 'style', 'text', 'string', 'Valor inicial     y0 :', ...
              'position', [20, 425, 170, 20], 'horizontalalignment', 'left');
    edit_y0 = uicontrol(f, 'style', 'edit', 'string', '0', ...
              'position', [200, 425, 120, 25]);

    uicontrol(f, 'style', 'text', 'string', 'Tempo final       tf :', ...
              'position', [20, 385, 170, 20], 'horizontalalignment', 'left');
              
    edit_tf = uicontrol(f, 'style', 'edit', 'string', '10', ...
              'position', [200, 385, 120, 25]);

    uicontrol(f, 'style', 'text', 'string', 'Passo de integracao h :', ...
              'position', [20, 345, 170, 20], 'horizontalalignment', 'left');
              
    edit_h = uicontrol(f, 'style', 'edit', 'string', '0.01', ...
              'position', [200, 345, 120, 25]);

    btn_run = uicontrol(f, 'style', 'pushbutton', 'string', 'RUN', ...
              'position', [20, 280, 135, 42], ...
              'fontsize', 12, 'fontweight', 'bold', ...
              'callback', 'rk6_run_callback()');

    btn_clear = uicontrol(f, 'style', 'pushbutton', ...
              'string', 'Limpar grafico/Sair', ...
              'position', [165, 280, 155, 42], ...
              'fontsize', 12, 'fontweight', 'bold', ...
              'callback', 'close');

    txt_status1 = uicontrol(f, 'style', 'text', 'string', '', ...
              'position', [20, 45, 300, 50], ...
              'horizontalalignment', 'left', 'fontsize', 12, ...
              'background', [1 1 1]);
              
    txt_status2 = uicontrol(f, 'style', 'text', 'string', '', ...
              'position', [20, 105, 300, 50], ...
              'horizontalalignment', 'left', 'fontsize', 12, ...
              'background', [1 1 1]);
              
    txt_status3 = uicontrol(f, 'style', 'text', 'string', '', ...
              'position', [20, 165, 300, 50], ...
              'horizontalalignment', 'left', 'fontsize', 12, ...
              'background', [1 1 1]);
          
    txt_status4 = uicontrol(f, 'style', 'text', 'string', '', ...
              'position', [20, 225, 300, 50], ...
              'horizontalalignment', 'left', 'fontsize', 12, ...
              'background', [1 1 1]);

    btn_sobre = uicontrol(f, 'style', 'pushbutton', 'string', 'Sobre', ...
              'position', [120, 15, 100, 22], ...
              'fontweight', 'bold',...
              'callback', 'b_sobre');
              
    // Guarda os handles dos controles no userdata da figura,
    // para que o callback consiga acessa-los depois
    handles = struct('eq', edit_eq, 't0', edit_t0, 'y0', edit_y0, ...
                      'tf', edit_tf, 'h', edit_h, ... 
                      'status1', txt_status1,...
                      'status2', txt_status2,...
                      'status3', txt_status3,...
                      'status4', txt_status4);
    f.userdata = handles;
    f.tag = 'RK4_GUI';
endfunction

// ----- Sobre
function b_sobre()
    // Buttons labels + "modal" replaces title
    msg = ["Este Script em Scilab resolve uma EDO de 1a. ordem usando RK-6."
           "A EDO precisa estar em um formato legível."
           " "
           "Script desenvolvido pelo prof. Dr. Francisco Aquino,"
           "Departamento de Telemática - IFCE."];
    messagebox(msg, "Sobre este script", "modal", "info", ["OK"])
endfunction

// -------------------------------------------------------
// Callback do botao RUN: le os parametros, 
// resolve a EDO com RK-6
// e plota o resultado
// --------------------------------------------------------
function rk6_run_callback()

    f = gcf();
    handles = f.userdata;

    eq_str = handles.eq.string;

    t0 = evstr(handles.t0.string);
    y0 = evstr(handles.y0.string);
    tf = evstr(handles.tf.string);
    h  = evstr(handles.h.string);

    // --- validacao basica das entradas ---
    if isempty(t0) | isempty(y0) | isempty(tf) | isempty(h) then
        messagebox('Preencha todos os campos numericos.', 'Erro de entrada', 'error');
        return;
    end
    if h <= 0 then
        messagebox('O passo h deve ser um numero positivo.', 'Erro de entrada', 'error');
        return;
    end
    if h > 0.5 then
        messagebox('O passo h deve ser um numero menor que 0.5.', 'Erro de entrada', 'error');
        return;
    end
    if tf <= t0 then
        messagebox('O tempo final tf deve ser maior que t0.', 'Erro de entrada', 'error');
        return;
    end

    // --- monta dinamicamente a funcao f_user(t,y) a partir do texto digitado ---
    erro_eq = %f;
    try
        deff('dydt = f_user(t,y)', 'dydt = ' + eq_str);
        teste = f_user(t0, y0);   // chamada de teste para forcar avaliacao
        if ~isreal(teste) | isnan(teste) then
            erro_eq = %t;
        end
    catch
        erro_eq = %t;
    end

    if erro_eq then
        messagebox('Equacao invalida. Use somente as variaveis t e y ' + ...
                    '(ex: -2*y + t , sin(t)-y^2 , y*(1-y) ).', ...
                    'Erro na equacao', 'error');
        return;
    end

    // --- metodo de Runge-Kutta de 6a ordem ---
    n = floor((tf - t0) / h); // número de pontos
    tt = zeros(1, n+1); // vetor de tempo
    yy = zeros(1, n+1); // resposta/solução da EDO
    tt(1) = t0; // valores iniciais
    yy(1) = y0; // valores iniciais

    t = t0;
    y = y0;
    for i = 1:n
      K1 = f_user(t, y);
      K2 = f_user(t + h/9, y + K1*h/9);
      K3 = f_user(t + h/6, y + (K1 + 3*K2)*h/24);
      K4 = f_user(t + h/3, y + (K1 - 3*K2 + 4*K3)*h/6);
      K5 = f_user(t + h/2, y + (-5*K1 + 27*K2 - 24*K3 + 6*K4)*h/8);
      K6 = f_user(t + 2*h/3, y + (221*K1 - 981*K2 + 867*K3 - 102*K4 + K5)*h/9);
      K7 = f_user(t + 5*h/6, y + (-183*K1 + 678*K2 - 472*K3 - 66*K4 + 80*K5 + 3*K6)*h/48);
      K8 = f_user(t + h, y + (716*K1 - 2079*K2 + 1002*K3 + 834*K4 - 454*K5 - 9*K6 + 72*K7)*h/82);
    
      y = y + h*(41*K1 + 216*K3 + 27*K4 + 272*K5 + 27*K6 + 216*K7 + 41*K8)/840;
      t = t + h;

      tt(i+1) = t;
      yy(i+1) = y;
   end

    // --- atualiza a caixa de status ---
    linha1 = ' Passos calculados: ' + string(n)+ '. ';
    linha2 = ' Instante final atingido: t = ' + string(tt($))+ '. ';
    linha3 = ' y(tf) = ' + string(yy($));
    [ymax, tmax] = max(yy);
    tmax = tt(tmax);
    linha4 = ' y(max) = '+string(ymax)+', tmax = '+string(tmax);
    handles.status2.string = linha3;
    handles.status3.string = linha2;
    handles.status4.string = linha1;
    handles.status1.string = linha4;
    
    // --- plota o resultado em uma nova janela ---
    figure;
    plot(tt, yy, 'b-','thickness',2);
    xlabel('tempo','fontsize',4);
    ylabel('y(t)','fontsize',4);
    title('dy/dt = ' + eq_str + '   --  (RK-6,  h = ' + string(h) + ')',...
    'fontsize',4,'color','blue');
    xgrid;
    // Obtém o handle da figura atual
    fig = gcf();
    set(fig, 'background', 8);

endfunction

// --------------------------------------------
// Lanca a interface ao executar o script
// --------------------------------------------
clc; close; // limpa o console e fecha alguma janela
rk6_gui();
 
**********************************
****************
******
***
 *