Articles of algorithm

DTWalgorithmOCT文件

我正在尝试创build一个Dynamic Time Warping(DTW)函数,它将计算提供给它的两个信号之间的最小距离。 它基于以下algorithm, DTWalgorithm: – int DTWDistance(s: array [1..n], t: array [1..m]) { DTW := array [0..n, 0..m] w := abs(nm)// adapt window size (*) for i := 0 to n for j:= 0 to m DTW[i, j] := infinity DTW[0, 0] := 0 for i := 1 to n for j := max(1, […]

python删除匹配未知模式的旧文件(棘手)

我的服务器正在装满,我需要自动删除文件。 文件通常会每天添加到我的服务器,但有时候会有暂停,使得它们每两周或每月一次。 他们停下来几个月,然后重新开始,这是不可预测的。 我的脚本需要删除超过30天的文件, 但始终保留它find的任何文件模式的最新5个文件 。 这是棘手的部分。 关于文件的唯一可预测的事情/模式是文件总是包含某个地方的yyyymmddhhmmss时间戳,以及某些重复的模式,文件名的其他部分并不总是可预测的。 如果一个文件没有时间戳,我不想删除它。 一个示例目录我有这样的东西 20121118011335_team1-pathway_Truck_Report_Data_10342532.zip 20121119011335_team1-pathway_Truck_Report_Data_102345234.zip 20121120011335_team1-pathway_Truck_Report_Data_10642224.zip 20121121011335_team1-pathway_Truck_Report_Data_133464.zip 20121122011335_team1-pathway_Truck_Report_Data_126434344.zip 20121123011335_team1-pathway_Truck_Report_Data_12444656.zip 20121124011335_team1-pathway_Truck_Report_Data_1624444.zip 20121125011335_team1-pathway_Truck_Report_Data_3464433.zip randomefilewithnodate.zip 20121119011335_team2-Paper_Size_Report_336655.zip 20121120011335_team2-Paper_Size_Report_336677.zip 20121121011335_team2-Paper_Size_Report_338877.zip 20121122011335_team2-Paper_Size_Report_226688.zip 20121123011335_team2-Paper_Size_Report_776688.zip 20121124011335_team2-Paper_Size_Report_223355.zip 20121125011335_team2-Paper_Size_Report_111111.zip 在这种情况下,我的脚本应该只删除该第一个模式的最旧的3个文件20121118011335_team1-pathway_Truck_Report_Data_10342532.zip 20121119011335_team1-pathway_Truck_Report_Data_102345234.zip 20121120011335_team1-pathway_Truck_Report_Data_10642224.zip 和第二个模式中最早的两个文件 20121119011335_team2-Paper_Size_Report_336655.zip 20121120011335_team2-Paper_Size_Report_336677.zip 这样它保留了5个最新的文件,并没有date触摸文件 我的问题是我没有办法知道什么会遵循yyyymmddhhmmss_我只知道这将是各种迭代的yyyymmddhhmmss_something_consistent_random_random或yyyymmddhhmmss_something_consistent_something_consistent_random_random.xyz 到目前为止,我已经提出了正则expression式来匹配如果时间戳存在,但我想不出如何让我的脚本足够聪明,以检测文件的模式的其余部分,并保持5天的模式。 任何想法都欢迎! 下面的脚本不完美, 我可以修复这些小错误。 我真的需要帮助保持5个最新的文件部分主要 奖金问题是epoc时间部分。 def myCleansingMethod(self, client) # Get rid of things older than 30 days # 30 days […]

将值归一化到更小的范围

描述 我有一个相当大的(string,string,string)独特的元组(大约40毫升,但可以变大)。 对于每个元组我计算一个单一的无符号整型值。 我想将这些值存储在某个地方,所以在生成它们之后,它们可以被重用(即使在应用程序closures后,所以在内存存储中也是不可能的,数据库也是不幸的)。 起初,我把它们作为一个元组(string,string,string,值)存储在一个文件中,但在40毫秒的logging读取需要时间(我几乎立即需要它)。 我决定首先计算每个(string,string,string)元组的哈希值,然后将其归一化为[0,n](其中n是值的数量),并且只将值存储在二进制文件中, (按归一化散列值sorting)。 之后,我可以简单地mmap()这个文件,并获得值与mmap [normalize(散列(string,string,string))]]。 我的哈希函数是相当简单,但速度快,适用于我的情况(没有注意到任何冲突): concatenatedString = s1+"."+s2+"."+s3 unsigned int hash = 31; for(int i = 0; i < concatenatedString.length(); i++) { hash = hash * 101 + (unsigned int) concatenatedString[i]; } 与规范化一样(直截了当): ((long) n * hash) / max_value n – 我的标准化范围的上限(大约40毫升,因为lowe_bound = 0,所以我不是(n – lower_bound) max_value – 旧集合的最大值(在我的情况下,UINT_MAX,min_value = […]

在python中查找所有linux文件的一般目录

我想在python中find所有linux文件(不是目录)的通用目录。 大家能帮助我吗? 例1: ['/home/tung/abc.txt', '/home/tung/xyz.txt'] -> general directory: '/home/tung' 例2: ['/home/tung/abc.txt', '/home/tung/xyz.txt', '/home/user/123.txt'] -> general directory: '/home' 示例3: ['/home/tung/abc.txt', '/root/xyz.txt'] -> general directory: '/'

使用基因加权遗传algorithm自动selectGCC优化选项

我正在做一个项目,自动处理gcc编译器优化选项,而无需程序员指定。 我决定使用旅行推销员algorithm和遗传algorithm来select基于执行速度的最佳优化。 这个应用程序会将一个问题(C ++代码)作为input,并在GCC编译器的所有可用优化选项上进行排列组合,并存储执行所需的时间。 现在,是否可以在Shell脚本中进行编程? 或者我必须用C ++编程? inheritance人链接到基本文件。 http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=4625477 请让我知道,如果我错了整个概念。 如果你能把我带入正确的道路并提出任何build议,那将是非常有帮助的。 谢谢。

在目录中查找文件总数的有效方法

我正在build立一个音乐文件pipe理器(在python2),其中我读取的所有文件的元数据,然后把这些文件在所需的文件夹。 现在,我已经准备好了命令行界面,但是这个脚本以一种显示反馈的方式显示“现在正在处理哪个文件?”。 如果目录包含说5000个mp3文件,应该有某种反馈。 所以,我想知道find一个目录中可用mp3的总数的最有效的方法(也在所有后续目录中recursion地扫描)。 我的想法是跟踪处理的总文件,并显示一个进度条。 有没有更好的方法(性能明智),请随时引导。 我希望我的应用程序没有任何一种平台相关的代码。 如果有严重的性能损失坚持这个想法,请build议为Linux。

sshd上的algorithm密码

好吧,我有这个在我心中,好奇,如果可能的话。 在Linux系统上,有没有什么办法可以生成一个有效的algorithm密码组合来loginSSH,我们可以用一个小应用程序或设备生成有效的密码(比如某些银行的互联网接口,如果你愿意,可以使用一个关键的生成器)? 如果可能在sshd上,应用程序不是问题。 示例场景: 密钥生成器使用algorithm生成密钥 – > 124a5s589s6fqwer SSHd检查生成的密钥是否有效,并允许login。

在不同操作系统上使用UTF8时的不同行为algorithm

简单的algorithm代码: #include <iostream> #include <string> std::string::size_type GetLengthWithUTF(std::string &sValue); int main() { std::string sTestValueUTF8 = "\xD0\xB6\xD0\xB6\xD0\xB6"; std::string sTestValueASCII = "\x67\x67\x67"; std::string sTestValueMIX = "\x67\x67\x67\xD0\xB6\xD0\xB6\xD0\xB6"; std::string::size_type iFuncResult = 0; std::cout << "=========== START TEST ==========\n\n"; std::cout << "+TEST UTF8 STRING\n"; std::cout << "+—-+Bytes of string (sTestValueUTF8.length()) = " << sTestValueUTF8.length() << "\n"; iFuncResult = GetLengthWithUTF(sTestValueUTF8); std::cout << […]

在矩形内(均匀地)生成随机点?

我试图在矩形内生成一定数量的随机均匀点(我知道每个angular的坐标对)。 让我们的矩形是ABCD 我的想法是:用AC对angular线将矩形分成两个三angular形。 find对angular线的斜率和截距。 然后,从[0,1]区间生成两个随机数,让它们为a,b。 评估x = a AB和y = b AD(AB,AD,距离)。 如果A不是(0,0),那么我们可以添加到x和y A的坐标。 现在我们有一个点(x,y)。 如果它不在下面的三angular形(ABC)中,跳到下一步。 否则,将该点添加到我们的图中,并且还将(x,y)与AC对angular线的对称相加,以便我们也可以填充上面的三angular形(ADC)。 我已经实现了这一点,但是我非常怀疑这些点是统一生成的(从情节来看)。 我应该如何修改我的algorithm? 我想这个问题是关于我如何select三angular形和对称的东西。

重新sorting文本文件中的行以获得更好的压缩比

我有很多巨大的文本文件,需要以最高的比例进行压缩。 只要减压速度合理,压缩速度可能会变慢。 这些文件中的每一行都包含一个数据集,并且可以按任意顺序进行存储。 与此类似的问题: 对文件进行sorting以优化压缩效率 但是对于我来说压缩速度不是问题。 是否有准备使用的工具将类似的线条组合在一起? 或者,也许只是一个algorithm,我可以实现? 单独sorting给了一些改进,但我怀疑还有更多可能。 每个文件大约6亿行,每个约40个字节,总共24GB。 用xz压缩到〜10GB