Finding Motifs in DNA References: 1. Bioinformatics Algorithms, Jones and Pevzner, Chapter 4. 2. Algorithms on Strings, Gusfield, Section 7.11. 3. Beginning.

Slides:



Advertisements
Similar presentations
DYNAMIC PROGRAMMING ALGORITHMS VINAY ABHISHEK MANCHIRAJU.
Advertisements

Types of Algorithms.
Lecture 24 Coping with NPC and Unsolvable problems. When a problem is unsolvable, that's generally very bad news: it means there is no general algorithm.
Greedy Algorithms CS 6030 by Savitha Parur Venkitachalam.
Techniques for Dealing with Hard Problems Backtrack: –Systematically enumerates all potential solutions by continually trying to extend a partial solution.
Algorithm Strategies Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Neural Networks for Optimization William J. Wolfe California State University Channel Islands.
Neural Networks for Optimization Bill Wolfe California State University Channel Islands.
3 -1 Chapter 3 The Greedy Method 3 -2 The greedy method Suppose that a problem can be solved by a sequence of decisions. The greedy method has that each.
MAE 552 – Heuristic Optimization Lecture 27 April 3, 2002
Multiple Sequence Alignment Algorithms in Computational Biology Spring 2006 Most of the slides were created by Dan Geiger and Ydo Wexler and edited by.
Nature’s Algorithms David C. Uhrig Tiffany Sharrard CS 477R – Fall 2007 Dr. George Bebis.
MAE 552 – Heuristic Optimization Lecture 26 April 1, 2002 Topic:Branch and Bound.
Multiple sequence alignment
1 Branch and Bound Searching Strategies 2 Branch-and-bound strategy 2 mechanisms: A mechanism to generate branches A mechanism to generate a bound so.
Neural Networks for Optimization William J. Wolfe California State University Channel Islands.
Implementation of Planted Motif Search Algorithms PMS1 and PMS2 Clifford Locke BioGrid REU, Summer 2008 Department of Computer Science and Engineering.
Hypercubes and Neural Networks bill wolfe 10/23/2005.
Backtracking.
Finding Regulatory Motifs in DNA Sequences. Motifs and Transcriptional Start Sites gene ATCCCG gene TTCCGG gene ATCCCG gene ATGCCG gene ATGCCC.
Multiple Sequence Alignment CSC391/691 Bioinformatics Spring 2004 Fetrow/Burg/Miller (Slides by J. Burg)
BIONFORMATIC ALGORITHMS Ryan Tinsley Brandon Lile May 9th, 2014.
Genetic Algorithms and Ant Colony Optimisation
© The McGraw-Hill Companies, Inc., Chapter 3 The Greedy Method.
Learning Structure in Bayes Nets (Typically also learn CPTs here) Given the set of random variables (features), the space of all possible networks.
CSCE350 Algorithms and Data Structure Lecture 17 Jianjun Hu Department of Computer Science and Engineering University of South Carolina
Fundamentals of Algorithms MCS - 2 Lecture # 7
Sequence Analysis CSC 487/687 Introduction to computing for Bioinformatics.
Boltzmann Machine (BM) (§6.4) Hopfield model + hidden nodes + simulated annealing BM Architecture –a set of visible nodes: nodes can be accessed from outside.
Motif finding with Gibbs sampling CS 466 Saurabh Sinha.
JM - 1 Introduction to Bioinformatics: Lecture III Genome Assembly and String Matching Jarek Meller Jarek Meller Division of Biomedical.
Outline More exhaustive search algorithms Today: Motif finding
Honors Track: Competitive Programming & Problem Solving Optimization Problems Kevin Verbeek.
Optimization with Neural Networks Presented by: Mahmood Khademi Babak Bashiri Instructor: Dr. Bagheri Sharif University of Technology April 2007.
Thursday, May 9 Heuristic Search: methods for solving difficult optimization problems Handouts: Lecture Notes See the introduction to the paper.
Applications of Dynamic Programming and Heuristics to the Traveling Salesman Problem ERIC SALMON & JOSEPH SEWELL.
Sequence Comparison Algorithms Ellen Walker Bioinformatics Hiram College.
Introduction to Bioinformatics Algorithms Finding Regulatory Motifs in DNA Sequences.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Gene expression & Clustering. Determining gene function Sequence comparison tells us if a gene is similar to another gene, e.g., in a new species –Dynamic.
Exhaustive search (cont’d) CS 466 Saurabh Sinha. Finding motifs ab initio Enumerate all possible strings of some fixed (small) length For each such string.
Types of Algorithms. 2 Algorithm classification Algorithms that use a similar problem-solving approach can be grouped together We’ll talk about a classification.
341- INTRODUCTION TO BIOINFORMATICS Overview of the Course Material 1.
Finding Regulatory Motifs in DNA Sequences
Motif Finding [1]: Ch , , 5.5,
CHAPTER 14 Competitive Networks Ming-Feng Yeh.
Hopfield Neural Networks for Optimization 虞台文 大同大學資工所 智慧型多媒體研究室.
HW4: sites that look like transcription start sites Nucleotide histogram Background frequency Count matrix for translation start sites (-10 to 10) Frequency.
Chapter 3 Brute Force Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
4.2 - Algorithms Sébastien Lemieux Elitra Canada Ltd.
 Negnevitsky, Pearson Education, Lecture 12 Hybrid intelligent systems: Evolutionary neural networks and fuzzy evolutionary systems n Introduction.
Chapter 5 Unsupervised learning
School of Computer Science & Engineering
BackTracking CS255.
Merge Sort 5/28/2018 9:55 AM Dynamic Programming Dynamic Programming.
Greedy Technique.
Ch7: Hopfield Neural Model
Chapter 3 Brute Force Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
Learning Sequence Motif Models Using Expectation Maximization (EM)
Types of Algorithms.
Branch and Bound.
Neural Networks Chapter 4
Chapter 3 Brute Force Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
Applied Combinatorics, 4th Ed. Alan Tucker
3. Brute Force Selection sort Brute-Force string matching
3. Brute Force Selection sort Brute-Force string matching
Backtracking and Branch-and-Bound
Types of Algorithms.
Hopfield Neural Networks for Optimization
3. Brute Force Selection sort Brute-Force string matching
Presentation transcript:

Finding Motifs in DNA References: 1. Bioinformatics Algorithms, Jones and Pevzner, Chapter Algorithms on Strings, Gusfield, Section Beginning Perl for Bioinformatics, Tisdall, Chapter Wikipedia

Summary Introduce the Motif Finding Problem Explain its significance in bioinformatics Develop a simple model of the problem Design algorithmic solutions: –Brute Force –Branch and Bound –Greedy Compare results of each method.

News: October 6, 2009 IBM Developing Chip to Sequence DNA 3 Scientists Share Nobel Chemistry Prize for DNA Work DNA on bloody clothes matches missing US diplomat Gene Discovery May Advance Head and Neck Cancer Therapy Updated map of human genome to help fight against disease Need a New Heart? Grow Your Own S1P Gene Regulating Lipid May Help Develop New Drugs against Cancer DNA DNA DNA

The Motif Finding Problem motif noun 1. a recurring subject, theme, idea, etc., esp. in a literary, artistic, or musical work. 2. a distinctive and recurring form, shape, figure, etc., in a design, as in a painting or on wallpaper. 3. a dominant idea or feature: the profit motif of free enterprise.

Example: Fruit Fly Set of immunity genes. DNA pattern: TCGGGGATTTCC Consistently appears upstream of this set of genes. Regulates timing/magnitude of gene expression. “Regulatory Motif” Finding such patterns can be difficult.

Construct an Example: 7 DNA Samples cacgtgaagcgactagctgtactattctgcat cgtccgatctcaggattgtctggggcgacgat gggggcggtgcgggagccagcgctcggcgttt gcaaggcgtcaaattgggaggcgcattctgaa ccacaagcgagcgttcctcgggattggtcacg aggtataatgcgaacagctaaaactccggaaa cccccgcaatttaactagggggcgcttagcgt Pattern acctggcc

Insert Pattern at random locations: cacgtgaacctggccagcgactagctgtactattctgcat cgtccgatctcaggattgtctacctggccggggcgacgat gacctggccggggcggtgcgggagccagcgctcggcgttt gcaaggacctggcccgtcaaattgggaggcgcattctgaa ccacaagcgagcgttcctcgggattggacctggcctcacg aggtataatgcgaaacctggcccagctaaaactccggaaa cccccgcaaacctggcctttaactagggggcgcttagcgt

Add Mutations: cacgtgaacGtggccagcgactagctgtactattctgcat cgtccgatctcaggattgtctacctgAccggggcgacgat gGcctggccggggcggtgcgggagccagcgctcggcgttt gcaaggacctggTccgtcaaattgggaggcgcattctgaa ccacaagcgagcgttcctcgggattggaActggcctcacg aggtataatgcgaaacctTgcccagctaaaactccggaaa cccccgcaaacTtggcctttaactagggggcgcttagcgt

Finally, find the hidden pattern: cacgtgaacgtggccagcgactagctgtactattctgcat cgtccgatctcaggattgtctacctgaccggggcgacgat ggcctggccggggcggtgcgggagccagcgctcggcgttt gcaaggacctggtccgtcaaattgggaggcgcattctgaa ccacaagcgagcgttcctcgggattggaactggcctcacg aggtataatgcgaaaccttgcccagctaaaactccggaaa cccccgcaaacttggcctttaactagggggcgcttagcgt

cacgtgaacgtggccagcgactagctgtactattctgcat cgtccgatctcaggattgtctacctgaccggggcgacgat ggcctggccggggcggtgcgggagccagcgctcggcgttt gcaaggacctggtccgtcaaattgggaggcgcattctgaa ccacaagcgagcgttcctcgggattggaactggcctcacg aggtataatgcgaaaccttgcccagctaaaactccggaaa cccccgcaaacttggcctttaactagggggcgcttagcgt

Three Approachs Brute Force: –check every possible pattern. Branch and Bound: –prune away some of the search space. Greedy: –commit to “nearby” options, never look back.

Brute Force Given that the pattern is of length = L. Generate all DNA patterns of length L. (Called “L-mers”). Match each one to the DNA samples. Keep the L-mer with the best match. “Best” is Based on a scoring function.

Scoring: Hamming Distance accgtaccggtaacaagtaccgtacgggtaacaagtaccgtaggtgtaacaagt gtgtaggt 4 mismatches gtgtaggt 2 mismatches gtgtaggt 8 mismatches dna sequence Try all starting positions Find the position with the fewest mismatches L=8 gtgtaggt an L-mer

Scoring t = 8 DNA samples try all possible L-mers Try each possible L-mer Score is equal to the sum of the mismatches at the locations with fewest mismatches on each string. The L-mer with the lowest such score is the optimal answer total distance = 12 12

Generating all L-mers Systematic enumeration of all DNA strings of length L. DNA has an “alphabet” of 4 letters: { a, c, g, t } Proteins have an alphabet of 20 letters: –one for each of 20 possible amino acids. –{A,B,C,D,E,F,G,H,I,K,L,M,N,P,Q,R,S,T,V,W} Solve problem for any size alphabet (k) and any size L-mer (L).

Definitions k = size of alphabet L = length of strings to be generated a = vector containing a partial or complete L-mer. i = number of entries in a already filled in. Example: k = 4, L = 5, i = 2, a = (2, 4, *, *, * )

Example Alphabet = {1, 2} k = 2, L=4 i = Depth of the Tree (1111) (2222)

NEXT VERTEX i = 3 a = i = 4 a = i = L a = j = Lj = 1 i = L a = NEXTVERTEX(a, i, L, k) if i < L a(i+1) = 1 return (a, i+1) else for j = L to j = 1 if a(j) < k then a(j) = a(j) +1 return(a, j) return (a,0)

i = L a = j = Lj = i = L-1 a = i = L a = i = i = i = i = i = i = i = i = i = i = Example: L = 6 k = 3 alhpabet = {1, 2, 3} When i = L (leaf node)

Brute Force Use NEXTVERTEX to generate nodes in the tree. Translate each numeric value into the corresponding L-mer –(e.g.: 1=a, 2=c, 3=g, 4=t). Score each L-mer (Hamming distance). keep the best L-mer (and where it matched in each dna sample).

Branch and Bound Use same structure as the Brute Force method. Looks for ways to reduce the computation. Prune branches of the tree that cannot produce anything better than what we have so far.

BYPASS BYPASS (a, i, L, k) for j = i to j = 1 –if a(j) < k a(j) = a(j) + 1 return (a, j) return (a, 0)

BRANCHANDBOUND a = (1, 1,..., 1) bestDistance = infinity i = L while (i > 0) –if i < L prefix = translate(a1, a2,..., ai) optimisticDistance = TotalDistance(prefix) if optimisticDistance > bestDistance –(a, i) = BYPASS(a, i) else –(a, i) = NEXTVERTEX( a, i ) –else word = translate (a1, a2,....., aL) if TotalDistance( word, DNA ) < bestDistance –bestDistance = TotalDistance(word, DNA) –bestWord = word (a, i) = NEXTVERTEX( a, i) return bestWord

Greedy Method Picks a “good” solution. Avoids backtracking. Can give good results. Generally, not the best possible solution. But: FAST.

Greedy Method Given t dna samples (each n-long). Find the optimal motif for the first two samples. Lock that choice in place. For the remainder of the samples: –for each dna sample in turn find the L-mer that best fits with the prior choices. never backtrack.

t = 8 DNA samples Step 1: Grab the first two samples and find the optimal alignment (consider all starting points s1 and s2, and keep the largest score). Step 2: Go through each remaining sample, successively finding the starting positions (s3, s4,...., st) that give the best consensus score for all the choices made so far.

atccagct gggcaact atggatct aagcaacc ttggaact atgcatgc Consensus Profile Alignment a g g c a a c t Scoring

Motif Finding Example n=32 t=16 L=5 atgtgaaaaggcccaggctttgttgttctgat aatcagtttgtggctctctactatgtgcgctg catggcgtaagagcaggtgtacaccgatgctg taaatacacagattccttccgactttctgcat caagccttagctttagatctttgtctcccttt gagccatggactgtccgccagtatcttcctag cgccaactgcccgtttcgcagtgccatgttga agttcccagtcccgatcataggaatttgagca tagggatcgaatgagttgtcctagtcaatcct gtagctcctcaagggatacccacctatcgacg agccgcagcgacaacttgctcgctatctaact ccactccctaagcgctgaacaccggagttctg gaagtcttcttgctgacacattacttgctcgc gaatcgtcgtatgttttcgaccttggtggcat tctcaacatgccttcccctccccaggctatgc tgtgtctatcatcccgttagctacctaaatcg

atgtgaaaaggcccaggctttgttgttctgat ***** aatcagtttgtggctctctactatgtgcgctg ***** catggcgtaagagcaggtgtacaccgatgctg ***** taaatacacagattccttccgactttctgcat ***** caagccttagctttagatctttgtctcccttt ***** gagccatggactgtccgccagtatcttcctag ***** cgccaactgcccgtttcgcagtgccatgttga ***** agttcccagtcccgatcataggaatttgagca ***** tagggatcgaatgagttgtcctagtcaatcct ***** gtagctcctcaagggatacccacctatcgacg ***** agccgcagcgacaacttgctcgctatctaact ***** ccactccctaagcgctgaacaccggagttctg ***** gaagtcttcttgctgacacattacttgctcgc ***** gaatcgtcgtatgttttcgaccttggtggcat ***** tctcaacatgccttcccctccccaggctatgc ***** tgtgtctatcatcccgttagctacctaaatcg ***** atgtgaaaaggcccaggctttgttgttctgat ***** aatcagtttgtggctctctactatgtgcgctg ***** catggcgtaagagcaggtgtacaccgatgctg ***** taaatacacagattccttccgactttctgcat ***** caagccttagctttagatctttgtctcccttt ***** gagccatggactgtccgccagtatcttcctag ***** cgccaactgcccgtttcgcagtgccatgttga ***** agttcccagtcccgatcataggaatttgagca ***** tagggatcgaatgagttgtcctagtcaatcct ***** gtagctcctcaagggatacccacctatcgacg ***** agccgcagcgacaacttgctcgctatctaact ***** ccactccctaagcgctgaacaccggagttctg ***** gaagtcttcttgctgacacattacttgctcgc ***** gaatcgtcgtatgttttcgaccttggtggcat ***** tctcaacatgccttcccctccccaggctatgc ***** tgtgtctatcatcccgttagctacctaaatcg ***** consensus_string = ctccc consensus_count = final percent score = consensus_string = atgtg consensus_count = final percent score = Branch and BoundGreedy

ggccc ctctc caccg cttcc ctccc cttcc ctgcc ttccc gtcct ctcct ctcgc ctccc ctcgc cgacc ctccc atccc consensus_string = ctccc count = final percent score = atgtg aggtg ttctg atctt atgga atgtt atttg atgag aaggg acttg aagcg aagtc atgtt acatg gtgtc consensus_string = atgtg count = final percent score = Branch and BoundGreedy

Example 2 n = 64 t = 16 L = 8 gattacttctcgcccccccgctaagtgtatttctctcgctacctactccgctatgcctacaaca tctaccggcattatctatcggcaatgggagcggtggtgatgcacctagcctactcctttgacta tggtccttactggcatcacgcaccgttcttggcggcctgtgcaatatcttgtccctaaataaat aactacggtcattagtgcgtaatcagcacagccgagccggataagcgacttgtaaccatcttcg gagcaagcatgcagtaggtaacgccaagagcggggctttagggagccgcaatcgggacagatct aaaggttctctggatctatagctcacaaatttgcaggggtacgacagagttatagagtgtacca ggcgctttcctcccgagcagagggaacgaacgaccataatgtaagagaatctttatgtccaagc cgtcctgtccatacgtatgttttcaaaactgcgtctagattagtgaggaacagatttaagattc atccagcaacttgtgcattcgtagggagcggacacaaaggacatgatcagacgaaacctatttt cctcaattgaggcccccccccagttgtccgaccgcacgaaccgcttcgcaaaagtgttgcccgc aaccacaccaagtattgctaatgcaccattcttatgtttttgagcagcaaagcgactacgctgt atataggaaaaatcttagtgcaccaagatttaacctgcactttgctttgaaatacaactgtcgg ctttcaataaatgttaattgcgttccctcacttgctcggtcgagtcgtatcgtattcgatcagg tagcgggcacgctcgctcgacgttcatccactcgatagagccggtcatttttcggaactagtaa ggaggaatgagtctacgtcgcgttaagacgaactttacgtgtgtgcaggcttattttcgtccac cctccgggggacgtagactgttcttccacagttctaggcggcgcggtcttggcttgaacaatga

gattacttctcgcccccccgctaagtgtatttctctcgctacctactccgctatgcctacaaca ******** tctaccggcattatctatcggcaatgggagcggtggtgatgcacctagcctactcctttgacta ******** tggtccttactggcatcacgcaccgttcttggcggcctgtgcaatatcttgtccctaaataaat ******** aactacggtcattagtgcgtaatcagcacagccgagccggataagcgacttgtaaccatcttcg ******** gagcaagcatgcagtaggtaacgccaagagcggggctttagggagccgcaatcgggacagatct ******** aaaggttctctggatctatagctcacaaatttgcaggggtacgacagagttatagagtgtacca ******** ggcgctttcctcccgagcagagggaacgaacgaccataatgtaagagaatctttatgtccaagc ******** cgtcctgtccatacgtatgttttcaaaactgcgtctagattagtgaggaacagatttaagattc ******** atccagcaacttgtgcattcgtagggagcggacacaaaggacatgatcagacgaaacctatttt ******** cctcaattgaggcccccccccagttgtccgaccgcacgaaccgcttcgcaaaagtgttgcccgc ******** aaccacaccaagtattgctaatgcaccattcttatgtttttgagcagcaaagcgactacgctgt ******** atataggaaaaatcttagtgcaccaagatttaacctgcactttgctttgaaatacaactgtcgg ******** ctttcaataaatgttaattgcgttccctcacttgctcggtcgagtcgtatcgtattcgatcagg ******** tagcgggcacgctcgctcgacgttcatccactcgatagagccggtcatttttcggaactagtaa ******** ggaggaatgagtctacgtcgcgttaagacgaactttacgtgtgtgcaggcttattttcgtccac ******** cctccgggggacgtagactgttcttccacagttctaggcggcgcggtcttggcttgaacaatga ******** gattacttctcgcccccccgctaagtgtatttctctcgctacctactccgctatgcctacaaca ******** tctaccggcattatctatcggcaatgggagcggtggtgatgcacctagcctactcctttgacta ******** tggtccttactggcatcacgcaccgttcttggcggcctgtgcaatatcttgtccctaaataaat ******** aactacggtcattagtgcgtaatcagcacagccgagccggataagcgacttgtaaccatcttcg ******** gagcaagcatgcagtaggtaacgccaagagcggggctttagggagccgcaatcgggacagatct ******** aaaggttctctggatctatagctcacaaatttgcaggggtacgacagagttatagagtgtacca ******** ggcgctttcctcccgagcagagggaacgaacgaccataatgtaagagaatctttatgtccaagc ******** cgtcctgtccatacgtatgttttcaaaactgcgtctagattagtgaggaacagatttaagattc ******** atccagcaacttgtgcattcgtagggagcggacacaaaggacatgatcagacgaaacctatttt ******** cctcaattgaggcccccccccagttgtccgaccgcacgaaccgcttcgcaaaagtgttgcccgc ******** aaccacaccaagtattgctaatgcaccattcttatgtttttgagcagcaaagcgactacgctgt ******** atataggaaaaatcttagtgcaccaagatttaacctgcactttgctttgaaatacaactgtcgg ******** ctttcaataaatgttaattgcgttccctcacttgctcggtcgagtcgtatcgtattcgatcagg ******** tagcgggcacgctcgctcgacgttcatccactcgatagagccggtcatttttcggaactagtaa ******** ggaggaatgagtctacgtcgcgttaagacgaactttacgtgtgtgcaggcttattttcgtccac ******** cctccgggggacgtagactgttcttccacagttctaggcggcgcggtcttggcttgaacaatga ******** consensus_string = ccatattt count = final percent score = consensus_string = cgtactcc count = final percent score = Branch and BoundGreedy

Summary Introduce the Motif Finding Problem Explain its significance in bioinformatics Develop a simple model of the problem Design algorithmic solutions: –Brute Force –Branch and Bound –Greedy Compare results of each method.

Teaching and Learning

Neural Networks for Optimization Bill Wolfe California State University Channel Islands Reference A Fuzzy Hopfield-Tank TSP Model Wolfe, W. J. INFORMS Journal on Computing, Vol. 11, No. 4, Fall 1999 pp

Neural Models Simple processing units Lots of them Highly interconnected Exchange excitatory and inhibitory signals Variety of connection architectures/strengths “Learning”: changes in connection strengths “Knowledge”: connection architecture No central processor: distributed processing

Simple Neural Model a i Activation e i External input w ij Connection Strength Assume: w ij = w ji (“symmetric” network)  W = (w ij ) is a symmetric matrix

Net Input Vector Format:

Dynamics Basic idea:

Energy

Lower Energy da/dt = net = -grad(E)  seeks lower energy

Problem: Divergence

A Fix: Saturation

Keeps the activation vector inside the hypercube boundaries Encourages convergence to corners

A Neural Model a i Activation e i External Input w ij Connection Strength W (w ij = w ji ) Symmetric

Example: Inhibitory Networks Completely inhibitory –wij = -1 for all i,j –winner take all Inhibitory Grid –neighborhood inhibition –on-center, off-surround

Traveling Salesman Problem Classic combinatorial optimization problem Find the shortest “tour” through n cities n!/2n distinct tours

TSP solution for 15,000 cities in Germany Ref:

TSP 50 City Example

Random Tour

Nearest-City Tour

2-OPT Tour

Centroid Tour

Monotonic Tour

Neural Network Approach neuron

Tours – Permutation Matrices tour: CDBA permutation matrices correspond to the “feasible” states.

Not Allowed

Only one city per time stop Only one time stop per city  Inhibitory rows and columns inhibitory

Distance Connections: Inhibit the neighboring cities in proportion to their distances.

putting it all together:

E = -1/2 { ∑ i ∑ x ∑ j ∑ y a ix a jy w ixjy } = -1/2 { ∑ i ∑ x ∑ y (- d(x,y)) a ix ( a i+1 y + a i-1 y ) + ∑ i ∑ x ∑ j (-1/n) a ix a jx + ∑ i ∑ x ∑ y (-1/n) a ix a iy + ∑ i ∑ x ∑ j ∑ y (1/n 2 ) a ix a jy }

Hopfield JJ, Tank DW. Neural computation of decisions in optimization problems. Biological Cybernetics 1985;52:

typical state of the network before convergence x x x x x x x Fuzzy Tour: GAECBFD

“Fuzzy Readout”

Fuzzy Tour Lengths tour length iteration

Average Results for n=10 to n=70 cities (50 random runs per n) # cities

Conclusions Neurons stimulate intriguing computational models. The models are complex, nonlinear, and difficult to analyze. The interaction of many simple processing units is difficult to visualize. The Neural Model for the TSP mimics some of the properties of the nearest-city heuristic. Much work to be done to understand these models.