Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

find all possible sequence value from a matrix

Posted on 2006-10-30
1
Medium Priority
?
187 Views
Last Modified: 2012-05-05
hi,


 | a     |   b     |     c     |
---------------------------------|
a| 0.5  | 0.25   | 0.25    | =1
---------------------------------|    
b| 0.375| 0.125 | 0.375  | =1
---------------------------------|
c| 0.125| 0.675 | 0.375  | =1
-----------------------------------


I need calculate the probability from a above matrix

for example, if I want to find a sequence of aab, it should calculate like:
a-->a-->b = 0.5 * 0.25 = 0.125

could someone give me some codes to find "all possible paths" for any given sequence? for example for sequence of 3, there is 3^3=27 possible paths (aaa,aab,aac, aba....ccc.etc). I want to find the probability of all 27 paths.
0
Comment
Question by:rmtogether
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
1 Comment
 
LVL 11

Accepted Solution

by:
Expert1701 earned 2000 total points
ID: 17838934
The following code,

  double[,] matrix = new double[,] { { 0.5, 0.25, 0.25 }, { 0.375, 0.125, 0.375 }, { 0.125, 0.675, 0.375 } };
  System.Diagnostics.Debug.Assert(matrix.GetLength(0) == matrix.GetLength(1));

  int sequences = 3;

  for (int i = 0; i < (int)Math.Pow(matrix.GetLength(0), sequences); i++)
  {
    double p = 1;
   
    Console.Write((char)('a' + ((i / (int)Math.Pow(matrix.GetLength(0), 0)) % matrix.GetLength(0))));

    for (int j = 1; j < sequences; j++)
    {
      int a = (i / (int)Math.Pow(matrix.GetLength(0), j - 1)) % matrix.GetLength(0);
      int b = (i / (int)Math.Pow(matrix.GetLength(0), j)) % matrix.GetLength(0);
      p *= matrix[a, b];

      Console.Write("->" + (char)('a' + b));
    }

    Console.WriteLine(" " + p);
  }

  Console.ReadLine();

produces the output ("a->a->b 0.125"),

a->a->a 0.25
b->a->a 0.1875
c->a->a 0.0625
a->b->a 0.09375
b->b->a 0.046875
c->b->a 0.253125
a->c->a 0.03125
b->c->a 0.046875
c->c->a 0.046875
a->a->b 0.125
b->a->b 0.09375
c->a->b 0.03125
a->b->b 0.03125
b->b->b 0.015625
c->b->b 0.084375
a->c->b 0.16875
b->c->b 0.253125
c->c->b 0.253125
a->a->c 0.125
b->a->c 0.09375
c->a->c 0.03125
a->b->c 0.09375
b->b->c 0.046875
c->b->c 0.253125
a->c->c 0.09375
b->c->c 0.140625
c->c->c 0.140625
0

Featured Post

Tech or Treat!

Submit an article about your scariest tech experience—and the solution—and you’ll be automatically entered to win one of 4 fantastic tech gadgets.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Entity Framework is a powerful tool to help you interact with the DataBase but still doesn't help much when we have a Stored Procedure that returns more than one resultset. The solution takes some of out-of-the-box thinking; read on!
The article shows the basic steps of integrating an HTML theme template into an ASP.NET MVC project
This tutorial will teach you the special effect of super speed similar to the fictional character Wally West aka "The Flash" After Shake : http://www.videocopilot.net/presets/after_shake/ All lightning effects with instructions : http://www.mediaf…
In a question here at Experts Exchange (https://www.experts-exchange.com/questions/29062564/Adobe-acrobat-reader-DC.html), a member asked how to create a signature in Adobe Acrobat Reader DC (the free Reader product, not the paid, full Acrobat produ…

604 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question