Prírodou inšpirované algoritmy

študijné materiály pre projekt mobilnej triedy umelej inteligencie

Späť ku kurzom triedy
Obsah
Úvod
Balíky
Systémové požiadavky
Inštalácia
Často kladené otázky
Návody
COLT
Aplikácie
Projekty
Literatúra a linky
O tejto kapitole



Ostatné kapitoly
Swarm
RePast
LEM
SDML
Eos
DDLab


Tutoriály
 Celulárne automaty
 Morfogenéza
 Simulátory
 Evolučné algoritmy
 Chaos
 Roboty
 Rôzne


COLT

Vedci v ústave pre jadrový výskum (CERN) vo Švajčiarsku (kde mimo iného vznikol aj štandard jazyka HTML vďaka ktorému čítate tieto riadky) sa rozhodli využiť prednosti programovacieho jazyka Java a zároveň odstrániť jeho neefektívnosť, z čoho vznikol balík COLT Open Source knižníc pre vysoko výkonné vedecké a technické výpočty v Jave. Tieto balíky používa aj RePast.

Vedecké a technické výpočty ako napríklad tie, o ktoré sa zaujíma CERN, sú charakterizované vysokými požiadavkami na pamäť a výkon. Napriek tomu že Java je vnímaná ako nevhodná pre tieto aplikácie, posledné trendy v jej vývoji naznačujú, že sa čoskoro môže stať majoritným hráčom na poli výkonných a citlivých vedeckých a technických výpočtov. Ďalšie dôvody prečo používať práve Javu sú jednoduchosť, prenositeľnosť, zabudovaná podpora viacvláknového programovania, spätosť Java API so sieťovým prostredím a široká škála vývojových prostriedkov.

Distribúcia obsahuje triedy rozdelené do nasledujúcich balíkov:

  • Colt - poskytuje základné údajové štruktúry optimalizované pre numerické údaje, ako sú napríklad polia z meniteľnými rozmermi, riedke a husté matice, asociatívne polia a ďalšie údajové štruktúry najmä pre lineárnu algebru.

  • Jet - obsahuje matematické a štatistické nástroje na analýzu údajov, výkonné nástroje na tvorbu histogramov a taktiež generátory pseudonáhodných čísel.

  • JAL - je to čiastočne port C++ Standard Template Library vyvinutý firmou Silicon Graphics; obsahuje širokú škálu algoritmov pracujúcich s poliami.

  • RngPack - obsahuje generátory pseudonáhodných čísel.

  • CoreJava - obsahuje implementácie formátovaných výstupov v štýle jazyka C.

  • Concurrent - obsahuje štandardizované nástroje používané v paralelnom a konkurenčnom programovaní.

  • VNI - obsahuje matematické funkcie a komplexné čísla.

Efektivite programovacieho jazyka Java sa podrobne venuje nasledovný dokument:

performance.pdf (1MB)
preformance.pdf.gz (944kB)

Hore
Kontakt: Marek Bundzel