Prof.: José Eustáquio Rangel de Queiroz
[email protected]
[email protected]
[email protected]
Carga Horária: 60 horas
CEEI
DSC
Considerações Iniciais I
CEEI
DSC

Ciência
Computacional
Science)
(Computational
 Busca
pelo entendimento de processos
científicos mediante o uso de métodos
matemáticos em computadores
Ciência da
Computação
{joseana, rangel}@dsc.ufcg.edu.br
Ciência
Computacional
Ciência
Matemática
2
CEEI
Considerações Iniciais II
DSC

Problemas simulados
 Experimentos
perigosos
para
investigados em um laboratórios
ser
 Fenômenos que ocorrem muito rápida ou
lentamente
 Experimentos de alto custo
 Eventos que só podem ser solucionados
{joseana, rangel}@dsc.ufcg.edu.br
partir de abordagens computacionais
a
 Visualização de fenômenos temporais
 Experimentos do tipo ‘o que-se’
 Mineração de dados em bases de dados
muito extensas
3
CEEI
Considerações Iniciais III
DSC
{joseana, rangel}@dsc.ufcg.edu.br

Investigação
no
Computacional
âmbito
da
Ciência
4
Considerações Iniciais IV
CEEI
DSC

Investigação
no
Computacional
âmbito
da
Ciência
 Aplicação
{joseana, rangel}@dsc.ufcg.edu.br

Problema
científico
de
interesse
e
componentes de tal problema que se deseje
estudar.
5
Considerações Iniciais V
CEEI
DSC

Investigação
no
Computacional
âmbito
da
Ciência
 Algoritmo
{joseana, rangel}@dsc.ufcg.edu.br

Representação numérica/matemática do
problema, incluindo quaisquer métodos ou
receitas
numéricas
empregadas
para
solucionar o algoritmo.
6
Considerações Iniciais VI
CEEI
DSC

Investigação
no
Computacional
âmbito
da
Ciência
 Arquitetura
{joseana, rangel}@dsc.ufcg.edu.br

Plataforma computacional e ferramenta(s)
de software usadas para computar um
conjunto de soluções para o algoritmo.
7
CEEI
DSC

Tecnologia a Serviço do Usuário
I
Similaridade
usual
da
matemática de problemas
estruturação
 Física e Engenharias
{joseana, rangel}@dsc.ufcg.edu.br
 Formulações matemáticas

Conjuntos lineares de equações

Conjuntos de equações não lineares

Sistemas de equações diferenciais
 Utilização
dos
mesmos
métodos
matemáticos
para
a
resolução
dos
problemas
numéricos
de
interesse,
independentemente da área de aplicação
8
CEEI
DSC

Tecnologia a Serviço do Usuário
II
Extensa aplicação dos métodos analíticos e
numéricos em nível computacional
 Software matemático e de modelagem/
simulação
{joseana, rangel}@dsc.ufcg.edu.br

Numérico e/ou simbólico
9
CEEI
{joseana, rangel}@dsc.ufcg.edu.br
DSC
Tecnologia a Serviço do Usuário
III

Uso cada vez mais efetivo de sistemas
computacionais em todos os níveis do
conhecimento humano.

Necessidade de aplicações de software que
apóiem o usuário na resolução de
problemas das mais diferentes naturezas.

Diversidade de perfis de usuários
 Faixa etária
 Propósito de uso
 Experiência profissional
 Frequência de uso
10
CEEI
DSC
Tecnologia a Serviço do Usuário
IV

Uso de sistemas computacionais ou
conhecimento de aplicações de interesse
não é, per si, suficiente.

Propósito-chave  Suporte
 Processos de ensino-aprendizagem;
 Processos
{joseana, rangel}@dsc.ufcg.edu.br
reais.

de
resolução
de
problemas
Geração de agentes facilitadores da
aprendizagem,
dentro
dos
objetivos
estabelecidos pelo usuário
11
CEEI
DSC

Tecnologia a Serviço do Usuário
III
Premissas
 Eficiência
 Eficácia
{joseana, rangel}@dsc.ufcg.edu.br
 Satisfação

Competitividade
globalizado

Padrões internacionais para a construção
de software
 International
de
um
Organization
Standardization (ISO)
mercado
for
12
CEEI
{joseana, rangel}@dsc.ufcg.edu.br
DSC
Objetivos do Software
Matemático

Obtenção de soluções aproximadas para
formulações matemáticas associadas a
problemas do mundo real;

Obtenção de soluções para problemas
científicos mediante o emprego de métodos
numéricos fundamentados em modelos
matemáticos;

Suporte ao usuário no processamento
numérico associado a diversas aplicações,
e.g., processamento digital de imagens,
automação
industrial,
bioinformática,
geoprocessamento.
13
CEEI
Software Matemático Genérico
DSC

Aplicações standalone
 Planilhas eletrônicas
 Software para computação simbólica
 Software numérico
{joseana, rangel}@dsc.ufcg.edu.br
 Pacotes estatísticos

Existência
de
diversas
ferramentas”
para
as
categorias de programas
“caixas
de
3
primeiras

Existência de diversas bibliotecas
subrotinas para diversos propósitos
de
14
Planilhas Eletrônicas I
CEEI
DSC

Lotus 1-2-3
 Primeiro
programa
disponível
publicamente para combinar gráficos,
funções de planilha e gerência de dados
(http://www-1.ibm.com/software/lotus/)
 Grande utilização no final dos anos 1980 e
início dos anos 1990
{joseana, rangel}@dsc.ufcg.edu.br

Quattro Pro
 Programa desenvolvido originalmente pela
Borland, atualmente vendido pela Corel
(pacote
WordPerfect
Office)
http://www.corel.com/)
15
Planilhas Eletrônicas II
CEEI
DSC

Excel (pacote MS-Office)
 Inclusão
de
um
programa
para
a
otimização do ambiente para problemas de
pequeno porte (solver)
 Instalação não automática (Tools  Addins  Solver Add-in)
 Possibilidade de inclusão de solvers de
{joseana, rangel}@dsc.ufcg.edu.br
problemas de otimização de grande porte

Funcionamento superior ao do Solver do
Excel (http://www.solver.com/)
 Erros específicos associados à acurácia,
problemas com datas e visualização (Excel
2007) (http://office.microsoft.com/)
16
CEEI
Planilhas Eletrônicas III
DSC

Calc (pacote OpenOffice)
 Comparável
ao
MS-Excel
em
vários
aspectos e compatível do ponto de vista de
leitura de arquivos .xls
 Vantagem:
Software
(http://www.openoffice.org/)
livre
{joseana, rangel}@dsc.ufcg.edu.br
 Existência
de um otimizador (solver),
porém ainda em fase de desenvolvimento
(não
funciona
corretamente
para
problemas não lineares)
17
CEEI
Planilhas Eletrônicas IV
DSC

Excel e Calc
 Utilidade e rapidez em aplicações simples
 Execução lenta de macros, visto que o
código é interpretado a cada chamada
{joseana, rangel}@dsc.ufcg.edu.br
 Necessidade de edição (forçada) de macros
para cada versão do Excel (problemas
residuais com VBA e/ou configurações
internacionais)
18
Software para Computação
Simbólica I
CEEI
DSC

Computação Algébrica
 Domínio
da Computação que trata da
manipulação de expressões matemáticas
em forma simbólica
{joseana, rangel}@dsc.ufcg.edu.br

Fatoração de polinômios, simplificação de
funções racionais, resolução de equações,
integração e diferenciação em forma
simbólica, e cálculo matricial, dentre outras
 Grande utilidade no ensino, na pesquisa e
em projetos
engenharia
em
diferentes
áreas
da
19
Software para Computação
Simbólica II
CEEI
DSC

Sistema para Computação Algébrica (CAS)
I
que
permite
manipular
expressões matemáticas simbólicas
{joseana, rangel}@dsc.ufcg.edu.br
 Software

Precisão aritmética arbitrária (bignum)

Motor
de
manipulação
simbólica
(simplificação de expressões algébricas,
diferenciação e integração de funções e
resolução de equações)

Facilidades gráficas (geração de gráficos de
funções, em geral 2D e 3D)
20
Software para Computação
Simbólica III
CEEI
DSC

Sistema para Computação Algébrica (CAS)
II
que
permite
manipular
expressões matemáticas simbólicas
{joseana, rangel}@dsc.ufcg.edu.br
 Software

Subsistema de álgebra linear (cálculo
matricial e resolução de sistemas de
equações lineares)

Linguagem de programação de alto nível
(implementação de algoritmos)

Subsistema de composição (formulação de
expressões matemáticas)
21
Software para Computação
Simbólica IV
CEEI
DSC

Sistema para Computação Algébrica (CAS)
III
 Início
da
pesquisa
em
computação
simbólica

Desenvolvimento
e
comercialização do Macsyma (1968 a 1982)
no MIT, como parte do Projeto MAC
{joseana, rangel}@dsc.ufcg.edu.br
 Macsyma (Mac’s symbolic manipulator)
22
Software para Computação
Simbólica V
CEEI
DSC

Sistema para Computação Algébrica (CAS)
IV
{joseana, rangel}@dsc.ufcg.edu.br
 Macsyma (Mac’s symbolic manipulator)

Escrito em Maclisp (dialeto de Lisp) para
computadores PDP-6 e PDP-10 (também
trabalhava
nos
sistemas
operacionais
Multics e nas Máquinas Lisp)

Um dos primeiros sistemas especialistas
baseado em conhecimento e um dos
maiores programas (talvez o maior) escrito
em Lisp de todos os tempos
23
Software para Computação
Simbólica VI
CEEI
DSC

Sistema para Computação Algébrica (CAS)
V
 Muitas
das idéias concebidas para o
Macsyma são atualmente usadas em
pacotes atuais


{joseana, rangel}@dsc.ufcg.edu.br




Maxima (baseado na versão de 1982 do
DOE)
Reduce
Maple
Mathematica
MuMATH
SAGE
http://en.wikipedia.org/wiki/Comparison_of_computer_algebra_systems
24
CEEI
Software Numérico I
DSC

Grande parte dos pacotes de software
numérico também executa computação
simbólica e possui funcionalidades gráficas
(pelo menos em algum nível)

Programas incluem uma extensa coleção
de funções
{joseana, rangel}@dsc.ufcg.edu.br
 Resolução de equações
 Processamento matricial numérico
 Integração e diferenciação numérica
 Interpolação e ajuste de curvas
http://en.wikipedia.org/wiki/List_of_numerical_analysis_software
25
Software Numérico II
CEEI
DSC

Programas integrados em
arquivos
denominadas
ferramentas (toolboxes)
coleções
caixas
de
de
 Rotinas e funções destinadas a propósitos
específicos



{joseana, rangel}@dsc.ufcg.edu.br




Processamento de Sinais
Mecânica Estrutural
Processamento de Imagens
Matemática Fuzzy
Transformadas Wavelet
Redes Neurais
…
26
Software Numérico III
CEEI
DSC

Ambientes
proprietários
simulação/análise numérica
para
 Comsol
Multiphysics (incluindo a versão
especial Comsol Reaction Engineering Lab
para a modelagem de reações cinéticas) 
 Maple 
 Mathematica (incluindo webMathematica e
{joseana, rangel}@dsc.ufcg.edu.br
gridMathematica) 
 Mathcad 
 MATLAB (incluindo Simulink e Model-Based
Design) 
27
CEEI
Software Numérico IV
DSC

Ambientes abertos para simulação/análise
numérica
 GNU Octave (incluindo GNU Plot) 
 Maxima (incluindo wxMaxima ou XMaxima
e GNU Plot) 
{joseana, rangel}@dsc.ufcg.edu.br
 Scilab (incluindo Scicos) 
http://www.modelica.org/libraries
http://www.ann.jussieu.fr/~lehyaric/freesoft/free.htm
28
Bibliotecas de Rotinas e
Funções I
CEEI
DSC

Disponibilidade de um número considerável
de
bibliotecas
de
rotinas/funções
matemáticas proprietárias e livres

Facilidade de chamada de rotinas/funções
a partir da aplicação principal se esta
compartilhar a linguagem de programação
(LP) com a biblioteca
{joseana, rangel}@dsc.ufcg.edu.br
 Possibilidade de hibridação de LP

Exigência de maior atenção na estruturação
da aplicação

Necessidade de tarefas adicionais para o
interfaceamento das diferentes partes do
programa
29
CEEI
DSC

Bibliotecas de Rotinas e
Funções II
Repositórios e Portais Informativos
 Netlib 
 NHSE 
 Fortran 90 Software Repository 
 NIST 
{joseana, rangel}@dsc.ufcg.edu.br
 Mathtools.net 
http://www.sai.msu.su/sal/B/1/
30
CEEI
DSC

Bibliotecas de Rotinas e
Funções III
Disponibilidade do código fonte da maioria
das bibliotecas Netlib
 Portabilidade
{joseana, rangel}@dsc.ufcg.edu.br
aplicação
compiladores
relativamente
fácil
da
para
outros
SO
e/ou

Maioria da bibliotecas de subrotinas em
Fortran, com algumas (re)escritas nas
linguagens C/C++

Maioria da bibliotecas mais recentes de
funções em C++
31
Qualidade do Software Numérico I
CEEI
DSC

Mensuração
numérico
da
qualidade
do
software
 Métricas de Qualidade

Confiabilidade
O

Desempenho
{joseana, rangel}@dsc.ufcg.edu.br
O

software produz resultados confiáveis?
tempo de processamento é aceitável?
Tolerância a falhas
O
software é suficientemente robusto para
resistir ao uso por um usuário inexperiente?
http://math.nist.gov/stssf/
32
Qualidade do Software Numérico II
CEEI
DSC

Interface com o Usuário (UI)
 Gráfica, orientada a comandos, orientada a
{joseana, rangel}@dsc.ufcg.edu.br
menus ou via chamadas a subrotinas

Exigência do delineamento preciso
percepção do usuário da capacidade
software numérico

Usabilidade
da
do

Eficiência  Recursos despendidos em
relação à acurácia e completude com que
usuários atingem metas específicas

Eficácia  Acurácia e completude com que
usuários atingem metas específicas

Grau de Satisfação (Subjetiva)  Conforto e
aceitação de uso do produto pelos usuários
33
Qualidade do Software Numérico III
CEEI
DSC

“Gargalos” comuns
 Interfaces
com o usuário para software
numérico
tipicamente
baseiam-se
na
compreensão do processo de funcionamento
do software pelo projetista
 Não envolvimento do usuário no processo
de desenvolvimento
{joseana, rangel}@dsc.ufcg.edu.br

UCD requer organização e esforço extras do
projetista

Graus de usabilidade mais elevados

Redução dos custos de software com
reprojetos e refatorações que possam ser
evitadas
34
CEEI
Leitura Adicional
{joseana, rangel}@dsc.ufcg.edu.br
DSC

Bussieck, M. R.; Dirkse, S. P., Meeraus A.; Pruessner, A.
(2004) Software Quality Assurance for Mathematical
Modeling Systems

Pancake, C. M. (1996) Improving the Usability
Numerical Software through User-Centered Design

Houstis, E. N., & Rice, J. R. (2000) On the Future of
Problem Solving Environments
of
35
José Eustáquio Rangel de Queiroz
[email protected]
[email protected]
[email protected]
UNIVERSIDADE FEDERAL DE CAMPINA GRANDE
CENTRO DE ENGENHARIA ELÉTRICA E INFORMÁTICA
DEPARTAMENTO DE SISTEMAS E COMPUTAÇÃO
CEEI
DSC
36
Download

Computação UFCG - Universidade Federal de Campina Grande