Title: ??????? ?? ???????????? ??????????? ?? Java
1???13
??????? ?? ???????????? ??????????? ?? Java
?. ?. ??????? ??? ????? ??????????? ???
?????-?????????, ?????? dmitry.nadezhin_at_oracle.co
m
?. ?. ????? ????????? ???????????????
??????????? ???????, ?????? sergei_at_asu.ru
2????
- ???????? ? ???????????? ??????????
- ?????? ????????? P1788 ???????? ????
- ????????? ? ????????? ??
- ?????????? ????????? (???????? ???????)
- ????????? ????, ?????????, ????????
- ??????? ? ???????
- ?????
- ??????
???????, 28 ???? 2013
??? 2013
2 / 60
3?????? ????????? P1788
- ?????? ???????????? 1, 2, 3, 4
- ????? ?????????-?????????????, ???????
- ???????????? ????????? ????? ??? ???? ??????
- ??????
- ???????????? ??? (??????? 2)
???????, 28 ???? 2013
??? 2013
3 / 60
4?????? ????????????
- 1 ??????? ?????????????? ??????
- 2 ??????? ???????????? ????? ??????
- 3 ??????? ?????????????
- 4 ??????? ??????? ?????
???????, 28 ???? 2013
??? 2013
4 / 60
5???????????? ?????????
???????, 28 ???? 2013
??? 2013
5 / 60
6?????????-????????????? ?????
- a,b, a lt b
- Ø
- -8,b
- a,8
- -8,8
???????, 28 ???? 2013
??? 2013
6 / 60
7????? ???????
???????, 28 ???? 2013
??? 2013
7 / 60
8??????
- f(x) Dom(f)
- Com x - ???????, x ? Dom(f) , f(x) ?????????? ?
?????? ????? ????????? x ? x, ?????????
???????????? ???????? - Dac x - ???????, x ? Dom(f) , ??????????? f(x)
?? x ?????????? - Def x - ???????, x ? Dom(f)
- Trv ?????? true
- Ill ?? ???????? NaI, ????????? Dom(f) ????
???????, 28 ???? 2013
??? 2013
8 / 60
9??????
- f(x) 1/x Dom(f)-8,0) ? (0,8
- f(1,2_com) ½,1_com
- f(1,8_com) 0,1_dac
- sign(0,½_com)0,1_def
- f(0,1_com) 1,8_trv
- f(0,0_com) empty_trv
- nums2interval(2,1) empty_ill
???????, 28 ???? 2013
??? 2013
9 / 60
10???????????? ??? (??????? 2)
- ???????? ??????????? ?????????? ??????????????
?????????? - ??????? hull ???????? ?? ???? ??????????????
?????????? ? ????????? ????????????
???????, 28 ???? 2013
??? 2013
10 / 60
11????????? ? ????????? ??
- Java 7.0u25 ? NetBeans 7.3
- Ant ??? Maven
- ??????? Maven - ??????????? /.m2
- ????? ????????? ???????? ????? ?????????
ltofflinegtfalselt/offlinegt - ? ????? /.m2/settings.xml
- ?? ??????????? ???????? ?????? Jinterval
- /NetBeansProjects/net.java.jintervalsvn
???????, 28 ???? 2013
??? 2013
11 / 60
12???????? ???????
- FileNew Project...
- Choose ProjectMavenJava ApplicationNextgt
- Project name tutor-rational
- GroupId ru.asu
- Package ru.asu.tutor.rational
- Enter
- Open ru.asu.tutor.rational.App
???????, 28 ???? 2013
??? 2013
12 / 60
13NetBeans ?? ????? ??? Rational
package ru.asu.tutor.rational / Hello
world! / public class App public
static void main( String args )
Rational rats Rational.zero()
System.out.println( "Hello
World!" )
???????, 28 ???? 2013
??? 2013
13 / 60
14?????????? ????????????
- ???????? ? Projects ????
- tutor-rationalDependencies
- ?????? ?????? ??????? ????
- Add dependency
- Query rational
- Unfold net.java.jintervaljinterval-rational-java
- Choose 0.1-SNAPSHOT jar local
- ? ???? ?????????????? ?????? ?????? ????
FixImport
???????, 28 ???? 2013
??? 2013
14 / 60
15?????? ????????
package ru.asu.tutor.rational import
net.java.jinterval.rational.Rational /
Hello world! / public class App
public static void main( String args )
Rational rats
Rational.zero()
???????, 28 ???? 2013
??? 2013
15 / 60
16??????? ???????? Rational
package ru.asu.tutor.rational import
net.java.jinterval.rational.Rational /
Hello world! / public class App
public static void main( String args )
Rational rats
Rational.zero(), Rational.valueOf(2),
Rational.valueOf(0.1),
Rational.valueOf(1, 10) for
(Rational r rats)
System.out.println(r)
???????, 28 ???? 2013
??? 2013
16 / 60
17??????? ?????? Rational
MathContext mc20f new MathContext(20,
RoundingMode.FLOOR) MathContext mc20c
new MathContext(20, RoundingMode.CEILING)
for (Rational r rats)
System.out.println(r " "
r.doubleValue() " "
r.bigDecimalValue(mc20f)
"," r.bigDecimalValue(mc20c)
"") 0.0 0.0 0,0 0x1p1 2.0
2,2 0xccccccccccccdp-55 0.1 0.1000000000000000
0555,0.10000000000000000556 0x1/0x52-1 0.1
0.1,0.1
???????, 28 ???? 2013
??? 2013
17 / 60
18?????? ???????? ??? Rational
ExtendedRational diff
ExtendedRationalOps.subtract(rats2, rats3)
System.out.println("diff " diff
" " diff.doubleValue()
" " diff.bigDecimalValue(mc20f)
"," diff.bigDecimalValue(mc20c)
"") diff 0x1/0x52-55
5.551115123125783E-18 5.5511151231257827021E-18,5
.5511151231257827022E-18
???????, 28 ???? 2013
??? 2013
18 / 60
19Javadoc ???, ???????? ?? ?????????
- FileOpen Project...
- /NetBeansProject/net.java.jintervalsvn/trunk/jin
terval - ? Projects ???????? jintervalModules
- ???????? ?????? ??????????? jinterval
- ??????? ?????? ?? jinterval-rational-java
- ???????? jinterval-rational-javaSource packages
- ???????? ?????? ???????
- ???????? net.java.jinterval.rational
- ??????? ExtendedRationalContext
???????, 28 ???? 2013
??? 2013
19 / 60
20Rump Example in Rationals
- FileOpen Project...
- /NetBeansProjects/RumpExample
???????, 28 ???? 2013
??? 2013
20 / 60
21JInterval Library Principles, Development, and
Perspectives
WHY INTERVAL COMPUTATIONS IN JVM?
???????, 28 ???? 2013
??? 2013
21 / 60
22Java Is Popular
- TIOBE Programming Community Index for September
2012 - Calculated by counting hits of the most popular
search engines
???????, 28 ???? 2013
??? 2013
22 / 60
23Java Is Popular
- RedMonks language ranking for September 2012
Popularity Rank on StackOverflow.com (by of
tags)
Popularity Rank on Github.com (by of projects)
???????, 28 ???? 2013
??? 2013
23 / 60
24Java Is Popular
- Bookscan's reports on the top 3,000 titles sold
???????, 28 ???? 2013
??? 2013
24 / 60
25Gap between Interval and Applied Software
- Java is an attractive and widely adopted
technology for applied software development - Cross-platform portability of applications
- General purpose object-oriented language
- Almost any language can generate Java bytecodes
- Advanced tools for distributed systems
development - Huge amount of applied libraries
- Interval analysis and interval computations have
proved to be useful in numerous real-world
applications - Interval software in Java is of fragmentary
character - Creation of systematic full-featured high-level
interval library for Java brings interval tools
closer to developers of applied software
???????, 28 ???? 2013
??? 2013
25 / 60
26Interval Computations in Java
- Is Java suitable for scientific computing?
- Pro
- Portability of Java Virtual Machine (JVM)
- Safe memory management(no memory leaks and
pointer errors) - Network-aware environment
- Parallel and distributed computing (threads,
RMI) - Strict model of security
- Standard API for GUI, graphics, DBMS,
- Widely adopted
- Embedded systems, browsers,
- Development, teaching,
- Con
- Low performance
- Virtual machine
- Interpretation is slow
- Overhead cost of safe memory management
- Language restrictions
- No primitive structure type
- No operator overloading
- No traditional multidimesional arrays
- No full compliance with IEEE 754
- Relatively small number of scientific libraries
on Java - Scientific computing traditions Fortran, ?/?
Kahan W., Darcy J.D. How Javas Floating-Point
Hurts Everyone Everywhere//ACM 1998 Workshop on
Java for HighPerformance Network Computing,
Stanford University, March 1998,
http//www.cs.berkeley.edu/wkahan/JAVAhurt.pdf
???????, 28 ???? 2013
??? 2013
26 / 60
27Interval Java Libraries
- IA_math, 1997
- Classic IA, classic interval elementary functions
- Timothy J. Hickey,
- Brandeis University, Boston, USA
- interval.sourceforge.net/interval/
- Java-XSC, 1999
- Classic IA, rectangular complex IA, classic
interval elementary functions, classic and
complex interval vectors and matrices - Benjamin R.C. Bedregal, Jose E.M. Dutra
- Universidade Federal do Rio Grande do Norte,
Natal, Brazil - www.dimap.ufrn.br/java-xsc/jxsc2007.html
???????, 28 ???? 2013
??? 2013
27 / 60
28JInterval Library Principles, Development, and
Perspectives
JINTERVAL EVOLUTION
???????, 28 ???? 2013
??? 2013
28 / 60
29Stages of JInterval Evolution
- Sep 2008 JInterval is started as undergraduate
student project Childhood at Altai State
University (Barnaul, Russia) http//code.google.c
om/p/javaintervalmathasu/ - Aug 2009 Dmitry Nadezhin (Sun Labs, Zelenograd,
Russia) Boyhood joins the project http//kenai
.com/projects/jinterval - Jan 2012 Developing reference implementation and
Youth test suite for P1788 becomes Priority 1
http//java.net/projects/jinterval
or http//jinterval.java.net
???????, 28 ???? 2013
??? 2013
29 / 60
30JInterval (Boyhood) A Priori Requirements
- The library
- Must be clear and easy to use
- Should provide flexibility in the choice of
interval algebra for computations - Should provide flexibility to extend its
functionality - Should provide flexibility in choosing precision
of interval boundaries and associated rounding
policies - Must be portable
- Should provide high performance
- Must be open source
Priority
???????, 28 ???? 2013
??? 2013
30 / 60
31JInterval (Boyhood) Architecture
- Fast branch
- Interval bounds double, nearest rounding
- IA set-based, Kaucher, complex rectangular,
complex circular, complex ring, complex polar - Interval elementary functions, vectors, matrices
- ILS Gauss, Gauss-Seidel, subdifferential Newton,
NonNeg, Shaidurov - Rational bounds branch
- Interval bounds smart rational/double, arbitrary
precision, rounding policies, contexts - IA set-based
- Interval elementary functions, vectors, matrices
- Generic interfaces on top of branches
???????, 28 ???? 2013
??? 2013
31 / 60
32JInterval (Boyhood) Type Hierarchy
Interval
ClassicRealInterval
ComplexInterval
RealInterval
DoubleInterval
ComplexIntervalCircle
RationalInterval
ComplexIntervalRectangle
ComplexIntervalPolar
ComplexIntervalRing
???????, 28 ???? 2013
??? 2013
32 / 60
33JInterval (Boyhood) Lessons Learned
Problem Possible Solution
Java syntax is not expressive enough for calculations Developing Scala API for a new JInterval implementation
JInterval is not compliant with the project of interval standard IEEE P1788 Redesign the library according to IEEE P1788
Low performance Using optional plugins for native code of high precision arithmetic and interval linear algebra algorithms through JNA
Java r x.add(y.multiply(z))
Scala r x yz
???????, 28 ???? 2013
??? 2013
33 / 60
34JInterval Library Principles, Development, and
Perspectives
ARCHITECTURE
???????, 28 ???? 2013
??? 2013
34 / 60
35Class Diagram (package net.java.jinterval.interval
)
???????, 28 ???? 2013
??? 2013
35 / 60
36Key-role Interfaces
- Types graph follows the flavor structure of P1788
- Java interfaces
- Interval
- Common methods for all flavors
- SetInterval
- Extends Interval with methods for flavor Set
Interval - KaucherInterval
- Extends Interval with methods for flavor Kaucher
interval - ClassicInterval
- Extends all flavors, because can be mapped to
related flavor intervals
???????, 28 ???? 2013
??? 2013
36 / 60
37Interface Interval common methods of all flavors
- Interval defines common methods of all interval
flavors - Defines numerical and boolean operations only
???????, 28 ???? 2013
??? 2013
37 / 60
38IntervalContext interval operations interface
- Generic interface IntervalContext defines
signature for interval-valued methods
???????, 28 ???? 2013
??? 2013
38 / 60
39KaucherIntervalContext interval flavor interface
- KaucherIntervalContext extends
IntervalContextand binds type variable I to
Kaucher interval flavor
???????, 28 ???? 2013
??? 2013
39 / 60
40Implementation of interval contexts
- There may be several implementations for flavor
contexts - SetIntervalContextInfSupBase and
SetIntervalContextInfSup are two tightest
implementations of set interval operations and
functions (P1788 Level 2, InfSup_F).
???????, 28 ???? 2013
??? 2013
40 / 60
41Factory classes for interval contexts
- Factory classes create particular instances of
interval contexts - SetIntervalContexts
- KaucherIntervalContexts
-
???????, 28 ???? 2013
??? 2013
41 / 60
42Exact context
- Static method getExact() creates the exact
context - All operations in the exact context return
intervals with rational bounds P1788 Level 1
results or throw IrrationalException
???????, 28 ???? 2013
??? 2013
42 / 60
43InfSup_F contexts
- Static method getInfSup(BinaryValueSet
numberFormat) creates the InfsSup_F contexts with
binary floating-point interval representations
(BINARY32, BINARY64, BINARY128, , BINARY1024) -
???????, 28 ???? 2013
??? 2013
43 / 60
44Core Module Dependencies Graph
External dependencies
JInterval packages
jintervalAggregator of JInterval
jinterval-rational-java Rational numbers
boehm-crealsBoehms constructive reals
jinterval-interval-java Intervals, IAs, interval
elem. functions
fortress-roundingRounding class from Fortress
commons-math3Apache Commons Math 3.0
jinterval-ilsInterval linear equation system
solver
lpsolveJava port of lp_solve
jinterval-irInterval regression solver
mpfr-adapterJNA adapter for native GNU MPFR
jnaJava access to native libraries
large-test-javaJInterval tests
commons-compressApache Commons Compress 1.4
???????, 28 ???? 2013
??? 2013
44 / 60
45JInterval Library Principles, Development, and
Perspectives
FUNCTIONALITY AND EXAMPLES
???????, 28 ???? 2013
??? 2013
45 / 60
46Functionality of JInterval (Youth)
- Rational arithmetic
- flexible inner representation (rational,
binary32, binary64, binary128,) - exact and approximate operations
- Extended Rational arithmetic
- Rational -8 , 8
- Interval Arithmetic
- Set-based
- Kaucher
- Elementary Functions
- According to P1788
- Dense Vectors and Matrices
- Rational, extended rational
- Interval
- Solvers
- ILS Solvers
- Hansen-Bliek-Rohn-Ning-Kearfott enclosure
Gauss-Seidel - Subdifferential Newton
- Interval linear regression solver
- Data consistency check
- Outlier detection
- Object status detection
- Interval prediction
???????, 28 ???? 2013
??? 2013
46 / 60
47Example 1.1. Contexts and Simple Expressions
, ,
, .
xy 3.0,5.0 x/y 0.333251953125,1.0
???????, 28 ???? 2013
??? 2013
47 / 60
48Example 1.2. Contexts and Simple Expressions
, ,
, .
xy 3.0,5.0 x/y 0.3333333134651184,1.0
???????, 28 ???? 2013
??? 2013
48 / 60
49Example 1.3. Contexts and Simple Expressions
, ,
, .
xy 3.0,5.0 x/y 0x155555555555555555555555
55555p-114,0x1p0 (0.3333333333333333,1.0
)
???????, 28 ???? 2013
??? 2013
49 / 60
50Example 1.4. Contexts and Simple Expressions
, ,
, .
xy 3.0,5.0 x/y 0x1/0x320,0x1p0(0.333
3333333333333,1.0)
???????, 28 ???? 2013
??? 2013
50 / 60
51Example 2.1. Decorations
sqrt(0.0,1.0) 0.0,1.0 COM sqrt(-1.0,1.0)
0.0,1.0 CON sqrt(-2.0,-1.0) EMPTY
NDF sqrt(EMPTY) EMPTY SAF
???????, 28 ???? 2013
??? 2013
51 / 60
52Example 2.2. Decorations
1/0.0,0.0 EMPTY NDF 1/0.0,1.0
1.0,Infinity CON 1/4.9E-324,1.0
1.0,Infinity SAF x 0.0,Infinity SAF y
1/x 0.0,Infinity CON
???????, 28 ???? 2013
??? 2013
52 / 60
53Example 3. (Rump)
Compute for
, and
???????, 28 ???? 2013
??? 2013
53 / 60
54Example 3. (Rump) using ExtendedRational
???????, 28 ???? 2013
??? 2013
54 / 60
55Example 3. (Rump) using ExtendedRational
BINARY16 rNaN BINARY32
r1.172603964805603 0x9617e3p-23
BINARY64 r-1.1805916207174113E21 -0x1p70
BINARY128 r1.1726039400531787
0x12c2fc595b06beb74a518f018c093p-112
BINARY256 r-0.8273960599468214
-0x69e81d3527ca0a45ad7387f39fb6bbbee6d0899f57af4ec
62443141c771p-235 Exact r-0.8273960599468
214 -0xd5ef/0x10292-4
???????, 28 ???? 2013
??? 2013
55 / 60
56Example 3. (Rump) using SetInterval
???????, 28 ???? 2013
??? 2013
56 / 60
57Example 3. (Rump) using SetInterval
BINARY16 i -Infinity,Infinity
BINARY32 i -6.972078301255262E30,6.97207890
5718172E30 BINARY64 i
-8.264141345021879E21,5.902958103587058E21
BINARY128 i -0xffb4f40e9a93e50522d6b9c3f9dp
-98,0x12c2fc595b06beb74a518f018c093p-112
(-1022.8273960599469,1.1726039400531787)
BINARY256 i -0x69e81d3527ca0a45ad7387f39fb6
bbbee6d0899f57af4ec62443141c771p-235,
-0xd3d03a6a4f94148b5ae70fe73f6d777dcda1133eaf5e9d8
c48862838ee1p-236 (-0.8273960599468214,-0.82
73960599468213) Exact i
-0xd5ef/0x10292-4,-0xd5ef/0x10292-4
(-0.8273960599468214,-0.8273960599468213)
???????, 28 ???? 2013
??? 2013
57 / 60
58Example 4. HBRNK enclosure
???????, 28 ???? 2013
??? 2013
58 / 60
59Example 4. HBRNK enclosure using MatlabOps
???????, 28 ???? 2013
??? 2013
59 / 60
60Example 5. Gauss-Seidel Solver
A / 2.0,4.0 -2.0,0.0 -1.0,0.0
2.0,4.0 \ b / 1.0,2.0 -2.0,2.0
\ x / -1.0,4.0 -1.5,3.0 \
???????, 28 ???? 2013
??? 2013
60 / 60
61JInterval Library Principles, Development, and
Perspectives
APPLICATIONS
???????, 28 ???? 2013
??? 2013
61 / 60
62P1788 Test framework
TestSet3.dat
IntervalLibraries
Adapters
TestSet2.dat
Boost
testBoost
TestSet1.dat
CXSC
testCXSC
Launcher
testFilib
Filib
Report
MPFI
testMPFI
testPROFIL
PROFIL
ltNONAMEgt
testltNONAMEgt
???????, 28 ???? 2013
??? 2013
62 / 60
63P1788 Test framework
IntervalLibraries
Adapters
TestSet3.dat
Boost
testBoost
TestSet2.dat
CXSC
testCXSC
Report
Launcher
testFilib
Filib
MPFI
testMPFI
TestSet1.dat
testPROFIL
PROFIL
ltNONAMEgt
testltNONAMEgt
???????, 28 ???? 2013
??? 2013
63 / 60
64P1788 Test framework
IntervalLibraries
Adapters
Boost
testBoost
TestSet3.dat
CXSC
testCXSC
Report
Launcher
testFilib
Filib
MPFI
testMPFI
TestSet2.dat
testPROFIL
PROFIL
ltNONAMEgt
testltNONAMEgt
TestSet1.dat
???????, 28 ???? 2013
??? 2013
64 / 60
65P1788 Test framework. Sample Run
testDemo.dat
div1,2 0,11,2 0,0
sqrt-Infinity,0-Infinity,Infinity
pown0,0 0
Report
Filib 3.0.2 div 1.0,2.0 0.0,1.0
1.0,Infinity 1.0,Infinity Ok div 1.0,2.0
0.0,0.0 EMPTY 1.7976931348623157E308,Infi
nity NOT TIGHT! sqrt -Infinity,0.0 0.0,0.0
0.0,0.0 Ok sqrt -Infinity,Infinity
0.0,Infinity -4.9E-324,Infinity NOT
TIGHT! pown 0.0,0.0 0 1.0,1.0 1.0,1.0
Ok Boost 1.48.0 div 1.0,2.0 0.0,1.0
1.0,Infinity 1.0,Infinity Ok div 1.0,2.0
0.0,0.0 EMPTY EMPTY Ok sqrt
-Infinity,0.0 0.0,0.0 0.0,0.0 Ok sqrt
-Infinity,Infinity 0.0,Infinity
0.0,Infinity Ok pown 0.0,0.0 0 1.0,1.0
EMPTY CONTAINMENT FAILURE!!! MPFI
1.5.1 div 1.0,2.0 0.0,1.0 1.0,Infinity
1.0,Infinity Ok div 1.0,2.0 0.0,0.0
EMPTY -Infinity,Infinity NOT TIGHT! sqrt
-Infinity,0.0 0.0,0.0 EMPTY CONTAINMENT
FAILURE!!! sqrt -Infinity,Infinity
0.0,Infinity EMPTY CONTAINMENT
FAILURE!!! Library has no Operation "pown" in
line 7 pown
???????, 28 ???? 2013
??? 2013
65 / 60
66KNIME
- KNIME open source data mining platform
???????, 28 ???? 2013
??? 2013
66 / 60
67KNIME Interval Tools
- KNIME open source data mining platform
???????, 28 ???? 2013
??? 2013
67 / 60
68KNIME Nodes for Interval Regression
Interval Regression( Learner)
Interval Regression( Predictor)
Calculates interval prediction Y for X using
model Y F(X, A)
Builds linear interval regression model Y
f(X, A)
IR Outlier Detector
IR Consistency
Detects outliers (observations with
underestimated error bound)
Checks consistency of input data and sets flow
control variable for IF switch
???????, 28 ???? 2013
??? 2013
68 / 60
69KNIME Nodes for ILS Solving
- In previous version of Interval Tools
Computes inner/outer estimate of united/tolerable
solution set and visualizes 2D/3D united
solution set
ILS Solver
Kraemer W. Computing and visualizing solutions
sets of interval linear systems, Serdica J.
Computing 1(4) 2007, 455-468.
???????, 28 ???? 2013
??? 2013
69 / 60
70KNIME Nodes for ILS Solving
ILS Solver
ILS United Solution Set View
Visualizes 2D or 3D united solution set
Computes outer and inner estimates for united
solution set of ILS Axb
- Methods for united solution set estimation
- Outer Hansen-Bliek-Rohn-Ning-Kearfott enclosure
Gauss-Seidel - Inner Subdifferential Newton
- Method
- I. A. Sharayas algorithm for visualization of
AE-solution sets
???????, 28 ???? 2013
??? 2013
70 / 60
71KNIME Workflow for Image Recognition
Get A1, b
Solve A1xb
Metrics values
Read reference images
Join
Convert to matrices
Solve A2xb
Join
Build interval matrices
Get A2, b
Join
Calc metrics
Read imageto recognize
Convert to matrices
Solve non-interval ILS
Metrics histogram
Prolubnikov A.V., Silitskiy S.A. On solving the
problem of numeric matrices recognition using
estimates of solution sets of interval systems of
equations // Comp. Math. Proceedings of XIV
Baikal International School-Seminar Methods of
optimization and its applications
Irkutsk-Baikal, July 2-8 ???? 2008. Vol. 3.
Irkutsk ISEM SB RAS, 2008. pp. 152-157. (in
Russian)
???????, 28 ???? 2013
??? 2013
71 / 60
72KNIME Workflow for Image Recognition
Get A1, b
Solve A1xb
Metrics values
Read reference images
Join
Convert to matrices
Solve A2xb
Join
Build interval matrices
Get A2, b
Join
Calc metrics
Read imageto recognize
Convert to matrices
Solve non-interval ILS
Metrics histogram
Prolubnikov A.V., Silitskiy S.A. On solving the
problem of numeric matrices recognition using
estimates of solution sets of interval systems of
equations // Comp. Math. Proceedings of XIV
Baikal International School-Seminar Methods of
optimization and its applications
Irkutsk-Baikal, July 2-8 ???? 2008. Vol. 3.
Irkutsk ISEM SB RAS, 2008. pp. 152-157. (in
Russian)
???????, 28 ???? 2013
??? 2013
72 / 60
73Mobile Application Affiche
- Modeling positional uncertainties for GPSGSM
navigation using circular complex arithmetic
???????, 28 ???? 2013
??? 2013
73 / 60
74JInterval Library Principles, Development, and
Perspectives
PERSPECTIVES
???????, 28 ???? 2013
??? 2013
74 / 60
75Future Directions
- Holding P1788 compliance of JInterval
- Developing optional plugins for
platform-dependent effective implementations of
inner layers through JNI - MPFR for fast multiple precision floating-point
arithmetic - BLAS for fast linear algebra operations
- Developing API for access to JInterval from
other programming languages - Scala
-
- High-level functionality replenishment
???????, 28 ???? 2013
??? 2013
75 / 60
76High-Level Functionality Replenishment
- Enhancing MatlabOps
- ILS tolerable solution set estimators
- ILS AE-solution set visualization (I. Sharaya)
- Global Optimization Solver (N. Panov S. Shary)
- Randomized Branch Bound
- Interval simulating annealing
- Interval Genetic algorithm
- Multi-method algorithm
- ODE Solver (D. Nadezhin)
???????, 28 ???? 2013
??? 2013
76 / 60
77How to Get and Contribute to JInterval?
- java.net/projects/jinterval
- Source codes (SVN)
- JavaDoc
- Wiki
- Tutorial
- Developers forum
- Mail lists
???????, 28 ???? 2013
??? 2013
77 / 60
78Acknowledgements
- Maksim V. Danilov
- Kirill S. Dronov
- Walter Krämer
- Nikita V. Panov
- Gregor Paw
- Anton E. Sartakov
- Andrey S. Samoilov
- Sergey P. Shary
- Irina A. Sharaya
- Egor N. Tepikin
- Leo N. Tolstoy
- IEEE Interval Standard Working Group P1788
???????, 28 ???? 2013
??? 2013
78 / 60