V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  necomancer  ›  全部回复第 20 页 / 共 32 页
回复总数  634
1 ... 16  17  18  19  20  21  22  23  24  25 ... 32  
2019-05-15 11:58:51 +08:00
回复了 necomancer 创建的主题 Python anaconda 的源都哪里有……官方源教育网慢到吐
@qcts33 直接看不到,我是根据某个包 ~1~3M 的大概下载时间估的……装 cudatoolkit 和更新 mkl 的时候基本都看不到条在走……但是官网用 firefox 或者 chrome 下安装包 20M+,anaconda 谜之操作
2019-05-14 00:33:24 +08:00
回复了 necomancer 创建的主题 Python anaconda 的源都哪里有……官方源教育网慢到吐
@Northxw
@youngxu
大佬们有没有整过能让 intel python ?我看 intel python 可以用 miniconda + intel 的源,好像速度还挺给力的。

如果用 pip 的话,能不能在 intel python (mkl-numpy, scipy, sklearn, sympy...) 之类的基础上装上 numba, numba+cuda, pyculib 之类的东西?还是须要编译? Anaconda 直接集成确实方便。。。
2019-05-14 00:19:37 +08:00
回复了 necomancer 创建的主题 Python anaconda 的源都哪里有……官方源教育网慢到吐
@youngxu anaconda 的 numpy+mkl 爽到飞起…… pip 貌似够呛点..... Intel 发布的 python 好像也是 conda,而且,好老……
2019-05-14 00:17:58 +08:00
回复了 necomancer 创建的主题 Python anaconda 的源都哪里有……官方源教育网慢到吐
@qcts33 我也是 ipv6,从官方网站下载 ananconda 包也是……但是下载(火狐&chrome )都能 20MB+,就 conda update --all 在 kB ....
ML 数据分析一类的……好好学数学?动力学?随机过程?概率论数理统计?看起来就这仨,然而基础知识多到吐……←_←
2019-05-13 15:41:10 +08:00
回复了 jiangxinlingdu 创建的主题 程序员 什么多少天精通 xx,多少天成为架构师,全 TM 扯蛋!
21 天精通 C++
21 天精通 JAVA
21 天精通...

随便挑五本,105 天成神 ^_^
2019-05-10 17:43:42 +08:00
回复了 caneman 创建的主题 Python 算法:圆盘盖米问题(圆的密铺?)
@caneman 没太理解,因为如果一个位置上叠加 1000 粒米,如果圆盘可以叠加,则需要 20 个。如果圆盘是上层会计入下层,那么无论怎么覆盖都覆盖不了啊,因为 1000 粒米在同一个位置,选多小的圆都会有交叠。

迭代法可能要考虑到最好和最差,我现在脑袋有点残,有时间我算一下。但是原则上六方堆积那个很好算,第一次使用大约 0.25A 次尝试求出粒子空间分布,第二次直接用大概 N/50 个圆进行覆盖。总尝试次数很稳定。当然,因为是保留用来探测粒子分布且覆盖小于 50 粒子的圆,总测试次数要很大程度上小过 0.25A + N/50 的,最差情况就是所有粒子堆叠,分布均匀应该会省力很多。
2019-05-10 02:01:59 +08:00
回复了 caneman 创建的主题 Python 算法:圆盘盖米问题(圆的密铺?)
好像不是 O(Log(A))……算了,熬夜脑袋不太对。
或者第一步使用六方堆积,用 ~0.25 A 次尝试求出空间分布,再根据空间分布一次性解决问题?
2019-05-10 01:58:56 +08:00
回复了 caneman 创建的主题 Python 算法:圆盘盖米问题(圆的密铺?)
所用的圆是大于这个四等分区间的,所以不存在漏掉粒子的问题。
2019-05-10 01:57:54 +08:00
回复了 caneman 创建的主题 Python 算法:圆盘盖米问题(圆的密铺?)
嗯……既然米粒空间分布不可知,那么第一次,比如我选择大过底面的圆覆盖,算不算我已经知道了米粒的空间分布信息?还是只返回一个米粒个数?如果只返回米粒个数,假设粒子数也比较多,那么可不可以这样尝试:
1. 使用一个大圆求出总粒子数;>50 撤掉,<50 问题解决;
2. 四等分底面,用四个圆分别覆盖,<50 保留并跳过此 1/4 的区间,>50 撤掉并将这个区间继续四等分
重复以上步骤,直到所有圆下面粒子<50,是不是 O(Log(A)) 次尝试?
2019-05-08 20:43:05 +08:00
回复了 caneman 创建的主题 Python 算法:圆盘盖米问题(圆的密铺?)
如果涉及大圆超过 50 个粒子,需要在大圆上覆盖其他圆的时候,参考:
https://en.wikipedia.org/wiki/Circle_packing_in_a_circle
圆里继续做堆积……

我感觉你问的问题还是有点 bug 的……其实如果每个圆选取时个数时无限的,大小随意,需求是覆盖所有米粒,那么是不是一直拿能盖住所有粒子的圆往上堆,到 米粒总数 /50 个圆完事……
2019-05-08 20:36:51 +08:00
回复了 caneman 创建的主题 Python 算法:圆盘盖米问题(圆的密铺?)
抱歉,最后写得有点脑残:
方形面积 x 0.25 个圆,覆盖 0.91 的面积,平均每个圆覆盖 3.64% 的面积,或者在均匀分布下,3.64%的米粒……
2019-05-08 20:25:54 +08:00
回复了 caneman 创建的主题 Python 算法:圆盘盖米问题(圆的密铺?)
我觉得就是怎么用圆有效填充方形面积的问题。
1.圆盘大小限定死了吗?如果圆盘大小是限定的,则用六方堆积圆盘,你用了立方堆积,很浪费空间。
2.如果有大有小,则尽可能用最大圆盘进行六方堆积,用尽以后空白处用次一号的圆进行六方堆积。
米粒随机意味着我可以认为米粒是均匀分布,米粒密度 x 圆盘大小为圆盘下覆盖米粒数的期望;圆下米粒数服从二项分布,假设 p=圆盘面积(A)/底面积,则 P(n; N, A) NCn p^n(1-p)^(N-n) 为总 N 粒米,圆盘下 n 粒米的概率,所以期望是 Np, 方差是 Np(1-p),你可以用来估计某面积圆盘下大过 50 粒米的概率,最后对大圆盘进行加强覆盖。

所以,我觉得一个很简单的方案是选一个 p(50; N, A) 比较小的某个大小的圆盘进行六方堆叠,判定一下如果有超过 50 个粒子的在上面直接覆盖一个圆盘完事。因为当圆直径 /平面边长比较小(<0.3)的时候,数密度大概是 0.25 ,也就是方形面积 x0.25 个圆,能够达到 0.91 的覆盖率。平均每个圆大概覆盖 22% 左右的米粒。

参考:
https://en.wikipedia.org/wiki/Circle_packing
https://en.wikipedia.org/wiki/Circle_packing_in_a_square
2019-05-07 17:43:48 +08:00
回复了 zpoint 创建的主题 Python cpython 底层实现笔记
真·学 python ....
2019-05-07 15:05:13 +08:00
回复了 akmonde 创建的主题 Python Python 项目移植到其他机器,要求全 Linux 系统适配
@akmonde 我是想说你自己用 miniconda 搞一个,连整个 conda 的 python 环境一起给他,只有自己的项目调用那个 python....保证通用。
2019-05-07 03:13:11 +08:00
回复了 akmonde 创建的主题 Python Python 项目移植到其他机器,要求全 Linux 系统适配
直接 miniconda 行不行?实在不行连整个 py 环境都给他……
2019-05-07 01:10:00 +08:00
回复了 guiqiqi 创建的主题 程序员 用无线渗透的方法让室友按时休息
DoS 到他们觉得到晚上网就慢不就结了。。。
2019-05-05 01:03:44 +08:00
回复了 oneTimeElastic 创建的主题 Python 怎么样找到一个列表中的连续数的第一个 index?
输出:

[[1, 0, 1], [3, 9, 1], [1, 3, 4], [1, 2, 5], [3, 9, 6]] [1, 9, 9, 9, 3, 2, 9, 9, 9]
[3, 9, 1]
[3, 9, 6
2019-05-05 01:02:59 +08:00
回复了 oneTimeElastic 创建的主题 Python 怎么样找到一个列表中的连续数的第一个 index?
l = [1,2,3,3,3,9,9,9]
l = [1,9,9,9,3,2,9,9,9]
counts = [[1,0,l[0]]]
i = 0
for idx, item in enumerate(zip(l[:-1], l[1:])):
prev, nxt = item
if prev == nxt:
counts[i][0] += 1
else:
counts.append([1,nxt,idx+1])
i += 1

print(counts, l)
print(sorted(counts, key=lambda x:(x[0],x[1],-x[2]), reverse=True)[0])
# 按出现次数、元素本身大小和元素序号(逆序)排序
print(sorted(counts, key=lambda x:(x[0],x[1],-x[2]), reverse=True)[0])
# 按出现次数、元素本身大小和元素序号排序
666 啊,这事儿得多费劲……
1 ... 16  17  18  19  20  21  22  23  24  25 ... 32  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4625 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 23ms · UTC 09:29 · PVG 17:29 · LAX 02:29 · JFK 05:29
Developed with CodeLauncher
♥ Do have faith in what you're doing.