European Commission logo
polski polski
CORDIS - Wyniki badań wspieranych przez UE
CORDIS

Computing with Infinite Data

Article Category

Article available in the following languages:

Wykonywanie obliczeń na nieskończonych danych

Dzięki poszerzeniu wiedzy na temat obliczeń na podstawie nieskończonych struktur danych naukowcy skupieni wokół finansowanego ze środków Unii Europejskiej projektu CID położyli podwaliny pod opracowywanie wydajnego i niezawodnego oprogramowania do zastosowań inżynieryjnych.

Gospodarka cyfrowa icon Gospodarka cyfrowa

Każdego dnia technologia pozwala nam dbać o bezpieczeństwo, zdrowie i życie ludzi – ufamy, że kluczowe systemy, takie jak na przykład autopilot w samolocie, systemy sterowania ruchem kolejowym oraz czujniki, dzięki którym autonomiczne funkcje w naszych samochodach mogą nam pomagać, będą działały poprawnie i bezbłędnie. „Komputery przejmują kolejne dziedziny naszego życia, znajdziemy je w coraz większej liczbie zastosowań, jednak nieobce są nam także błędy oprogramowania, wynikające na przykład z nieprawidłowego zaokrąglania liczb”, tłumaczy Dieter Spreen, matematyk z Uniwersytetu w Siegen w Niemczech. Kiedy wystąpi błąd, może nieść za sobą nieoczekiwane konsekwencje. Jako przykład niech posłuży pierwsza, całkowicie nieudana misja rakiety Ariane 5, która zakończyła się eksplozją ze względu na tego rodzaju błąd. „Tego rodzaju problemy pojawiają się, gdy występuje rozdźwięk między teorią matematyczną i sposobem jej implementacji w programach komputerowych”, dodaje Spreen. Dzięki wsparciu finansowemu ze strony Unii Europejskiej dla projektu CID Uniwersytet w Siegen stanął na czele międzynarodowej inicjatywy mającej na celu opracowanie narzędzi, które pozwolą na rozwiązanie tego problemu. „Projekt stanowił doskonałą okazję do produktywnej współpracy naukowców zajmujących się zróżnicowanymi, lecz powiązanymi ze sobą dziedzinami w przyjaznym otoczeniu”, zauważa Daniel Graça, badacz Uniwersytetu w Algarve, jednego z partnerów projektu.

Nieskończone dane

Projekt skupia 20 partnerskich uczelni wyższych i instytucji z całej Europy i świata. Zespołowi przyświeca jeden cel – opracowanie narzędzi pozwalających na formalne udowodnienie poprawnego działania aplikacji inżynierskich. „Oprogramowanie jest zwykle testowane pod kątem różnych możliwych scenariuszy”, wyjaśnia Spreen. „Nie gwarantuje to jednak całkowitego bezpieczeństwa – testy mogą nie pozwolić na wykrycie luk w zabezpieczeniach i błędów, a zarówno wypadki, jak i złośliwe działania mogą mieć nieprzewidziane skutki”. Rozwiązanie tego problemu wymagało wykorzystania nieskończonych zbiorów danych. „Choć na pierwszy rzut oka takie rozwiązanie może wydawać się fizycznie niemożliwe, dzięki starannemu projektowaniu można zaprogramować zwykły komputer tak, aby zachowywał się zupełnie jakby jego struktury danych były w rzeczywistości nieskończone, mimo że w rzeczywistości wszystkie dane mają skończoną fizyczną reprezentację”, wyjaśnia Alex Simpson, badacz (Uniwersytetu w Lublanie), uczelni należącej do grona partnerów projektu. Jak tłumaczy badacz, ma to sens zarówno z praktycznego punktu widzenia opartego na realistycznym podejściu do obliczeń, jak i z perspektywy teoretycznej, opartej na sztywnych ramach modeli matematycznych. „Zastosowanie struktur nieskończonych danych eliminuje błędy zaokrąglania, które są wszechobecne w standardowych modelach obliczeniowych, na przykład tych opartych na liczbach zmiennoprzecinkowych pojedynczej lub podwójnej precyzji”, dodaje. Dzięki obliczeniom opartym na nieskończonych strukturach danych zespół projektu opracował narzędzia dla języka programowania oraz metody zapewnienia poprawności programów z nieskończonymi danymi. Pozwoliło to także na opracowanie modeli matematycznych pozwalających na uwzględnienie nowych zastosowań.

Zbyt trudne do rozwiązania

W ramach projektu badacze przyjrzeli się także różnym algorytmom wykorzystywanym w rozwiązaniach inżynieryjnych. „Chcieliśmy zrozumieć, które problemy są z natury trudne, a nawet niemożliwe do rozwiązania za pomocą komputerów, i dowiedzieć się, czym różnią się one od łatwiejszych problemów”, wyjaśnia Spreen. Naukowcy odkryli, że niektóre problemy są tak złożone, że po prostu nie istnieją proste algorytmy pozwalające na ich rozwiązanie. To ważna informacja dla programistów – teraz wiedzą, że nie muszą już tracić czasu na szukanie alternatyw. „Zainteresowaliśmy się tymi zagadnieniami, ponieważ zdaliśmy sobie sprawę, że systemy dynamiczne są szeroko stosowane w wielu istotnych zastosowaniach w rzeczywistym świecie, choć w wielu przypadkach są one zbyt złożone, aby analizować je bez użycia komputerów”, podsumowuje Graça. „Możliwość dogłębnego zrozumienia tych zagadnień była dla nas ważnym osiągnięciem”.

Słowa kluczowe

CID, komputer, programy komputerowe, dane, obliczenia, rozwiązania inżynieryjne, technologia, teoria matematyczna, dane o nieskończonej precyzji

Znajdź inne artykuły w tej samej dziedzinie zastosowania