"pq и r представление"
(да и вообще в раздел "Алфавит событий"), то наверное разберешся, что в сходящихся ЦС есть еще возможность заменять местами карты с одинаковм, скажем так, pq- рейтингом, без искажения сложения.
Конкретный пример того, о чем говорю - пост номер 8 темыhttp://www.dhlab.ru/forum/index.php/topic,330.msg2433.html#msg2433,
Или пост номер 5 темы http://www.dhlab.ru/forum/index.php/topic,242.0.html "А что если..."
Думаю Тебе будет любопытно это.
Думаю, также, было бы интересно найти с Тобой общий язык и сравнить результаты исследований.
Если у меня появится время, - попробую предположить, с аргументами, какого общее число цепочек, которые Ты ищешь.
nick
konste, ты как истинный программер отсчитываешь посты с нуля Smiley/Улыбается
Да, необходимо учесть все особенности, чтобы максимально обобщить паттерны. Таким образом помимо нахождения последовательностий вхождений мастей и номиналов я учту позиции карт, где масть либо номинал не имеют значения для сходимости расклада. Таким образом в результируюущем паттерне мы будем иметь не только вхождения типа [A1,B3], но и [?,B3], где ? - номинал, не играющий роли в раскладе.
Приводимые друг к другу цепочки очевидно надо выкинуть, ты прав, т.к. должны остаться только уникальные паттерны. На их базе попробую сделать общий вывод относительно цепочек 36:0. Неплохо было бы подвести под получиввшиеся паттерны теоретическую базу, так чтобы выявить их все, а не только те, которые получатся из анализа случайной последовательности цепочек.
konste
именно.
на днях свои мысли по теоретической базе оформлю сюда.
Ибо они имеются.
nick
Написал алгоритм перекодировки цепочек в последовательности мастей и номиналов, пронумерованных по порядку первого вхождения в цепочку. Проверку на масти и номиналы, не принимающие участия в раскладе, пока не реализовал.
Что характерно, при перекодировке цепочек их количество практически не уменьшилось (если уменьшилось, то на несколько штук). Так что возлагаю надежды на неучаствующие масти и номиналы. Либо же придется искать более сложные закономерности, чтобы таки вывести алгоритм.
Класс PMChainAnalyzer перекодирует цепочки и складывает результат в колелкцию с поддержкой уникальности.
36_0_chains_temp.rar - исходные цепочки (17793 штуки, из них ок. 20 повторяющихся).
36_0_chains_temp_converted.rar - те же цепочки, сконвертированные.
Я на несколько дней отъеду. Заодно будет время подумать.
nick
Реализовал проверку на масти и номиналы, не принимающие участия в раскладе. При этом за масть или номинал, не принимающий участия в раскладе, считалась, соответственно, масть или номинал данной карты, которые не участвовали ни в одном сложении. Это было сделано чтобы максимально сократить количество цепочек.
Я предполагаю и другой вариант определения неважности для расклада - фактическая возможность заменить данную карту с неважной мастью или номиналом другой картой с неважной мастью или номиналом соответственно, но такой подход приведет к возрастанию, а не сокращению количества цепочек, если при этом в качестве идентифицирующего признака цепочки рассматривать динамику сложения. Такой подход пока мной не реализован.
Получились интересные результаты.
1. Было взято 17793 первоначальных цепочки 36:0. Из них уникальных - 17776.
2. Цепочки были сконвертированы из вида
Tc 8p Kk Dk 6p 7p Xc Tk Tp Xb Db Vp 9p 6b 8c Kc 7k 9b 6c 7c Xk Vb Kb Dc Vc Tb 7b 9c 6k 8b Dp Xp 9k Vk Kp 8k
в вид
00 11 22 32 41 51 60 02 01 63 33 71 81 43 10 20 52 83 40 50 62 73 23 30 70 03 53 80 42 13 31 61 82 72 21 12
результат - 17776 уникальных цепочек.
3. Цепочки были сконвертированы из вида
00 11 22 32 41 51 60 02 01 63 33 71 81 43 10 20 52 83 40 50 62 73 23 30 70 03 53 80 42 13 31 61 82 72 21 12
в вид
0_ _1 _2 _2 _1 _1 6_ 02 _1 63 _3 _1 8_ _3 _0 _0 _2 _3 _0 _0 _2 _3 _3 _0 _0 _3 _3 80 _2 13 _1 _1 82 _2 _1 12
где пропущены номера мастей и номиналов, не участвовавщих в сложении.
Результат - 17776 уникальных цепочек.
4. Цепочки были сконвертированы из вида
0_ _1 _2 _2 _1 _1 6_ 02 _1 63 _3 _1 8_ _3 _0 _0 _2 _3 _0 _0 _2 _3 _3 _0 _0 _3 _3 80 _2 13 _1 _1 82 _2 _1 12
в вид
+_ _+ _+ _+ _+ _+ +_ ++ _+ ++ _+ _+ +_ _+ _+ _+ _+ _+ _+ _+ _+ _+ _+ _+ _+ _+ _+ ++ _+ ++ _+ _+ ++ _+ _+ ++
где все масти и номиналы, участвовавшие в сложении заменены знаком "+", а не участвовавшие - "_".
Результат - 17776 уникальных цепочек.
Здесь стоит иметь ввиду, что все анализируемые цепочки были сгенерированы с использованием генератора случайных чисел и простенького алгоритма оптимизации по первым двум сложениям. Одако даже принимая во внмание этот факт, то, что первая конвертация не дала результатов кажется мне в высшей степени странным, при том что до конвертации обнаружилось около 20 полностью совпадающих цепочек.
Читать дальше