
![]() |
NetLab · Rules · Torrent Tracker · Have a problem? · Eng/Rus |
![]() ![]() ![]() ![]() ![]() |
Welcome Guest ( Log In | Register | Validation ) | Resend Validation Email |
Pages: (2) [1] 2 > ( Show unread post ) |
![]() |
|
Posted: 22-08-2006, 18:05
(post 1, #644183)
|
||
Visionary Group: Members Posts: 5181 Warn:0% ![]() |
Имеется энное количество фраз и каждая фраза состоит из одного или более слов. Задача: найти наименьшее множество слов, такое, чтобы в каждой фразе содержалось по крайней мере одно слово из этого множества. Подскажите, куда смотреть? ![]() |
||
|
Posted: 22-08-2006, 18:33
(post 2, #644190)
|
||
Мозговых Дел Мастер Group: Members Posts: 5478 Warn:0% ![]() |
Людоедка Эллочка тебе поможет ![]() а если по существу,напиши обычную програмку по поиску минимума,пусть переберает все фразы и суммирует все попадающиеся одинаковые слова,сумма которая будет наименьшей - наименьшее множество слов |
||
|
Posted: 22-08-2006, 18:46
(post 3, #644195)
|
||
Visionary Group: Members Posts: 5181 Warn:0% ![]() |
Гм... ниасилил... ![]() |
||
|
Posted: 22-08-2006, 18:53
(post 4, #644198)
|
||
Мозговых Дел Мастер Group: Members Posts: 5478 Warn:0% ![]() |
ну типа так: считываешь слова всех фраз n=0 m=0 и т.д дальше пишешь условие: если слово = медвед значит n=n+1 если слово равно превед значит m=m+1 и так условия по всем словам ,которые встречаются во фразах дальше,та переменная,которая будет наименьшей скажет,какое слово встречается реже всех например, если m окажется наименьшей,значит редчайшее слово-превед ![]() |
||
|
Posted: 22-08-2006, 18:57
(post 5, #644204)
|
||
Visionary Group: Members Posts: 5181 Warn:0% ![]() |
Нужно не редчайшее слово, а наименьшее множество слов, встречающихся во всех фразах. Т.е. какую бы фразы ни взять в ней обязательно есть слово из этого множества. |
||
|
Posted: 22-08-2006, 19:03
(post 6, #644209)
|
||
Мозговых Дел Мастер Group: Members Posts: 5478 Warn:0% ![]() |
тогда в начале пишешь условие: выбираешь слова,встречающиеся во всех фразах,а потом с этой выборкой делаешь то,что я писал в предыдущем посту |
||
|
Posted: 22-08-2006, 19:11
(post 7, #644213)
|
||
Talk too much Group: Members Posts: 2023 Warn:0% ![]() |
Фразы состоят из слов, значит наименьшее множество - множество слов, из которых сосят эти фразы, а вообще бредовая задача. Это твой пересказ условия или она такая и есть? Сказал бы из какой области эта задача, чтобы хоть как-то понять чего хочут This post has been edited by SonyBrother on 22-08-2006, 19:12 |
||
|
Posted: 22-08-2006, 19:12
(post 8, #644215)
|
||||
Мозговых Дел Мастер Group: Members Posts: 5478 Warn:0% ![]() |
на сколько я понял ,надо найти слово,которое наименьшее количество раз встречается во всех фразах,иначе условие не имеет смысла |
||||
|
Posted: 22-08-2006, 19:14
(post 9, #644216)
|
||
Visionary Group: Members Posts: 5181 Warn:0% ![]() |
превед превед sdandrey медвед превед = 2 sdandrey = 1 медвед = 1 и дальше что? |
||
|
Posted: 22-08-2006, 19:18
(post 10, #644218)
|
||
Мозговых Дел Мастер Group: Members Posts: 5478 Warn:0% ![]() |
в данном случае задача не имеет решения,т.к нет ни одного слова,встречающегося во всех фразах |
||
|
Posted: 22-08-2006, 19:20
(post 11, #644219)
|
||||
Visionary Group: Members Posts: 5181 Warn:0% ![]() |
Фразы состоят из нескольких слов, т.ч. могут быть множества разных размеров, нужно минимальное. превед превед sdandrey медвед 1. {превед, sdandrey, медвед} 2. {превед, медвед} Второе множество и есть минимальное. ![]() Это не задача в прямом смысле, мне нужен алгоритм для обработки текстовой базы. Added @ 19:20: Мне не нужно слово, мне нужно множество слов. Added @ 19:21: Причём минимальное. ![]() |
||||
|
Posted: 22-08-2006, 19:22
(post 12, #644221)
|
||
Talk too much Group: Members Posts: 2023 Warn:0% ![]() |
Все, понял! Лови решение: Выбираем сначала все фразы с одним словом и заносим слова в искомое множество. Вычеркиваем все фразы из исходного набора с этими словами. Получаем новый исходный набор фраз и повторяем все сначала. Если однословных фраз нет, то мы должны рассматривать несколько вариантов, выбирая отдельные слова из самых короткиз фраз. Примерно так This post has been edited by SonyBrother on 22-08-2006, 19:26 |
||
|
Posted: 22-08-2006, 19:28
(post 13, #644225)
|
||
Мозговых Дел Мастер Group: Members Posts: 5478 Warn:0% ![]() |
кажется я понял о чем ты тут глаголишь ![]() вобщем делай так: сначала берёшь и делаешь выборку из слов,которые ,вообще, встречаются во фразах дальше берёшь каждое слово и проверяешь встречается оно во всех фразах или нет,если попадаются несколько слов,встречающихся во всех фразах,выбираешь то,которое встречается минимальное количество раз и получаешь,что твоё множество состоит из одного слова если нет слов,которые встречаются во всех фразах,то начинаешь перебирать все возможные варианты из двух слов,опять же если встречаются две пары,присутствующие во всех фразах,то выбираешь ту пару,которая присутствует минимальное количество раз и твоё множество будет состоять из двух слов ежели нет пары,встречающейся во всех фразах,то берёшь три слова и т.д,пока не найдёшь минимальное количество слов,которые встречаются во всех фразах и эти сами слова |
||
|
Posted: 22-08-2006, 19:31
(post 14, #644226)
|
||
Talk too much Group: Members Posts: 2023 Warn:0% ![]() |
Кстати эта задачка решается элементарно и быстро при помощи генетического алгоритма |
||
|
Posted: 22-08-2006, 19:52
(post 15, #644236)
|
||
Visionary Group: Members Posts: 5181 Warn:0% ![]() |
Перебор вариантов в связи с огромным объёмом данных не представляется возможным, а генетический алгоритм тоже базируется на своего рода переборе. У меня есть предчувствие, что подобная задача имеет решение, только вот в какой области? |
||
![]() |