离散数学-命题逻辑+异或(对称差)+主析取范式+主合取范式+推理

异或与精确表达

异或(对称差)

异或,英文为exclusive OR,缩写成xor
异或的数学符号为“⊕”,计算机符号为“eor”。其运算法则为:

a⊕b = (¬a ∧ b) ∨ (a ∧¬b)

如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。
集合表示方法
A ⊕ B = ( A − B ) ∪ ( B − A ) A⊕B=(A-B)\cup (B-A) AB=(AB)(BA)
在这里插入图片描述

精确表达:真值表需要精确对应

天不下雨,我就上街,否则在家
( ¬ 天 下 雨 → 我 上 街 ) ∧ ( 天 下 雨 → 我 在 家 ) (\neg 天下雨 →我上街)∧(天下雨 →我在家) (¬)()

命题公式的简化与命题等价

命题公式的简化

简 化 命 题 公 式 的 约 定 { 最 外 层 括 号 可 省 略 不 影 响 运 算 次 序 ( ¬ , ∧ , ∨ , → , ↔ ) 的 括 号 可 省 略 \mathrm{简化命题公式的约定}\left\{\begin{array}{l}\mathrm{最外层括号可省略}\\\mathrm{不影响运算次序}(\neg,\wedge,\vee,\rightarrow,\leftrightarrow)\mathrm{的括号可省略}\end{array}\right. {(¬,,,,)

命题等价:真值表相同

基础等价公式

等 价 公 式 的 证 明 方 法 : 列 真 值 表 法 或 等 价 公 式 变 换 \textcolor{#228B22}{等价公式的证明方法:列真值表法或等价公式变换}

重言式(永真式)与矛盾式(永假式)

重言蕴含式:

当 且 仅 当 A → B ⇔ T , 称 A 重 言 蕴 含 B , 记 作 A ⇒ B 当且仅当A\rightarrow B \Leftrightarrow T ,称A\mathrm{重言蕴含}B,\mathrm{记作}A\Rightarrow B ABTAB,AB
重 言 蕴 含 式 A ⇒ B 成 立 的 证 明 { 假 设 A 为 真 , 推 出 B 为 真 假 设 B 为 假 , 推 出 A 为 假 \mathrm{重言蕴含式}A\Rightarrow B\mathrm{成立的证明}\left\{\begin{array}{l}\mathrm{假设}A\mathrm{为真},\mathrm{推出}B\mathrm{为真}\\\mathrm{假设}B\mathrm{为假},\mathrm{推出}A\mathrm{为假}\end{array}\right. AB{ABBA

基础重言蕴含式

范式

析取范式与合取 范式

析 取 范 式 : 合 取 范 式 : 析取范式:\\ 合取范式:\\ ::
求 析 取 范 式 与 合 取 范 式 的 方 法 : 去 掉 → 和 ↔ ( Q ↔ R 可 以 换 成 ( Q ∧ R ) ∨ ( ¬ Q ∧ ¬ R ) ) 将 ¬ 放 到 命 题 变 元 前 用 等 价 变 换 的 方 法 将 公 式 整 理 到 目 标 形 式 求析取范式与合取范式的方法:\\ \mathrm{去掉}\rightarrow 和\leftrightarrow(Q\leftrightarrow R可以换成(Q\wedge R)\vee(\neg Q\wedge \neg R) )\\ 将\neg\mathrm{放到命题变元前}\\ \mathrm{用等价变换的方法将公式整理到目标形式} (QR(QR)(¬Q¬R))¬
否定前移:
在这里插入图片描述

主析取范式和主合取范式

主 析 取 范 式 : 将 命 题 公 式 写 为 小 项 的 析 取 主 合 取 范 式 : 将 命 题 公 式 写 为 大 项 的 合 取 主析取范式:将命题公式写为小项的析取\\ 主合取范式:将命题公式写为大项的合取\\ ::

范式的值如果包含所有项
析取小项成真赋值永真
合取大项成假赋值永假

小 项 : n 个 命 题 变 元 的 合 取 式 , 每 个 变 元 出 现 且 仅 出 现 一 次 ( 以 本 身 或 者 否 定 形 式 ) 仅 含 有 两 个 命 题 变 元 的 全 部 小 项 ¬ P ∧ ¬ Q , ¬ P ∧ Q , P ∧ ¬ Q , P ∧ Q ( 所 有 小 项 的 析 取 式 为 永 真 式 ) 以 上 小 项 对 应 的 编 码 : m 0 , m 1 , m 2 , m 3 ( m 00 , m 01 , m 10 , m 11 ) 注 意 编 码 的 变 化 , 由 二 进 制 专 为 了 十 进 制 求 主 析 取 范 式 需 要 先 求 吸 取 范 式 , 用 ¬ P ∨ P 补 项 后 用 分 配 律 调 整 得 到 \tiny 小项:n个命题变元的合取式,\\ 每个变元出现且仅出现一次(以本身或者否定形式)\\ 仅含有两个命题变元的全部小项¬P∧¬Q,¬P∧Q,P∧¬Q,P∧Q(所有小项的析取式为永真式)\\ 以上小项对应的编码:m_{0},m_{1},m_{2},m_{3}(m_{00},m_{01},m_{10},m_{11})注意编码的变化,由二进制专为了十进制\\求主析取范式需要先求吸取范式,用\neg P\vee P补项后用分配律调整得到 n()¬P¬Q,¬PQ,P¬Q,PQ()m0,m1,m2,m3(m00,m01,m10,m11)¬PP
大 项 : n 个 命 题 变 元 的 析 取 式 , 每 个 变 元 出 现 且 仅 出 现 一 次 ( 以 本 身 或 者 否 定 形 式 ) 仅 含 有 两 个 命 题 变 元 的 全 部 大 项 P ∨ Q , P ∨ ¬ Q , ¬ P ∨ Q , ¬ P ∨ ¬ Q ( 所 有 大 项 的 析 取 式 为 永 假 式 ) 以 上 小 项 对 应 的 编 码 : M 0 , M 1 , M 2 , M 3 ( M 00 , M 01 , M 10 , M 11 ) 注 意 编 码 的 变 化 , 由 二 进 制 专 为 了 十 进 制 编 码 对 应 的 是 使 得 小 项 取 值 为 真 , 大 项 取 值 为 假 的 赋 值 \tiny 大项:n个命题变元的析取式,\\ 每个变元出现且仅出现一次(以本身或者否定形式)\\ 仅含有两个命题变元的全部大项P ∨Q,P∨¬Q,¬P∨Q,¬P∨¬Q(所有大项的析取式为永假式)\\ 以上小项对应的编码:M_{0},M_{1},M_{2},M_{3}(M_{00},M_{01},M_{10},M_{11})注意编码的变化,由二进制专为了十进制\\ 编码对应的是使得小项取值为真,大项取值为假的赋值 n()PQ,P¬Q,¬PQ,¬P¬Q()M0,M1,M2,M3(M00,M01,M10,M11)使

某研究所要从A, B, C三名科研骨干中挑选1-2名出国进修人员,由于工作需要,选派时要满足以下条件:若
A去,则C同去;若B去,则C不能去;若C不能去,则A或B可以去。问该如何选派?
解设P:派A去;Q:派B去;R:派C去,
则已知条件表示为:(P→R)^(Q→-R)^(-R→(PV Q)).
求出公式的主析取范式:
G=
(P→R)^(Q→-R)^(-R→(PV Q))
= (-PV R)^(-QV-R)^(RV(PV Q))
= ((-P^-Q)V(-P^-R)V(-Q^R))^(PV QVR)
(-P^ -Q^ R)V(-P^ Q^ -R)V(P^ -Q^R)
可见,有三种选派方案:
1C去,A,B都不去;
2B去,A,C都不去;
3 A,C同去,B不去。

推理

推理的方法

推 理 方 法 P 1 ∧ P 2    ∧ P 3 ⇒ Q { 直 接 推 理 真 值 表 法 间 接 推 理 { 条 件 论 证 ( P 1 ∧ P 2 ⇒ P 3 → Q ) 反 证 法 ( P 1 ∧ P 2 ∧ P 3 ∧ ¬ Q ⇔ F ) \begin{array}{c}\mathrm{推理方法}\\P_1\wedge P_{2\;}\wedge P_3\Rightarrow Q\\\end{array}\left\{\begin{array}{l}\mathrm{直接推理}\\真值表法\\ \mathrm{间接推理}\left\{\begin{array}{l}\mathrm{条件论证}(P_1\wedge P_2\Rightarrow P_3\rightarrow Q)\\\mathrm{反证法}(P_1\wedge P_2\wedge P_3\wedge\neg Q\Leftrightarrow F)\end{array}\right.\end{array}\right. P1P2P3Q{(P1P2P3Q)(P1P2P3¬QF)
真 值 表 法 : 真值表法:
1. 对 所 有 P i 都 具 有 真 值 T 的 行 ( 表 示 前 提 为 真 的 行 ) , 如 果 在 每 一 个 这 样 的 行 中 , C 也 具 有 真 值 T , 则 C 是 P i 的 结 论 。 2. 对 所 有 C 具 有 真 值 为 F 的 行 ( 表 示 结 论 为 假 的 行 ) , 如 果 在 每 一 个 这 样 的 行 中 , P i 中 至 少 有 一 个 公 式 的 真 值 为 F ( 前 提 也 为 假 ) , 则 C 是 P i 的 结 论 1.对所有P_i都具有真值T的行(表示前提为真的行),\\如果在每一个这样的行中,C也具有真值T,则C是P_i的结论。\\ 2.对所有C具有真值为F的行(表示结论为假的行),\\如果在每一个这样的行中,P_i中至少有一个公式的真值为F(前提也为假),则C是P_i的结论 1.PiT()CTCPi2.CF()PiF()CPi

推理的规则

推 理 的 规 则 { P 规 则 ( 证 明 过 程 中 引 入 初 始 条 件 ) T 规 则 ( 证 明 过 程 中 引 入 中 间 结 论 ) C P ( C o n d i t i o n a l    P r o o f ) 规 则 ( 使 用 条 件 论 证 ) \mathrm{推理的规则}\left\{\begin{array}{l}P\mathrm{规则}(\mathrm{证明过程中引入初始条件})\\T\mathrm{规则}(\mathrm{证明过程中引入中间结论})\\CP(Conditional\;Proof)\mathrm{规则}(\mathrm{使用条件论证})\end{array}\right. P()T()CP(ConditionalProof)(使)

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个问题需要先了解布尔代数和逻辑运算的相关知识。 布尔代数是一种数学体系,用于描述逻辑运算。逻辑运算包括与、或、非、或等操作,可以用来描述各种问题的逻辑关系。析取范式范式是布尔代数中的两个重要概念,用于将一个逻辑表达式转化为一些基本逻辑运算的组形式。 在C语言中,可以使用位运算符来进行逻辑运算。例如,&表示按位与运算,|表示按位或运算,~表示按位反运算等。 要实现输入变元的个数和编码,可以使用scanf函数来读用户输入的数据。例如,可以使用以下代码来读用户输入的变元个数和编码: ```c int n; unsigned int code; scanf("%d %u", &n, &code); ``` 其中,%d和%u是scanf函数的格式控制符,用于指定读的数据类型。&n和&code是变量n和code的地址,用于将读的数据存储到这些变量中。 读变元个数和编码后,可以使用位运算符来解析编码。例如,可以使用以下代码来获第i个变元的值: ```c int get_bit(unsigned int code, int i) { return (code >> i) & 1; } ``` 其中,>>表示右移运算符,用于将code向右移动i位,&1表示按位与运算符,用于获最低位的值。 有了变元的值后,就可以使用逻辑运算符来计算逻辑表达式的值。例如,可以使用以下代码来计算逻辑表达式的值: ```c int evaluate(unsigned int code, int n) { int value = 1; for (int i = 0; i < n; i++) { int bit = get_bit(code, i); if (bit) { value &= i; // 按位与运算 } else { value |= i; // 按位或运算 } } return value; } ``` 其中,&=表示按位与赋值运算符,用于将value和i的按位与结果赋值给value;|=表示按位或赋值运算符,用于将value和i的按位或结果赋值给value。 有了逻辑表达式的值后,就可以使用布尔代数中的规则将其转化为析取范式范式析取范式是将一个逻辑表达式表示为若干个项的析取,其中每个项都是若干个变元或其反的按位与。范式是将一个逻辑表达式表示为若干个项的,其中每个项都是若干个变元或其反的按位或。 例如,假设逻辑表达式的值为0110(其中第1个变元为0,第2个变元为1,第3个变元为1,第4个变元为0),则其析取范式为: ``` (¬x1 ∧ x2 ∧ ¬x3 ∧ ¬x4) ∨ (¬x1 ∧ ¬x2 ∧ ¬x3 ∧ x4) ``` 其中,¬表示反运算符,∧表示逻辑与运算符,∨表示逻辑或运算符。可以看出,析取范式由两个项组成,分别对应逻辑表达式值为0100和0010的情况。 其范式为: ``` (¬x1 ∨ ¬x2) ∧ (x1 ∨ ¬x3) ∧ (x1 ∨ x4) ∧ (x2 ∨ ¬x3) ∧ (x2 ∨ x4) ∧ (¬x3 ∨ ¬x4) ``` 其中,∧表示逻辑与运算符,∨表示逻辑或运算符。可以看出,范式由六个项组成,每个项都对应逻辑表达式某个变元的值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值