Rozhodovací problém

Rozhodovací problém je v informatice, speciálně v teorii složitosti a teorii vyčíslitelnosti, otázka v nějakém formálním systému s odpovědí ANO-NE v závislosti na hodnotě vstupu. Například, problém „pro dvě čísla x a y, dělí x hodnotu y beze zbytku?“ je rozhodovací problém, kde odpověď „ANO“ nebo „NE“ závisí na vstupech.

Rozhodovací problémy se typicky a přirozeně objevují v otázkách rozhodnutelnosti, kdy se ptáme, zda existuje efektivní metoda pro určení existence nějakých matematických objektů nebo pro jejich příslušnost do nějaké množiny. Některé problémy v matematice jsou nerozhodnutelné.

Rozhodovací problém je jednoduchá forma obecnějšího výpočetního problému, který může vracet obecnější odpovědi než jednoduché ANO-NE. Záleží na přesné formulaci otázky, příbuzné problémy k výše uvedenému příkladu jsou „pro dvě čísla x a y, jaký je podíl y/x“ a „pro dané y, jaký je nejmenší netriviální dělitel y“. Druhý příklad je formulován jako optimalizační problém důležitý a používaný v praxi, který hledá nejlepší odpověď na danou otázku podle nějakého kritéria (taky nazývaného kriteriální funkce).

Metoda pro řešení rozhodovacího problému, zadaná ve formě algoritmu, se nazývá rozhodovací procedura pro příslušný problém. Rozhodovací problém, který lze vyřešit algoritmem, se nazývá rozhodnutelný. Známý nerozhodnutelný problém je problém zastavení.

Rozhodovací problémy se zařazují do tříd složitosti (v teorii složitosti) nebo Turingovských stupňů (v teorii rekurze), které kategorizují obtížnost vlastní tomuto problému.

Výzkum v teorii vyčíslitelnosti se typicky zaměřuje na rozhodovací problémy, protože nedochází ke ztrátě obecnosti (tzv. BÚNO).

Zadání

Rozhodovací problém je libovolná otázka typu ANO-NE na nekonečné množině vstupů. Tradičně se definuje ekvivalentně jako podmnožina vstupů, na které je odpověď ANO. Tuto podmnožinu určuje charakteristická funkce, která v obecnosti nemusí být algoritmizovatelná.

Množina vstupů je často jednoduchá a složené či složité vstupy (grafy, matice, dvojice) se zakódují. Takto je vstupem přirozené číslo, řetězec nad binární abecedou {0,1} anebo obecněji nad nějakou konečnou množinou symbolů. V teorii formálních jazyků je podmnožina řetězců s odpovědí ANO jazyk odpovídající danému problému. Konkrétní vstup problému se nazývá instance problému.

Pomocí Gödelova číslování lze libovolný řetězec zakódovat jako číslo a rozhodovací problém pak je podmnožina přirozených čísel. Speciálně, řetězec může být „zdroják“ algoritmu v nějakém výpočetním modelu.

Převoditelnost a úplné problémy

Rozhodovací problémy lze uspořádat pomocí (různých druhů) převoditelnosti. Rozhodovací problém se nazývá úplný pro nějakou množinu problémů, pokud patří do této množiny a na něj jdou převést všechny problémy z této množiny. Neformálně, úplný problém je nejtěžší problém z dané třídy, například pro třídu NP je to problém SAT nebo kterýkoli NP úplný problém.

Rozhodovací problémy při převoditelnosti nepotřebují převádět výsledek zpět jako obecné výpočetní problémy. Lze požadovat, aby odpovědi pro převáděnou i převedenou instanci byly stejné, tj. obě ANO nebo obě NE (případně obě divergují). To zjednodušuje konstrukce a důkazy.

Jiné formulace problémů

Podrobnější informace naleznete v článku Výpočetní problém.

V praxi

Rozhodovací problém SAT, splnitelnosti výrokové formule (často zadané v CNF), se používá ve verifikaci programů a verifikaci obvodů. Metody řešení čistě boolovských formulí jsou založeny na algoritmu DPLL. Konjunkce formulí v lineární reálné nebo racionální aritmetice jsou řešitelné simplexovým algoritmem, další rozhodnutelné teorie mají svoje specializované algoritmy. Pro obecnější formule a kombinování metod se používá řešení SMT (Satisfiability Modulo Theories).


Zdroj datcs.wikipedia.org
Originálcs.wikipedia.org/wiki/Rozhodovací_problém
Zobrazit sloupec 

Kalkulačka - Výpočet

Výpočet čisté mzdy

Důchodová kalkulačka

Přídavky na dítě

Příspěvek na bydlení

Rodičovský příspěvek

Životní minimum

Hypoteční kalkulačka

Povinné ručení

Banky a Bankomaty

Úrokové sazby, Hypotéky

Směnárny - Euro, Dolar

Práce - Volná místa

Úřad práce, Mzda, Platy

Dávky a příspěvky

Nemocenská, Porodné

Podpora v nezaměstnanosti

Důchody

Investice

Burza - ČEZ

Dluhopisy, Podílové fondy

Ekonomika - HDP, Mzdy

Kryptoměny - Bitcoin, Ethereum

Drahé kovy

Zlato, Investiční zlato, Stříbro

Ropa - PHM, Benzín, Nafta, Nafta v Evropě

Podnikání

Města a obce, PSČ

Katastr nemovitostí

Katastrální úřady

Ochranné známky

Občanský zákoník

Zákoník práce

Stavební zákon

Daně, formuláře

Další odkazy

Auto - Cena, Spolehlivost

Registr vozidel - Technický průkaz, eTechničák

Finanční katalog

Volby, Mapa webu

English version

Czech currency

Prague stock exchange


Ochrana dat, Cookies

 

Copyright © 2000 - 2024

Kurzy.cz, spol. s r.o., AliaWeb, spol. s r.o.