VERJAMEMO V AVTOMATIZACIJO VSEGA, TUDI AVTOMATIZACIJE SAME

PODJETJE

Kratica ALGiT – je okrajšava za “ALGoritemske Informacijske Tehnologije”. Algit je raziskovalno-razvojno podjetje na področju evolucijske umetne inteligence, s katero razvija programe za optimizacijo. Optimizira pa se lahko skoraj vse.

Prav tako raziskujemo avtomatizacijo programiranja, to je način programiranja, ko nam programsko kodo namesto človeškega programerja napiše stroj, oziroma za ta namen izdelan program.

RAZISKAVE

Algit je razvil sistem za evoluiranje algoritmov, kateri predstavljajo hrbtenico vsakega računalniškega programa, na podoben način kot poteka naravna selekcija. Algoritemski razvoj je popolnoma avtomatiziran, zahvaljujoč evolucijski umetni inteligenci (Evolutionary Artificial Intelligence). Teoretične osnove umetne inteligence so dobro razložene v večih dostopnih dokumentih (Levin Search in Solomonoff-ova indukcija). Naš pristop je evolucijski.

Prvi in zaenkrat edini delujoči program za generiranje in evoluiranje algoritmov Critticall je dosegel polno stopnjo avtomatizacije. Več o tem je na Algitovi tehnološki strani. Primera iz prakse sta izboljšanje obstoječega algoritma za sortiranje v C++ jeziku in avtomatsko generiranje izvorne kode za 2 in 3 Keplerjev zakon.

Algoritmi pa niso edina stvar ki gre po poti (digitalne) evolucije. Algit je za prikaz zmožnosti razvil program Pack´n´tile, ki demonstrira moč, ki jo Critticall nudi. Program optimalno pakira geometrijske like v druge geometrijske like. Rezultati so vidni in jih vsak lahko razume, referenčni strani, kjer matematiki tekmujejo s konvencionalnimi metodami pa sta Packomania ali Magdeburška univerza in Hugo Pfoertner. Pack´n´tile je že dosegel nekaj svetovnih rekordov in lahko vsakega tudi doseže ali preseže, če je slednje še teoretično možno.

PRODUKTI

Na osnovi raziskav na področju evolucijske umetne inteligence je bilo razvitih več programov:

  • iUrnik je najpomembnejši program, ki samostojno, brez človeške pomoči, izračuna šolski urnik na osnovi podatkov in zahtev šole
  • iRazpored – razporejanje delavcev v turnuse
  • Spector – poglobljeno iskanje vzorcev v linearnih in tabelaričnih podatkih
  • Akritos – predikcija prihodnega dogodka na osnovi preteklih
  • Pack´n´tile – optimizacija pakiranja v dveh in treh dimenzijah
  • OCR – prepoznavanje znakov in teksta iz slik

Pri iskanju vzorcev, ki so osnova za predikcijo in analizo podatkov, je naša največja prednost ta, da nimamo nobenih že vnaprej izbranih metod, po katerih bi delali, ampak nam vsakič evolucijska umetna inteligenca poišče najbolj primeren algoritem za dani primer.

USPEHI IN PRIZNANJA

S svojo tehnologijo je bil Algit izbran kot druga referenčna stran za sortiranje in 6 referenčna stran za algoritme.

Algit je dobil tudi priznanji za inovaciji na Slovenskemu forumu inovacij.

  • iUrnik – ID inovacije I-195-07
  • evolucijska optimizacija algoritmov za stiskanje podatkov – ID inovacije I-437-08

Razvojni primeri

Say, that we have the following observational data:

Planet Aphelion 000 km Perihelion 000 km Orbit time days
Mercury 69,816 46,001 88
Venus 108,942 107,476 225
Earth 152,098 147,098 365
Mars 249,209 206,669 687
Jupiter 816,520 740,573 4,332
Saturn 1,513,325 1,353,572 10,760
Uranus 3,004,419 2,748,938 30,799
Neptune 4,553,946 4,452,940 60,190
Pluto 7,311,000 4,437,000 90,613

More about it on LessWrong.

Automatic programming – Kepler’s law

The minimal, the maximal distance between a planet and the Sun (both in thousands of kilometres) and the number of (Earth) days for one revolution around the Sun. Above is only the empirical data and no binding algorithm among the three quantities. The celestial mechanics rules which go by the name of the Kepler’s laws. Can those rules be (re)invented by a computer program and how? After several hours the following C code has been evolved:

aphelion=perihelion+aphelion;
aphelion=aphelion+aphelion;
aphelion=aphelion+aphelion;
guess=12;
aphelion=aphelion>>guess;
temp=aphelion/guess;
aphelion=aphelion-temp;
dif=sqrt(aphelion);
aphelion=guess|aphelion;
aphelion=aphelion*dif;
aphelion=guess^aphelion;
guess=aphelion/guess;

Pack´n´tile

A part of this story begins with Johannes Kepler and his conjecture, proved only recently as the Hilbert’s 18th problem’s solution, how to optimally pack cannon balls in a presumably infinite space. It turned out, that the best way was in fact discovered by soldiers, even long before Kepler (Universiti of Pittsburgh).

If the space isn’t unlimited, what usually isn’t, a large set of newly opened problems spring. Many of them solved, even many more, unsolved to this day. Often, we have a reasonably good solution for which nobody knows if it is in fact the best or if it is not. Despite that solutions are often “the best known so far”, a huge academic and hobbyist community is out there in a search for ever better, more dense ways, to pack bodies and shapes inside some larger bodies and shapes. Books, papers and Internet sites are devoted for this quest of tide packing. Not only in 2D and 3D, but in higher dimensions as well.

Our method for finding the densest packing is the hard core evolutionism translated for the abstract virtual world of geometrical objects. For this kind of software the label Artificial Intelligence may be rightfully used, as it solves the tasks even humans sometimes can´t. At least that well. Not only individual humans, but groups of them, armed with computers and supercomputers and strong mathematical theories are no match for our humble Pack’n’tile, a Microsoft Windows based tool. It took decades to establish a particular solution which Pack’n’tile reproduces — or surpasses when possible — in a much shorter time. Pack’n’tile doesn’t relay on any knowledge at all, except that the shapes must go inside a smallest possible space and must not overlap.

We concede the importance of the past efforts, we only give you a new powerful tool. It will not prove you any theorem, except showing how more than thousand packings could be done. Unforeseen solutions may prompt you to investigate further, just get yourself an edge by having Pack’n’tile.

Share This