算法归约
① 给个算法
名次依次是:D B A E C
每人只有两句话,你只要假设着试一下就可以了
关于算法,这是一个SAT问题,SAT问题是没有很好的解法的,你可以查一下SAT问题的解法。注意这只是普通SAT问题,不是2-SAT 。
可能最快的办法,你把它归约为精确覆盖用DancingLinks搜索吧
② 数据规约方法有哪些
一、数据归约基本知识:
对于小型或中型数据集,一般的数据预处理步骤已经足够。但对真正大型数据集来讲,在应用数据挖掘技术以前,更可能采取一个中间的、额外的步骤-数据归约。本步骤中简化数据的主题是维归约,主要问题是是否可在没有牺牲成果质量的前提下,丢弃这些已准备和预处理的数据,能否在适量的时间和空间里检查已准备的数据和已建立的子集。
对数据的描述,特征的挑选,归约或转换是决定数据挖掘方案质量的最重要问题。在实践中,特征的数量可达到数百,如果我们只需要上百条样本用于分析,就需要进行维归约,以挖掘出可靠的模型;另一方面,高维度引起的数据超负,会使一些数据挖掘算法不实用,唯一的方法也就是进行维归约。预处理数据集的3个主要维度通常以平面文件的形式出现:列(特征),行(样本)和特征的值,数据归约过程也就是三个基本操作:删除列,删除行,减少列中的值。
在进行数据挖掘准备时进行标准数据归约操作,我们需要知道从这些操作中我们会得到和失去什么,全面的比较和分析涉及到如下几个方面的参数:
(1)计算时间:较简单的数据,即经过数据归约后的结果,可减少数据挖掘消耗的时间。
(2)预测/描述精度:估量了数据归纳和概括为模型的好坏。
(3)数据挖掘模型的描述:简单的描述通常来自数据归约,这样模型能得到更好理解。
数据归约算法特征:
(1)可测性
(2)可识别性
(3)单调性
(4)一致性
(5)收益增减
(6)中断性
(7)优先权
二、数据归约方法:
1、特征归约:
用相应特征检索数据通常不只为数据挖掘目的而收集,单独处理相关特征可以更有效,我们希望选择与数据挖掘应用相关的数据,以达到用最小的测量和处理量获得最好的性能。特征归约处理的效果:
(1)更少的数据,提高挖掘效率
(2)更高的数据挖掘处理精度
(3)简单的数据挖掘处理结果
(4)更少的特征。
和生成归约后的特征集有关的标准任务有两个:
(1)特征选择:基于应用领域的知识和挖掘目标,分析者可以选择初始数据集中的一个特征子集。特征排列算法,最小子集算法
(2)特征构成:特征构成依赖于应用知识。
特征选择的目标是要找出特征的一个子集,此子集在数据挖掘的性能上比得上整个特征集。特征选择的一种可行技术是基于平均值和方差的比较,此方法的主要缺点是特征的分布未知。最优方法的近似:
(1)只对有前景的特征子集进行检查
(2)用计算简单的距离度量替换误差度量
(3)只根据大量数据的子集选择特征。
③ 请教:什么叫规约,规约是怎么转换的
规约
就是族人必须遵守的规则, 如: 家法。
程序设计中的规约: ∏和∏'是两个判定性问题,如果存在一个确定性算法A使得对于一个∏的实例I,A可以将I在多项式时间里转换成∏'的实例P,使得I得到肯定的回答,当且仅当I'得到肯定回答,则称∏在多项式时间里规约到∏',记为∏∝poly∏'.
④ 算法优先分析法每次都是对什么进行归约
最左素短语
⑤ 简述算符优先归约和规范规约的区别
算符优先归约(又叫做算符优先分析法)和规范规约(又叫做最左推导)之间有3点不同,具体介绍如下:
一、两者的适用范围不同:
1、算符优先归约(又叫做算符优先分析法)的适用范围:适用于计算机领域。
2、规范规约(又叫做最左推导)的适用范围:数学、物理、计算机等学术领域。
二、两者的含义不同:
1、算符优先归约(又叫做算符优先分析法)的含义:如果G是一个不含空字符的算法文法,那么只要它的任一对终结符都至多只满足>,=,<的关系的其中一种,则称g是一个算符优先文法。< p=""><!--的关系的一种,则称g是一个算符优先文法。
2、规范规约(又叫做最左推导)的含义:若x和y是符号串α中有两个以上的非终结符号时,对推导的每一步坚持把α中的最左非终结符号进行替换,称为最左推导。
三、两者的使用不同:
1、算符优先归约(又叫做算符优先分析法)的使用:只考虑算符(终结符)之间的优先关系,分析扫描每个规约式的算符间优先关系。
2、规范规约(又叫做最左推导)的使用:x和y是符号串,若使用若干次产生式可以从x变换出y,则称x推导出y(或者说y是x的推导),记为xy。
⑥ 什么是归约算法
归约不是一种具体算法,是一种思想、一种方法。通过对原问题的抽象和建模生成一个等价的另一问题,然后通过解决这个新问题来达到解决原问题的目的。
⑦ 4圆盘梵塔难题归约图
A -> B
A -> C
B -> C
A -> B
C -> A
C -> B
A -> B
A -> C
B -> C
B -> A
C -> A
B -> C
A -> B
A -> C
B -> C
Use 15 step(s) to finish the moving.
//file: hanoi.h
#include <iostream>
#include <vector>
using namespace std;
static const char *name__hanoi[3] = {"A", "B", "C"};
class Hanoi{
public:
typedef enum{SRC, TMP, DST, NPILLAR} pillar_t;
private:
vector < vector <int> > pillars;
const char * pillar2s(pillar_t pillar)
{
return name__hanoi[pillar];
}
void move1(pillar_t dst, pillar_t src)
{
int i_val = pillars[src][pillars[src].size()-1];
pillars[dst].push_back(i_val);
pillars[src].pop_back();
cout << pillar2s(src) << " -> " << pillar2s(dst) << endl;
}
int moven(pillar_t dst, pillar_t src, size_t n)
{
pillar_t tmp = (pillar_t)((SRC+DST+TMP) - dst - src);
if(n>1){
int total;
total = moven(tmp, src, n-1);
move1(dst, src);
total ++;
total += moven(dst, tmp, n-1);
return total;
}
else{
move1(dst, src);
return 1;
}
}
public:
explicit Hanoi(unsigned n):pillars(NPILLAR)
{
for(unsigned i=1; i<=n; i++)
pillars[SRC].push_back(n);
}
int move()
{
return moven(DST, SRC, pillars[SRC].size());
}
};
//file: test.cpp
#include "hanoi.h"
int main(int argc, char *argv[])
{
Hanoi hanoi(4);
int steps;
steps = hanoi.move();
std::cout << "Use " << steps << " step(s) to finish the moving.\n";
return 0;
}
⑧ 算符优先方法用什么定义可归约串
算符文法:即它的任一产生式的右部都不含两个相继的非终结符的文法。如果G是一个不含空字符的算法文法,那么只要它的任一对终结符都至多只满足>,=,<的关系的其中一种,则称g是一个算符优先文法。< p=""><!--的关系的一种,则称g是一个算符优先文法。
对于一个算符优先文法,只要能构造出它的算符优先表,就可以利用算符优先分析方法,分析一个句子是否符合这个文法的定义。
那么定义FirstVT(P)={a|P(+=>)a···或P(+=>)Qa···,a属于终结字符集,而Q属于非终结字符集},其中···表示所有字符集
LastVT(P)={a|P(+=>)···a或P(+=>)···aQ,a属于终结字符集,而Q属于非终结字符集}
由以下两条规则来构造FirstVT集:
(1) 若有产生式P=>a···、或P=>Qa···,则a属于FirstVT(P);
(2) 若有a属于FirstVT(Q),且有产生式P=>Q···,则a属于FirstVT(P);
类似的有构造LastVT集的规则:
(1) 若有产生式P=>···a或P=>···aQ,则a属于LastVT集。
(2) 若a属于LastVT(Q),且有产生式P=>···Q,则a属于LastVT(P)集。
⑨ 在密码学中,什么叫紧归约
密码学(在西欧语文中,源于希腊语kryptós“隐藏的”,和gráphein“书写”)是研究如何隐密地传递信息的学科。在现代特别指对信息以及其传输的数学性研究,常被认为是数学和计算机科学的分支,和信息论也密切相关。着名的密码学者Ron Rivest解释道:“密码学是关于如何在敌人存在的 环境中通讯”,自工程学的角度,这相当于密码学与纯数学的异同。密码学是信息安全等相关议题,如认证、访问控制的核心。密码学的首要目的是隐藏信息的涵义,并不是隐藏信息的存在。密码学也促进了计算机科学,特别是在于电脑与网络安全所使用的技术,如访问控制与信息的机密性。密码学已被应用在日常生活:包括 自动柜员机的 芯片卡、电脑使用者存取密码、电子商务等等。密码是通信双方按约定的法则进行信息特殊变换的一种重要保密手段。依照这些法则,变明文为密文,称为加密变换;变密文为明文,称为脱密变换。密码在早期仅对文字或数码进行加、脱密变换,随着通信技术的发展,对语音、 图像、 数据等都可实施加、脱密变换。密码是通信双方按约定的 法则进行信息特殊变换的一种重要保密手段。依照这些法则,变明文为密文,称为加密变换;变密文为明文,称为脱密变换。密码在早期仅对文字或数码进行加、脱密变换,随着通信 技术的发展,对语音,图像,数据等都可实施加、脱密变换。
⑩ 怎样简单明了的解释KMP算法
map 根据输入的映射函数,将一个集合映射为另一个集合,比如:
输入集合为 {1,2,3,4,5},输入的函数为 f(x) = x^2,那么输出的集合就是 {1,4,9,16,25}。
rece 就是根据输入的归约函数,将集合(一般指map输出的集合)归约,比如上面的输出集合是 {1,4,9,16,25},假设我们的归约函数是 f(x,y) = x + y, 那么 rece 的过程就是 {5,9,16,25} -> {14,16,25} -> {30,25} -> {55}。
我们使用 Java8 来描述这个过程:
int result = IntStream.range(1, 6) // 获得集合 {1,2,3,4,5} .map(x -> x * x) // 映射为 {1,4,9,16,25} .rece((x, y) -> x + y) // 归约 .getAsInt(); // 获得结果System.out.println(result);结果: