Generate Exhaustive Permutations

版本 1.1.0.0 (5.3 KB) 作者: Michael Chan
Illustrates generation of exhaustive permutation of symbols given the symbolic bases.
1.1K 次下载
更新时间 2011/4/3

查看许可证

Generate Exhaustive Permutations
--------------------------------------------------
[1] main executing reference usage: usage_generateExhaustivePermutation

The objective is to illustrate generation of exhaustive permutation of symbols given the symbolic bases.
The method of generation is a kronecker-akin approach. The indexRepresentedPermutations may be mapped to any symbols provided.

Sample output:
Given bases = 'AB';
lengthOf1PatternSeq = 3;

< symbols >
AAA
AAB
ABA
ABB
BAA
BAB
BBA
BBB

< indexRepresentedPermutations >
1 1 1
1 1 2
1 2 1
1 2 2
2 1 1
2 1 2
2 2 1
2 2 2

Given bases = '01';
lengthOf1PatternSeq = 4;

< symbols >
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

< indexRepresentedPermutations >
1 1 1 1
1 1 1 2
1 1 2 1
1 1 2 2
1 2 1 1
1 2 1 2
1 2 2 1
1 2 2 2
2 1 1 1
2 1 1 2
2 1 2 1
2 1 2 2
2 2 1 1
2 2 1 2
2 2 2 1
2 2 2 2
--------------------------------------------------
[2] main executing reference usage: usage_computePermutationSeqForSpecificIndex
Obtain a sequence of permutation by direct computation, instead of extracting from a pre-generated exhaustive sequence of prescribed order.
This accelerate the process and saves memory space.

Sample output:

The sequence is CGGGCAG.
The sequence indexed extracted from exhaustive list is CGGGCAG from index: 4044.
==========================================
The sequence is CCCTATC.
The sequence indexed extracted from exhaustive list is CCCTATC from index: 101.
==========================================
The sequence is CCTGGAC.
The sequence indexed extracted from exhaustive list is CCTGGAC from index: 505.
==========================================
The sequence is CCGGATA.
The sequence indexed extracted from exhaustive list is CCGGATA from index: 999.
==========================================

* Caveat : Illustrative Purposes
- may run out of memory when lengthOf1PatternSeq >= 10;
- note as well that lengthOf1PatternSeq has to be >= length(bases)
- uncomment variables for display, eg. indexRepresentedPermutations

If the demo has more elegant presentation, please do not hesitate to suggest and send feedback to author.
Email: promethevx@yahoo.com.

Thank you.

Regards,
Michael Chan JT

引用格式

Michael Chan (2024). Generate Exhaustive Permutations (https://www.mathworks.com/matlabcentral/fileexchange/29383-generate-exhaustive-permutations), MATLAB Central File Exchange. 检索来源 .

MATLAB 版本兼容性
创建方式 R2010a
兼容任何版本
平台兼容性
Windows macOS Linux
类别
Help CenterMATLAB Answers 中查找有关 Biological and Health Sciences 的更多信息
致谢

启发作品: Motif Finding

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
版本 已发布 发行说明
1.1.0.0

Added an option to derive a permutated sequence for a specific index for speed and memory conservation.

1.0.0.0