np问题

Using Stanford Tregex in Python

匿名 (未验证) 提交于 2019-12-03 01:10:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I'm a newbie in NLP and Python. I'm trying to extract a subset of noun phrases from parsed trees from StanfordCoreNLP by using the Tregex tool and the Python subprocess library. In particular, I'm trying to find and extract noun phrases that match the following pattern: '(NP[$VP]>S)|(NP[$VP]>S\n)|(NP\n[$VP]>S)|(NP\n[$VP]>S\n)' in the Tregex grammar. For example, below is the original text, saved in a string named "text": text = ('Pusheen and Smitha walked along the beach. "I want to surf", said Smitha, the CEO of Tesla. However, she fell off

P问题、NP问题、NPC问题、NP-hard问题

匿名 (未验证) 提交于 2019-12-03 00:27:02
请您思考: 1、哪个是基础问题? 2、如果从集合的角度考虑,它们会是什么关系? 3、区别它们关系的核心是什么? 多项式级别:类似于 O ( 1 ) , O ( log 2 n ) , O ( n a ) O ( 1 ) , O ( log 2 n ) , O ( n a ) ,规模 n n 出现在底数的位置,我们称为多项式级的复杂度 非多项式级别:类似于 O ( n ! ) , O ( a n ) O ( n ! ) , O ( a n ) ,规模 n n 出现在底数的位置,我们称为非多项式级的复杂度 非多项式复杂度 远远大于 多项式复杂度 。 使用规约,最重要的是找到一个规则,用这个规则来规约父问题和子问题。 1、含义 一个问题A可以规约为问题B的含义即是,可以用问题B的解法解决问题A,或者说,问题A可以“变成”问题B。 直观意义 : O ( A 问 题 ) < = O ( B 问 题 ) O ( A 问 题 ) <= O ( B 问 题 ) ,也就是说,问题A不比问题B难。 这很容易理解。既然问题A能用问题B来解决,倘若B的时间复杂度比A的时间复杂度还低了,那A的算法就可以改进为B的算法,两者的时间复杂度还是相同。正如解一元二次方程比解一元一次方程难,因为解决前者的方法可以用来解决后者。 2、举例 现在有两个问题:求解一个一元一次方程和求解一个一元二次方程。那么我们说

启发式算法中的一些概念

匿名 (未验证) 提交于 2019-12-02 23:49:02
看论文过程中不清楚的一些基本概念,和实验室的师兄交流后大概弄懂了,整理一下总结在下面,方便以后查阅。 1.元启发式与启发式 元启发式算法( meta-heuristic algorithm ):基于局部搜索的一系列算法和各种种群算法 启发式算法( heuristic algorithm ):概念较广,可以认为讲不清道理,不能保证最优但效果好的一类方法叫启发式 2.optimal result和best result optimal result:真正的最优结果,找到这个真正的最优结果一般有两种办法。1)精确算法,树搜索尝试所有分支。2)将问题转为判定版本,比如对P-Center问题,证明找不到比当前的最长服务边短的最长服务边,可以覆盖所有客户 best result:算法找到的最优 3.P问题,NP问题,NP Complete问题,NP Hard问题(其实还没搞太明白,有时间找论文来看) P问题:存在多项式时间算法可以求解 NP问题:能在多项式时间内验证得出一个正确的解 NP Complete问题:是一个NP问题,且所有的NP问题都可以在多项式时间内约化到它 NP Hard问题:所有NP问题在多项式时间内都能约化到它,但不一定是NP问题 转载请标明出处: 启发式算法中的一些概念 文章来源: 启发式算法中的一些概念

关于NP Reduction的一些思考

浪子不回头ぞ 提交于 2019-12-02 20:03:31
Definition of Karp's polynomial-time transformation: Problem X polynomial transforms to problem Y if given any input x to X, we can construct an input y such that x is 'yes' instance of X iff y is yes instance of Y. 从定义可以看出, problem X与 problem Y之间的对应关系是 any input x to an input y。 我在一开始的学习过程中,没有体会到这个定义的含义,所以对arbitrary problem Y有要求,其实如果 any input x to any input y ,两者是可以等价的,拆分成any input x to an input y, and any input y to an input x. 可以从vertex cover, independent set, hitting set,set cover之间的规约关系来理解这层定义。 (1) From vertex cover to independent set , let S be any vertex cover, consider two nodes u and

NOIp初赛题目整理

寵の児 提交于 2019-12-01 00:21:50
NOIp初赛题目整理 这个 blog 用来整理扶苏准备第一轮 csp 时所做的与 csp 没 有 关 系 的历年 noip-J/S 初赛题目,记录了一些我从不知道的细碎知识点,还有一些憨憨题目,不定期更新。 1、(07senior,5) 在C 语言中,表达式 \(23~\mid~2~\land^~5\) 的值是( ) ​ A. \(23\) B. \(1\) C. \(18\) D. \(32\) E. \(24\) Answer:A Solution:这题一看就是要考运算符优先级来着。在 \(C\) 语言中, 按位与大于按位异或大于按位或 ,这里的大于指优先级大于,优先级越大越优先计算,因此计算过程为 \(2~\land~5~=~7\) 。然后计算 \(23~\mid~7 = 23\) 。 需要指出的是,左右移的优先级大于上述三个运算,因此 \(C\) 语言表达式 1 | p << 1 是先算 p << 1 ,再对 \(1\) 取或,例如 \(1~\mid~3~<<~1\) 的答案是 \(9\) 。 2、(07senior,12) 与十进制数 \(17.5625\) 对应的 \(8\) 进制数是( )。 ​ A. \(21.5625\) B. \(21.44\) C. \(21.73\) \(D.21.731\) Answer:B Solution:这里介绍一下分数的进制转换

第六个知识点:我们怎么把NP问题解释成一组可以在多项式内证明的命题

柔情痞子 提交于 2019-11-29 13:41:34
第六个知识点:我们怎么把NP问题解释成一组可以在多项式内证明的命题 原文地址: http://bristolcrypto.blogspot.com/2014/11/52-things-number-6-how-can-we-interpret.html 这是密码学52件事的第六篇,我们继续解释复杂性理论,这篇我们给NP问题另一个定义。(注:就是说这节中,我们把"问题是否为NP的"转换为另一组可以在多项式时间内判定的定理)。 这个问题是紧接着上一周的问题的。上周我们回答了什么是复杂NP类问题。这周我们回答一个相关的问题---我们怎么把NP解释成一组能被多项式时间检查的命题。 现在我们看一个直觉上的"一个问题是NP的"这意味着什么?他不仅仅是一个直观的定义,更是清晰的说明了为什么这类复杂性问题对密码学和世界上其他问题那么重要。现在在我们讨论怎么用之前,我们先给出定义: NP 是一类能在多项式时间内确定的问题 NP 是存在多项式时间运行的Verifier 这到底啥意思?首先我们有一个元素 \(x\) ,我们想要知道是否 \(x \in L\) ( \(L\) 是NP语言)。我们有一个证明 \(P\) 对 \(x\) 输出一个证据 \(w\) ,这可能需要要给多项式时间在给定 \(x\) 寻找 \(w\) 。然后如果我们给出 \(x\) 和 \(w\) 到我们的验证器 \(V\) , \

某公司运筹优化岗位第一次面试

白昼怎懂夜的黑 提交于 2019-11-27 16:49:11
P问题, NP问题, NPC问题, NP-hard问题 基本概念 复杂度级别: 1)多项式级别O(n^k);2)非多项式级别,如,指数级O(a^n)和阶乘级别O(n!)。后者的复杂度无论如何都大于前者。 归约(约化):如果能找到这样一个多项式变换法则,对任意一个程序A的输入,都能按这个法则变换为程序B的输入,使两程序的输出相同,那么我们说,问题A可归约为问题B。 通俗解释:一个问题A可以归约为问题B指,可以用问题B的解法解决问题A,或者说,问题A可以“变成”问题B。 特点:“问题A可归约为问题B”有一个直观意义,B的时间复杂度高于或者等于A的时间复杂度,既,问题A不比问题B难。 性质:传递性。如果问题A可以归约为问题B,问题B可以归约为问题C,则问题A一定可以归约为问题C。 P问题, NP问题, NPC问题, NP-hard问题的定义和相互关系 P问题(polynomial):求解一个问题的时间复杂度是多项式级别 NP问题(nondeterministic polynomial):可以在多项式时间里验证解是否正确的问题。定义NP问题的意义在于,如果一个问题不能在多项式时间验证,则这个问题一定没有多项式时间的算法。 图中某条路是否是Hamilton回路,可以在多项式时间验证,是NP问题图中 是否不存在Hamilton回路,不可以在多项式时间验证。 NPC问题

[NOI2018]你的名字 题解

穿精又带淫゛_ 提交于 2019-11-27 08:33:24
题目链接 先考虑68分的做法: 求在A串中出现,且在B串中没出现的串的数量。 使用容斥,用A的不同子串数减去A,B的不同公共子串数。 先用双指针,求出A的每个位置开始,在B中最多能向后匹配多远。 然后,问题变为,给你一些区间,问它们的子区间中有多少不同的串。 因为每个串,都是原区间 \([l,r]\) 中 \([l,i]\) 的后缀。 \((l<=i<=r)\) 而后缀就是在前面去掉一些字符,就是不断走fa。 所以可以建出fa边的树,然后定位出这些位置,求这些点到根的路径的并。 使用树链合并即可,要注意压缩的问题。 100分做法:与68基本相同,就是判断子串 \([a,b]\) 是否出现多了一个限制( \(l<=a,b<=r\) )。 而一个串匹配的位置,就是这个点子树中红点的集合。 红点对应前缀,所以这个限制可以转化为前缀位置的限制。 需要判断一个点的子树中是否有x~y的数。使用DFS序+主席树即可。 代码: #include <stdio.h> #include <stdlib.h> #define ll long long int fr[2000010],ne[2000010]; int v[2000010],bs = 0; int wl[2000010],wr[2000010],tm = 1; int xl[2000010]; struct SAM { int trs

3.理解文本语句和结构

孤街醉人 提交于 2019-11-27 08:16:03
理解文本语句和结构 下面会介绍和实现一些用于理解文本语法和结构的概念和技术。这些算法在 NLP 中非常有用,它通常在文本处理和标准化之后执行。主要关注一下技术: 词性(POS)标签。 浅层分析。 基于依存关系的解析。 基于成分结构的解析。 文章的作者针对读者是文本分析实践人员,可以执行并住处在实际问题中使用技术和算法的最佳解决方案。所以,下面将介绍利用现有库(如 nltk 和 spacy)来实现和执行一些技术的最佳方法。此外由于许多读者可能对技术的内部构建感兴趣,并且可能会尝试自己实现部分技术,也会介绍如何做到这一点。请记住,主要关注的是以实际的例子来研究实现概念的方法,而不是重写方法。 安装必要的依赖项 下面是所需要的依赖库: nltk 库 spacy 库 pattern 库 斯坦福分析器(Stanford parser) Graphviz 及必要库。 如果觉得 nltk 安装包可能依赖的过多,及其繁琐的下载,可执行下面代码全部现在: In [ 94 ]: import nltk In [ 95 ]: nltk.download( "all" , halt_on_error = False ) 安装 pattern 库,请执行: $ pip install pattern 下载并安装及其必要的依赖项。 对于 spacy 库,需要先安装软件包,然后单独安装及其依赖项(也称为语言模型