Уже подустал искать информацию, подкинте идею(код или законченый софт) для алгоритма генерации словесных комбинаций. Вот например идеи выложеные тут: http://forum.sources.ru/index.php?showtopic=9051&st=20 я еще не встречал реализоваными, хотя слухов много ходило. Такие системы стоят довольно дорого, подумываю разработать свою, если кто-то хочет присоединиться, то я заинтересован.
Основные потребности(хотя каждая включает в себе еще несколько областей где конкретно это будет применяться): 1. Болие производительного брутфорса. 2. Для генерации имен пользователей.
Речь идёт что-то на подобие этого? Код (Text): .data Buffer byte 1024 dup(0) szA db "A",0 .code start: mov esi,10 @A: push esi mov eax,26 call random movzx ebx,ax mov edi,offset szA or ebx,ebx jz @F movzx eax,byte ptr [edi] add eax,ebx mov [edi],al @@: invoke lstrcat,offset Buffer,edi or ebx,ebx jz @F movzx eax,byte ptr [edi] sub eax,ebx mov [edi],al @@: pop esi dec esi jnz @A invoke MessageBox,0,offset Buffer,offset Buffer,0 invoke ExitProcess,0 end start
Flasher Нет, никаких рандомов. Все должно быть логически. Жесткой логике, но, думаю, лушчий результат будет достигнут на нечеткой. Создав некую экспертную систему либо нейросеть.
проще говоря, нужен "умный брутфорс". Если кому-то интересна эта тема, то присоединятесь, вместе реализуем ее быстрее.
возьми толковый словарь английский - генери рандомно паттерн, ищи совпадения, в ближайшем совпадении бери синонимы, проверяй на валидность неким критериям - и все. Если не соответствует критериям - увеличивай паттерн и ищи дальше.
Раньше про цепи Маркова не слышал, щас изучаю это математический апарат. Проблема со словарями в том, что количество данных в них ограничено каким-то числом. Думаю лучше было бы обученую систему на этих словарях научить выдавать новые слова. Думал что нейро сеть для этого подойдет, но как сказал мне один специались: Нейросетки в Вашей задаче (генерации строк) вряд ли помогут чем-то существенным. При тех условиях, которые у Вас указаны, лучше справятся современные алгоритмы planning and constraint satisfaction из отдельных разделов современной теории исследования операций и искусственного интеллекта. Хотя тоже придется их как-то дорабатывать, чтобы получать набор решений (удовлетворяющих условиям), а не единственное самое оптимальное решение.
Все, что тебе нужно - это словарь корней, приставок, суффиксов, окончаний и знание русского языка. Сейчас делаю обучающуюся систему морфологического поиска. За вчерашний день научилась 284300 словам . Если будут соображения, могу словариком поделится. http://www.feb-web.ru/feb/mas/mas-abc/default.asp
> Раньше про цепи Маркова не слышал, щас изучаю это математический апарат. Если в упрошёном виде писать. То идея там была простая. Берешь война и мир. Открываешь в любом месте, тыкаешь пальцем, запоминаешь букву. Потом открываешь опять тыкаешь пальцем в такую же букву и пишеть букву которая идёт за ней. И т.д. рекурсивно. Вот это то что предлагал Марков. Можно тоже самое делать, но использовать пару букв или больше. Чем больше используешь тем более хитрые слова будут. Если слишком много взять, то будут просто слова. Если организацию данных продумать, то в память ничего грузить не придётся. Кстати генерацией хитрого брутфосра я сам когда-то очень сильно интересовался. Если что-то путное напишешь дай на слова проглядеть...