Кіріспе
Іздеу алгоритмінің түрі Логика және компьютерлік ғылымда Дэвис–Путнам–Логеман–Ловеланд (DPLL) алгоритмі – конъюнктивті қалыпты формадағы логикалық формулалардың қанағаттандырылуын анықтауға арналған толық, кері іздеу алгоритмі, яғни CNF SAT мәселесін шешуге арналған. Ол 1961 жылы Мартин Дэвис, Джордж Логеман және Дональд В. Лавленд енгізген, ал ол 1960 жылы Дэвис және Хилари Путнам жасаған шешімге негізделген процедура – бұрынғы Дэвис–Путнам алгоритмінің жетілдірілген нұсқасы болып табылады. Көбінесе ескі жарияланымдарда Дэвис–Логеман–Ловеланд алгоритмі "Дэвис–Путнам әдісі" немесе "DP алгоритмі" деп аталады. Айырмашылықты сақтайтын басқа да кең таралған атаулар – DLL және DPLL.
In logic and computer science, the Davis–Putnam–Logemann–Loveland (DPLL) algorithm is a complete, backtracking based search algorithm for deciding the satisfiability of propositional logic formulae in conjunctive normal form, i. e. for solving the CNF SAT problem. It was introduced in 1961 by Martin Davis, George Logemann and Donald W. Loveland and is a refinement of the earlier Davis–Putnam algorithm, which is a resolution based procedure developed by Davis and Hilary Putnam in 1960. Especially in older publications, the Davis–Logemann–Loveland algorithm is often referred to as the "Davis–Putnam method" or the "DP algorithm". Other common names that maintain the distinction are DLL and DPLL.
Орындау және қолдану
SAT проблемасы теориялық және практикалық тұрғыдан маңызды. Күрделілік теориясында бұл NP-толық екені дәлелденген алғашқы мәселе, және модельдік тексеру, автоматтандырылған жоспарлау және кестелеу, сондай-ақ жасанды интеллекттегі диагностика сияқты кең ауқымды қолданыстарда кездеседі. Сондықтан, тиімді SAT шешімдеушілерді (solver) жасау көп жылдар бойы зерттеу тақырыбы болып келді. GRASP (1996-1999) DPLL-ді пайдалана отырып жасалған алғашқы жүзеге асырылымдардың бірі болды, ал MiniSat 2004 және 2005 жылғы жарыстарда жеңіске жетті. DPLL-ді жиі қолданатын тағы бір сала – автоматты теореманы дәлелдеу немесе теориялар бойынша қанағаттандырушылық (SMT), бұл SAT проблемасының бір түрі, онда логикалық айнымалылар басқа математикалық теорияның формулаларымен алмастырылады.
Қатынасты алгоритмдер
1986 жылдан бері SAT мәселесін шешу үшін (қысқартылған тәртіптелген) екілік шешім диаграммалары да қолданылып келеді. 1989-1990 жылдары Stålmarck формулаларды тексеру әдісі ұсынылып, патенттелген. Ол өндірістік салаларда қолданыс тапқан. DPLL алгоритмі бірінші реттік логиканың фрагменттері үшін автоматты түрде теореманы дәлелдеу мақсатында DPLL(T) алгоритмі арқылы кеңейтілді. 2010-2019 жылдар аралығында алгоритмді жақсарту жұмыстары алгоритмді жылдамдату үшін тармақталуға арналған литеральдерді таңдаудың жақсы стратегияларын және жаңа дерек құрылымдарын анықтады, әсіресе бірлік тарату бөлігінде. Дегенмен, ең маңызды жақсарту – бұл күшті алгоритм, Конфликтке Бағытталған Шарттарды Оқыту (CDCL), ол DPLL-ге ұқсас, бірақ конфликтке жеткеннен кейін конфликттің түпкі себептерін (айнымалыларға берілген мәндерді) «танып біледі» және осы ақпаратты бірдей конфликтке қайтадан жетуді болдырмау үшін хронологиялық емес кері ілгерілеуді (кері секіру) жүзеге асыруға пайдаланады. 2019 жылға қарай, SAT шешуге арналған ең заманауи құралдардың көпшілігі CDCL негізінде құрылған.
Басқа ұғымдармен байланысы
Қанағаттандырылмаған мысалдардағы DPLL негізделген алгоритмдердің жұмысы ағаш тәсілімен шешілген дәлелдемелерге сәйкес келеді.