Qualunque comportamento o evento non casuale è determinato da una legge fisica e/o logica. Un algoritmo (anche detto programma, procedura, routine, software ecc.) è una legge logica a cui un computer o un essere vivente obbedisce in un certo momento. Tuttavia certi comportamenti o eventi sono parzialmente casuali e parzialmente determinati da leggi fisiche e/o logiche.