• Aucun résultat trouvé

A operabilidade de PyRDMIA é garantida por meio de métodos que implementam operações sob classes bem definidas. Na computação de intervalos seguindo a defi- nição da aritmética multidimensional RDM, as operações básicas de soma, subtração, multiplicação e divisão foram integradas ao pacote tal qual os conceitos de RDM-IA abordados na literatura. No entanto, apenas estas operações não se fazem suficien- tes para a completa aplicabilidade do pacote no desenvolvimento de soluções para problemas envolvendo computação numérica. Em vista disso, foram adicionadas ao pacote PyRDMIA operações unárias, relacionais e trigonométricas, além de métricas para avaliação da qualidade do resultado intervalar e para o trabalho estatístico. Deste modo, as operações serão listadas separadamente tal como a disposição de classes do pacote, Figura 5.

3.2.1 Operações suportadas pelo pacote PyRDMIA

Nesta seção, serão apresentadas as operações e suas assinaturas de método, em seguida, exemplos de uso de cada método operando sobre valores numéricos são exibidos tal qual o ambiente de testes.

As operações básicas de RDM-IA, unárias e lógicas dispostas em PyRDMIA são apresentadas na Tabela 4. Em seguida, na Figura 7, são apresentados exemplos de operação destes métodos considerando os intervalos [x] = [2, 3], [y] = [4, 5] e [z] = [1/4, 1/3].

No exemplo de uso das operações básicas de PyRDMIA, apresentado pela Fi- gura 7, podem ser apontados alguns detalhes importantes de operação: o primeiro deles está na possibilidade de alteração da precisão de operação, a qual por padrão é definida em ∆ = 0.1, no exemplo alterada para ∆ = 0.5; outro é a viabilidade de entradas string para a definição de intervalos (intervalo [z]), o que possibilita a defini- ção com o máximo de precisão atribuída ao valor, ou seja, torna-se possível atribuir 0.3333333333333333 ao valor de 1/3 ao invés de 0.333 ou 0.33333 apenas; o segundo ponto a ser observado está no resultado retornado após as operações de subtração e

Tabela 4 – Operações matemáticas básicas, unárias e lógicas do pacote PyRDMIA. Operação Descrição

rdmia.number(x, x) Criação de um intervalo

setDotP recision(x) Ajuste de precisão de operação

+ Soma

− Subtração ou negação do intervalo ∗ Multiplicação

/ Divisão

∗∗ Potência

∼ Inversão dos limites do intervalo and, or Operações lógicas

=, ! =, <, >, ≥, ≤, ⊂ Operações relacionais > > > f r o m p y r d m i a i m p o r t R d m i a as r d m i a > > > # o p t i o n a l p r e c i s i o n a d j u s t m e n t > > > r d m i a . s e t D o t P r e c i s i o n ( 0 . 5 ) > > > x = r d m i a . n u m b e r (2 ,3) > > > y = r d m i a . n u m b e r (4 ,5) > > > z = r d m i a . n u m b e r ( 1 / 4 , 1 / 3 ) > > > x [2.0 , 3 . 0 ] > > > y [4.0 , 5 . 0 ] > > > z [0.25 , 0 . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 ] > > > x + y [6.0 , 8 . 0 ] > > > x - y [ -3.0 , -1.0] > > > x * y [8.0 , 1 5 . 0 ] > > > x / y [ 0 . 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 , 0 . 7 5 ] > > > y **2 [16.0 , 2 5 . 0 ] > > > x ** y [16.0 , 2 4 3 . 0 ] > > > x - x [ 0 . 0 , 0 . 0 ] > > > x / x [ 1 . 0 , 1 . 0 ] > > > x +1 [3.0 , 4 . 0 ] > > > 1 - x [ -2.0 , -1.0]

Figura 7 – Ajuste de precisão, definição básica de intervalos RDM e operações bási- cas em PyRDMIA.

divisão sobre o mesmo intervalo, resultando em [0, 0] e [1, 1], respectivamente, carac- terizando o tratamento de dependência de variáveis apontado na literatura de RDM-IA como diferencial de outras aritméticas como SIA. Nesse aspecto em particular, é im-

portante salientar que o tratamento de dependência de variáveis ocorre por meio da validação dos objetos que representam os intervalos envolvidos no cálculo, cance- lando intervalos com o mesmo valor, mas com sinais opostos, operando um sobre o outro (por exemplo: [a] − [a]); de outra maneira, poderia estar sendo despendido maior processamento, no caso de validar todas as composições de variáveis, ou ainda cor- rer o risco de cancelar valores indevidamente, no caso de operações compostas, por exemplo. Pode-se também apontar a possibilidade de operação entre diferentes tipos numéricos (reais e rdm), independente da ordem, sendo isto assegurado por métodos específicos do pacote.

A Figura 8 exemplifica o uso das operações unárias e comparativas sobre os inter- valos [x] = [−2, 1] e [y] = [−4, 2]. > > > f r o m p y r d m i a i m p o r t R d m i a as r d m i a > > > x = r d m i a . n u m b e r ( -2 ,1) > > > y = r d m i a . n u m b e r ( -4 ,2) > > > - x [ -1.0 , 2. 0 ] > > > ~ y [2.0 , -4.0] > > > x & y [ -2.0 , 1. 0 ] > > > x | y [ -4.0 , 2. 0 ] > > > x == y F a l s e > > > x != y T r u e > > > x < y F a l s e > > > y > x F a l s e > > > y >= x F a l s e > > > x <= y F a l s e > > > x in y T r u e

Figura 8 – Exemplos de uso para operações unárias e relacionais com PyRDMIA.

De maneia a maximizar a completude do pacote desenvolvido, adicionou-se um conjunto de funções à PyRDMIA alocadas no subpacote RMath, nele estão dispo- níveis constantes numéricas, logarítmicas e uma gama de funções trigonométricas. Estas operações são elencadas na Tabela 5, onde são descritas e são apontadas as assinaturas de uso dos métodos. Em seguida, na Figura 9, são demonstrados exem- plos de uso dessas funções fazendo o uso de três intervalos: [x] = [3, 4], [y] = [27, 64] e [z] = [15, 20]. Para o caso das funções trigonométricas, salienta-se que estas operam com entradas e saídas em radiano. Nesse subpacote os métodos operam utilizando

funções do pacote math da linguagem Python, dado o fato da confiabilidade atribuída aos métodos pelo seu emprego. Por outro lado, não existindo a definição formal de tais funções na literatura de RDM-IA, o desenvolvimento se deu de tal maneira, com modo de operação onde cada método específico é aplicado sobre cada limite do inter- valo, mantendo-se a representação de valor intervalar conforme RDM-IA que compõe o tipo RDM em PyRDMIA.

Existe ainda a possibilidade de serem gerados números complexos, ainda não comportados pelo pacote PyRDMIA, mas já definidos em termos de intervalos para RDM-IA, podendo ser utilizado então o pacote cmath, a qual provê suporte a núme- ros complexos; contudo, envolve uma aritmética diferente, fugindo ao escopo deste trabalho.

Para as métricas de qualidade intervalares, as operações disponíveis estão dis- postas na Tabela 6 seguidas da assinatura do respectivo método, tais operações es- tão alocadas no subpacote QualitativeMetrics. Estas métricas são apresentadas nas Equações (30), (31), (32) e (33), além do cálculo de ponto médio. Exemplos de uso destas funções são apresentados pela Figura 10, onde o intervalo [x] é definido exem- plificando um resultado a ser analisado.

O pacote intervalar PyRDMIA conta ainda com um conjunto de medidas de dis- persão implementadas para o uso em séries de dados intervalares. Isto serve de complemento ao pacote e permite a utilização para análise de dados estatísticos ou uso direto em outros processos, centralizando o trabalho em apenas um ambiente. As operações suportadas estão expostas na Tabela 7 e correspondem às equações apresentadas em (34)-(41). Na Figura 11, são demonstrados exemplos de uso uti- lizando estas funções sobre duas listas de valores intervalares, l1 e l2, preenchidas com valores arbitrários.

A partir da apresentação dos métodos implementados, os quais computam funções definidas sob o modelo de representação de valores intervalares em aritmética RDM, a seção seguinte é reservada para apresentar aplicações que serviram para o teste operacional do pacote PyRDMIA.

Dans le document FEDERATION DES PRATICIENS DE LA PARENTALITE (Page 10-14)

Documents relatifs