当前位置: 首页 > news >正文

基于树 二叉树的回溯搜索算法(DPLL)

1)全称:Davis-Putnam-Logemann-Loveland
2)思想:基于树/二叉树的回溯搜索算法,主要基于两种策略。

  • 单子句规则:如果一个CNF范式中存在单子句L(含有一个文字的子句),取L为真值。通过L的值,遍历其他的子句:
    如果某个子句中含有L,则将这个子句从范式中去掉(子句没了)
    如果某个子句中含有-L(L的非),则将-L从这个子句中去掉(文字没了)
    处理完之后,如果范式为空,则该范式为真;如果范式中含有空子句,则该范式为假。
  • 分裂策略:如果一个范式S中不存在单子句。则按照某种方式选取一个变元v,假设v为真值和假值,然后重复单子句规则。(算法的复杂度和是否高效取决于选择变元的策略)
//伪代码:
bool DPLL(范式S){while(S中有单子句L){for(子句P in S){if(P中有L) 去掉P;else if(P中有-L) 去掉-L;}for循环执行完毕之后,S化简为S1if(S1 为空) return TRUE;else if(S1 中含有空子句) return FLASE;}按照某种策略选择变元v;if(DPLL(S∪v)) return TRUE;//递归回溯部分else return DPLL(S∪-v);
}

注意:既然是递归算法,自然要注意几个重要的点。其中有一个就是要记得你写的递归是否需要回溯。如果需要回溯,那些中间变量以及标记变量都需要及时回溯。(在传指针的时候尤其需要注意!!!)

相关文章:

基于树 二叉树的回溯搜索算法(DPLL)

1)全称:Davis-Putnam-Logemann-Loveland 2)思想:基于树/二叉树的回溯搜索算法,主要基于两种策略。 单子句规则:如果一个CNF范式中存在单子句L(含有一个文字的子句),取L为…...

【嵌入式】适用于ESP32/ESP8266远程自动烧录工具

文章目录 介绍开始使用下载项目开启服务端开始远程烧录 后记 介绍 esp_remote_flash_tool 是一款基于 esptool.py 的远程自动烧录工具,支持 ESP32 和 ESP8266。 使用场景 基于 ESP-IDF 、ESP8266 NONO SDK、ESP8266 RTOS SDK 进行开发的项目项目代码存储在 Linux…...

服务器遭受攻击如何处理(记录排查)

本文的重点是介绍如何鉴别安全事件以及保护现场的方法,以确保服务器负责人能够在第一时间对安全攻击做出反应,并在最短时间内抵御攻击或减少攻击所带来的影响。 在服务器遭遇疑似安全事件时,通常可以从账号、进程、网络和日志四个主要方面进…...

分享81个工作总结PPT,总有一款适合您

分享81个工作总结PPT,总有一款适合您 PPT下载链接:https://pan.baidu.com/s/13hyrlZo2GhRoQjI-6z31-w?pwd8888 提取码:8888 Python采集代码下载链接:采集代码.zip - 蓝奏云 学习知识费力气,收集整理更不易。知识付…...

什么是DITA?从百度的回答说起

▲ 搜索“大龙谈智能内容”关注GongZongHao▲ 什么是DITA? 把这个问题输入百度,获得以下回答: DITA 是“Darwin Information Typing Architecture”(达尔文信息类型化体系结构)的缩写,它是IBM 公司为OASIS 所支持…...

线扫相机DALSA软件开发套件有哪些

Win10和Win7系统完整SDK目录截图: Sapera Configuration 缓存与内存管理,以及通信端口配置工具,部分功能等效于Detection(查找相机)内的Settings。 Sapera Log Viewer 打开Log Viewer后会显示之前发生过的所有与Sapera LT软件有关的运行信息…...

Scala集合操作

1 集合简介 Scala 中拥有多种集合类型,主要分为可变的和不可变的集合两大类: 可变集合: 可以被修改。即可以更改,添加,删除集合中的元素; 不可变集合类:不能被修改。对集合执行更改,…...

SQL备忘--特殊状态“未知“以及“空值NULL“的判断

一、新逻辑状态:未知 对于大多数其他语言的逻辑判断,一般只有两种结果:真(TURE)或假(FALSE)但在SQL中,还会有第三种判断结果:未知(UNKNOWN),表示无法判断出真或者假。 未知状态会影响传统逻辑运算&#x…...

《Pytorch新手入门》第一节-认识Tensor

《Pytorch新手入门》第一节-认识Tensor 一、认识Tensor1.1 Tensor定义1.2 Tensor运算操作1.3 Tensor与numpy转换 参考《深度学习框架PyTorch:入门与实践_陈云(著)》 一、认识Tensor 1.1 Tensor定义 Tensor 是 PyTorch 中重要的数据结构,可认为是一个高…...

【JAVA学习笔记】55 - 集合-Map接口、HashMap类、HashTable类、Properties类、TreeMap类(难点)

项目代码 https://github.com/yinhai1114/Java_Learning_Code/tree/main/IDEA_Chapter14/src/com/yinhai/map_ Map接口 一、Map接口的特点(难点) 难点在于对Node和Entry和EntrySet的关系 注意:这里讲的是JDK8的Map接口特点 Map java 1) Map与Collect…...

Pytorch图像模型转ONNX后出现色偏问题

本篇记录一次从Pytorch图像处理模型转换成ONNX模型之后,在推理过程中出现了明显色偏问题的解决过程。 问题描述:原始pytorch模型推理正常,通过torch.onnx.export()函数转换成onnx之后,推理时出现了比较明显的颜色偏差。 原始模型…...

插值表达式 {{}}

前言 持续学习总结输出中,今天分享的是插值表达式 {{}} Vue插值表达式是一种Vue的模板语法,我们可以在模板中动态地用插值表达式渲染出Vue提供的数据绑定到视图中。插值表达式使用双大括号{{ }}将表达式包裹起来。 1.作用: 利用表达式进行…...

白雪公主

前言 #define 皇后 王后 在很久很久以前,有一个国王,由于王后难产致死,导致生下的孩子没母,由于缺爱,变的非常的刻薄 由于公主过于刻薄,以至于见到她的人都面色煞白感到空中飘雪 37C 的嘴怎能说出如此刻薄的话语。为了…...

宏观角度认识递归之合并两个有序链表

21. 合并两个有序链表 - 力扣(LeetCode) 依旧是利用宏观角度来看待问题,其中最主要的就是要找到重复的子问题; 题目中要求把两个有序链表进行合并,同时不能够创建新的节点,并返回链表的起始点:因…...

Leetcode-509 斐波那契数列

使用循环 class Solution {public int fib(int n) {if(n 0){return 0;}if(n 1){return 1;}int res 0;int pre1 1;int pre2 0;for(int i 2; i < n; i){res pre1 pre2;pre2 pre1;pre1 res;}return res;} }使用HashMap class Solution {private Map<Integer,Int…...

解密 docker 容器内 DNS 解析原理

背景 这几天在使用 docker 中&#xff0c;碰到了在容器中 DNS 解析的一些问题。故花些时间弄清了原理&#xff0c;写此文章分享。 1. docker run 命令启动的容器 以启动一个 busybox 容器为例&#xff1a; rootubuntu20:~# docker run -itd --name u1 busybox 63b59ca8aeac…...

故障诊断模型 | Maltab实现SVM支持向量机的故障诊断

效果一览 文章概述 故障诊断模型 | Maltab实现SVM支持向量机的故障诊断 模型描述 Chinese: Options:可用的选项即表示的涵义如下   -s svm类型:SVM设置类型(默认0)   0 – C-SVC   1 --v-SVC   2 – 一类SVM   3 – e -SVR   4 – v-SVR   -t 核函数类型:核函…...

开源的网站数据分析统计平台——Matomo

Matomo 文章目录 Matomo前言一、环境准备1. 整体安装流程2.安装PHP 7.3.303.nginx配置4.安装matomo4.1 访问安装页面 http://192.168.10.45:8088/index.php4.2 连接数据库4.3 设置管理员账号4.4 生成js跟踪代码4.5 安装完成4.6 警告修改4.7 刷新页面&#xff0c;就可以看到登陆…...

linux入门到地狱

linux—001入门 IT圈必备(前端工作者用的比较少) 老旧电脑跑linux不容易卡 我代码没保存windows闪退&#xff0c;僵停(vs2019卡掉线)&#xff0c;重启更新,占用cpu内存服务报错pip各种bug 出来生态环境友好其他的全是bug(bug时间成本超过了windows快捷友好生态) 那就说明wind…...

架构”4+1“视图

1995年Kruchten提出了著名的“41”视图&#xff0c;用来描述软件系统的架构。在“41”视图中&#xff0c;&#xff08;物理视图 &#xff09;用来描述系统软硬件之间的映射关系&#xff0c;这个视图往往&#xff08;系统工程人员&#xff09;最为关注&#xff1b;&#xff08;逻…...

实战应用:基于编译原理,利用快马AI构建你的首个代码压缩工具

实战应用&#xff1a;基于编译原理&#xff0c;利用快马AI构建你的首个代码压缩工具 最近在学习编译原理&#xff0c;发现这门看似高深的学科其实离我们日常开发很近。比如代码压缩工具&#xff0c;就是编译原理技术的典型应用场景。今天就用InsCode(快马)平台来快速实现一个简…...

无需配置环境!MinerU镜像一键部署,即刻体验智能文档解析

无需配置环境&#xff01;MinerU镜像一键部署&#xff0c;即刻体验智能文档解析 1. 为什么选择智能文档解析&#xff1f; 在日常办公和学习中&#xff0c;我们经常需要处理各种文档资料&#xff1a;PDF报告、扫描合同、学术论文、财务报表等。传统方式要么需要手动输入&#…...

微信小程序支付V3接口在ThinkPHP6中的封装实践:如何设计一个可复用的支付服务类?

微信小程序支付V3接口在ThinkPHP6中的高复用封装实践 微信支付作为小程序生态中最核心的商业化能力&#xff0c;其技术实现的质量直接影响着用户体验和系统稳定性。本文将分享如何在ThinkPHP6框架下&#xff0c;从零构建一个符合SOLID原则的支付服务类&#xff0c;实现一次封装…...

Goofys安全最佳实践:保护你的S3文件系统访问的终极指南

Goofys安全最佳实践&#xff1a;保护你的S3文件系统访问的终极指南 【免费下载链接】goofys a high-performance, POSIX-ish Amazon S3 file system written in Go 项目地址: https://gitcode.com/gh_mirrors/go/goofys 在当今云原生时代&#xff0c;安全访问云存储变得…...

Scrcpy:重新定义安卓设备跨平台交互体验

Scrcpy&#xff1a;重新定义安卓设备跨平台交互体验 【免费下载链接】scrcpy Display and control your Android device 项目地址: https://gitcode.com/gh_mirrors/sc/scrcpy 一、跨设备交互的现实困境&#xff1a;发现问题本质 在数字化办公与移动开发的日常场景中&a…...

Python爬虫实战:Playwright 穿透阿里云市场,自动化抓取镜像情报!

㊗️本期内容已收录至专栏《Python爬虫实战》,持续完善知识体系与项目实战,建议先订阅收藏,后续查阅更方便~ ㊙️本期爬虫难度指数:⭐⭐ 🉐福利: 一次订阅后,专栏内的所有文章可永久免费看,持续更新中,保底1000+(篇)硬核实战内容。 全文目录: 🌟 开篇语 0️⃣ 前…...

ssm+java2026年毕设蔬果批发网络平台【源码+论文】

本系统&#xff08;程序源码&#xff09;带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、选题背景关于农产品电商交易模式的研究&#xff0c;现有研究主要以综合电商平台&#xff08;如淘宝、京东&#xff09;的农产品销售模式…...

【Hung-yi Lee】《Introduction to Generative Artificial Intelligence》(6)

图片来自于 midjourney Introduction to Generative AI 2024 Spring 文章目录第11講&#xff1a;大型語言模型在「想」什麼呢&#xff1f; — 淺談大型語言模型的可解釋性&#xff08;24.05.03&#xff09;参考第11講&#xff1a;大型語言模型在「想」什麼呢&#xff1f; — 淺…...

利润中心(Profit Center)和段(Segment)在 SAP 中关系非常紧密,但它们的设计目的和应用场景有本质区别

利润中心&#xff08;Profit Center&#xff09;和段&#xff08;Segment&#xff09;在 SAP 中关系非常紧密&#xff0c;但它们的设计目的和应用场景有本质区别。简单来说&#xff0c;段&#xff08;Segment&#xff09;是利润中心的一个上级归类。它们之间通常是“一对多”的…...

赋能音乐自由:Unlock Music技术解密与全场景应用指南

赋能音乐自由&#xff1a;Unlock Music技术解密与全场景应用指南 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库&#xff1a; 1. https://github.com/unlock-music/unlock-music &#xff1b;2. https://git.unlock-music.dev/um/web 项目地址: https:…...