标签: topology

Storm并行中的"任务"是什么?

我想通过下面的大文章,了解Twitter的风暴" 了解风暴的拓扑结构的并行 "

但是我对"任务"的概念感到有些困惑.任务是组件的运行实例(spout还是bolt)?具有多个任务的执行程序实际上是说执行程序多次执行相同的组件,我是否正确?

此外,在一般的并行意义上,Storm会为spout或bolt生成一个专用线程(执行程序),但是由具有多个任务的执行程序(线程)对并行性做出了什么贡献?我认为在一个线程中有多个任务,因为一个线程按顺序执行,只会使该线程成为一种"缓存"资源,从而避免为下一个任务运行产生新线程.我对么?

我可以在花更多时间调查之后自己清除那些困惑,但是你知道,我们都喜欢stackoverflow ;-)

提前致谢.

parallel-processing topology apache-storm

46
推荐指数
1
解决办法
1万
查看次数

找到包围2D网格上的区域的最短栅栏

我有一个50 x 50的2D网格.网格单元可以具有以下三种状态之一:

1: "inside"
2: "empty"
3: "wall"
Run Code Online (Sandbox Code Playgroud)

我的初始配置是一个网格,其中一些单元格(可能是其中的10%,大部分是连续的)标记为"内部".随机也有一些"墙"细胞.其他单元格是"空的".

我试图找到我可以围绕"内部"单元构建的最短栅栏,以便所有"内部"单元被围起来(围栏是通过将"空"单元改为"墙"单元构建的).如果我们对解决方案进行评分,那么最佳解决方案将最小化需要更改为"墙"单元的"空"单元的数量.

更严格地说,在最终配置中,存在约束,即对于每个"内部"单元,没有到达不通过"墙"单元的网格边缘的路径.就我而言,允许对角线移动.

我猜我可以做一些巧妙的涉及距离变换,或计算网格的拓扑骨架,但这对我来说并不是很明显.如果这是一个经典的优化问题,我不知道谷歌的条款.

是否有O(n ^ 2)算法来寻找最短的栅栏?

编辑:它不像找到"内部"单元格的凸包那么容易,因为预先存在的"墙"单元是自由的.想象一个"C"形的预先存在的墙块,在C的内部有所有"内部"单元格.大多数时候,用"墙"单元格完成C将比在所有墙上绘制凸包更便宜"内部"细胞.这就是使这个问题变得困难的原因.

algorithm optimization topology path-finding graph-algorithm

30
推荐指数
1
解决办法
1288
查看次数

比较开源java图形绘制框架(JUNG和Prefuse)绘制网络拓扑

哪个开源Java图形绘制框架用于具有以下要求的网络图?该图表将少于1000个节点.

1)具有平行边缘
2)在单个图形内的有向和无向边缘
3)由图像表示的节点
4)用户与节点和边缘的交互
5)动态地添加/删除节点和边缘
6)在节点和边缘上的多个标记,不同的级别用户可以关闭/打开标签.(如绘制图层并关闭/打开图层)
7)不同的布局算法,以显示星形,环形,网格拓扑

我评估了JUNG和Prefuse.这是我为每个要求找到的.

1)当JUNG支持时,Prefuse不能显示平行边缘.可以预操作代码来显示平行边缘吗?由于这涉及基本的数据级别更改,我相信通常的自定义呈现更改会更加困难.

2)我没有在prefuse和JUNG中找到任何对组合图(有向和无向边)的引用.有没有人知道呢?

3)Prefuse和JUNG都很容易

4)prefeuse和JUNG再次为用户交互提供支持.

5)prefuse和JUNG都支持它.重绘图表时每个框架如何执行?我在另一篇文章中看到,prefuse在动态更新方面效果不佳(Prefuse Toolkit:动态添加节点和边缘)

6)这归结为修改图形并重新绘制它.所以问题变得与5)相同

7)JUNG和prefuse都有多种布局算法.但是当我尝试在JUNG和Prefuse中使用FruchtermanReingoldLayout显示相同的数据集时,我会得到不同的显示.有什么想法吗?虽然Prefuse中的大多数布局算法都是基于JUNG实现的,Prefuse中的布局算法似乎显示出比JUNG更好的布局(渲染也更好).PreFuse布局(如ForceDirectedLayout/FruchtermanReingoldLayout和CircleLayout)直接映射到星形,圆形,网格拓扑.

在这些要求之外,prefuse对表达式和查询语言有很好的支持,但看起来它不像JUNG那样积极开发.哪一个有更好的可视化?关于哪一个适合以及如何克服缺点的任何建议?

我可以使用其他任何框架吗?

java graph topology prefuse jung

27
推荐指数
2
解决办法
5666
查看次数

最常见的高阶约束描述了关于关系排序的整数序列

在CLP(FD)中,我们经常需要声明:"这是整数和有限域变量的列表(有时:严格地)升序/降序."

是否有任何CLP(FD)系统为此任务提供通用(参数化)内置约束?

SWI-Prolog提供了一个名为的约束chain/2,类似于我正在寻找的约束.但是,名称稍微过于具体,不能包含约束可以描述的所有关系(例如:#<不是部分顺序,但是可以接受chain/2,导致序列 - 作为一组整数 - 不再计算为链中定义的链数学顺序理论).因此,该名称并未完全描述约束实际实现的内容.

请给所述最一般相对于通常的二进制CLP(FD)约束定义-或包含至少一个合适的子集#<,#>,#=<#>=- 包括根据代数结构的约束定义适当的名称.强加的条件是约束描述了在文献中具有正确名称的实际数学结构.

首先,请考虑使用SICStus Prolog或SWI:

:- use_module(library(clpfd)).

connex(Relation_2, List) :-
    connex_relation(Relation_2),
    connex_(List, Relation_2).

connex_relation(#=).
connex_relation(#<).
connex_relation(#=<).
connex_relation(#>).
connex_relation(#>=).

connex_([], _).
connex_([L|Ls], Relation_2) :-
    foldl(adjacent(Relation_2), Ls, L, _).

adjacent(Relation_2, X, Prev, X) :- call(Relation_2, Prev, X).
Run Code Online (Sandbox Code Playgroud)

示例案例:

?- connex(#<, [A,B,C]).
A#=<B+-1,
B#=<C+-1.

?- connex(#=, [A,B,C]).
A = B, B = C,
C in inf..sup. …
Run Code Online (Sandbox Code Playgroud)

topology prolog clpfd meta-predicate

22
推荐指数
2
解决办法
1114
查看次数

检测非托管第2层交换机的网络映射算法?

我继承了一个分布在仓库/前台办公室的网络,该办公室由大约50台台式机,各种服务器,网络打印机和路由器/交换机组成.

"智能"路由器存在于服务器机房中.随着公司的发展,我们已经吞并了额外的空间,并没有非常优雅地运行各种长度的CAT5通过天花板等.我一直在天花板上找到各种集线器和开关 - 没有任何标签或以任何方式记录.

当然,das blinken-lights告诉我有人连接到这些设备,我无法找到.

我可以运行传统的网络地图工具(有很多这些东西),它向我展示了网络中基于IP的东西.这很好,但我已有的信息.我需要知道的是网络拓扑 - 交换机(网桥)如何互连等等.由于它们是现成的linksys非托管类型,它们不响应SNMP所以我不能使用它...

什么是最好/最便宜的工具,我可以用它来分析和检测网络中不响应SNMP的集线器和交换机等问题?

如果没有你知道的工具 - 你会建议找出什么通用算法?我的猜测是,我可以查看设备(交换机,桌面等)的MAC转发表并以此方式构建链,但我不知道是否可以从非管理型交换机获取该链(更不用说一个中心).

(这个专利有一些巧妙的想法,但我找不到任何用它构建的软件:http://www.freepatentsonline.com/6628623.html)

谢谢!!

networking topology

11
推荐指数
1
解决办法
1万
查看次数

graph - 图形中嵌入式和拓扑之间有什么区别?

在" 算法设计手册"中,第178页描述了Graph的一些属性,其中一个是嵌入式和拓扑:

嵌入式与拓扑式

如果顶点和边指定了几何位置,则嵌入图形.因此,图形的任何绘制都是嵌入,其可能具有或可能不具有算法意义.

偶尔,图的结构完全由其嵌入的几何定义.例如,如果我们在平面中给出了一组点,并寻求访问所有这些点的最低成本游览(即旅行商问题),则基础拓扑是连接每对顶点的完整图.权重通常由每对点之间的欧几里德距离定义.

点网格是几何体拓扑的另一个例子.n×m网格上的许多问题涉及在相邻点之间行走,因此从几何中隐含地定义边缘.

我完全不理解它:

  1. 首先,究竟是什么embedded意思?只要顶点有自己的几何位置,那么我可以调用嵌入的图形吗?
  2. 什么any drawing of a graph is an embedding意思?这是否意味着我在第1点所说的话?
  3. 什么Topological意思?我不认为在本说明书中对其进行了解释.
  4. 这个描述中的例子让我很困惑.有人可以用最简单的词语来让我理解图表的这两个术语吗?
  5. 让这两个术语理解真的很重要吗?

谢谢

algorithm graph topology data-structures

11
推荐指数
1
解决办法
2000
查看次数

拓扑数据分析 - 从哪里开始

我最近遇到了"拓扑数据分析"(TDA),它是一种可视化大型数据集的独特方式.这是一份斯坦福大学的论文,其结果示例为https://research.math.osu.edu/tgda/mapperPBG.pdf.

我想产生类似的结果,但我很难在网上找到可运行的代码,你可以在网上安装软件包,加载样本数据,然后执行几行(比如http://scikit-learn.org/ examples).我的语言偏好是Python,但也可以使用R.

有没有人能够吸引TDA,如果有的话,有关如何获取代码并运行的任何建议吗?

python visualization r topology

11
推荐指数
2
解决办法
7796
查看次数

星形拓扑中的MySQL

我有一个中央数据库,包含MySQL 5.1-lastest-stable中的所有数据.
我想在master-master关系中连接多个客户端.

如何在中间设置具有多个客户端数据库的1个中央服务器的星型拓扑,以便一个客户端中的更改首先传播到中央服务器并从那里传播到所有其他客户端数据库?

数据库信息

我正在为所有表使用inno-db,我启用了二进制日志.
除此之外,我已经学会了如何在数据库之间进行master-master.
所有表都有主键primary integer autoincrement.自动增量偏移和开始调整到不同的客户端数据库时,永远不会有主键冲突.

为什么我要这个

我有连接到笔记本电脑上的本地MySQL数据库的客户端软件(不是网站或php),这需要同步到中央数据库,以便所有在他们的笔记本电脑上使用该程序的人看到其他人所做的所有其他更改.
我不想直接连接到中央数据库,因为如果笔记本电脑和中央数据库之间的互联网连接断开,我的应用程序就会死机.
在此设置中,应用程序继续,在重新建立与中央数据库的连接之前,笔记本电脑不会从其他人那里获得更新.

mysql replication configuration topology master

9
推荐指数
1
解决办法
7904
查看次数

在"环绕地图"上的一组点之间的"质心",可以最大限度地减少到所有点的平均距离

编辑 正如有人指出的那样,我正在寻找的实际上是最小化所有其他点之间的总测地距离的点


我的地图在地形上类似于吃豆人和小行星的地图.越过顶部会让你翘起到底部,经过左边会让你向右弯曲.

假设我在地图上有两个点(质量相同),我想找到它们的质心.我可以使用经典定义,它基本上是中点.

但是,让我们说这两点是在质量的两端.可以说,还有另一个质心,它是通过"环绕"包裹而形成的.基本上,它是与其他两个点等距的点,但是通过"环绕"边缘来链接.

b . O . . a . . O .
Run Code Online (Sandbox Code Playgroud)

两点O.他们的"经典"中点/质心是标记的点a.然而,另一个中点也在b(b通过环绕绕两个点等距离).

在我的情况下,我想选择两点之间平均距离较低的那个.在这种情况下,a具有三个步骤的两个点之间的平均距离. b平均距离为两步.所以我会选择b.

解决两点情况的一种方法是简单地测试经典中点和最短环绕中点,并使用具有较短平均距离的中点.

然而!这不容易推广到3个点,或4个,或5个,或n个点.

有没有我可以用来找到这个的公式或算法?

(假设所有积分将永远是等质量的,我只能用"重心",因为它是我知道松散地描述我试图做的唯一项)

如果我的解释不清楚,我会尝试更好地解释它.

language-agnostic algorithm math geometry topology

8
推荐指数
1
解决办法
1660
查看次数

拓扑错误:无法执行操作“GEOSIntersection_r”

大家好,我正在尝试将选区形状文件映射到议会选区。我有[两者]的形状文件。基本上,我必须将人口普查数据中地区级别给出的所有变量映射到议会选区级别。所以我正在关注 pycon talk。一切工作正常,但我在 get_intersection 函数中遇到错误。错误是 TopologicalError: The operation 'GEOSIntersection_r' could not be performed. Likely cause is invalidity of the geometry <shapely.geometry.polygon.Polygon object at 0x7f460250ce10>

我尝试过使用 pygeos 和 rtree。有一些链接说问题出在 pygeos 中。所以,我使用了rtree。但没有用。请帮忙提前谢谢。

我尝试过的代码是

constituencies=gpd.GeoDataFrame.from_file('/content/AC_All_Final.shp')
districts=gpd.GeoDataFrame.from_file('/content/2001_Dist.shp')
districts['AREA'] = districts.geometry.area
constituencies['AREA'] = constituencies.geometry.area
merged = gpd.sjoin(districts, constituencies).reset_index().rename(
    columns={'index': 'index_left'})

def get_intersection(row):
    left_geom = districts['geometry'][row['index_left']]
    right_geom = constituencies['geometry'][row['index_right']]
    return left_geom.intersection(right_geom)

***Error is at this point***
merged['geometry'] = merged.apply(get_intersection, axis=1)
merged['AREA'] = merged.geometry.area
Run Code Online (Sandbox Code Playgroud)
Error trace is given below:
TopologyException: Input geom 1 is invalid: …
Run Code Online (Sandbox Code Playgroud)

python topology r-tree python-3.x geopandas

8
推荐指数
2
解决办法
1万
查看次数