• 矩阵乘法与邻接矩阵

    矩阵乘法与邻接矩阵

    矩乘结合律的证明 \(:\)
    \[\begin{aligned}((\mathbf{A B}) \mathbf{C})[i, j] & \\ &=\sum_{l=1}^{c}\left(\sum_{k=1}^{b} \mathbf{A}[i, k] \mathbf{B}[k, l]\right) \mathbf{C}[l, j] \\ &=\sum_{k=1}^{b} \sum_{l=1}^{c} \mathbf{A}[i, k] \mathbf{B}[k, l] \mathbf{C}[l, j] \\ &=\sum_{k=1}^{b} \mathbf{A}[i, k]\left(\sum_{l=1}^{c} \mathbf{B}[k, l] \mathbf{C}[l, j]\right) \\ &=(\mathbf{A}(\mathbf{B} \mathbf{C}))[i, j] \end{aligned}\]

    矩阵乘法能进行快速幂运算的原因就是因为它具有结合律.

    引例 \(1:\) [TJOI2017]可乐

    相信很多人都能想出一个 \(\Theta(t\times m)\) 的做法.(虽然我没想出来,但这只是因为我菜)

    问题简化一下,如果我们没有在原地停留和自爆两个操作,那么就是问从起点出发,走 \(t\) 步的不同路径数.

    这个问题怎么做呢?

    不考虑 \(Dp\) .

    令该图的邻接矩阵是 \(G\) , 那么我们考虑 \(G^2\) 是个什么东西.(此处的幂运算是指矩阵的幂).

    我们单独考虑某一行和某一列的相关运算 \(:\) 令其为 \(G_{a,i}\)\(G_{i,b}\) , 令 \(G'\) 为相乘得到的矩阵,那么会有 \(:\)

    \[G'_{a,b} = \sum_{i=1}^m{G_{a,i}\times G_{i,b}}\]

    容易发现,当且仅当 \(G_{a,i}\)\(G_{i,b}\) 都不为零,即 \(i\) 点可连通 \(a,b\) 两点的时候上式的该项才为 \(1\) , 否则为零.

    那么所有的这些情况累加起来,就是从 \(a\)\(b\) 长度为 \(2\) 的路径条数.(即走 \(2\) 步从 \(a\) 走到 \(b\) 的方案数,长度是 \(2\) 是因为经过一个中间点.)

    由此,我们可以得到, \(G^2\) 得到的矩阵其实表示了任意两点间长度为 \(2\) 的路径条数.

    那么 \(G^3\) 是否就表示任意两点间长度为 \(3\) 的路径条数呢?

    \(G'=G^2\) , \(G''\)\(G^3\). 那么有:

    \[G''=G'\times G\]

    \[G''_{a,b}=\sum_{i=1}^n\sum_{j=1}^n{G_{a,i}\times G_{i,j}\times G_{j,b}}\]

    分析方法与上面相同,于是我们归纳结论如下:

    \(G\) 表示一张图的邻接矩阵表示,那么 \(G^i\) 表示任意两点间长度为 \(i\) 的路径条数.

    那么我们就解决了引例的简化问题.

    那么怎么处理引例中的自爆和原地不动呢?

    很简单,原地不动视为自环,自爆就额外建一个虚点,表示自爆,这里要注意的是,不需要从虚点连回原图,因为自爆之后就不能再走了.

    于是我们解决了引例.

    那么矩乘是否仅仅只有这一个用处呢?

    引例 \(2:\) USACO07NOV Cow Relays

    题目大意 \(:\) 求从 \(s\)\(t\) 经过 \(k\) 条边的最短路.

    这个问题乍一看很眼熟,似乎就是上一个问题在细节上做一下变换得到.

    但你仔细思考会发现,最短路这个看似平凡的条件竟然不能用加法和乘法解决.

    但其实这也合理,因为我们知道最短路的求法都是以类似于 \(Dp\) 的松弛操作为核心的,也就是说有一个核心运算 \(: min!\)

    那么是否可以用矩阵解决这个运算呢?

    考虑 \(Floyd\) 的过程,其核心代码是 \(f_{i,j}=min(f_{i,j},f_{i,k}+f_{k,j})\)

    这给了我们一定启发,因为 \(Floyd\) 的过程和矩乘的过程十分相似.( \(Floyd\) 的本质是滚掉一维的三维 \(Dp\))

    于是,我们大胆定义新的矩乘 \(:\)

    令矩阵 \(A\) 和 矩阵 \(B\) 相乘的结果为矩阵 \(C\) .

    则定义:

    \[C_{a,b}=\sum_{i=1}^m{min(A_{x,i},B_{i,y})}\]

    容易发现,这个矩乘同样具有结合律.(可以从 \(min\) 运算是和 \(+\) 运算具有同样性质的二元运算符考虑,证明与普通矩乘相同).

    那么这样,我们直接应用引例 \(1\) 中的结论即可解决该题.

    引例 \(3:\) 最小最大边问题

    找不到题目了,国集论文没给题目来源,找不到.

    最小最大边问题 \(:\) 给定一张有向图,求某两点间通过边数恰好为 \(k\) 的路径,使得最大边最小.

    同样的熟悉,同样的问题.

    考虑如果没有长度恰好为 \(k\) 的做法,那么就是把 \(Floyd\) 的核心代码换成 \(:\)
    \[f_{i,j}=max(f_{i,j},min(f_{i,k},f_{k,j}))\]

    能否采用与上面相同的方式重定义矩乘呢?答案是肯定的.

    令矩阵 \(A\) 和矩阵 \(B\) 相乘的结果为矩阵 \(C\).

    则定义 \(:\)

    \[C_{a,b}=\max_{i=1}^m\{min(A_{x,i},B_{i,y})\}\]

    直接套用上面的结论即可.

    参考文献 \(:\) 2008年国集论文(ACM Paper):矩阵乘法在信息学中的应用--余华程

    相关文章
    相关标签/搜索
    2020年白姐正版先锋香港最快开奖现场直播,2020香港开奖结果,六开彩开奖结果,香港开码结果记录 江都市| 察隅县| 若尔盖县| 顺义区| 同德县| 荣昌县| 洪湖市| 新竹市| 柳江县| 泰宁县| 福贡县| 大英县| 定襄县| 镇平县| 汝阳县| 大冶市| 若尔盖县| 东乌珠穆沁旗| 湖州市| 黑龙江省| 仙游县| 海阳市| 天水市| 木兰县| 平远县| 错那县| 砚山县| 汉川市| 新乡县| 林甸县| 西青区| 西平县| 茶陵县| 广元市| 霍州市| 建德市| 托里县| 南丰县| 临沧市| 亚东县| 磐安县| 资溪县| 故城县| 新巴尔虎左旗| 南投市| 绥芬河市| 江陵县| 博兴县| 浠水县| 务川| 康乐县| 舒兰市| 安化县| 靖西县| 渝北区| 乐清市| 武川县| 台北市| 扎鲁特旗| 玛沁县| 阳山县| 玉田县| 手机| 上蔡县| 南宁市| 宁津县| 盐津县| 大姚县| 郁南县| 沁阳市| 通化市| 贡山| 定西市| 莒南县| 双桥区| 岳普湖县| 乡宁县| 赤壁市| 忻城县| 商南县| 清河县| 始兴县| 奈曼旗| 湖南省| 永兴县| 云安县| 锡林郭勒盟| 乐亭县| 荔浦县| 浪卡子县| 尼玛县| 兴山县| 琼结县| 中西区| 镇沅| 泸溪县| 南靖县| 维西| 房山区| 苍溪县| 全南县| 凤冈县| 西藏| 沐川县| 古蔺县| 洛川县| 贞丰县| 阿瓦提县| 巴东县| 江都市| 荃湾区| 攀枝花市| 吴旗县| 京山县| 呈贡县| 肇源县| 朝阳县| 佳木斯市| 洞口县| 长葛市| 周宁县| 黑河市| 林西县| 威信县| 英超| 牟定县| 济宁市| 临夏市| 彩票| 崇仁县| 张家界市| 汪清县| 镶黄旗| 阜新市| 安西县| 南木林县| 彩票| 时尚| 布尔津县| 九龙城区| 镇沅| 金华市| 壤塘县| 彩票| 凤阳县| 盐城市| 安阳市| 青浦区| 循化| 自治县| 江达县| 兴山县| 沅陵县| 祁门县| 贵德县| 饶阳县| 洛宁县| 彭水| 松滋市| 台中市| 奈曼旗| 凌源市| 武安市| 海宁市| 定陶县| 广西| 吉木萨尔县| 海南省| 高碑店市| 涟水县| 临高县| 新沂市| 齐河县| 南丹县| 桐梓县| 鲁山县| 乳山市| 肇源县| 台东县| 慈利县| 萝北县| 神木县| 临高县| 广灵县| 滨州市| 广汉市| 大化| 宜章县| 桐梓县| 上思县| 虎林市| 普洱| 关岭| 壶关县| 广东省| 长白| 上高县| 临沧市| 静宁县| 四子王旗| 长丰县| 深水埗区| 德昌县| 晴隆县| 永宁县| 保山市| 岑巩县| 恩平市| 庆安县| 平遥县| 高陵县| 南安市| 丰台区| 郧西县| 宝鸡市| 华亭县| 泸水县| 清远市| 武平县| 福清市| 诏安县| 乌拉特中旗| 富锦市| 柯坪县| 连江县| 任丘市| 雅江县| 古田县| 个旧市| 轮台县| 应用必备| 尼玛县| 织金县| 宁蒗| 卢湾区| 乌审旗| 神木县| 襄城县| 安阳县| 视频| 东海县| 麻江县| 城市| 余庆县| 敖汉旗| 蓝山县| 轮台县| 襄汾县| 得荣县| 万安县| 张家川| 兴业县| 乌拉特前旗| 兰坪| 新民市| 富宁县| 行唐县| 宝山区| 射洪县| 竹北市| 新平| 开封县| 闵行区| 津南区| 阿尔山市| 理塘县| 浦北县| 博客| 台安县| 资阳市| 锡林郭勒盟| 桂平市| 若羌县| 海盐县| 沈丘县| 贵定县| 保定市| 平谷区| 沿河| 正镶白旗| 罗甸县| 嘉荫县| 张家口市| 虞城县| 斗六市| 渑池县| 宜兰市| 开化县| 隆子县| 旅游| 田阳县| 墨竹工卡县| 长阳| 黄浦区| 延庆县| 桃园市| 兴隆县| 泸水县| 新龙县| 缙云县| 河北区| 安丘市| 天津市| 鄂托克旗| 新蔡县| 全州县| 个旧市| 台南市| 共和县| 浪卡子县| 东阿县| 新余市| 克什克腾旗| 长子县| 宣恩县| 会宁县| 治县。| 隆子县| 大洼县| 仪征市| 高密市| 札达县| 蒙自县| 营山县| 通许县| 徐汇区| 巴林左旗| 毕节市| 大安市| 遵化市| 绵竹市| 满洲里市| 沈丘县| 房产| 会同县| 梁平县| 惠东县| 乐陵市| 南京市| 馆陶县| 桓仁| 江山市| 榆中县| 措勤县| 乌拉特中旗| 前郭尔| 海伦市| 盈江县| 全州县| 江口县| 金门县| 栖霞市| 榆树市| 门源| 巨鹿县| 建水县| 鄂温| 寿宁县| 启东市| 女性| 宜兰县| 宜兴市| 祁连县| 武宁县| 黎川县| 潼南县| 双柏县| 西宁市| 双流县| 桑日县| 焉耆| 高阳县| 丹巴县| 上虞市| 江源县| 津南区| 叙永县| 贡嘎县| 伊金霍洛旗| 巴塘县| 蒙自县| 黄大仙区| 新和县| 江西省| 兴义市| 昌乐县| 许昌市| 张家港市| 武功县| 邻水| 金堂县| 正宁县| 祁门县| 蓬溪县| 永平县| 柏乡县| 西乌珠穆沁旗| 瑞金市| 招远市| 扎鲁特旗| 偏关县| 昌都县| 宁乡县| 双辽市| 牟定县| 黑山县| 望江县| 中江县| 景宁| 九龙县| 岗巴县| 新晃| 涞水县| 务川| 永新县| 孝义市| 新沂市| 巨鹿县| 揭阳市| 保德县| 靖西县| 大石桥市| 嵩明县| 逊克县| 陆川县| 乡城县| 墨脱县| 炉霍县| 筠连县| 越西县| 台北市| 唐海县| 宁乡县| 靖宇县| 航空| 洪洞县| 思南县| 新民市| 昆明市| 长白| 岐山县| 安多县| 台山市| 腾冲县| 潮州市| 绥宁县| 开化县| 宝清县| 海原县| 陆河县| 阿荣旗| 司法| 土默特左旗| 丹巴县| 女性| 延寿县| 抚顺县| 兴国县| 广东省| 潞西市| 衡南县| 武清区| 通道| 崇左市| 延津县| 明溪县| 綦江县| 西和县| 西丰县| 建阳市| 沾化县| 吉木乃县| 西藏| 连山| 淮阳县| 滨州市| 常熟市| 榆社县| 奎屯市| 那曲县| 桐梓县| 桃园市| 济源市| 南江县| 桃园市| 柏乡县| 江山市| 渑池县| 台北市| 五家渠市| 海林市| 将乐县| 蕉岭县| 禹州市| 江源县| 项城市| 临颍县| 苏尼特右旗| 泸水县| 海宁市| 大英县| 额尔古纳市| 横山县| 乌审旗| 阳朔县| 太白县| 库尔勒市| 江西省| 福安市| 全椒县| 长治县| 修文县| 宁海县| 南木林县| 临沂市| 奈曼旗| 湖口县| 南乐县| 桃园市| 桦甸市| 杭州市| 哈尔滨市| 汉寿县| 勃利县| 房产| 合江县| 德安县| 两当县| 诸城市| 横山县| 龙井市| 元氏县| 南靖县| 麻城市| 酒泉市| 阿鲁科尔沁旗| 沐川县| 大方县| 平塘县| 攀枝花市| 阳朔县| 红原县| 梁山县| 定襄县| 三明市| 玉屏| 望江县| 临潭县| 绍兴县| 海口市| 延长县| 柯坪县| 察隅县| 大连市| 安泽县| 延寿县| 临猗县| 汉中市| 老河口市| 安仁县| 西丰县| 太原市| 凯里市| 翁牛特旗| 荆门市| 阿瓦提县| 通化市| 调兵山市| 嘉善县| 昭平县| 乡城县| 临桂县| 改则县| 美姑县| 巫溪县| 芜湖县| 镇远县| 上杭县| 阳城县| 竹溪县| 松潘县| 革吉县| 永康市| 广安市| 延安市| 新津县| 凤凰县| 花垣县| 祁东县| 上栗县| 翁牛特旗| 温宿县| 武鸣县| 扶余县| 收藏| 宜黄县| 甘洛县| 吴桥县| 章丘市| 米林县| 化隆| 华蓥市| 岗巴县| 长顺县| 门头沟区| 沙湾县| 邮箱| 竹北市| 昭苏县| 含山县| 巍山| 嵊州市| 武宣县| 彩票| 博野县| http://m.jx1870hostv.fun http://jx1870figurev.fun http://m.jx1870indexv.fun http://jx1870journeyv.fun http://jx1870leadv.fun http://www.jx1870fanv.fun http://jx1870greenv.fun http://wap.hz0j2r1vo.fun http://m.jx1870husbandv.fun http://wap.jx1870flightv.fun http://m.jx1870installv.fun http://m.jx1870forwardv.fun http://wap.hz0j1r4vo.fun http://www.jx1870inchv.fun http://jx1870happenv.fun http://www.jx1870influencev.fun http://www.jx1870footv.fun http://wap.jx1870fixv.fun