文档库 最新最全的文档下载
当前位置:文档库 › 社交网络大数据下贪婪式实时网站推荐算法

社交网络大数据下贪婪式实时网站推荐算法

社交网络大数据下贪婪式实时网站推荐算法
社交网络大数据下贪婪式实时网站推荐算法

优先出版 计 算 机 应 用 研 究 第32卷

--------------------------------

基金项目:国家自然科学基金项目(51277023)

作者简介:娄建楼(1972),男,副教授,硕导,主要研究方向为云计算、物联网应用、大数据处理等(loujianlou@https://www.wendangku.net/doc/9e1564536.html,);邹伟(1987),男,硕士研究生,主要研究方向为大数据处理、云计算、分布式计算;王玲(1981),女,硕导,博士,主要研究方向为数据挖掘、云计算、数据流处理、传感器网络、空间数据库和智能配电网等;曲朝阳(1964),男,博士,教授,硕导,主要研究方向为智能电网与电力信息化、虚拟现实、网络技术等;史春雷(1988),男,硕士研究生,主要研究方向为数据挖掘、传感器网络、空间数据库.

社交网络大数据下贪婪式实时网站推荐算法

娄建楼,邹 伟,王 玲,曲朝阳,史春雷

(东北电力大学信息工程学院,吉林 吉林 132012)

摘 要:社交网络每天都会产生结构化、半结构和非结构化的大数据,数据的增长速度超过了对硬件需求的摩尔定律;另一方面在社交网络中还存在各种恶意评价、刷分和刷网站关注度等不良现象,对大数据的分析处理带来了巨大挑战,为了提高数据的处理效率和网站推荐的准确性。针对这一问题在Hadoop 云平台下提出了一种基于用户的贪婪式实时近似网站推荐的RT-G 算法。该算法分为两个阶段,在第一阶段中通过迭代寻优算法找到最合适的用户数量作为网站推荐评价的用户标准,第二阶段应用频度近似算法完成对网站的推荐,最后通过实验证明了方法的效率和有效性。 关键词:社交网络大数据;Hadoop ;网站推荐;实时 中图分类号:TP301 文献标志码:A

User-based greedy real-time websites recommendation algorithm

for big data in social network

LOU Jian-lou, ZOU Wei, W ANG Ling, QU Zhao-yang, SHI Chun-lei

(College of Information Engineering, Northeast Dianli University, Jilin Jilin 132012, China)

Abstract: The social network will produce big data of structured, semi-structured and unstructured every day, and the growth of the data exceeds the demand for hardware of Moore's law. Especially there are some bad phenomenon such as various malicious evaluation, or getting points and attention by unfair means, which is a challenge for big data of processing and analyzing. In order to improve the accuracy of the data processing efficiency and website recommendation, In this paper, we propose to a new method that named RT-G algorithm to solve this problem in a Hadoop cloud platform. We find the most suitable number of users as the evaluation of user standard of the websites recommendation applying iterative optimization algorithm as the first step, and then the frequency approximation algorithm completed the recommendation of websites by the experimental analysis of real data sets, at last the experiment proved the efficiency and effectiveness of the method. Key Words: the social network big data; Hadoop; websites recommendation; real time

0 引言

据中国互联网信息中心CNNIC 发布报告显示,截至2013年6月底,我国网民规模达5.91亿,其中手机网民规模达4.64亿,较2012年底增加4379万人,占比提升至78.5%。随着互联网、移动互联网、物联网和云计算的不断发展,数据正以前所未有的速度在不断地增长和累积,大数据时代已经来到[1]。一些新兴的互联网公司大规模的收集数据,利用新技术判断客户的行为趋向,为其提供相应的服务,获取了巨大的价值。那些缺少数据资产和缺少强大的数据分析能力的公司无疑将处于颠覆的边缘。而有些公司数十年如一日的坚持积累当时被视作“废料”的数据,如今已演化为“数据资产”, 凭借着这些“数据资产”,公司在相关行业将极具竞争力。为了对这些“数据资产”

重新进行优化配置,让其产生其隐藏的巨大价值,就要求必须实时处理分析这些已有的大数据和产生大数据。

就社交网络而言(如ebay ,新浪,facebook 等),每天都会有许多的点击流量,产生结构化、半结构化和非结构化的海量数据。社交网络用户行为数据中包含许多噪音数据和可以忽略的数据,如恶意评价、刷分和刷网站关注度等。为了提高社交网络的数据分析的效率,可以采取分析用户实名制的信息,从中过滤掉游客(没有实名注册的用户)产生的数据,再通过分析关注度高的用户进一步减少数据的处理量,其中具体的数据流如图1所示。

1 相关技术

针对社交网络产生的大数据如何处理,如何通过这些数据

文章预览已结束

获取全文请访问

https://www.wendangku.net/doc/9e1564536.html,/article/02-2015-05-021.html

贪心算法经典例题

贪心算法经典例题 发布日期:2009-1-8 浏览次数:1180 本资料需要注册并登录后才能下载! ·用户名密码验证码找回密码·您还未注册?请注册 您的账户余额为元,余额已不足,请充值。 您的账户余额为元。此购买将从您的账户中扣除费用0.0元。 内容介绍>> 贪心算法经典例题 在求最优解问题的过程中,依据某种贪心标准,从问题的初始状态出发,直接去求每一步的最优解,通过若干次的贪心选择,最终得出整个问题的最优解,这种求解方法就是贪心算法。 从贪心算法的定义可以看出,贪心法并不是从整体上考虑问题,它所做出的选择只是在某种意义上的局部最优解,而由问题自身的特性决定了该题运用贪心算法可以得到最优解。 我们看看下面的例子 例1 均分纸牌(NOIP2002tg) [问题描述] 有 N 堆纸牌,编号分别为 1,2,…, N。每堆上有若干张,但纸牌总数必为 N 的倍数。可以在任一堆上取若干张纸牌,然后移动。移牌规则为:在编号为 1 堆上取的纸牌,只能移到编号为 2 的堆上;在编号为 N 的堆上取的纸牌,只能移到编号为 N-1 的堆上;其他堆上取的纸牌,可以移到相邻左边或右边的堆上。现在要求找出一种移动方法,用最少的移动次数使每堆上纸牌数都一样多。例如 N=4,4 堆纸牌数分别为: ①9 ②8 ③17 ④ 6 移动3次可达到目的: 从③取 4 张牌放到④(9 8 13 10) -> 从③取 3 张牌放到②(9 11 10 10)-> 从②取 1 张牌放到①(10 10 10 10)。 [输入]:键盘输入文件名。 文件格式:N(N 堆纸牌,1 <= N <= 100) A1 A2 … An (N 堆纸牌,每堆纸牌初始数,l<= Ai <=10000) [输出]:输出至屏幕。格式为:所有堆均达到相等时的最少移动次数。 [输入输出样例] a.in: 4 9 8 17 6 屏慕显示:3 算法分析:设a[i]为第i堆纸牌的张数(0<=i<=n),v为均分后每堆纸牌的张数,s为最小移到次数。 我们用贪心法,按照从左到右的顺序移动纸牌。如第i堆(0

【精选】贪心算法的应用

贪心算法的应用 课程名称:算法设计与分析 院系:计算机科学与信息工程学院 学生姓名:**** 学号:********** 专业班级:********************************** 指导教师:****** 201312-27

贪心算法的应用 摘要:顾名思义,贪心算法总是作出在当前看来最好的选择。也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择。当然,希望贪心算法得到的最终结果也是整体最优的。虽然贪心算法不能对所有问题都得到整体最优解,但对许多问题它能产生整体最优解。如单源最短路经问题,最小生成树问题等。在一些情况下,即使贪心算法不能得到整体最优解,其最终结果却是最优解的很好近似。贪心算法求问题一般具有两个重要性质:贪心选择性质和最优子结构性质。所谓贪心选择性是指所求问题的整体最优解可以通过一系列局部最优解的选择,即贪心选择达到。这是贪心算法可行的第一个基本要素,也是贪心算法与动态规划算法主要区别。当一个问题的最优解包含其子问题的最优解时,称此问题具有最优子结构性质。问题的最优子结构性质是该问题可用动态规划算法或贪心算法求解的关键特征。 背包问题是一个经典的问题,我们可以采用多种算法去求解0/1背包问题,比如动态规划法、分支限界法、贪心算法、回溯法。在这里我们采用贪心法解决这个问题。 关键词:贪心法背包问题最优化

目录 第1章绪论 (3) 1.1 贪心算法的背景知识 (3) 1.2 贪心算法的前景意义 (3) 第2章贪心算法的理论知识 (4) 2.1 问题的模式 (4) 2.2 贪心算法的一般性描述 (4) 第3章背包问题 (5) 3.1 问题描述 (5) 3.2 问题分析 (5) 3.3算法设计 (5) 3.4 测试结果与分析 (10) 第4章结论 (12) 参考文献 (13) 附件 (13)

利用贪婪算法实现多种实际问题

利用贪婪法实现多种实际问题 《算法设计与分析》课程设计任务书 学院名称:数学与计算机学院专业:信息与计算科学专业年级:2007 一、设计题目 题目十四:利用贪婪算法实现多种实际问题 二、主要内容 给出多种可以用贪婪算法解决的典型问题,并分析、证明、编程。 三、具体要求 (1)贪婪算法的基本思想; (2)给出背包问题的贪婪算法; (3)给出有限期计算机作业调度的贪婪算法; (4)给出上面两个算法的证明; (5)给出上面两个算法的程序。 (6)给出时间复杂度。 四、主要技术路线提示 在用贪婪算法解决资源分配问题、布线问题、0-1背包问题过程中,使用贪婪算法解决问题,通常需要做好以下几个方面的工作: 1、明确问题的求解目标。 2、分析问题所包含的约束条件。 3、建立优化函数。优化函数通常可以通过综合分析问题的求解目标及约束条件归纳出来。 4、制定贪婪准则。 五、进度安排 1、第一周:分析题目的需求,设计抽象数据类型、构思算法、通过类的设计实现抽象数据类型并编写上机程序 2、第二周完成程序开发,进行测试并分析结果,最后撰写课程设计报告 I

利用贪婪法解决实际问题 六、完成后应上交的材料 上交的成果的内容必须由以下四个部分组成,缺一不可。 1.上交源程序:学生按照课程设计的具体要求所开发的所有源程序(应该放到一个文件夹中)。 2.上交程序的说明文件:(保存在.txt中),在说明文档中应该写明上交程序所在的目录,上交程序的主程序文件名,如果需要安装,要有程序的安装使用说明。 3.课程设计报告电子文档:(保存在word 文档中,文件名要求按照“学号姓名算法分析课设报告.doc”起名,如文件名为“200300109张三算法分析课设报告.doc”),按照课程设计的具体要求建立的功能模块,每个模块要求按照如下几个内容认真完成: 其中包括: (1)需求分析: 在该部分中叙述每个模块的功能要求等。 (2)概要设计 在此说明每个部分的算法设计说明(可以是描述算法的流程图),每个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义。 (3)详细设计 各个算法实现的源程序,对每个题目要有相应的源程序(可以是一组源程序,每个功能模块采用不同的函数实现)。 源程序要按照写程序的规则来编写。要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。 (4)调试分析 包括测试数据,测试输出的结果,时间复杂度分析,和每个模块设计和调试时存在问题的思考(问题是哪些?问题如何解决?),算法的改进设想。 (5)课设总结 总结可以包括:课程设计过程的收获、遇到问题、遇到问题解决问题过程的思考、程序调试能力的思考、对算法设计与分析这门课程的思考、在课程设计过程中对《算法设计与分析》课程的认识等内容。 4.课程设计报告打印稿。 七、推荐参考资料 教材: 《算法设计与分析》 Anany Levitin 著潘彦译清华大学出版社,2007。 《算法设计与分析》宋文等编重庆大学出版社,2001。 参考书:[1] 《算法设计与分析》周培德电子工业出版社,2000。 [2] 《算法设计与分析》王晓东电子工业出版社,2004 指导教师签名日期年月日 系主任审核日期年月日 II

社交网络用户的心理需求分析

社交网络用户的心理需求分析 用户在社交网络里的行为逻辑是用户个人的真实写照,在社交网络里的自我个性特点,也反映了用户的真实个性,如果能准确把握用户的行为逻辑,那么将有助于你做出符合大众用户的社交功能。一款社交产品的成功必须能够准确把握用户在其中的心理变化,哪些莫名火爆的应用背后到底是什么? 笔者不才,就几个简单的用户行为阐述一下自己的观点,在我简述几个行为的同时,看看你自己有没有同感? 1、不同社交应用的不同社会角色 我们每个人都是如此,在不同的社会场景下,扮演不同的社会角色,即会有不同的表现,这是一种社会效应,即使映射到社交网络,无论在你微博、微信、QQ、人人上,你都扮演着不同的角色,留意一下你自己的各种不同社交应用,每次你打开它一定是不同的意图,继而获取信息和产生内容的初衷也会有所不同。有人会说,我有的好友在不同的社交应用里同时更新一样的内容作何解释?不要忘了,获取社交信息和用户产生内容是两种行为,可能他在获取的阶段是不同的社交初衷。 这就是我为年轻人高呼“爸妈来了,这个应用我不用了”的现象做出的解释,除了青春期遗留下来的逆反心里,企图标新立异有意采取不同的态度和行为来引起别人的注意和得到

社会认同之外,单一的大众性社交应用将现实社会不同场景下的社会关系高度重合在一个社交场景里,难免让人感到“隐私”没了,在不同的场合扮演不同的社会角色的时候自然就有不同的语言行为规范,一个父母面前温顺可人的角色怎么能容忍客串成在朋友当中破粗口胡吃海喝的角色。 从这个角度来分析一些老牌的社交应用里,即使我们经常登录,也再也不会更新内容的现象,因为像 QQ 这样的社交应用,根基太早,从家庭朋友社交场景到工作关系场景,社交关系太过臃肿,不是一个很好的展现自我的平台,还是应该将它着重定位在即时通讯吧。随着微信将手机通讯录和 QQ 好友关系链都移植到了自己的社交关系里,即使在朋友圈里更新可以设置可见范围分组,比起这种在下游手动添加范围,我宁愿有个从始至终都是一个社会场景的应用。 还有两个相对成型的特定社交分类,即职业社交与婚恋交友,用户其实都是在扮演特定的社会角色;婚恋网站https://www.wendangku.net/doc/9e1564536.html,的邵光荣曾表示,社交本身并不是需求,而是手段,不同的社交都是有着不同的目的,一旦某个平台的社交功能无法达到用户的目的,用户也就会沉默或离开,社交其实也就不存在了。意思无外乎也是说用户需要扮演角色来达到某种目的。 2、自我“隐私”保护和窥探他人“隐私” 为什么要在隐私上加引号?因为在社交网络我们自主公开的生活隐私不能纯粹意义上算隐私。先说说第一种行为,你的好友会经常直播自己的生活或者一天上传几十张自拍照,人类是群居动物,群居本能分两级:第一级寻求群体认可,心理学上认为,“爱向别人炫”是一

社交网络中基于图排序的好友推荐机制研究与实现(郑佳佳)

分类号: TP391.1 单位代码:10335 学号:20821043 硕士学位论文 论文题目社交网络中基于图排序的 好友推荐机制研究与实现作者姓名郑佳佳 指导教师王强副教授 学科(专业) 计算机软件与理论__ 所在学院计算机科学与技术学院 提交日期2011年1月

A Dissertation Submitted to Zhejiang University for the Degree of Master of Engineering TITLE:Friends Recommendation Based on Graph Ranking on Social Network Site Author: Jiajia Zheng Supervisor: Associate Professor Qiang Wang Subject: Computer Software and Theory College: College of Computer Science Submitted Date: 2011-01

浙江大学研究生学位论文独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得浙江大学或其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。 学位论文作者签名:签字日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解浙江大学有权保留并向国家有关部门或机构送交本论文的复印件和磁盘,允许论文被查阅和借阅。本人授权浙江大学可以将学位论文的全部或部分内容编入有关数据库进行检索和传播,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 (保密的学位论文在解密后适用本授权书) 学位论文作者签名:导师签名: 签字日期:年月日签字日期:年月日

贪心算法详解分析

贪心算法详解 贪心算法思想: 顾名思义,贪心算法总是作出在当前看来最好的选择。也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择。当然,希望贪心算法得到的最终结果也是整体最优的。虽然贪心算法不能对所有问题都得到整体最优解,但对许多问题它能产生整体最优解。如单源最短路经问题,最小生成树问题等。在一些情况下,即使贪心算法不能得到整体最优解,其最终结果却是最优解的很好近似。 贪心算法的基本要素: 1.贪心选择性质。所谓贪心选择性质是指所求问题的整体最优解可以通过一系列局部最优的选择,即贪心选择来达到。这是贪心算法可行的第一个基本要素,也是贪心算法与动态规划算法的主要区别。 动态规划算法通常以自底向上的方式解各子问题,而贪心算法则通常以自顶向下的方式进行,以迭代的方式作出相继的贪心选择,每作一次贪心选择就将所求问题简化为规模更小的子问题。 对于一个具体问题,要确定它是否具有贪心选择性质,必须证明每一步所作的贪心选择最终导致问题的整体最优解。 2. 当一个问题的最优解包含其子问题的最优解时,称此问题具有最优子结构性质。问题的 最优子结构性质是该问题可用动态规划算法或贪心算法求解的关键特征。 贪心算法的基本思路: 从问题的某一个初始解出发逐步逼近给定的目标,以尽可能快的地求得更好的解。当达到算法中的某一步不能再继续前进时,算法停止。 该算法存在问题: 1. 不能保证求得的最后解是最佳的; 2. 不能用来求最大或最小解问题; 3. 只能求满足某些约束条件的可行解的范围。 实现该算法的过程: 从问题的某一初始解出发; while 能朝给定总目标前进一步do 求出可行解的一个解元素; 由所有解元素组合成问题的一个可行解; 用背包问题来介绍贪心算法: 背包问题:有一个背包,背包容量是M=150。有7个物品,物品可以分割成任意大小。要 求尽可能让装入背包中的物品总价值最大,但不能超过总容量。

贪婪算法在排课问题中分析与应用

贪婪算法在排课问题中分析与应用 摘要:排课问题是教学管理中重要的问题,对教学质量起到十分重要的影响。随着计算机和信息技术的快速发展,通过合理的算法编制排课系统是十分合适的。本文通过排课问题算法的分析,选择贪婪算法来解决排课问题。通过实验表明,目前的算法能够很好的解决排课问题,对问题的解决的复杂度大大降低,使得排课变得十分简单和高效。 关键字:排课,贪婪算法,优先级 1、绪论 在高校日常管理中,教学计划是重要的组成部分。而教学计划的重要体现方式之一就是排课表,其在教学管理中的地位和作用不可低估,课表的管理对教学管理是起到基础和重要的作用。因此排课问题是教学管理中重要的问题,对教学质量起到十分重要的影响。 由于上课约束条件多,课表的编制十分复杂,是一个耗时耗力的工作。目前随着高校人数的越来越多,其很难用手工去编制课表,其工作时间长,工作量大和繁琐的编制过程是一般人很难驾驭的。随着计算机和信息技术的快速发展,通过合理的算法编制排课系统是十分合适的。通过计算机算法的求解来对问题进行抽象和解决。 2、排课算法算法简介 目前对于排课问题的算法较多,主要有蚁群算法、模拟退火算法、遗传算法、整数规划法和贪婪算法等。 (1)蚁群算法 蚁群算法就是将模拟蚂蚁的活动,对参数设置较少。这种算法具备较强的全局搜索能力,但其效率较低,且容易出现停滞[1]。 (2)模拟退火算法 这个算法被较多的学者用来解决排课问题,它是模拟退火的现象,对自然事物进行抽象而来。其比较适合约束条件较少的问题。如果约束条件少,其很快就能获得最优解。但这种算法的参数选择较难,且资源开销大[2]。 (3)遗传算法 遗传算法是基于自然选择和生物遗传的全局优化策略。其优点在于在非线性问题上能够表现出全局最优,可以并行处理而且算法效率相对较高[3]。 但遗传算法本身较为复杂,由于排课问题的约束条件较多,其算法的效率较低,如果排课要求十分严格的话,很有可能造成找不到解。 (4)整数规划法 整数规划法来解决排课问题计算量很大,只适合规模较小排课问题,对于规模较大的,至今都很难找到一个可行算法。 (5)贪婪算法 贪婪算法是指在解决问题的时候,不会考虑整体最优,而是采取局部最优的思想进行最优思想[4]。也就是说,该算法将解决问题分解为每一个步骤,根据其难易程度进行解决,通过满足局部最优的方式来尽可能的获得最满意的解决。虽然在某些情况下,贪婪算法并不能得到最优解,但能得到相对满意的解。 3、排课问题综述 (1)排课原则 排课问题的本质是一个优化问题,是对教师、上课课程、上课时间和上课地点等因素的优化。其目的就是将全校所开设课程在有限的时间和地点下进行合理的安排,确保教学的顺利进行,以达到最优的效果。 为了能够产出一张满意合格的排课表,在排课中要满足一些约束条件。我们将一些约束

算法分析与设计选修课-贪心算法应用研究

武汉理工大学 算法设计与分析论文题目:贪心算法应用研究 姓名:吴兵 学院:信息工程 专业班级:电子133 学号: 1409721303131 任课教师:张小梅

目录 摘要 (1) 1.绪论 (2) 2贪心算法的基本知识概述 (3) 2.1 贪心算法定义 (3) 2.2 贪心算法的基本思路及实现过程 (3) 2.3贪心算法的核心 (3) 2.4贪心算法的基本要素 (4) 2.5 贪心算法的理论基础 (6) 2.6 贪心算法存在的问题 (7) 3贪心算法经典应用举例 (8) 3.1删数问题 (8) 3.2 汽车加油问题 (10) 3.3会场安排问题 (12) 4.总结 (16) 5.参考文献 (17)

摘要 在求最优解问题的过程中,依据某种贪心标准,从问题的初始状态出发,直接去求每一步的最优解,通过若干次的贪心选择,最终得出整个问题的最优解,这种求解方法就是贪心算法。从贪心算法的定义可以看出,贪心法并不是从整体上考虑问题,它所做出的选择只是在某种意义上的局部最优解,而由问题自身的特性决定了该题运用贪心算法可以得到最优解。贪心算法所作的选择可以依赖于以往所作过的选择,但决不依赖于将来的选择,也不依赖于子问题的解,因此贪心算法与其它算法相比具有一定的速度优势。如果一个问题可以同时用几种方法解决,贪心算法应该是最好的选择之一。本文讲述了贪心算法的含义、基本思路及实现过程,贪心算法的核心、基本性质、特点及其存在的问题。并通过贪心算法的特点举例列出了以往研究过的几个经典问题,对于实际应用中的问题,也希望通过贪心算法的特点来解决。 关键词:贪心算法最小生成树多处最优服务次序问题删数问题

基于融合社交网络相似度的群体推荐算法研究

基于融合社交网络相似度的 群体推荐算法研究 1课题来源、研究意义和目的 1.1课题来源 本课题来源于实验室项目,旨在研究电子商务中的推荐系统。 1.2 研究意义和目的 近年来,Web2.0 技术的兴起更进一步拓展了用户与计算机之间的交互作用,提高了用户的使用体验,但也进一步加快了互联网信息资源的增长速度。海量的信息在给广大互联网用户带来更多选择的同时也使得其不得不花费大量的时间和精力从偌大的信息库中找到自己感兴趣或者对自己有用的信息,由此便导致了“信息过载”和“信息爆炸”的问题。个性化推荐作为目前解决信息过载问题的主要技术,个性化推荐技术已经在诸多领域得到了应用,如电子商务、社交网站、搜索引擎等。作为全球率先研究个性化推荐系统的企业之一的Amazon[1]错误!未找到引用源。[2][3],也早已将个性化推荐服务放到了网站中的各个角落,成为目前应用个性化推荐系统的成功案例之一。 迄今为止,关于个性化推荐技术的研究已有很多,但是已有的推荐系统大多都旨在为单个用户提供推荐,而现实生活中,有时却需要向一个群体提供推荐。比如一个家庭的所有成员同时观看电影、一个群体需要选择旅游目的地以及一个群体需要选择用餐地点等。由于群体成员的兴趣爱好具有差异性、多样性与复杂性,因此为一个群体提供推荐,同时要求推荐列表能够最大化群体用户的满意程度是相当困难的,传统的个性化推荐算法已经不能很好地适应于群体推荐系统的情景,因此研究更为有效的群体推荐系统算法就显得尤为迫切与重要。群体推荐系统的研究对于互联网企业寻找新的盈利模式也有积极的指导意义,它能够借助于用户的兴趣偏好与社交网络关系扩大企业产品或者服务的接触面,从而获得更

贪心算法的应用

从贪心算法的定义可以看出,贪心法并不是从整体上考虑问题,它所做出的选择只是在某种意义上的局部最优解,而由问题自身的特性决定了该题运用贪心算法可以得到最优解。 我们看看下面的例子 例1 均分纸牌(NOIP2002tg) [问题描述] 有 N 堆纸牌,编号分别为 1,2,…, N。每堆上有若干张,但纸牌总数必为 N 的倍数。可以在任一堆上取若干张纸牌,然后移动。移牌规则为:在编号为 1 堆上取的纸牌,只能移到编号为 2 的堆上;在编号为 N 的堆上取的纸牌,只能移到编号为 N-1 的堆上;其他堆上取的纸牌,可以移到相邻左边或右边的堆上。现在要求找出一种移动方法,用最少的移动次数使每堆上纸牌数都一样多。例如 N=4,4 堆纸牌数分别为: ①9 ②8 ③17 ④6 移动3次可达到目的: 从③取 4 张牌放到④(9 8 13 10) -> 从③取 3 张牌放到②(9 11 10 10)-> 从②取 1 张牌放到①(10 10 10 10)。 [输入]:键盘输入文件名。 文件格式:N(N 堆纸牌,1 <= N <= 100) A1 A2 … An (N 堆纸牌,每堆纸牌初始数,l<= Ai <=10000) [输出]:输出至屏幕。格式为:所有堆均达到相等时的最少移动次数。 [输入输出样例] : 4 9 8 17 6 屏慕显示:3 算法分析:设a[i]为第i堆纸牌的张数(0<=i<=n),v为均分后每堆纸牌的张数,s为最小移到次数。 我们用贪心法,按照从左到右的顺序移动纸牌。如第i堆(0v,则将a[i]-v张纸牌从第I堆移动到第I+1堆; (2)若a[i]

基于数据挖掘的校园社交网络用户行为分析毕业设计论文

基于数据挖掘的校园社交网络用户行为分析毕业设计论文

1 绪论 1.1 选题背景 社交网络,简称SNS(social network service),在Web2.0浪潮中已发展为社会化媒体中一个主要平台。据最新的中国互联网络信息中心(CNNIC)2013年1月15 日发布的第31次《中国互联网络发展状况统计报告》,截至2012年12月底,我国网民规模达5.64亿,互联网普及率为42.1%,较2011年底提升3.8个百分点。同时报告显示,社交网络应用持续呈现增长趋势,截止2012年12月,国内社交网络用户总数已达2.75亿,占到了全部网民人数的48.8%,增速保持在10%以上。 与此同时在2010年之后社交网络又出现两大新增长点:其一微博用户持续增长,微博用户规模在2012年达到3.09亿,较2011年底增长了5873万。虽然微博急速扩张的阶段已经结束,但年增幅仍能达到23.5%;其二用户逐渐移动化成为了社交网络用户增长的又一亮点,截至2012年12月底,我国手机网民规模为4.2亿,较上年底增加约6440万人,网民中使用手机上网的人群占比由上年底的69.3%提升至74.5%,随着手机智能化,相当一部分用户访问和发送微博的行为发生在手机终端上,为社交网站的进一步发展提供了可能。此外“社交化”已经作为一种重要的功能元素,正在全面融合到各类互联网应用中。一方面,2012年涌现出大批具备社交基因的新应用,包括图片社交、私密社交、购物分享等,尤其在移动互联网领域,由于手机天生的通讯功能,2012年许多热门移动应用都具备社交功能;另一方面,搜索、网购、媒体等互联网应用正在融合社交因素,以丰富自身的功能、提升用户体验,创新服务和盈利模式。在整个互联网都走向社交化的大趋势下,传统的实名制社交网站也不断增加平台功能,在原

贪婪算法

答:贪婪算法(Greedy algorithm)是一种对某些求最优解问题的更简单、更迅速的设计技术。用贪婪法设计算法的特点是一步一步地进行,常以当前情况为基础根据某个优化测度作最优选择,而不考虑各种可能的整体情况,它省去了为找最优解要穷尽所有可能而必须耗费的大量时间,它采用自顶向下,以迭代的方法做出相继的贪心选择,每做一次贪心选择就将所求问题简化为一个规模更小的子问题,通过每一步贪心选择,可得到问题的一个最优解,虽然每一步上都要保证能获得局部最优解,但由此产生的全局解有时不一定是最优的,所以贪婪法不要回溯。 贪婪算法是一种改进了的分级处理方法。其核心是根据题意选取一种量度标准。然后将这多个输入排成这种量度标准所要求的顺序,按这种顺序一次输入一个量。如果这个输入和当前已构成在这种量度意义下的部分最佳解加在一起不能产生一个可行解,则不把此输入加到这部分解中。这种能够得到某种量度意义下最优解的分级处理方法称为贪婪算法。 对于一个给定的问题,往往可能有好几种量度标准。初看起来,这些量度标准似乎都是可取的,但实际上,用其中的大多数量度标准作贪婪处理所得到该量度意义下的最优解并不是问题的最优解,而是次优解。因此,选择能产生问题最优解的最优量度标准是使用贪婪算法的核心。 一般情况下,要选出最优量度标准并不是一件容易的事,但对某问题能选择出最优量度标准后,用贪婪算法求解则特别有效。最优解可以通过一系列局部最优的选择即贪婪选择来达到,根据当前状态做出在当前看来是最好的选择,即局部最优解选择,然后再去解做出这个选择后产生的相应的子问题。每做一次贪婪选择就将所求问题简化为一个规模更小的子问题,最终可得到问题的一个整体最优解。其有以下特性: ⑴ 有一个以最优方式来解决的问题。为了构造问题的解决方案,有一个候选的对象的集合:比如不同面值的硬币。 ⑵ 随着算法的进行,将积累起其它两个集合:一个包含已经被考虑过并被选出的候选对象,另一个包含已经被考虑过但被丢弃的候选对象。 ⑶ 有一个函数来检查一个候选对象的集合是否提供了问题的解答。该函数不考虑此时的解决方法是否最优。 ⑷ 还有一个函数检查是否一个候选对象的集合是可行的,也即是否可能往该集合上添加更多的候选对象以获得一个解。和上一个函数一样,此时不考虑解决方法的最优性。 ⑸ 选择函数可以指出哪一个剩余的候选对象最有希望构成问题的解。 ⑹ 最后,目标函数给出解的值。

贪心算法设计与应用

实验报告 课程算法设计与分析实验实验名称贪心算法设计与应用第 1 页一、实验目的 理解贪心算法的基本原理,掌握贪心算法设计的基本方法及其应用; 二、实验内容 (一)Huffman编码和译码问题: 1.问题描述 给定n个字符在文件中的出现频率,利用Huffman树进行Huffman编码和译码。设计一个程序实现: 1.输入含n(n<=10)个字符的字符集S以及S中各个字符在文件中的出现频 率,建立相应的Huffman树,求出S中各个字符的Huffman编码。 2.输入一个由S中的字符组成的序列L,求L的Huffman 编码。 3. 输入一个二进制位串B,对B进行Huffman译码,输出对应的字符序列; 若不能译码,则输出无解信息。 提示:对应10 个字符的Huffman树的节点个数<211。 2.测试数据 Input n=5 字符集合S={a, b, c, d, e}, 对应的频率分别为 a: 20 b: 7 c: 10 d: 4 e: 18 字符序列L=ebcca 二进制位串B=01100111010010 Output S中各个字符的Huffman编码:(设Huffman树中左孩子的权<=右孩子的权)a: 11 b: 010 c: 00 d: 011 e: 10 L的Huffman 编码:10010000011 B对应的字符序列: dcaeeb 若输入的B=01111101001,则无解 (二) 加油问题(Problem Set 1702): 1.问题描述 一个旅行家想驾驶汽车从城市A到城市B(设出发时油箱是空的)。给定两个

城市之间的距离dis、汽车油箱的容量c、每升汽油能行驶的距离d、沿途油站数n、油站i离出发点的距离d[i]以及该站每升汽油的价格p[i],i=1,2,…,n。设d[1]=0=xw和yb>=yw。 若黑点b支配白点w,则黑点b和白点w可匹配(可形成一个匹配对)。在一

贪心算法的应用实例

贪心算法的应用实例 例2.排队问题 【题目描述】 在一个医院B 超室,有n个人要做不同身体部位的B超,已知每个人需要处理的时间为ti,(00,从而新的序列比原最优序列好,这与假设矛盾,故s1为最小时间,同理可证s2…sn依次最小。 例3.:数列极差问题 【题目描述】 在黑板上写了N个正整数做成的一个数列,进行如下操作:每一次擦去其中的两个数a 和b,然后在数列中加入一个数a×b+1,如此下去直至黑板上剩下一个数,在所有按这种操作方式最后得到的数中,最大的max,最小的为min,则该数列的极差定义为M=max-min。 编程任务:对于给定的数列,编程计算出极差M。 输入输出样例: 输入: 4 2 1 4 3 输出: 13 【算法分析】 当看到此题时,我们会发现求max与求min是两个相似的过程。若我们把求解max与min的过程分开,着重探讨求max的问题。 下面我们以求max为例来讨论此题用贪心策略求解的合理性。 讨论:假设经(N-3)次变换后得到3个数:a ,b , max'(max'≥a≥b),其中max'是(N-2)个数经(N-3)次f变换后所得的最大值,此时有两种求值方式,设其所求值分别为 z1,z2,则有:z1=(a×b+1)×max'+1,z2=(a×max'+1)×b+1所以z1-z2=max'-b≥0若经(N-2)次变换后所得的3个数为:m,a,

贪心算法浅析

贪心算法浅析 摘要:本文讲述了贪心算法的基本思路及实现过程,贪心算法的特点、存在的问题以及应用。并通过贪心算法的特点举例列出了几个经典问题,通过对问题的探讨和研究,对贪心算法有了更加深入的了解。 关键词:贪心算法;最优解;最优子结构问题;删数问题;活动安排问题 贪心算法的基本思路及实现过程 1贪心的基本思想 用局部解构造全局解,即从问题的某一个初始解逐步逼近给定的目标,以尽可能快地求得更好的解。当某个算法中的某一步不能再继续前进时,算法停止。贪心算法思想的本质就是分治,或者说:分治是贪心的基础。每次都形成局部最优解,换一种方法说,就是每次都处理出一个最好的方案。 利用贪心策略解题,需要解决两个问题: (1)该题是否适合于用贪心策略求解; (2)如何选择贪心标准,以得到问题的最优/较优解。 2贪心算法的实现过程 (1)应用同一规则F,将原问题变为一个相似的、但规模更小的子问题; (2)从问题的某一初始解出发: While(能朝给定目标前进一步) 求出可行解的一个解元素; (3)由所有解元素组合成问题的一个可行解。 贪心算法的特点 贪心算法的最大特点就是快,通常是线性二次式,不需要多少额外的内存。一般二次方级的存储要浪费额外的空间,而且那些空间经常得不出正解。但是,使用贪心算法时,这些空间可以帮助算法更容易实现且更快执行。如果有正确贪心性质存在,那么一定要采用。因为它容易编写,容易调试,速度极快,并且节约空间。几乎可以说,此时它是所有算法中最好的。但是应该注意,贪心算法有两大难点:

(1)如何贪心 怎样用一个小规模的解构造更大规模的解呢?总体上,这与问题本身有关。但是大部分都是有规律的。正因为贪心有如此性质,它才能比其他算法快。 具有应当采用贪心算法的问题,当“贪心序列”中的每项互异且当问题没有重叠性时,看起来总能通过贪心算法取得(近似)最优解的。或者,总有一种直觉在引导我们对一些问题采用贪心算法。其中“找零钱”这个问题就是一个例子。题中给出的硬币面值事实上具有特殊性,如果面值发生变化,可能贪心算法就不能返回最优解了。但是,值得指出的是,当一个问题具有多个最优解时,贪心算法并不能求出所有最优解。另外,我们经过实践发现,单纯的贪心算法是顺序处理问题的;而且每个结果是可以在处理完一个数据后即时输出的。 (2)贪心的正确性 要证明贪心性质的正确性,才是贪心算法的真正挑战,因为并不是每次局部最优解都会与整体最优解之间有联系,往往靠贪心算法生成的解不是最优解。这样,贪心性质的证明就成了贪心算法正确的关键。对某些问题贪心性质也许是错的,即使它在大部分数据中都是可行的,但还必须考虑到所有可能出现的特殊情况,并证明该贪心性质在这些特殊情况中仍然正确。而这样容易陷入证明不正确贪心性质的泥塘中无法自拔,因为贪心算法的适用范围并不大,而且有一部分极难证明,若是没有把握,最好不要冒险,还有其他算法会比它要保险。 贪心算法存在的问题 (1)不能保证求得的最后解是最佳的。由于贪心策略总是采用从局部看来是最优的选择,因此并不从整体上加以考虑; (2)贪心算法只能用来求某些最大或最小解的问题; (3)贪心算法只能确定某些问题的可行性范围 贪心算法的应用 1哈夫曼编码 2 0-1背包问题 3磁盘文件的存储 4生产调度问题 5信息查询

基于社交网络的社会化推荐算法研究

龙源期刊网 https://www.wendangku.net/doc/9e1564536.html, 基于社交网络的社会化推荐算法研究 作者:朱彦杰 来源:《科技视界》2014年第09期 【摘要】社交网络日趋活跃,基于社交网络的推荐成为电子商务推荐系统研究的热点领 域之一;如何利用社交网络数据给用户进行推荐物品,是基于社交网络的推荐算法的研究重点。对社交网络的定义、社交网络数据的分类进行概述,研究基于邻域的社会化推荐和基于图的社会化推荐算法;结合实际推荐系统对社会化推荐算法进行改进设计。 【关键词】社交网络;社会化;推荐 Research of Social Recommendation Algorithm Based on Social Network ZHU Yan-jie (Xuchang University, Xuchang Henan 461000, China) 【Abstract】As social networking has become increasingly active,Recommendations based on the social network have recently become one of the hottest topics in the domain of e-commerce recommender systems. How to recommend items to the users with social network data is the research content of the recommendation algorithm based on social network. With definition of social network and the classification of social network data, the social recommendation algorithm based on neighborhood or graph is studied. An?improved?social recommendation algorithm is also discussed in practical recommendations system. 【Key words】Social network; Socialization; Recommendation 美国著名的第三方调查机构尼尔森调查了影响用户相信某个推荐的因素[1],调查结果显示,90%的用户相信朋友对他们的推荐,70%的用户相信网上其他用户对广告商品的评论。从该调查可以看到,好友的推荐对于增加用户对推荐结果的信任度非常重要。在社交网站中,可以通过好友给自己过滤信息,只关注与阅读和自己有共同兴趣好友分享来的信息,从而避免了很多无关的信息,自然地减轻了信息过载问题。 在社交网站方面,国外以Facebook和Twitter为代表,国内社交网站,以QQ空间、人人网、朋友网、新浪微博等为代表;这些社交网站形成了两类社交网络结构。一种是,好友一般都是自己在现实社会中认识的人,比如同事、同学、亲戚等,并且这种好友关系是需要双方确认的,如Facebook、QQ空间,这种社交网络称为社交图谱。另一种是,好友往往都是现实中自己不认识的,而只是出于对对方言论的兴趣而建立好友关系,好友关系也是单向的关注关系,如Twitter、新浪微博,这种社交网络称为兴趣图谱。同时,也必须指出,任何一个社会 化网站都不是单纯的社交图谱或兴趣图谱。在QQ空间中大多数用户联系基于社交图谱,而在

贪婪算法思想及其应用

贪婪算法思想及其应用 摘要:贪婪算法也称作贪心算法,它没有固定的算法框架,算法设计的关键是贪婪策略的选择,并且所选的贪婪策略要具有无后向性。 关键词:贪婪策略,无后向性,最优 正文: 一.贪婪算法的定义: 贪婪算法又叫登山法,它的根本思想是逐步到达山顶,即逐步获得最优解,是解决最优化问题时的一种简单但适用范围有限的策略。 二.贪婪算法思想: 贪婪算法采用逐步构造最优解的方法,即在每个阶段,都选择一个看上去最优的策略(在一定的标准下)。策略一旦选择就不可再更改,贪婪决策的依据称为贪婪准则,也就是从问题的某一个初始解出发并逐步逼近给定的目标,以尽可能快的要求得到更好的解。而且它在设计时没有固定的框架,关键在于贪婪策略的选择。但要注意的是选择的贪婪策略要具有无后向性,即某阶段状态一旦确定下来后,不受这个状态以后的决策的影响,也就是说某状态以后的过程不会影响以前的状态,只与当前状态有关。 三.贪婪算法的优缺点: 贪婪算法的优点在于在求解问题的每一步它都是选择最优解,这样算法就容易实现也易于理解,同时也提高了效率并节省了时间。然而贪婪算法的缺点也是不容忽视的,由于它采取逐步获得最优解的方法而不从整体最优上加以考虑,它所做出的仅是在某种意义上的局部最优解。因此贪婪算法不是对所有问题都能得到整体最优解,但对范围相当广泛的许多问题它都能得出整体最优解或者是整体最优解的近似解。 四. 实例参考: 下面就列举用贪婪算法成功得出问题最优解的例子: 例:一个小孩拿着一美元去商店买糖果,花了33美分,售货员需要找回67美分给小孩,而美分的面值有25,10,5,1这几种。问题是售货员找个小孩的钱币的个数应是最少的,但同时要满足67美分这个条件。 分析:选择硬币时所采用的贪婪准则如下:每一次都选择面值最大的货币来凑足要找的零钱总数,但前提是不能超出要找的67美分。 解:我们用贪婪算法来处理这个问题,首先我们肯定会选择面值为25的货币,这样的货币我们需要两枚,然后我们依据贪婪准则选择面值为10的货币,这样的货币我们需要一枚,接着继续选择面值为5的货币一枚和面值为1的货币两枚。这样我们用贪婪算法就得到了解决问题的办法,而在实际中这也确实是这个问题的最优解。因此在找钱这个问题上,我们采用贪婪算法就能满足我们找出的钱的个数最少这个条件。 贪婪算法同时也有很多无法得出最优解的例子,比如我们熟知的背包问题: 例:有一个背包,容量是M=150。有7个物品,物品不能分割成任意大小。 要求尽可能让装入背包中的物品的总价值最大,但不能超过总容量。 物品:A B C D E F G 重量:35 30 60 50 40 10 25 价值:10 40 30 50 35 40 30 在使用贪婪算法的前提下解决下列问题,能否得到最优结果?

相关文档