Koniec mrznutia programov.
V hlbinách vývojových laboratórií Microsoftu sa pracuje na nemožnom: vytvoriť nástroje pre programátorov, pomocou ktorých by vznikali programy, ktoré by nemohli nikdy zamrznúť. A to napriek tomu, že 70 rokov stará matematická teória takúto možnosť ani nepripúšťa. Ak nám niektorý program prestane odpovedať na podnety, môže to mať dve hlavné príčiny: buď je zaneprázdnený úlohou, ktorú skôr či neskôr dokončí, alebo sa dostal do nekonečnej programovej slučky, z ktorej nemožno von. Pre používateľa a v podstate aj pre operačný systém však oba stavy vyzerajú na pohľad rovnako, program jednoducho nereaguje. Ostávajú teda dve možnosti – nechať proces bežať alebo ho natvrdo ukončiť. Dobrým programovaním sa, pravdaže, stabilita a predvídateľnosť programu dá ovplyvniť. Elimináciou chýb možno predísť mnohým slučkám, do ktorých by sa bežiaci program mohol dostať: vyhýbanie sa možným slučkám, určovanie časových limitov na vykonávané operácie atď. Nemožno však vychytať všetky takéto problémy, pretože podľa Turingovej teórie z roku 1936 (vysvetlenie vo Wikipedii) nemožno jednoducho a definitívne predpovedať, či vykonávaná funkcia povedie alebo nepovedie k nekonečnej slučke. Cambridgeské vývojové centrum Microsoftu nepopiera, že táto poučka síce môže mať všeobecnú platnosť, ale pri bežných, „ľuďmi vytvorených“ programoch je možné predpovedať nestabilné správanie. S touto myšlienkou boli postupne vytvorené teórie,
ktoré pri programovaní umožnia otestovať, či môže nastať situácia, keď prestane program odpovedať z dôvodu zacyklenia. Vyvinul sa nástroj nazvaný TERMINATOR, ktorý umožňuje vopred určiť, či je program schopný úlohu dokončiť alebo sa zacyklí.
Martin ValentGoogle
Autor sa venuje tvorbe web stránok pomocou PHP. Zaujíma sa tiež o 2D/3D grafiku.
Nové články
Článek popisuje první část stavebnice umělé inteligence. Obsahuje lineární a plošnou optimalizaci. Demo verzi je možné použít pro výuku i zájmovou činnost. Profesionální verze je určena pro vývojáře, kteří chtějí integrovat popsané moduly do svých systémů.
V technické praxi využíváme často kombinaci různých disciplín umělé inteligence a klasických výpočtů. Takovým systémům říkáme hybridní systémy. V tomto článku se zmíním o určitém typu hybridního systému, který je užitečný ve velmi složitých výrobních procesech.
Vedení týmu v oboru informačních technologií se nijak zvlášť neliší od jiných oborů. Přesto však IT manažeři čelí výzvě v podobě velmi rychlého rozvoje a tím i rostoucími nároky na své lidi. Udržet pozornost, motivaci a efektivitu týmu vyžaduje opravdu pevné manažerské základy a zároveň otevřenost a flexibilitu pro stále nové výzvy.
Za poslední rok se podoba práce zaměstnanců změnila k nepoznání. Především plošné zavedení home office, které mělo být zpočátku jen dočasným opatřením, je pro mnohé už více než rok každodenní realitou. Co ale dělat, když se při práci z domova ztrácí motivace, zaměstnanci přestávají komunikovat a dříve fungující tým se rozpadá na skupinu solitérů? Odborníci na personalistiku dali dohromady několik rad, jak udržet tým v chodu, i když pracovní podmínky nejsou ideální.