在这里,我们建议对Cao和Abbott的四类算法进行可能的修改[21]并介绍了求和-over-trips形式的新的替代算法。
3.1形式语言理论方法
四类算法生成重复行程[21],然后必须通过对每个生成的新行程的现有行程列表进行二进制搜索来删除,这需要总时间,其中k个是构造的行程数。产生重复出行的机制有两种,通过对适用于出行的偏移选择进行简单限制,可以消除这两种机制。作为第一个示例,对于图1,可以生成跳闸以两种不同的方式,以下为:
由于行程中的任何一步都可以增加偏移量(第一步或第二步B类),同一跳闸可能会多次生成。如果我们坚持认为在最近添加到行程中的远足之前的任何步骤都不能添加远足,这是可以避免的。在无上下文语法理论中,这相当于需要最左边的推导。我们可以用一个符号来表示这一点,以分隔行程中可变和不可变的部分:
产生重复行程的第二种机制是从两端开始沿同一支路增加偏移量。在图中的结构中1,我们两者都有和因此,尽管有最左边的推导规则,我们仍然可以生成以两种不同的方式(为了清楚起见,添加了括号):
通过为每个分支指定方向,可以避免此问题。如果分支机构AB公司被赋予了方向然后是远足不允许。在非循环结构上,每个分支的方向选择是明确的:除了在其上的分支x则每个分支都必须远离x.其上的分支x居住者被引导远离年这样可以确保每个节点都有一系列偏移,使算法能够生成包括它在内的行程。可以在生成行程的过程之前向每个支路分配方向,并且可以与查找四种主要行程类别相一致。这些修改要求图是非循环的,因为“远离一点”通常在具有循环的图上是不可定义的。确实存在循环图,明确的语法可以为其生成语言trips,但这些与单个树状树的研究无关。
四类算法的两个修改足以防止任何重复跳闸的产生,而不会错过任何跳闸。它们一起提供了一种明确的上下文无关语法,生成了旅行。
3.2长度优先法
由于系数最多腐烂(尽管出行次数随着),格林函数(5)中的主导项是指数衰减在里面四类算法[21]不会按长度的单调顺序生成行程,因为行程是通过将相同的偏移添加到所有四类行程中来构建的。例如,如果由于以下原因,2级行程比1级行程长得多x沿着长边但靠近节点,则在可能较短的1级行程在较短支路上有额外偏移之前,将生成较长的2级行程。一般来说,如果支路上x或年reside实际上比树上的至少一个其他分支长,或者如果x或年与相邻节点中的一个节点相比,它们之间的距离要近得多。
在这里,我们建议通过长度-优先级方法实现总和-优势框架。在这个实现中,生成跳闸和相应的术语按长度单调顺序加到无穷级数解(5)中。这是通过结合Eppstein算法实现的[23]找到k个图中的最短行程时间,使用n个是节点的数量,并且米分支结构上的边数。
四类算法和语言理论方法中描述的改进都依赖于将行程显式存储为节点序列。这会消耗空间和时间k个旅行n个节点,但允许实时计算系数这与Eppstein的算法相反[23],它使用隐式表示存储行程,并允许我们找到k个仅隐式使用最短行程每次旅行的空间和时间。基于Eppstein算法的当前实现需要计算系数所需的时间,尽管由于隐式行程表示节省了空间。然而,Eppstein提供了一种方法来计算可由中的幺半群描述的任何属性每次行程的时间。存在这样的系数计算描述,其使用将补充当前的到空间需求减少,时间复杂性也相应减少。空间上的节省已经使得长度优先级方法比四类算法具有更好的伸缩性。
3.3蒙特卡罗方法
Abbott等人提出的拉索方程解的路径积分公式[20]通过考虑解决方案的Feynman–Kac表示,导出了树状几何体上的随机游走者。因此,考虑蒙特卡罗方法来计算路径积分是很自然的。可以使用随机算法构造格林函数(5),而不是长度优先法提供的长度顺序级数解。这种方法的目的是从出行中取样以这样一种方式,概率上更可能的样本与对级数解贡献最大的trips相吻合(5)。
为了激发这种蒙特卡罗方法,让我们考虑沿无限一维电缆的线性扩散方程,
(11)
满足初始条件类似地,状态变量的扩散过程可以由随机方程定义
(12)
使用维纳过程和初始条件众所周知,公式(11)是扩散过程(12)的Kolmogorov方程,即扩散状态(12)概率密度的时间演化方程。一方面,通过经典的数值或分析方法求解(11)可以得到; 另一方面,(12)的重复采样收敛于解第页,共页(11)。通过在分支节点和终端设置适当的边界条件,这种随机行走采样方法也可以应用于任意几何体。知道在分支结构上,我们可以很容易地利用这个关系找到这个几何体上拉索方程的解
因为解的路径积分形式等价于在树状树的分支点上随机游动的函数的期望,将随机行走问题从神经元的完全连续空间几何简化为神经元的分支点的离散拓扑,为蒙特卡罗求解器提供了相当大的效率节约。我们引入一个参数,我们希望计算其期望值的节点上的最大离散跳数。最大值基于间隔期间扩散的有效最大范围然后,我们生成节点上随机行走的实现,
(13)
其中每个是标识特定节点的标签。用于旅行我们选择它是与包含x,概率相等。通过索引两个节点之间的分支,和,作为k个第个分支,以转移概率执行后续步骤
(14)
哪里由(7)给出。这将Monte-Carlo方法与前面讨论的路径枚举方法联系起来。这里,我们介绍两个辅助功能,ϕ和,位于ω。第一个是一个函数,指示是否k个实现的步骤ω是有效行程,由
哪里k个是子通道中节点上的跃点数,以及是子人行道的长度。其他辅助功能定义为
路径上的相关函数可以定义为上述辅助函数的组合:
对关于随机行走(14),相当于求解路径积分,直到时间t吨以下为:
哪里是实现的概率ω、和表示期望运算符。因此,Monte-Carlo策略是顺序或并行地对随机函数进行采样为了构建这个期望。
3.4矩阵法
另一种构造和-过-行程系列解决方案的方法是按行程长度对行程进行分组:
其中总和超过我超过所有可能的行程长度。在树状树上,按分段模型离散[10]或以类似于将树离散化为部分位于NEURON[26],根据行程长度对行程进行分组,可以计算给定长度的行程数量我无需显式构造它们。
该方法使用离散树的修正有向边邻接矩阵来计算给定长度的行程系数之和。它要求所有隔室具有相同的固定长度Δx尽管在本节末尾的概括中可以放宽这一限制。隔室的末端决定了节点的位置;相邻节点之间在两个方向上都存在有向边。
我们首先定义作为节点集和ℰ作为离散化树中的有向边集。边是有序的节点对:是来自的定向边u个到v(v),带有.对于任何边缘,我们将反向边缘表示为.旅行是从一个点开始的x沿着起始边缘并在某一点结束年沿着球门边缘对于我们这么说或如果x沿边缘驻留.根据的位置和,的方向秒和克定义为最短的跳闸满足因此,最短的跳闸总是从边缘开始秒,也就是说,在方向和方法年沿着边缘克,在中方向。这相当于一级行程;二班旅行休假x沿着边缘,到达; 三级旅行到; 四班旅行,最后,从到.点的位置和沿着其各自的边缘给出支路长度的分数,以便表示距离x到和是节点之间的距离和点年。我们区分k个,从行程长度来看,在特定行程中移动的边缘数量.因为x和年沿着各自的边缘驻留,即旅行的总长度k个如果沿k个边缘已被移动。那就是,对于以下任何组合x,年以及所有人k个。
矩阵法的目的是根据长度将从给定边缘开始到目标边缘结束的所有行程分组,,并计算系数之和而不是单独计算每个行程的系数。从一点开始,同时计算在所有边缘结束的行程的系数总和,允许我们计算为所有人j,对于所有人x在边缘我以及所有人年在任何边上,在一次计算中。我们定义了系数函数,,作为所有系数的总和从点开始和旅行k个边,在给定边上完成克以下为:
因为边缘集ℰ既是有序的又是有限的,那么可以认为是一个向量,其中对于. The我向量的第个元素对应于系数之和对于所有始发于x在秒并沿我第条边,旅行过k个边缘。向量主要由零组成,只有一个在对应边缘的条目中秒,因为在此方向上移动的系数保持为1,而所有其他移动仅在一条边上移动无效,因此系数为0。
我们现在可以定义一个矩阵使得
(15)
问是边邻接矩阵的修改形式,其中不包含表示边邻接的1,否则为零,而是包含从一条边移动到另一条边时所取的系数。的条目问可以根据图形的形态学进行计算。如果j第个条目对应于边和我第个入口到边缘,然后输入是从分支移动时的系数到在一般情况下,必须为每个条目确定这些数值。然而,在简化的情况下,所有分支上的半径相等,所有节点都有度或,矩阵问可以根据
(16)
请注意,上述规则适用于。
因此,了解矩阵问从树枝状几何和向量从起始边缘秒,可以构造所有条款,等于以下所有行程的系数之和边,来自到然而,考虑到出行从x只朝一个方向到达年我们仅从一个方向计算了1级行程的系数。为了找到其余三类的系数,我们还必须计算,和。这些可以用与上述相同的方式找到。使用(15),(5)中的格林函数可以写成
(17)
哪里是克的矩阵向量乘积的第个元素问和.长度分别为1级至4级行程的长度,定义为
通过选择较小的Δx,可以使用长度Δ的整数个边通过离散化来近似分支x与室模型一样,这允许近似树状树的完整形态,在高速(大Δx)和精度(小Δx). 作为然而,这种方法倾向于使用数值方法天真地积分拉索方程的计算复杂性。在数值模拟中,减小Δx为了提高精度,Δ发生了必要的相关变化t吨,矩阵法也是如此:选择一个较小的Δx从而增加,意味着必须增加。
该算法可以推广到接受几个离散的边长,在不同长度的数量上以指数代价n个允许从少量不同长度的边缘构建“漫画”神经元。我们对这种方法的描述主要集中在以下情况x和年位于不同的分支。对于计算,其中x和年要求存在于同一条边上,可以对这些边进行离散化,以便x和年出现在不同的段上。在具有有界节点度的所有情况下,问是一个稀疏矩阵,每行只有几个条目,并且所有条目使所有系数的计算变得复杂通过使用高效的稀疏线性代数算法。
3.4.1计算示例
在这里,我们展示了三个等长Δ分支的树枝状结构的矩阵方法的示例实现x,如图所示2在这种对称情况下,矩阵问非常小,可以手工建造。我们放置测量点x沿边缘和电流注入点年沿着。
我们首先按如下方式对边对进行排序:,,,,,基于这个有序集,我们可以得到两个系数向量,一个用于从开始的旅行x并朝着B类,表示和另一个用于从x朝向节点A类,表示使用(16)中描述的规则,我们可以构造矩阵问我们的树枝状结构如下:
请注意,所有行和列的总和为1。了解此矩阵问将行程分为四个主要类别,很容易找到完整的格林函数:
(18)