# math_model_programm
**Repository Path**: BugPeddle/math_model_programm
## Basic Information
- **Project Name**: math_model_programm
- **Description**: 存放数学建模比赛的程序代码
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2023-09-22
- **Last Updated**: 2024-06-29
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
---
output:
pdf_document:
path: ./README.pdf
---
---
## 说明
这个仓库用来存放写完的python代码
## 1.
- 目前在没有约束条件的情况下,Loss可以非常小,要多小有多小,但是还没有考虑好怎么把**每行至多有两个元素不为零**的约束条件加上去。这个留作明天的考虑。
- 目前没有考虑计算复杂度,这个留个瑄来做,应该实现起来不算特别难。
- 一种新的想法:使用马可夫过程进行强化学习,让矩阵成为一个智能体,矩阵的变换成为智能体的决策,环境是其他矩阵因子和标准的DFT矩阵,惩罚函数是Loss,如何考虑决策模型?
- **算法结束的条件需要重新设计一下**
## 2.
- 感觉是掉进了局部极小值出不来了,或者就是步子太大漫无目的地乱走产生振荡,针对这两个方面的问题:想办法设计新的奖励函数形式,让它在前期舍得花时间去探索。
- 使用第一问的办法,即先在浮点数情况下使用梯度下降求一个最接近的连乘值,然后对这个连乘值进行量化,量化的单位应该有$2^{q-1}$种,可以考虑一种精度最高同时复杂度最小的方法,因此,第二问转化为:在已知浮点矩阵列${A_{i}}$的情况下,求一个常数$\alpha$,使得$\displaystyle\min_\alpha[\Pi_{i=1}^{K}\mathcal{Q}(\alpha A_i)-M_{DFT}]$,同时保证计算复杂度$\mathcal{C}[\Pi_{i=1}^{K}\mathcal{Q}(\alpha A_i)]$尽量小
- 量化函数没有梯度,使用平方平均逼近函数求解它的近似,以近似函数的梯度作为量化函数的梯度,具体方法如下:
设定义在$(0,2^q)=(0,65536)$上的全体多项式函数空间为$V$,一组向量$\mathbf{\phi}(x)=\{\phi_i(x)\}=\{1,x,x^2,x^3,...,x^k\}$是这个空间中的一组基,使用Schmidt正交化方法将这组基规范为正规正交基,向量的内积定义为:
$$
<\phi_i,\phi_j>=\int_0^{65536}\phi_i(x)\cdot\phi_j(x){\mathrm d}x
$$
向量的模长定义为:
$$
||\phi_i||=\sqrt{<\phi_i,\phi_i>}
$$
再求Schmit正交化方法:
$$
\begin{aligned}
\varphi_1&=\phi_1\\
\varphi_2&=\phi_2-\frac{<\phi_1,\phi_2>}{||\phi_1||^2}\phi_1\\
\varphi_3&=\phi_3-\frac{<\phi_1,\phi_3>}{||\phi_1||^2}\phi_1-\frac{<\phi_2,\phi_3>}{||\phi_2||^2}\phi_2\\
&\vdots\\
\varphi_k&=\phi_k-\sum_{j=1}^{k-1}\frac{<\phi_j,\phi_k>}{||\phi_k||^2}\phi_k
\end{aligned}
$$
得到的向量序列$\mathbf{\varphi}=\{\varphi_1,\varphi_2,\cdots,\varphi_k\}$便是这个空间的一组正交基,对这组正交基使用归一化后得到正规正交基,即:
$$
\begin{aligned}
\gamma_1&=\varphi_1/||\varphi_1||\\
\gamma_2&=\varphi_2/||\varphi_2||\\
\gamma_3&=\varphi_3/||\varphi_3||\\
&\vdots\\
\gamma_k&=\varphi_k/||\varphi_k||
\end{aligned}
$$
使用这组正规正交基可以在**几乎处处**以**任意精度**拟合这个函数空间内的全体函数。
给定某定义在$(0,65536)$上的函数$f(y)$,将该函数向空间中的正规正交基集合投影,可得:
$$
\begin{aligned}
a_1&=\\
a_2&=\\
&\vdots\\
a_k&=\\
\end{aligned}
$$
该函数在平方平均意义下的最佳逼近即为:
$$
f(x)=\sum_{i=1}^{k}a_ix^i
$$
需要注意的是,这个逼近方法比Taylor展开在平方平均意义上更加逼近,Taylor展开是**点态**的逼近,而这个函数是**几乎处处**的。
**瑄你需要做的是**
已知函数:
$$
f(x)=\left\{
\begin{aligned}
0&,&0<|x|< 2^0\\
2^0&,&2^0<|x|< 2^1\\
2^1&,&2^1<|x|< 2^2\\
&\vdots&\\
2^{i-1}&,&2^{i-1}<|x|< 2^i\\
&\vdots&\\
2^{q-1}&,&2^{q-1}<|x|< 2^q\\
\end{aligned}
\right.
$$
其中,$q=16,i=1,2,\cdots,q$,是一个非常麻烦的分段函数,也是我们需要使用的量化函数,将这个函数在平方平均意义下,求最佳逼近函数:
$$
g(x)=\sum_{i=1}^ka_ix^i
$$
这里可以取k等于3或者4或者5,你选一个逼近值最小的,可以使用matlab编程等实现,今天晚上之前必须出结果。
### 大纲
论文分为以下部分:
题目复述、原理假设、解题过程,结论,如果余力可以考虑稳定性分析、显著性分析或者优化,目前来看我们是来不及的了
1. 题目复述,用自己的话将原始题目的意思重新表达一下,提取题目中的关键信息,不要照抄原文。
2. 原理假设:我来做这部分。
3. 解题过程:瑄知道一些,可以根据画图的过程来写,我马上开始弄这一部分。
4. 结论:再说