Добро пожаловать, гость
:: алгоритмы  и методы :: :: олимпиадные задачи :: :: связь :: :: о сайте :: :: форум ::


Создать новую тему Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 04.12.2007, 12:01
Новичок

Отправить личное сообщение для tarle Посмотреть профиль Найти все сообщения от tarle
 
Регистрация: 03.12.2007
Сообщений: 2

Задача "Точного совпадения" - приемы для больших объемов Т
Добрый день, господа.

Надеюсь вы не будете сильно против, что я обращаюсь к вашему коллегиальному разуму. На то вроде бы форум...

Собственно модель задачи такая:
1. Есть Т, а точнее даже не Т, а массив строк S[].
2. Есть шаблон P. Для простоты это тоже строка (если идеи будут развиваться, то немного усложним).
3. Надо найти все строки S из Т, в которых встречается P.

А теперь уточняем:
4. Т (S[]) - const.
5. Размерность массива строк n достаточно большая. Если не сказать очень большая. Т.е. до 100М строк.
6. Можно потратить некоторое (сравнимое с O(n)) время и память для построения каких-либо дополнительных статистик/моделей и пр., которые бы способствовали более эффективному поиску шаблона

Внимание вопросы:
- Насколько это "классическая" задача;
- Что читать, кроме опять же книги Гасфилда;
- Любые идеи, и ссылки на статьи и литературу...

PS. В мой недалекий мозг пришла очень общая идея -- для начала попытаться сократить просмотр избавиться от полного прохода по массиву исходных строк для каждого шаблона. (если тема получит развитие, я с удовольствием поделюсь соображениями с уважаемой публикой, дабы выслушать разумную и конструктивную критику)
Ответить с цитированием
  #2  
Старый 04.12.2007, 12:56
MBo MBo вне форума
Местный

Отправить личное сообщение для MBo Посмотреть профиль Найти все сообщения от MBo
 
Регистрация: 21.09.2006
Адрес: Новосибирск
Сообщений: 1,368

>Что читать, кроме опять же книги Гасфилда
Билл Смит Методы и алгоритмы вычислений на строках (книга близка к Гасфилду)
Седжвик Фундаментальные алгоритмы

>Насколько это "классическая" задача
Это очень актуальная (под)задача индексирования (собственно говоря, индексирование - шире, т.к. подразумевает модификацию данных T)

на rsdn.ru по индексированию недавно что-то проскакивало в статьях, в журнале, или в форуме, но я не вдавался
Ответить с цитированием
  #3  
Старый 04.12.2007, 13:04
Новичок

Отправить личное сообщение для tarle Посмотреть профиль Найти все сообщения от tarle
 
Регистрация: 03.12.2007
Сообщений: 2

Сообщение от MBo
Это очень актуальная (под)задача индексирования (собственно говоря, индексирование - шире, т.к. подразумевает модификацию данных T)
Rem: Вообще-то насчёт индексирования не согласен в корне. Индексирование подразумевает ускорение поиска вхождений элемента в заданный массив. А меняется при этом массив или нет -- это уже детали второго порядка

Поправлюсь. И принесу свои извинения. Индексирование привык понимать в терминах СУБД, а не в терминах поисковых машин. Фактически действительно задача очень похожи на то, что делают поисковые системы, т.е. полнотекстовый поиск по большому объему исходных данных.

Последний раз редактировалось tarle, 04.12.2007 в 15:04.
Ответить с цитированием
Ответ


Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задача "быки и коровы" незарегистрированный Оффтопик 3 07.06.2008 15:59
Проверка на существование/отсутствие предыдущего поколение в игре "Жизнь" гость Сортировка и поиск 0 01.12.2007 23:31
максимальный поток\ "задача о ресурсах" ExPerT Реализация, исходники, языки 0 27.03.2007 13:08
задача "путь к пьяной берлоге" с гранпри сибири. Ajdyn Задачи 3 18.11.2006 09:16
просьба создать раздел форума с названием "графы" CD_Eater Замечания о работе сайта 1 22.09.2006 09:56