- Artificial Neural Network Tutorial
- Artificial Neural Network - Home
- Basic Concepts
- Building Blocks
- Learning & Adaptation
- Supervised Learning
- Unsupervised Learning
- Learning Vector Quantization
- Adaptive Resonance Theory
- Kohonen Self-Organizing Feature Maps
- Associate Memory Network
- Hopfield Networks
- Boltzmann Machine
- Brain-State-in-a-Box Network
- Optimization Using Hopfield Network
- Other Optimization Techniques
- Genetic Algorithm
- Applications of Neural Networks
- Artificial Neural Network Resources
- Quick Guide
- Useful Resources
- Discussion
使用 Hopfield 网络进行优化
优化是一种使设计、情境、资源和系统等尽可能有效的行动。利用成本函数和能量函数之间的相似性,我们可以使用高度互连的神经元来解决优化问题。这种神经网络就是 Hopfield 网络,它由包含一个或多个完全连接的循环神经元的单层组成。这可以用于优化。
使用 Hopfield 网络进行优化时要记住的要点 -
能量函数必须是网络的最小值。
它会找到满意的解决方案,而不是从存储的模式中选择一种。
Hopfield 网络找到的解的质量很大程度上取决于网络的初始状态。
旅行商问题
寻找推销员走过的最短路线是计算问题之一,可以使用 Hopfield 神经网络对其进行优化。
TSP的基本概念
旅行商问题(TSP)是一个经典的优化问题,其中推销员必须旅行n个相互连接的城市,保持成本和旅行距离最小。例如,推销员要旅行一组A、B、C、D 4 个城市,目标是找到最短的循环行程ABC–D,从而使成本最小化,其中还包括从最后一个城市 D 到第一个城市 A。
矩阵表示
实际上,n 个城市 TSP 的每次旅行都可以表示为n × n矩阵,其中第i行描述第i个城市的位置。4 个城市 A、B、C、D 的矩阵M可以表示如下 -
$$M = \begin{bmatrix}A: & 1 & 0 & 0 & 0 \\B: & 0 & 1 & 0 & 0 \\C: & 0 & 0 & 1 & 0 \\D: & 0 & 0 & 0 & 1 \end{b矩阵}$$
Hopfield Network 的解决方案
在考虑 Hopfield 网络对该 TSP 的解时,网络中的每个节点对应于矩阵中的一个元素。
能量函数计算
要成为优化解,能量函数必须最小。根据以下约束,我们可以计算能量函数如下 -
约束-I
第一个约束是我们计算能量函数的基础,即矩阵M的每一行中的一个元素必须等于 1,每行中的其他元素必须等于0,因为每个城市只能出现在矩阵 M 中的一个位置。 TSP 之旅。这个约束可以在数学上写成如下 -
$$\displaystyle\sum\limits_{j=1}^n M_{x,j}\:=\:1\:对于 \: x\:\in \:\lbrace1,...,n\rbrace$ $
现在,根据上述约束,要最小化的能量函数将包含与以下项成比例的项 -
$$\displaystyle\sum\limits_{x=1}^n \left(\begin{array}{c}1\:-\:\displaystyle\sum\limits_{j=1}^n M_{x,j }\end{数组}\right)^2$$
约束-II
众所周知,在 TSP 中,一个城市可以出现在游览中的任何位置,因此在矩阵M的每一列中,一个元素必须等于 1,其他元素必须等于 0。这个约束可以在数学上写成如下 -
$$\displaystyle\sum\limits_{x=1}^n M_{x,j}\:=\:1\:对于 \: j\:\in \:\lbrace1,...,n\rbrace$ $
现在,根据上述约束,要最小化的能量函数将包含与以下项成比例的项 -
$$\displaystyle\sum\limits_{j=1}^n \left(\begin{array}{c}1\:-\:\displaystyle\sum\limits_{x=1}^n M_{x,j }\end{数组}\right)^2$$
成本函数计算
假设用C表示的 ( n × n )方阵表示n 个城市的 TSP 成本矩阵,其中n > 0。以下是计算成本函数时的一些参数 -
C x, y - 成本矩阵的元素表示从城市x到y的旅行成本。
A 和 B 的元素的相邻性可以通过以下关系表示 -
$$M_{x,i}\:=\:1\:\: 和\:\: M_{y,i\pm 1}\:=\:1$$
众所周知,在 Matrix 中,每个节点的输出值可以是 0 或 1,因此对于每对城市 A、B,我们可以将以下项添加到能量函数中 -
$$\displaystyle\sum\limits_{i=1}^n C_{x,y}M_{x,i}(M_{y,i+1}\:+\:M_{y,i-1}) $$
根据上述成本函数和约束值,最终的能量函数E可以给出如下 -
$$E\:=\:\frac{1}{2}\displaystyle\sum\limits_{i=1}^n\displaystyle\sum\limits_{x}\displaystyle\sum\limits_{y\neq x} C_{x,y}M_{x,i}(M_{y,i+1}\:+\:M_{y,i-1})\:+$$
$$\:\begin{bmatrix}\gamma_{1} \displaystyle\sum\limits_{x} \left(\begin{array}{c}1\:-\:\displaystyle\sum\limits_{i} M_ {x,i}\end{array}\right)^2\:+\: \gamma_{2} \displaystyle\sum\limits_{i} \left(\begin{array}{c}1\:-\ :\displaystyle\sum\limits_{x} M_{x,i}\end{array}\right)^2 \end{bmatrix}$$
这里,γ 1和γ 2是两个权重常数。