1 集群系统中的 FP-tree 并行算法(many for one一个任务 还是 云计算one for many多个任务?)

计算机集群系统利用网络把一组具有高性能的工作站或者 PC 机按一定的结构连接起来, 从而形成了高效的并行的计算处理
系统。 各节点之间使用消息传递实现通信,集群系统通常用于改进单个计算机的计算速度与可靠性。
     FP-growth 算法在挖掘每个条件模式库的过程是彼此独立进行的,相互之间没有数据和信息交换。 这一互相独立的特点可以把
FP-growth 算法转换为并行算法,如果将每个条件模式库的挖掘看成一个子任务,那么总的频繁模式挖掘任务就能够被划分为数目
与频繁项数目相等的若干个子任务。

然后将这些子任务分配给计算机集群中的各个节点分别执行,计算机集群的各个节点完成各
自的子任务后,将计算结果传送到中央节点,由中央节点形成统一的计算结果。

2 划分 FP-tree 为小 FP-tree 的并行计算方法

对于给定的关联规则挖掘任务,如何将其分解成多个相互独立的子任务? 从而进行并行分布式处理。 下面将分析的一种方法是
将 FP-tree 划分成小 FP-tree,然后进行并行计算。

需要证明全部局部树的组合和全局树的等价性。

具体方法是:根据 FP-tree 相应的 HeaderTable 各个项前缀路径的总长度,将 Header Table 分组,构造结点数量大致相等的小
FP 树。 构建小 FP 树的方法是,分别提取 Header Table 节点链结点位置,找出对应结点的条件模式基,之后用同一组 Header Table 包
含的所有条件模式基产生出新的 FP 树和 Header Table,在为某部分 Header Table 构造新 FP 树和新 Header Table 时,不用将这部分
Header Table 包含的项以外的项放进新 Header Table。 这样便将大 FP-tree 划分为多个小 FP-tree 方便多进程或多台机器并行处理。

3 划分数据库事务的并行 FP-Growth 算法(基于Hadoop平台,可以自动分布,每个map默认64MB。待续详细。)

在并行 FP-Growth 算法当中,一种算法是将数据库里的记录按照数量进行等分,然后在多个进程上进行并行计算。
该算法基本步骤如下:
1) 划分数据库中的事务,将个数近乎相等的事务指定到相应处理进程;
2) 各进程分别计算项的计数,然后汇总得到频繁 1-项集;
3) 每个处理进程按照分配的事务得到频繁模式树,全局频繁 1-项集列表里的每个项皆由一个结点链和每个局部的 FP-tree 中
的结点相连;
4) 在全局 1-频繁项集列表、多颗局部 FP-tree 以及它们之间的相互连接组成的并行频繁模式树上面 ,进而可以进行并行频繁
模式的挖掘。

FP并行算法的几个相关方向的更多相关文章

  1. 中国各城市PM2.5数据间的相关分析

    code{white-space: pre;} pre:not([class]) { background-color: white; }if (window.hljs && docu ...

  2. P&R 3

    Floorplan: 要做好floorplan需要掌握哪些知识跟技能? 通常,遇到floorplan问题,大致的debug步骤跟方法有哪些? 如何衡量floorplan的QA? Floorplan是后 ...

  3. top 10 tipis on Logging in Java- Tutorial (翻译)

    开篇废话,就记得出国之前有一回腾讯面试,面试官说既然你都快要出国了,英语肯定挺不错的,那为什么不去翻译一些国外好的文章呢,我希望找一个能主动学习的人,一直受教.目前在实习,需要做大数据相关方向,都是挺 ...

  4. halcon算子

    halcon的算子列表   Chapter 1 :Classification 1.1 Gaussian-Mixture-Models 1.add_sample_class_gmm 功能:把一个训练样 ...

  5. 【深入BFC】 关于CSS中float布局,清除浮动,和margin合并的原理解析,解开你心中的那些困惑!

    BFC的通俗理解: Block Formatting Context(块级格式化上下文)是W3C CSS 2.1 规范中的一个概念,它决定了元素如何对其内容进行定位,以及与其他元素的关系和相互作用. ...

  6. 干货之UICollectionViewFlowLayout自定义排序和拖拽手势

    使用UICollectionView,需要使用UICollectionViewLayout控制UICollectionViewCell布局,虽然UICollectionViewLayout提供了高度自 ...

  7. 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数008,matrix,矩阵函数

    ** 3dFromFundamentalMatrix( Rows1, Cols1, Rows2, Cols2, CovRR1, CovRC1, CovCC1, CovRR2, CovRC2, CovC ...

  8. halcon的算子列表

    Chapter 1 :Classification 1.1 Gaussian-Mixture-Models 1.add_sample_class_gmm 功能:把一个训练样本添加到一个高斯混合模型的训 ...

  9. [Z]CS权威会议

    CS Conference TOP 40 计算机会议TOP40 一.A 类 15 个 ASPLOS: Architecture Support for Programming Languages an ...

随机推荐

  1. 【JSP手记】--jsp里面session.getAttribute("×××")在java中的表示

    JSP里面的    <%=session.getAttribute("×××")%> 与java等价于         request.getSession().get ...

  2. Go学习笔记之基础数据类型

    http://studygolang.com/articles/1348 1 整数 在 Go 语言中,如果不加特殊前缀,都是10进制表示,例如:“100” 整数可以直接用指数形式,例如:“1E9”,意 ...

  3. VS2010下安装Cocos2dx完整教程(原)

    一.本人所使用的Cocos2dx版本(cocos2d-2.1rc0-x-2.1.3),下载地址:http://code.google.com/p/cocos2d-x/downloads/list 当前 ...

  4. 泛函编程(31)-泛函IO:Free Monad-Running free

    在上节我们介绍了Free Monad的基本情况.可以说Free Monad又是一个以数据结构替换程序堆栈的实例.实际上Free Monad的功能绝对不止如此,以heap换stack必须成为Free M ...

  5. oracle RAC的VIP和scan

    我们都知道Oracle RAC中每个节点都有一个虚拟IP,简称VIP,与公网IP在同一个网段. 没有VIP时,Oracle客户端是靠"TCP/IP协议栈超时"来判断服务器故障.而T ...

  6. 基于 Bootstrap 的响应式后台管理面板

    你想建立一个后台管理面板或者分析仪表板吗?不需从头开始,Keen IO Bootstrap 是一个响应式的仪表盘模板,可以帮助你在几分钟内呈现数据,让你可以创建一个有吸引力的,定制的分析仪表板,随时可 ...

  7. ProgressBar.js – 漂亮的响应式 SVG 进度条

    ProgressBar.js 是一个借助动态 SVG 路径的漂亮的,响应式的进度条效果.使用 ProgressBar.js 可以很容易地创建任意形状的进度条.这个 JavaScript 库提供线条,圆 ...

  8. angularjs——插值字符串

    一.何为插值字符串? 其实插值字符串的意思就是:拥有字符插值标记的字符串.如: hello,{{ to }}....字符插值标记:相当于我们平时在字符串替换中使用到的占位符.上面的例子中的{{to}} ...

  9. js异步编程

    前言 以一个煮饭的例子开始,例如有三件事,A是买菜.B是买肉.C是洗米,最终的结果是为了煮一餐饭.为了最后一餐饭,可以三件事一起做,也可以轮流做,也可能C需要最后做(等A.B做完),这三件事是相关的, ...

  10. hybird之web动态换肤实现

    前言 最近在重构个hybird(原生的壳包着Web页面)的UI框架,进行到了做换肤功能的阶段,所以这里是我思考的解决的方法. 预想 目前实现换肤的功能无非就两种做法. 1.写几个皮肤文件,然后切换使用 ...