![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,692
|
![]()
Заранее извинюсь если не туда запостил.
Имеем: эталонное слово: например "кириллица" и набор слов с 50% ошибок типа замена, удаление, вставка и перестановка двух рядом стоящих символов Код:
Код:
Не могу найти описание подхода для более менее быстрого поиска медианы, такой что distance(X1, m) и distance(X2, m) минимальны И обобщенной медианы, такой что расстояние до всех остальных медиан минимально. С обычными вещественными векторами все элементарно, а вот со строка заморочка выходит =( |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,692
|
![]()
Сейчас пока реализовываю вариант поиска всевозможных замен,перестановок,удалений и вставок которые минимизируют общее расстояние.
Естественно следует ограничиться только теми символами, которые имеются в медианах, и не бездумно менять все подарят, а равномерно, находя по одной операции из каждой медианы максимально приближающей общую медиану к текущей и выбирать ту, которая максимально приближает общую медиану ко всем медианам, применить ее и продолжить делать тоже самое, пока не будет таких операций, которые будут минимизировать общее расстояние расстояние. Может будут еще предложения? Последний раз редактировалось Kostia; 19.04.2012 в 12:31. |
![]() |
![]() |
![]() |
#3 | |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]() Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 06.08.2009
Сообщений: 2,992
|
![]()
[упс, невнимательно сначала прочитал]
Если есть матрица преобразований, то медиана должна быть на полпути от одного угла матрицы до противоположного. Последний раз редактировалось ds.Dante; 19.04.2012 в 13:14. |
![]() |
![]() |
![]() |
#5 | ||
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,692
|
![]() Цитата:
Медиана должна минимизировать такую сумму: D += distance(x[i], m) А медиана абсолютно минимизирующая эту сумму, есть обобщенная медиана. Меня что-то заклинило сначала найти медианы между парами {{1,2},{2,3}...{n-1,n}} дальше найти обобщенную медиану, которая минимизирует расстояние до всех остальных медиан. И как бы она и будет обобщенной медианой и будет минимизировать первую сумму, исходя из того что обычные медианы ее тоже минимизируют(но только для двух соседних). Тут загвоздка, если искать все медианы между каждой парой, то потребуется уйма процессорного времени, n*n-n штук если не ошибаюсь, то тогда можно гарантировать что мы найдем обобщенную медиану, а в случае пар, которые я указал, этого гарантировать нельзя(но думаю и такой точности будет достаточно). Цитата:
Последний раз редактировалось Kostia; 19.04.2012 в 13:21. |
||
![]() |
![]() |
![]() |
#6 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,692
|
![]()
Вот что нарыл, но не могу провернуть это в голове:
страница 40, текст не копируется =( http://window.edu.ru/resource/598/64....3_cB352-4.pdf Кажется вкурил. Ищем такую строку из множества расстояние от которой до остальных элементов минимально, это есть медиана множества, и далее начинают пичкать эту медиану разными вариантами ошибок(замена, удаление...) в которых принимают участие все буквы алфавита, принимаются только те, которые уменьшают общее расстояние до остальных элементов. Автор утверждает что время для вычисления обобщенной медианы сравнительно не велико. Последний раз редактировалось Kostia; 19.04.2012 в 13:38. |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 06.08.2009
Сообщений: 2,992
|
![]()
Можно такой вариант: для каждой пары слов находим минимальный путь со всеми промежуточными состояниями. И из всех этих промежуточных слов выбираем самое медианное. Алгоритм получается сложный (n^3 * m^2), но мне почему-то кажется, что результат должен получиться строго точный.
|
![]() |
![]() |
![]() |
#8 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,692
|
![]()
Поиск обобщенной медианы отложил до лучших времен, пока достаточной простой медианы.
Теперь задача состоит в том чтобы правильно(более или менее) заполнить матрицы вероятностей ошибок разного рода. И если кому не лень, то вы можете мне помочь. Нужно чтобы вы написали какой либо текст, но во время его написания не исправляли своих опечаток(желательно чтобы были в тексте символы только русского алфавита, знаки препинания на ваше усмотрение). Сохраните текст, а затем исправьте в нем ошибки. Оба теста отправьте мне на мыло icetomcat(собака)gмыло.com Важно чтобы вы не переписывали текст, а брали все из головы. Например ответив на какой либо вопрос или просто мысли вслух. 1. Чем хорошо или плохо современное образование 2. Феминизм, что вы об этом думаете ... Чем больше людей откликнется( и чем больше очепяток будет xD), тем больше объективности будет в полученных матрицах. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Поиск в БД | ->@LEX<- | БД в Delphi | 4 | 16.05.2011 11:50 |
Поиск абсолютной b(p)-медианы графа. алгоритм. или его часть. | havoc | Помощь студентам | 4 | 27.03.2011 23:06 |
Поиск | _-Re@l-_ | Общие вопросы Delphi | 5 | 19.06.2010 19:20 |
Поиск в БД | sting1920 | БД в Delphi | 1 | 15.03.2010 00:22 |
Поиск в БД | Lomka | БД в Delphi | 1 | 24.11.2009 23:18 |