DPLL алгоритм

Алгоритм пошуку з поверненням DPLL

Алгоритм Девіса-Патнема-Логемана-Лавленд — це повний алгоритм пошуку з поверненням для визначення здійсненності булевих формул, записаних в кон'юнктивній нормальній формі (КНФ) для вирішення завдання CNF-SAT[1].

Алгоритм був опублікований в 1962 році Мартіном Девісом, Гіларі Патнемом, Джорджем Логеманом й Дональдом Лавленд та є удосконаленням більш раннього алгоритму Девіса-Патнема, методу, заснованого на правилі резолюцій, розробленого Девісом та Патнемом в 1960 році.

DPLL — високо-ефективний алгоритм якому вже 50 років але все ще лежить в основі більшості ефективних вирішувачів для SAT, а також для систем автоматичного доведення теорем та фрагментів логіки першого порядку.

Реалізації та додатки

Завдання здійсненності булевих формул важливо як з теоретичної, так й з практичної точок зору. В теорії складності це перше завдання для якої були доведена приналежність клас NP-повні задачі. Також вона може з'являтися в самих різних практичних додатків, наприклад перевірка моделей, складання розкладів, діагностика.[2]

Даний напрямок був та залишається областю досліджень, що розвивається. Щорічно проводяться змагання між різними людьми котрі вирішують SAT[3]. Сучасні реалізації алгоритму DPLL, такі як Chaff and zChaff[4], GRASP або MINISAT[5] займають перші позиції протягом останніх років. Інший тип додатків, в яких часто використовується DPLL — це системи автоматичного доведення теорем.

Опис алгоритму

Основний алгоритм з поверненням починається з вибору змінної, присвоєння їй значення «істина», спрощення формули та потім рекурсивним чином перевірити спрощення формули на здійсненність; якщо вона здійсненна, то вихідна формула теж здійсненна. Інакше, процедура повторюється, але для обраної змінної встановлюється значення «брехня». Цей підхід називається «правилом розбивки», так як він розбиває завдання на дві більш прості підзадачі. Крок спрощення полягає в тому, що з формули дістаються всі диз'юнкти, які стають істинними після присвоєння обраній змінній значення «істина», та видалення від решти диз'юнкт всіх входжень цієї змінної зі значенням «брехні»[6].

Алгоритм DPLL дозволяє поліпшити основний алгоритм з поверненням за рахунок використання наступних правил на кожному кроці:

Поширення змінної

Якщо диз'юнкта містить рівно одну змінну, якій ще не задали значення, ця диз'юнкта може прийняти значення «істина» тільки в разі присвоєння змінній значення, яке зробить її істинною («істина», якщо змінна входить в диз'юнкт без заперечення та «брехня», якщо змінна з запереченням). Таким чином, не потрібно робити вибір на даному етапі. На практиці за цим слідує багато присвоєнь змінним значень, та через це істотно скорочується кількість варіантів перебору.

Виняток «чистих» змінних

Якщо деяка змінна входить в формулу тільки з однієї «полярністю», тобто без заперечень, або тільки з запереченнями, вона називається чистою. «Чистим» змінним завжди можна задати значення так, що всі утримуючи її диз'юнкти стануть істинними. Таким чином, ці диз'юнкти не впливатимуть на простір варіантів та їх можна буде видалити.

Нездійсненність, при даних конкретних значеннях змінних, визначається коли одна з диз'юнкт стає «порожня», тобто всім її змінним задаються значення таким чином, що їх входження стають помилковими. Здійснимість формули констатується або коли всім змінним задані значення так, що не виникає «порожніх» диз'юнкт, або (в сучасних реалізація) кожна диз'юнкта дорівнює істини. Нездійсненність формули може бути встановлена тільки після закінчення перебору. Алгоритм DPLL може бути виражений за допомогою наступного псевдокоду, де знаком Φ позначена формула в кон'юнктивній нормальній формі (КНФ):

Алгоритм DPLL
        Вхідні дані: Набір диз'юнкт формули Φ.
        Вихідні дані: Значення істинності

Псевдокод:

function DPLL(Φ)
   if Φ - набір виконуваних диз'юнкт
       then return true;
   if Φ містить порожню диз'юнкту
       then return false;
    for each диз'юнкти з однією змінною l in Φ
      Φ  ←  unit-propagate(l, Φ);
   for each l яка зустрічається в "чистому" вигляді in Φ
      Φ   ←   pure-literal-assign(l, Φ);
   l ←  choose-literal(Φ);
   return DPLL(Φ&l) or DPLL(Φ&not(l));

У цьому псевдокоді unit-propagate(l, Φ) й pure-literal-assign(l, Φ) — це функції, які повертають результат застосовуваний до змінної l в формулі Φ — поширення змінної та правила виключення «чистої змінної». Іншими словами, вони замінють кожне входження змінної lзначенням «істина» та кожне входження змінної з запереченням not l значенням «брехня» у формулі Φ, а потім спрощують результативну формулу. Наведений псевдокод повертає тільки відповідь — чи виконує формулу останній з присвоєних наборів значень чи ні. У сучасних реалізаціях, часткові виконувані набори, теж повертаються у разі успіху.

Алгоритм залежить від вибору «змінної розгалуження», тобто змінної, яка вибирається на черговому кроці алгоритму з поверненням присвоєння їй певного значення. Таким чином, це не один алгоритм, а ціле сімейство алгоритмів, по одному на кожен можливий спосіб вибору «змінних розгалуження». Ефективність алгоритму сильно залежить від цього вибору. Час роботи алгоритму (для яких може бути або рости експоненціально) в залежності від вибору «змінних розгалуження». Методи вибору — евристичні техніки, які називаються також «евристиками для розгалуження» (branching heuristics).

Візуалізація

Девіс, Логемана, Лавленд (1962) розробили цей алгоритм. Деякі властивості алгоритму:

  • Він засновується для пошуку.
  • Він є основою для багатьох сучасних вирішувачів SAT.
  • Він не використовує джерела введено в 1996 році.

Приклад з візуалізацією алгоритму DPLL, що має хронологічні джерела:

Сучасні дослідження

Поточні дослідження щодо поліпшення алгоритму виконуються в трьох напрямках:

  • визначення різних оптимізуючих методів вибору «змінної розгалуження»;
  • розробка нових структур даних для прискорення роботи алгоритму, особливо для поширення змінної;
  • розробка різних варіантів базового алгоритму перебору з поверненням.

Останній напрям включає «нехронологічні повернення» та запам'ятовування помилкових випадків. Ці поліпшення можна описати як метод повернення після досягнення помилкових диз'юнкт, при якому запам'ятовується, яке саме привласнення значення змінної спричинило цей результат, щоб в подальшому уникнути даремних обчислень, тим самим скоротити час роботи.

Новіший алгоритм — метод Сталмарка — відомий з 1990 року, використовується для вирішення задачі SAT. На основі DPLL-алгоритму в середині 1990-х був створений CDCL-алгоритм.

Зв'язок з іншими

Алгоритми DPLL оснований на нездійсненних випадках котрі відповідають доказам спрощення дозволу дерева.

Див. також

Посилання

  1. LLC, Revolvy,. "Davis–Putnam algorithm" on Revolvy.com. www.revolvy.com (англ.). Процитовано 28 квітня 2017.
  2. Handbook of Knowledge Representation. dai.fmph.uniba.sk (амер.). Архів оригіналу за 23 лютого 2017. Процитовано 28 квітня 2017.
  3. committee, SATComp Organizing. SAT Competitions. www.satcompetition.org. Архів оригіналу за 12 лютого 2005. Процитовано 19 квітня 2017.
  4. Boolean Satisfiability Research Group at Princeton. www.princeton.edu. Архів оригіналу за 19 квітня 2017. Процитовано 19 квітня 2017.
  5. MiniSat Page. minisat.se. Архів оригіналу за 20 квітня 2012. Процитовано 19 квітня 2017.
  6. Лекториум (24 липня 2013), DPLL алгоритм с вероятностным отсечением: оценка времени работы | Елена Иконникова | CSC | Лекториум, процитовано 28 квітня 2017

Література

  • R. Dechter; I. Rish. «Directional Resolution: The Davis–Putnam Procedure, Revisited». In J. Doyle and E. Sandewall and P. Torasso. Principles of Knowledge Representation and Reasoning: Proc. of the Fourth International Conference (KR'94). Starswager18. pp. 134—145.
  • John Harrison (2009). Handbook of practical logic and automated reasoning. Cambridge University Press. pp. 79–90. ISBN 978-0-521-89957-4.

Read other articles:

2014 United States House of Representatives elections in Louisiana ← 2012 November 4, 2014 (2014-11-04) 2016 → All 6 Louisiana seats to the United States House of Representatives   Majority party Minority party   Party Republican Democratic Last election 5 1 Seats won 5 1 Seat change Popular vote 1,031,270 406,186 Percentage 65.74% 25.89% Swing 1.28% 4.83% Republican   60–70%   70–80% Democratic  ...

 

Harry Wilson Wilson bermain untuk Hull City pada 2018Informasi pribadiNama lengkap Harry Wilson[1]Tanggal lahir 22 Maret 1997 (umur 27)[2]Tempat lahir Wrexham, WalesTinggi 1,73 m (5 ft 8 in)[3]Posisi bermain Penyerang SayapInformasi klubKlub saat ini FulhamNomor 8Karier junior2005–2015 LiverpoolKarier senior*Tahun Tim Tampil (Gol)2015–2020 Liverpool 0 (0)2015 → Crewe Alexandra (pinjam) 7 (0)2018 → Hull City (pinjam) 13 (7)2018–2019 → De...

 

2023 video gamePharaoh: A New EraDeveloper(s)Triskell InteractivePublisher(s)DotemuSeriesCity BuildingPlatform(s)WindowsReleaseWW: February 15, 2023Genre(s)City-buildingMode(s)Single-player Pharaoh: A New Era is a city-building video game designed by Triskell Interactive and published by Dotemu. It is a remake of Pharaoh (1999). Gameplay Main article: Pharaoh (video game) § Gameplay Players build a city in ancient Egypt. As a remake, the game closely follows the original. The graphics a...

Piala Liga Inggris 1992–19931992–93 Football League CupNegara Inggris WalesTanggal penyelenggaraan18 Agustus 1992 s.d. 18 April 1993Jumlah peserta92Juara bertahanManchester UnitedJuaraArsenal(gelar ke-2)Tempat keduaSheffield WednesdayPencetak gol terbanyakIan Wright(5 gol)← 1991–1992 1993–1994 → Piala Liga Inggris 1992–1993 adalah edisi ke-33 penyelenggaraan Piala Liga Inggris, sebuah kompetisi dengan sistem gugur untuk 92 tim terbaik di Inggris. Edisi ini dimenangkan ...

 

Questa voce sull'argomento militari svedesi è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Philip Christoph Königsmarck Philip Christoph Königsmarck, conosciuto anche come Philip Christoph von Königsmarck (4 marzo 1665 – 2 luglio 1694), è stato un militare svedese. Indice 1 Biografia 2 Ascendenza 3 Altri progetti 4 Collegamenti esterni Biografia È conosciuto come l'amante di Sofia Dorotea di Celle, consorte di Giorgio Luigi di Hannover, che di...

 

Gustaaf Adolf Maengkom Duta Besar Indonesia untuk PolandiaMasa jabatan1962–1966PresidenSoekarnoPendahuluAdam MalikPenggantiMaimoen HabsjahMenteri Kehakiman Indonesia ke-11Masa jabatan9 April 1957 – 6 Juli 1959PresidenSoekarnoPerdana MenteriDjoeanda KartawidjajaPendahuluMuljatnoPenggantiSahardjo Informasi pribadiLahir(1907-03-11)11 Maret 1907 Tondano, Minahasa, Hindia BelandaMeninggal25 Mei 1984(1984-05-25) (umur 77)Jakarta, IndonesiaKebangsaanIndonesiaPartai politikParta...

追晉陸軍二級上將趙家驤將軍个人资料出生1910年 大清河南省衛輝府汲縣逝世1958年8月23日(1958歲—08—23)(47—48歲) † 中華民國福建省金門縣国籍 中華民國政党 中國國民黨获奖 青天白日勳章(追贈)军事背景效忠 中華民國服役 國民革命軍 中華民國陸軍服役时间1924年-1958年军衔 二級上將 (追晉)部队四十七師指挥東北剿匪總司令部參謀長陸軍�...

 

Lukisan Pohon Pengetahuan tentang yang Baik dan yang Jahat oleh Lucas Cranach Senior Pohon Pengetahuan Tentang yang Baik dan yang Jahat adalah sebuah pohon yang menurut Kitab Suci Yahudi dan Kristen ditempatkan Allah di tengah Taman Eden. Kisah ini terdapat dalam Kitab Kejadian pasal 2 dan 3. Menurut Kejadian 2:9, Allah melarang Adam (termasuk juga Hawa) memakannya (Kejadian 2:17). Pohon lain yang juga ada di tengah taman itu adalah Pohon Kehidupan. Kejadian 2:16 menyatakan bahwa Allah mengiz...

 

Papa Adriano VICopia di Jan van Scorel, Ritratto di Papa Adriano VI (1625 circa); olio su tela, 93×73,6 cm, Centraal Museum, Utrecht218º papa della Chiesa cattolica Elezione9 gennaio 1522 Incoronazione31 agosto 1522 Fine pontificato14 settembre 1523(1 anno e 248 giorni) MottoPatere et sustine[1] Cardinali creativedi Concistori di papa Adriano VI Predecessorepapa Leone X Successorepapa Clemente VII  NomeAdriaan Floriszoon Boeyens d'Edel NascitaUtrecht, 2 marzo 1459 Ord...

2016年美國總統選舉 ← 2012 2016年11月8日 2020 → 538個選舉人團席位獲勝需270票民意調查投票率55.7%[1][2] ▲ 0.8 %   获提名人 唐納·川普 希拉莉·克林頓 政党 共和黨 民主党 家鄉州 紐約州 紐約州 竞选搭档 迈克·彭斯 蒂姆·凱恩 选举人票 304[3][4][註 1] 227[5] 胜出州/省 30 + 緬-2 20 + DC 民選得票 62,984,828[6] 65,853,514[6]...

 

                                            الثقافة الأعلام والتراجم الجغرافيا التاريخ الرياضيات العلوم المجتمع التقانات الفلسفة الأديان فهرس البوابات أهلا وسهلا بكم فيبوابة فرنسابوابة ويكيبيديا العربية عن فرنسا فرنسا فرنسا (با�...

 

American business executive (born 1960) For other people named Tim Cook, see Tim Cook (disambiguation). Tim CookCook in 2023BornTimothy Donald Cook (1960-11-01) November 1, 1960 (age 63)Mobile, Alabama, U.S.EducationAuburn University (BS)Duke University (MBA)TitleCEO of Apple Inc. (2011–present)WebsiteApple Leadership ProfileSignature Timothy Donald Cook (born November 1, 1960)[1] is an American business executive who is the current chief executive officer of Apple Inc. Cook ha...

Irish republican Bobby StoreyStorey in 2012Born(1956-04-11)11 April 1956Belfast, Northern IrelandDied21 June 2020(2020-06-21) (aged 64)Newcastle upon Tyne, England[1]Political partySinn Féin Robert Storey (11 April 1956 – 21 June 2020)[2][3] was a Provisional Irish Republican Army (IRA) volunteer from Belfast, Northern Ireland. Prior to an 18-year conviction for possessing a rifle, he also spent time on remand for a variety of charges and in total served 20 yea...

 

Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus. Cet article ne cite pas suffisamment ses sources (octobre 2019). Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sites web de qualité traitant du thème abordé ici, merci de compléter l'article en donnant les références utiles à sa vérifiabilité et en les liant à la section « Notes et références ». En pratique : Quelles sources sont attendues ? ...

 

栗駒山 北北西からの須川岳。栗駒山の主峰である。名残ヶ原から撮影。標高 1,626[1][注釈 1] m所在地 日本岩手県一関市宮城県栗原市秋田県湯沢市・雄勝郡東成瀬村位置 北緯38度57分39秒 東経140度47分18秒 / 北緯38.96083度 東経140.78833度 / 38.96083; 140.78833座標: 北緯38度57分39秒 東経140度47分18秒 / 北緯38.96083度 東経140.78833度 / 38.96083;...

American politician David ParkerMember of the Pennsylvania House of Representativesfrom the 115th districtIncumbentAssumed office January 6, 2015[1]Preceded byFrank FarinaSucceeded byMaureen Madden Personal detailsPolitical partyRepublicanSpouseAmandaChildren5Residence(s)Stroud Township, Pennsylvania, U.S.Alma materMessiah CollegeOccupationBusiness Owner David Parker was a member of the Pennsylvania House of Representatives, representing the 115th House district in Mon...

 

Historic house in Ohio, United States United States historic placeThomas A. Edison BirthplaceU.S. National Register of Historic PlacesU.S. National Historic Landmark HABS photo, 1934Show map of OhioShow map of the United StatesLocation9 Edison DriveMilan, OhioCoordinates41°18′0″N 82°36′16″W / 41.30000°N 82.60444°W / 41.30000; -82.60444Arealess than one acreBuilt1841 (1841)Built bySamuel EdisonNRHP reference No.66000608[1]Added to NRHP...

 

Members and supporters of the short-lived 1871 Paris Commune This article is about those associated with the Paris Commune. For the uncapitalized term (for a commune member in general), see commune (intentional community). For the band, see The Communards. For a staff cook, see brigade de cuisine. Communards (National Guards) at Boulevard Voltaire The Commune arrested by Ignorance and Reaction Executed Communards (National Guards) Communards executed in 1871 The corpses of Parisian Communards...

'Bagradas' and 'Bagradas River' redirect here. For the battles, see Battle of the Bagradas River (disambiguation). River in Algeria and TunisiaMedjerdaThe Medjerda RiverMedjerda river drainage basin (Map in French)Native nameواد مجردة (Arabic)LocationCountriesAlgeria and TunisiaPhysical characteristicsSource  • locationTell Atlas, Algeria Mouth  • locationGulf of Tunis, Mediterranean SeaLength460 kilometres (290 mi)Basin size22,...

 

،الإجازة المرضية أو (أيام مرضية المدفوعة الأجر) (بالإنجليزية: Sick leave)‏ هي إجازة من العمل والتي يمكن للعمال استخدامها خلال فترة المرض مؤقتاً للبقاء في المنزل ومعالجة صحتهم وتحقيق احتياجات السلامة دون فقدان الأجر كما يحق للعامل ضم الإجازة السنوية إلى إجازته المرضية إذا استن...