- proveď ihned
- proveď, když můžeš
- proveď něco smysluplného
procedurální programování
První případ je procedurální programování. Program je tvořen posloupností příkazů, z nichž některé mohou tvořit cykly. V každém kroku programu je určeno, co se má vykonat v kroku následujícím. Programátor tak musí analyzovat, připravit a naprogramovat všechny situace, jež mohou nastat. (příklad – klasická procedura v pascalu). Jedná se o případ zpracování dat programem.Def: Jestliže další krok postupu není explicitně definován programovou konstrukcí, proveď následující instrukci.
deklarativní programování
Druhý případ - deklarativní programování se orientuje na zákonitosti (pravidla) řešení problémů, které odděluje od vlastních řešících problémů. Někdy se toto nazývá situační programování. Hlavní částí programu je potom interpret použitých symbolických vyjádřených zákonitostí. Deklarativní programování zbavuje programátora nutnosti předvídat veškeré situace. Programuje pouze předepíše akce, do kterých se program může dostat a přitom nemusí předvídat, kdy takovéto akce nastanou. Operace se provádějí tehdy, když systém dospěje k situacím, které jejich vykonání vyžadují. Pokud se týká expertních systémů, pak takovéto prostředky představují jeden z hlavních předpokladů jejich vzniku. Deklarativním jazykem je například jazyk SQL.Příklad: PRO_KAŽDÉ (x ležící_v Z) JESTLIŽE VÝŠKA (x > 175cm) PAK VYSOKÝ(x)
Def.: Jestliže mezi aktuálním a požadovaným stavem řešení vznikl rozdíl, pak jej odstraň vhodnou akcí (operací).
evoluční programování
Třetí případ je použití programů, které se dovedou učit a usuzovat na základě analogií. To se týká principu evolučního programování.Def.: Jestliže je zadaný problém analogický s problémem, v minulosti úspěšně vyřešeným metodou M, pak se pokus tuto metodu použít i při řešení daného problému
Umělá inteligence změnila nároky na programováním, která spočívá v nutnosti přechodu od zpracování dat ke zpracování informací. Toto se promítlo v odklonu od klasického procedurálního programování a přechodu na programování deklarativní. Programový systém formalizuje otázku co se má řešit, bez nutnosti explicitního a detailního předpisu jak dospět k výsledku řešení.
Logické programování Použití klasických programovacích jazyků je pro realizaci nástrojů umělé inteligence neefektivní. Jazyk pro realizaci takovýchto nástrojů většinou vyžadují efektivní práci s daty v symbolickém tvaru, s bohatou vnitřní strukturou (seznamy, řetězce, stromy), mechanismus navracení, při prohledávání prostoru řešení, asociativní paměť a mechanismus pro automatickou dedukci. Proto byl vytvořen jazyk LISP a PROLOG.

2012 ©