2020年认证杯SPSSPRO杯数学建模D题(第二阶段)让电脑桌面飞起来全过程文档及程序
2020年认证杯SPSSPRO杯数学建模
D题 让电脑桌面飞起来
原题再现:
对于一些必须每天使用电脑工作的白领来说,电脑桌面有着非常特殊的意义,通常一些频繁使用或者比较重要的图标会一直保留在桌面上,但是随着时间的推移,桌面上的图标会越来越多,有的时候想找到一个马上要用的图标是非常困难的,就比如下图所示的桌面。各种各样的图标会让你眼花缭乱,甚至有的时候反复找好几遍都找不到你想要的图标。其实只要把图标进行有效的分类就可以解决这个问题,但是手工分类往往非常浪费时间,有的时候使用者也会陷入分类决定困难,不知该如何选择。

第二阶段问题: 假定我们把第一阶段设计的图标分类算法制作成了一个软件,该软件具有一个数据库,可以存储日常图标使用的数据,并且通过这些数据可以实现“为你推荐”功能,即当用户关闭一个应用的时候会提示用户可能接下来会使用到的应用图标。请为这个功能设计数据库的表结构,并给出推荐模型。
整体求解过程概述(摘要)
本文研究了合理推荐桌面软件的问题。在已建立的软件类型数据库的基础上,设计了软件数据库的表结构,结合层次分析方法建立了软件推荐模型。
首先,根据用户的特征用层次分析方法对第一阶段中软件类型进行推荐排序。实际际中反映用户特征的因素很多,例如用户的职业和爱好。利用用户职业和爱好两个指标来对九类软件层次分析进行排序。把推送给用户软件类型作为目标层,职业和兴趣爱好作为准则层,九类软件作为方案层进行层次分析。以教师用户为例,根据教师使用软件的数据,对所得到的数据用 Excel 和 MATLAB 对模型进行求解,计算得到准则层职业和爱好权重和方案层相对于准则层的权重,根据综合权重对九类软件进行排序,排名结果为:聊天类>办公类>视频类>游览器>音乐类>游戏类>下载类>系统类>其它。
然后,分析可知用户桌面软件的日均使用次数、日均使用时长是两个重要的指标,结合推荐软件类型综合权重建立推荐模型。把要关闭的软件的使用的时长和使用次数与其它软件使用时长和使用次数进行比较分析。结合前面层次分析得出的软件类型权重和实际意义,对协方差模型进行改进建立推荐模型。综合分析得到软件推荐优先度,按照优先度给用户推送当关闭当前软件时最有可能被使用的三个软件。以教师用户为例,对模型进行了检验,利用推荐模型计算出优先推荐的三个软件,结果表明推荐的软件与教师日常使用软件规律基本一致。
问题分析:
在实际生活中使用计算机都会留下使用的痕迹,计算机可以记录下用户的使用数据。假设我们在第一阶段中用图标分类算法对用户桌面上的每个软件建立了分类,同时这个分类软件会记录用户信息、每天使用软件的时长和使用软件的次数。为了让用户更加便捷的找到需要使用的软件,主要从用户信息和软件使用情况两个方面来综合分析:
在实际应用时,我们发现影响对用户推荐软件的因素很多,其中用户的个人信息(职业、爱好等)对软件类型的选择具有很大的影响,用户的日常使用软件情况对软件的推荐有一定的影响。在这里我们准备结合这两个方面进行计算推荐:首先,我们按照每个用户的职业和兴趣等等都有所不同,采用层次分析法,对软件类型进行层次分析。在此我们选取软件类型为方案层,用户的职业和兴趣等等作为准则层。通过方案层和准则层对用户选择类型进行分析我们利用 Excel 和 MATLAB 计算层次分析模型,对于不同用户的不同类型进行权重分析。
之后,我们选取用户的软件使用情况对下一个打开软件进一步分析,在此我们选取日均使用该软件时间和日均使用该软件次数、今日目前使用该软件时间和今日使用该软件次数两组进行分析。发现今日软件使用情况对接下来用户使用到的软件具有一定的影响。
因此我们通过日均使用和今日目前使用进行最优解分析我们利用对用户信息(类型)的分析和使用情况(软件)的分析进行推荐算法,利用 matlab 代入推荐模型,选择对于用户最佳几个推送软件。
模型假设:
1、假设该软件统计数据完善,无缺失;
2、假设该用户的职业为教师;
3、假设该软件数据库数据储存类型为矩形方阵;
4、假设该软件统计数据为用户主动打开软件产生的数据;
5、假设该用户日常使用电脑软件习惯有规律。
论文缩略图:

全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可
部分程序代码:(代码和文档not free)
disp('请输入判断矩阵 L') %输入判断矩阵 L
L=input('L='); %读取 L 矩阵
[n,n] = size(L); %% % % % % % % % % % % % % 1、算术平均法求权重% % % % % % % % % % % % %
SUm_L = sum(L);
SUM_L = repmat(SUm_L,n,1);
Stand_L = L./ SUM_L;
disp('算术平均法求权重结果为:'); %输出结果
disp(sum(Stand_L,2)./n)% % % % % % % % % % % % %2、几何平均法求权重% % % % % % % % % % % % %
P_L = prod(L,2);
P_n_L = P_L .^ (1/n);
disp('几何平均法求权重结果为:'); %输出结果
disp(P_n_L ./ sum(P_n_L))% % % % % % % % % % % % %3、特征值法求权重% % % % % % % % % % % % % %
[V,D] = eig(L);
Max_eig = max(max(D));
[r,c]=find(D == Max_eig , 1);
disp('特征值法求权重结果为:'); %输出结果
disp( V(:,c) ./ sum(V(:,c)) )% % % % % % % % % % % % %下面计算一致性比例 CR 环节% % % % % % % %
CI = (Max_eig - n) / (n-1);
RI=[0 0.0001 0.52 0.89 1.12 1.26 1.36 1.41 1.46 1.49 1.52 1.54 1.56 1.58
1.59];
%这里 RI 最多支持 n = 15
% 这里当 n=2 时,一定是一致矩阵。所以 CI = 0,为避免分母为 0,将这里的第二个元
素改为了接近 0 的正数。
CR=CI/RI(n);
disp('一致性指标 CI=');disp(CI);
disp('一致性比例 CR=');disp(CR);
if CR<0.10disp('因为 CR<0.10,该判断矩阵 A 的一致性可以接受');
elsedisp('注意:CR >= 0.10,因此此判断矩阵 A 需要进行修改');
end
全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可
相关文章:
2020年认证杯SPSSPRO杯数学建模D题(第二阶段)让电脑桌面飞起来全过程文档及程序
2020年认证杯SPSSPRO杯数学建模 D题 让电脑桌面飞起来 原题再现: 对于一些必须每天使用电脑工作的白领来说,电脑桌面有着非常特殊的意义,通常一些频繁使用或者比较重要的图标会一直保留在桌面上,但是随着时间的推移,…...
vue3 修饰符大全(近万字长文)
系列文章目录 TypeScript 从入门到进阶专栏 文章目录 系列文章目录前言一、事件修饰符(Event Modifiers)1、.stop(阻止事件冒泡)2、.prevent(阻止事件的默认行为)3、.capture(使用事件捕获模式…...
HarmonyOS@State装饰器:组件内状态
State装饰器:组件内状态 State装饰的变量,或称为状态变量,一旦变量拥有了状态属性,就和自定义组件的渲染绑定起来。当状态改变时,UI会发生对应的渲染改变。 在状态变量相关装饰器中,State是最基础的&…...
如何让GPT支持中文
上一篇已经讲解了如何构建自己的私人GPT,这一篇主要讲如何让GPT支持中文。 privateGPT 本地部署目前只支持基于llama.cpp 的 gguf格式模型,GGUF 是 llama.cpp 团队于 2023 年 8 月 21 日推出的一种新格式。它是 GGML 的替代品,llama.cpp 不再…...
使用开源通义千问模型(Qwen)搭建自己的大模型服务
目标 1、使用开源的大模型服务搭建属于自己的模型服务; 2、调优自己的大模型; 选型 采用通义千问模型,https://github.com/QwenLM/Qwen 步骤 1、下载模型文件 开源模型库:https://www.modelscope.cn/models mkdir -p /data/…...
Java工程师面试题解析与深度探讨
Java工程师面试题解析与深度探讨 第一部分:引言 Java作为一门广泛应用的编程语言,拥有庞大的生态系统,Java工程师因此成为众多企业追逐的目标。而在Java工程师的招聘中,面试是了解候选人技能和经验的核心环节。本文将深入探讨一…...
Linux下安装JET2
0. 说明: JET2是一个基于Joint Evolutionary Trees的利用序列和结构信息预测蛋白质界面的软件,详情见: http://www.lcqb.upmc.fr/JET2/JET2.html,http://www.lgm.upmc.fr/JET/JET.html 和 https://doi.org/10.1371/journal.pcbi.1004580 本…...
【PostgreSQL】表管理-表继承
PostgreSQL 表继承 PostgreSQL 实现了表继承,这对于数据库设计人员来说是一个有用的工具。(SQL:1999 及更高版本定义了类型继承功能,该功能在许多方面与此处描述的功能不同。 让我们从一个例子开始:假设我们正在尝试…...
Dijkstra算法——邻接矩阵实现+路径记录
本文是在下面这篇文章的基础上做了一些补充,增加了路径记录的功能。具体Dijkstra的实现过程可以参考下面的这篇文章。 [jarvan:Dijkstra算法详解 通俗易懂](Dijkstra算法详解 通俗易懂 - jarvan的文章 - 知乎 https://zhuanlan.zhihu.com/p/338414118) …...
Vim基础操作
参考B站UP:正月点灯笼 vim入门教程(共3讲) 以下总结,部分搬运自评论区,楼主:-不是飞鱼QAQ,修改部分内容。 vim分为 命令 和 编辑 模式 i进入编辑模式( - - INSERT - - )…...
Mac上安装 Node.js 的版本管理工具 n,以及 n 使用,的使用
安装 最近刚更换 Mac 本进行项目的开发,刚上手 Mac 本还不是很熟练,需要安装 Node.js 的包管理工具 在 Windows 上我是实用的 nvm 来管理的 Node 版本,但是我尝试下载 Nvm ,发现下载安装后的 Nvm 无法使用,提示 “Th…...
Node.js和npm
目录 01_Node.js01.什么是 Node.js目标讲解小结 02.fs模块-读写文件目标讲解小结 03.path模块-路径处理目标讲解小结 04.案例-压缩前端html目标讲解小结 05.认识URL中的端口号目标讲解小结 06.http模块-创建Web服务目标讲解小结 07.案例-浏览时钟目标讲解小结 02_Node.js模块化…...
leetcode每日一题43
116. 填充每个节点的下一个右侧节点指针 层序遍历嘛 /* // Definition for a Node. class Node { public:int val;Node* left;Node* right;Node* next;Node() : val(0), left(NULL), right(NULL), next(NULL) {}Node(int _val) : val(_val), left(NULL), right(NULL), next(N…...
每天刷两道题——第十天
1.1和为k的子数组 给你一个整数数组 n u m s nums nums 和一个整数 k k k ,请你统计并返回 该数组中和为 k k k 的子数组的个数 。子数组是数组中元素的连续非空序列。 输入:nums [1,2,3], k 3 输出:2 前缀和 1.2如何使用 前缀和的…...
C语言入门教程,C语言学习教程(第一部分:编程基础 )一
C语言是一门面向过程的编译型语言,它的运行速度极快,仅次于汇编语言。C语言是计算机产业的核心语言,操作系统、硬件驱动、关键组件、数据库等都离不开C语言;不学习C语言,就不能了解计算机底层。 这套「C语言入门教程」…...
uniapp微信小程序投票系统实战 (SpringBoot2+vue3.2+element plus ) -用户信息修改实现
锋哥原创的uniapp微信小程序投票系统实战: uniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )_哔哩哔哩_bilibiliuniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )共计21条视频…...
C语言PDF编程书籍下载
[C.Primer.Plus(第6版)中文版].(美)普拉达.扫描版.pdf 链接: https://pan.baidu.com/s/1difCyykkBdLqgLu32PgYLw 密码: tv05 C语言程序设计教程_基于Visual.Cpp.6.0环境.pdf 链接: https://pan.baidu.com/s/1q3nRrRJyUd4H3Yp_PgA…...
VScode/Xshell连接学校服务器
vscode连学校服务器 1.连接atrust VPN2.Xshell连接服务器2.1创建一个自己的用户 3.xftp传文件4.vscode连接服务器4.1下载remote-ssh4.2连接服务器4.3激活conda环境4.4运行代码 5. pytorch版本不兼容解决方案 1.连接atrust VPN 如果是使用的是校园网,可以不连接 2…...
46 WAF绕过-信息收集之反爬虫延时代理池技术
目录 简要本章具体内容和安排缘由简要本课具体内容和讲课思路简要本课简要知识点和具体说明演示案例:Safedog-默认拦截机制分析绕过-未开CCSafedog-默认拦截机制分析绕过-开启CC总结: Aliyun_os-默认拦截机制分析绕过-简要界面BT(防火墙插件)-默认拦截机制分析绕过-…...
[Markdown] Markdown常用快捷键分类汇总
文章目录 Markdown1、标题2、列表3、强调4、链接和图片5、代码和公式6、表格和任务列表7、引用8、分割线9、脚注10、目录11、注释12、定义 Markdown Markdown是一种轻量级的标记语言,可以让你用简单的语法来编写格式丰富的文档。 Markdown编辑器是一种专门用于编辑…...
Prompt Tuning、P-Tuning、Prefix Tuning的区别
一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...
linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...
Ascend NPU上适配Step-Audio模型
1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...
C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。
1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj,再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...
企业如何增强终端安全?
在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...
在 Spring Boot 中使用 JSP
jsp? 好多年没用了。重新整一下 还费了点时间,记录一下。 项目结构: pom: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://ww…...
MFE(微前端) Module Federation:Webpack.config.js文件中每个属性的含义解释
以Module Federation 插件详为例,Webpack.config.js它可能的配置和含义如下: 前言 Module Federation 的Webpack.config.js核心配置包括: name filename(定义应用标识) remotes(引用远程模块࿰…...
32单片机——基本定时器
STM32F103有众多的定时器,其中包括2个基本定时器(TIM6和TIM7)、4个通用定时器(TIM2~TIM5)、2个高级控制定时器(TIM1和TIM8),这些定时器彼此完全独立,不共享任何资源 1、定…...
