![]() |
|
![]() ![]() ![]() |
|
MastEdm |
|
|||
![]() Master ![]() Профиль Группа: Участник Сообщений: 178 Регистрация: 3.12.2005 Где: Москва, МГИУ Репутация: нет Всего: 2 |
Добрый день.
Есть последовательность символов. В ней нужно попытаться найти закономерности. Интересуют закономерности типа циклов. В простейшем случае точные циклы (то есть точное совпадение символов). Посложнее: "циклы" вида
где x, y, z - подпоследовательности исходной последовательности; a, b, c - некоторые произвольные числа; f - некоторая функция. В случае с точным циклом f(x, a) = x Подскажите, в каком направлении копать? |
|||
|
||||
esperanto |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 194 Регистрация: 31.5.2003 Репутация: 2 Всего: 4 |
Наверное если вы спросите на более понятном языке, вам смогут помочь
--------------------
B.Sc ->M.Sc.->Microsoft SDE-> (Ph.D. student + Intel SDE + psyсhology B.A) - > Skype SDET |
|||
|
||||
MastEdm |
|
|||
![]() Master ![]() Профиль Группа: Участник Сообщений: 178 Регистрация: 3.12.2005 Где: Москва, МГИУ Репутация: нет Всего: 2 |
Приведу пример:
Пусть есть последовательность: 'sdfaqwertyqwertyqwertydsdf'. Алгоритм должен найти в ней повторенную трижды подпоследовательность 'qwerty'. Это случай для "точного цикла" (в кавычках, потому что не знаю как это правильно называется) А для такой последовательности: "zxabcaabcbabcdabceqw" - циклом будет подпоследовательность "abc*", где * - произвольный символ. Уточню также, что подпоследовательностью в данной задаче я считаю подряд идущие символы исходной последовательности. |
|||
|
||||
_Y_ |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 8 Всего: 34 |
Может стоит покопать в направлении биоинформатики? Например применяется такой способ. Последовательности расставляются в виде заголовков по вертикали и горизонтали, отмечаются одинаковые символы.
Вот что получается в первом варианте:
Во втором варианте
Потом смотришь последовательности из крестиков по диагонали. Где последовательность достаточной длины и с малым количеством пропусков, там и сходство. Вот простейший Java код, который это делает:
-------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
||||||
|
|||||||
MastEdm |
|
|||
![]() Master ![]() Профиль Группа: Участник Сообщений: 178 Регистрация: 3.12.2005 Где: Москва, МГИУ Репутация: нет Всего: 2 |
_Y_, спасибо, интересный подход, посмотрю на эту тему. Правда тут сложность квадратичная получается, но по-любому наверное можно соптимизировать
![]() |
|||
|
||||
_Y_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 8 Всего: 34 |
Наверное. Это же алгоритм в основном для визуализации. Что знал - доложил ![]() -------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |