Computação científica
área de estudo relacionada à construção de modelos matemáticos e técnicas de análise quantitativa e usando computadores para analisar e resolver problemas científicos Da Wikipédia, a enciclopédia livre
área de estudo relacionada à construção de modelos matemáticos e técnicas de análise quantitativa e usando computadores para analisar e resolver problemas científicos Da Wikipédia, a enciclopédia livre
A ciência computacional, também conhecida como computação científica, é um campo de rápido crescimento que usa recursos de computação avançados para entender e resolver problemas complexos. É uma área da ciência que abrange muitas disciplinas, mas em sua essência, envolve o desenvolvimento de modelos e simulações para entender os sistemas naturais.
No uso prático, é tipicamente a aplicação de simulação de computador e outras formas de computação a partir de análise numérica e ciência da computação teórica para resolver problemas em várias disciplinas científicas. O campo é diferente da teoria e da experiência de laboratório, que são as formas tradicionais de ciência e engenharia. A abordagem da computação científica é obter entendimento, principalmente por meio da análise de modelos matemáticos implementados em computadores. Cientistas e engenheiros desenvolvem programas de computador, softwares aplicativos, que modelam os sistemas em estudo e executam esses programas com vários conjuntos de parâmetros de entrada. A essência da computação científica é a aplicação de algoritmos numéricos[1] e/ou matemática computacional. Em alguns casos, esses modelos requerem uma grande quantidade de cálculos (geralmente de ponto flutuante) e geralmente são executados em supercomputadores ou plataformas de computação distribuída.
O termo cientista computacional é usado para descrever alguém hábil em computação científica. Essa pessoa geralmente é um cientista, um engenheiro ou um matemático aplicado que aplica a computação de alto desempenho de maneiras diferentes para fazer avançar o estado da arte em suas respectivas disciplinas aplicadas em física, química ou engenharia.
A computação científica é agora comumente considerada um terceiro modo de ciência, complementando e adicionando à experimentação/observação e teoria (veja a imagem à direita).[2] Aqui, definimos um sistema como uma fonte potencial de dados,[3] um experimento como um processo de extração de dados de um sistema exercendo-o por meio de suas entradas[4] e um modelo (M) para um sistema (S) e um experimento (E) como qualquer coisa ao qual E pode ser aplicado a fim de responder a perguntas sobre S.[5] Um cientista computacional deve ser capaz de:
Na verdade, um esforço substancial em ciências computacionais tem sido dedicado ao desenvolvimento de algoritmos, à implementação eficiente em linguagens de programação e à validação de resultados computacionais. Uma coleção de problemas e soluções em computação científica pode ser encontrada em Steeb, Hardy, Hardy e Stoop (2004).[6]
Filósofos da ciência abordaram a questão de em que grau a computação científica se qualifica como ciência, entre eles Humphreys[7] e Gelfert.[8] Eles abordam a questão geral da epistemologia: como podemos obter um insight a partir dessas abordagens da computação científica. Tolk[9] usa esses insights para mostrar as restrições epistemológicas da pesquisa de simulação baseada em computador. Como a computação científica usa modelos matemáticos que representam a teoria subjacente de forma executável, em essência, eles aplicam modelagem (construção de teoria) e simulação (implementação e execução). Embora a simulação e a computação científica sejam nossas maneiras mais sofisticadas de expressar nosso conhecimento e compreensão, elas também vêm com todas as restrições e limites já conhecidos para soluções computacionais.
Os domínios de problema para ciência computacional/computação científica incluem:
A computação científica preditiva é uma disciplina científica que visa a formulação, calibração, solução numérica e validação de modelos matemáticos projetados para prever aspectos específicos de eventos físicos, dadas as condições iniciais e de contorno e um conjunto de parâmetros de caracterização e incertezas associadas.[10] Em casos típicos, a declaração preditiva é formulada em termos de probabilidades. Por exemplo, dado um componente mecânico e uma condição de carregamento periódico, “a probabilidade é de (por exemplo) 90% de que o número de ciclos na falha (Nf) estará no intervalo N1<Nf<N2”.[11]
Em 2015, mais da metade da população mundial vivia em cidades. Em meados do século 21, estima-se que 75% da população mundial será urbana. Esse crescimento urbano está focado nas populações urbanas de países em desenvolvimento, onde os moradores das cidades mais que dobrarão, passando de 2,5 bilhões em 2009 para quase 5,2 bilhões em 2050. Cidades são sistemas enormes e complexos criados por humanos, feitos de humanos e governados por humanos. Tentar prever, compreender e de alguma forma moldar o desenvolvimento das cidades no futuro requer pensamento complexo e requer modelos computacionais e simulações para ajudar a mitigar desafios e possíveis desastres. O foco da pesquisa em sistemas complexos urbanos é, por meio de modelagem e simulação, construir uma maior compreensão da dinâmica das cidades e ajudar na preparação para a urbanização que se aproxima.
Nos mercados financeiros de hoje, grandes volumes de ativos interdependentes são negociados por um grande número de participantes do mercado que interagem em diferentes locais e fusos horários. Seu comportamento é de complexidade sem precedentes e a caracterização e medição do risco inerente a este conjunto altamente diversificado de instrumentos é tipicamente baseada em modelos matemáticos e computacionais complicados. A resolução desses modelos exatamente e de forma fechada, mesmo no nível de um único instrumento, normalmente não é possível e, portanto, temos que procurar algoritmos numéricos eficientes. Isso se tornou ainda mais urgente e complexo recentemente, já que a crise de crédito demonstrou claramente o papel dos efeitos em cascata que vão de instrumentos únicos a carteiras de instituições únicas, e até mesmo à rede de negociação interconectada. Compreender isso requer uma abordagem multiescala e holística, em que fatores de risco interdependentes, como risco de mercado, crédito e liquidez, são modelados simultaneamente e em diferentes escalas interconectadas.
Novos desenvolvimentos em biotecnologia estão revolucionando a biologia e a pesquisa biomédica. Exemplos dessas técnicas são sequenciamento de alto rendimento, PCR quantitativo de alto rendimento, imageamento intracelular, hibridização in situ da expressão gênica, técnicas de imageamento tridimensional como microscopia de fluorescência de folha de luz e projeção óptica, tomografia (micro)-computadorizada. Dada a enorme quantidade de dados complicados gerados por essas técnicas, sua interpretação significativa e até mesmo seu armazenamento constituem grandes desafios que exigem novas abordagens. Indo além das abordagens atuais de bioinformática, a biologia computacional precisa desenvolver novos métodos para descobrir padrões significativos nesses grandes conjuntos de dados. A reconstrução de redes de genes baseada em modelos pode ser usada para organizar os dados de expressão de genes de uma forma sistemática e para orientar a coleta de dados futuros. Um grande desafio aqui é entender como a regulação gênica controla processos biológicos fundamentais, como a biomineralização e embriogênese. Os subprocessos como a regulação gênica, moléculas orgânicas interagindo com o processo de deposição de minerais, processos celulares, fisiologia e outros processos nos níveis dos tecidos e do ambiente estão ligados. Em vez de serem dirigidas por um mecanismo de controle central, a biomineralização e a embriogênese podem ser vistas como um comportamento emergente resultante de um sistema complexo no qual vários subprocessos em escalas temporais e espaciais muito diferentes (variando de nanômetro e nanossegundos a metros e anos) estão conectado em um sistema multiescala. Uma das poucas opções disponíveis para entender tais sistemas é desenvolver um modelo multiescala do sistema.
Usando a teoria da informação, dinâmica de não equilíbrio e simulações explícitas, a teoria dos sistemas computacionais tenta descobrir a verdadeira natureza dos sistemas adaptativos complexos.
A engenharia e ciência computacional (CSE) é uma disciplina relativamente nova que lida com o desenvolvimento e aplicação de modelos computacionais e simulações, muitas vezes juntamente com computação de alto desempenho, para resolver problemas físicos complexos que surgem na análise de engenharia e design (engenharia computacional) bem como fenômenos naturais (ciência computacional). A CSE foi descrita como a "terceiro forma de descoberta" (depois da teoria e da experimentação).[12] Em muitos campos, a simulação por computador é parte integrante e, portanto, essencial para os negócios e a pesquisa. A simulação por computador possibilita a entrada em campos que são inacessíveis para a experimentação tradicional ou onde a realização de pesquisas empíricas tradicionais é proibitivamente cara. A CSE não deve ser confundida com ciência da computação pura, nem com engenharia da computação, embora um amplo domínio na primeira seja usado na CSE (por exemplo, certos algoritmos, estruturas de dados, programação paralela, computação de alto desempenho) e alguns problemas da última possam ser modelados e resolvidos com métodos da CSE (como área de aplicação).
Os algoritmos e métodos matemáticos usados em computação científica são variados. Os métodos comumente aplicados incluem:
Tanto historicamente como na atualidade, o Fortran continua popular para a maioria das aplicações de computação científica.[32][33] Entre as linguagens de programação e sistemas algébricos computacionais comumente usados para os aspectos mais matemáticos de aplicações de computação científica estão: GNU Octave, Haskell,[32] Julia,[32] Maple,[33] Mathematica,[34][35][36][37][38] MATLAB,[39][40][41] Python (com biblioteca SciPy de terceiros[42][43][44]), Perl (com biblioteca PDL de terceiros),[carece de fontes] R,[45] Scilab,[46][47] e TK Solver. Os aspectos computacionalmente mais intensivos da computação científica costumam usar alguma variação de C ou Fortran e bibliotecas de álgebra otimizadas, como BLAS ou LAPACK. Além disso, a computação paralela é amplamente utilizada na computação científica para obter soluções de grandes problemas em um período de tempo razoável. Nesta estrutura, o problema é abordado de uma das seguintes formas: dividindo-o em muitos núcleos de um único nó de CPU (como com OpenMP), dividindo-o em muitos nós de CPU interligados em rede (como com MPI) ou é executando-o em uma ou mais GPUs (normalmente usando um CUDA ou OpenCL ).
Os programas de aplicação de computação científica frequentemente modelam condições do mundo real que mudam com o tempo, tais como clima, fluxo de ar ao redor de um avião, distorções do corpo de automóveis em um acidente, o movimento das estrelas em uma galáxia, um dispositivo explosivo, etc. Esses programas podem criar uma 'malha lógica' na memória do computador em que cada item corresponde a uma área no espaço e contém informações sobre esse espaço relevantes para o modelo. Por exemplo, em modelos meteorológicos, cada item pode ter um quilômetro quadrado; com a elevação do solo, direção do vento atual, umidade, temperatura, pressão, etc. O programa calcularia o próximo estado provável com base no estado atual, em passos de tempo simulados, resolvendo equações diferenciais que descrevem como o sistema opera; e repetiria o processo para calcular o próximo estado.
No ano de 2001, foi organizada pela primeira vez a Conferência Internacional em Computação Científica (ICCS). Desde então, ela é organizada anualmente. A ICCS é uma conferência de nível A na classificação CORE.
O periódico internacional Journal of Computational Science publicou sua primeira edição em maio de 2010.[48][49][50] Uma nova iniciativa foi lançada em 2012, o Journal of Open Research Software.[51] Em 2015, o ReScience C[52] dedicado à replicação de resultados computacionais foi iniciado no GitHub.
Em algumas instituições, uma especialização em computação científica pode ser obtida como um "menor" em outro programa (que pode estar em níveis variados). No entanto, existem cada vez mais programas de bacharelado, mestrado e doutorado em computação científica. O programa de mestrado conjunto em ciência da computação da Universidade de Amsterdã e da Vrije Universiteit em computação científica foi oferecido pela primeira vez em 2004. Neste programa, os alunos:
George Mason University foi um dos pioneiros a oferecer um programa de doutorado multidisciplinar em Ciências da Computação e Informática em 1992, que se concentrou em uma série de áreas de especialidade, incluindo bioinformática, química computacional, sistemas terrestres e mudanças globais, matemática computacional, física computacional, ciências espaciais e estatísticas computacionais
A escola de ciências computacionais e integrativas da Universidade de Jawaharlal Nehru (antiga Escola de Tecnologia da Informação[53]) também oferece um programa de mestrado para computação científica com duas especialidades, a saber - Biologia Computacional e Sistemas Complexos.[54]
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.