Вы неправильно разбили задачу на подзадачи.
Не нужно генерировать комбинации.
Вообще.
Никак.
Нам не важен порядок букв в словах.
Нам важны множества букв и именно множества букв мы будем сравнивать.
Словарь необходимо хранить в предобработанном виде. (см мой комментарий)
Введенное пользователем слово преобразуем в описание множества букв.
Вот пример ваш со словом «мартенсит»:
мартенсит = {аеимнрстт}
Весь наш словарь уже представлен в таком виде (в виде множества букв)
И нам не нужно искать среди слов сгенерированные слова — нам нужно найти все множества которые являются подмножеством множества {аеимнрстт}
Как хранить множества в памяти и как их сравнивать — вопрос реализации, да
Смотрите.
Как вам уже сказали и пару раз скажут, построить 4*10^18 комбинаций и искать их в наборе 65000 слов — контрпродуктивно.
Значит нужно как-то отсеивать нужные слова из 65000
Отсеивать — по какому признаку? По наличию нужных букв и отсутствию тех, которых в запросе нет.
Берем словарь и для каждого слова строим вектор из 33 чисел. каждое число — количество повторений соответствующей буквы.
Эти вектора можно сохранить в базу и построить по ним индексы.
И потом select woridId from vectors where 'A' <= 1, 'Б' <=1 итп
Это если «влоб» и не пытаться написать более эффективной реализации.
Я правильно понимаю, что никто не гарантирует сохранность спрятанных данных во время обычной работы с FS?
Т.е. свободные блоки всегда могут быть перетерты, если на флешку закинут новый файл?
В сериале это [маслобот] было шуткой.
Сумасшедший ученый за столом, вместо того, чтобы обратиться к соседу по столу за короткий промежуток времени собирает робота, который спрашивает создателя: «в чем мое предназначение» и узнав, что он создан передать масло впадает в депрессию.
Я ошибся фотографией. Естественно у нас был тот же МТК-2, я просто никогда не видел никакой другой… (и как-то не задумывался, что существует больше одного стандарта)
Хм. До чего же сложно найти в интернете фотографию внешнего перфоратора к ноутбуку.=)
Нашел только фотографию разъемов:
Очень хорошо помню, как мы по ночам их перепаивали по десять раз…
Сейчас я специально освежил в памяти примеры факультативных знаков препинания и пришел к выводу, что мое мнение сформировалось из-за того, что я ошибочно считал некоторые знаки препинания факультативными.
PS, вот пример наполненного факультативными знаками препинания предложений:
«И когда, месяц спустя, мы вернулись к этому разговору, тема его потеряла уже свою остроту»
«Я не отрицаю этой возможности; но, всё равно, она меня не устраивает»
А́вторская пунктуа́ция — ситуативное, контекстуально обусловленное отступление от общих норм пунктуации. Иногда под авторской пунктуацией понимают индивидуальные особенности пунктуационного оформления текста, не противоречащие принятым правилам, или вообще все знаки, стоящие в авторской рукописи. Последнее употребление термина характерно для издательских работников.
Ок, не обычно, а иногда. Я говорил как раз про
особенности пунктуационного оформления текста, не противоречащие принятым правилам
А не про «пунктуация автора сохранена»
вы совершенно зря пытаетесь построить корреляцию между технари/гуманитарии и пунктуацией.
Сложно построить корреляцию несуществующего разделения с чем-то существующим, да.
Люди пишут либо грамотно, либо нет
Я говорил про людей пишущих грамотно.
Мое сугубо личное наблюдение:
Есть факультативные знаки препинания. Люди, чья работа связана с конструированием и анализом сложных объектов, склонны ставить такие факультативные знаки препинания. Люди, чья работа связана непосредственно с текстом — склонны эти знаки не ставить
Да, фигню сказал.
Я понимаю, что:
1. естественные языки — живые и развивающиеся инструменты и все нормы использования знаков препинания как раз появились из необходимости структурировать информацию
2. Кроме стабильных общих правил расстановки знаков препинания есть еще и «авторская пунктуация» (собственный набор правил конкретного автора, выражающий его личность и удовлетворяющий его какие-то частные потребности в выражении мысли) и стилистическая(ситуативная?) пунктуация (набор правил, характерный для каких-либо особых видов текста)
Что я хотел сказать предыдущим комментарием:
1. Мне кажется, что незакрытая кавычка будет раздражать технаря ровно также как и гуманитария. (если не больше, но я не знаю как измерить уровень раздражения у читателя)
2. Мне кажется, что в случаях, когда выделение структурных частей предложения запятыми не обязательно, но допустимо, технарь с большей вероятностью поставит запятую, чем гуманитарий.
3. Обычно, «авторская пунктуация» подразумевает расширение и дополнение общеупотребительных норм литературного языка, а не «переписывание». Так вот — «технарям», по моему мнению, свойственно как раз изобретение каких-то собственных структур, явно нарушающих общие правила. (У гуманитариев общие правила более свежи в памяти и они не будут «переизобретать велосипед»)
обилие знаков препинания, на которые «технари», вестимо, куда чаще забивают
Знаки препинания — это отражение структуры передаваемой информации, технари на них не забивают, скорее — используют не согласно правил естественного языка. [humor]lisp-программисты ставят запятых в предложении, больше чем слов[/humor]
Это немного урезанный Yoshimoto Cube
Существует с 1970хх
Довольно давно продается в разных исполнениях…
Урезанный — в том смысле, что две части куба Йошимото склеили… видео
Нет, это отдельное удовольствие — разработка вентилей под клеточные автоматы.
Для жизни вентили довольно давно. В данном случае они подобрали клеточные правила (VarLife), чтобы логику максимально упростить и уменьшить в площади.
Т.е. идея «присвоить адрес куску земли» — не нова.
Новое — именно обозначение из трех слов.
На самом деле это намного удобнее, чем вот это
Но требует наличия приложения и общепризнанных обозначений.
Вообще это похоже на творческое переосмысление QTH-locator и прочих подобных систем…
Не нужно генерировать комбинации.
Вообще.
Никак.
Нам не важен порядок букв в словах.
Нам важны множества букв и именно множества букв мы будем сравнивать.
Словарь необходимо хранить в предобработанном виде. (см мой комментарий)
Введенное пользователем слово преобразуем в описание множества букв.
Вот пример ваш со словом «мартенсит»:
мартенсит = {аеимнрстт}
Весь наш словарь уже представлен в таком виде (в виде множества букв)
И нам не нужно искать среди слов сгенерированные слова — нам нужно найти все множества которые являются подмножеством множества {аеимнрстт}
Как хранить множества в памяти и как их сравнивать — вопрос реализации, да
Как вам уже сказали и пару раз скажут, построить 4*10^18 комбинаций и искать их в наборе 65000 слов — контрпродуктивно.
Значит нужно как-то отсеивать нужные слова из 65000
Отсеивать — по какому признаку? По наличию нужных букв и отсутствию тех, которых в запросе нет.
Берем словарь и для каждого слова строим вектор из 33 чисел. каждое число — количество повторений соответствующей буквы.
Эти вектора можно сохранить в базу и построить по ним индексы.
И потом select woridId from vectors where 'A' <= 1, 'Б' <=1 итп
Это если «влоб» и не пытаться написать более эффективной реализации.
Т.е. свободные блоки всегда могут быть перетерты, если на флешку закинут новый файл?
Сумасшедший ученый за столом, вместо того, чтобы обратиться к соседу по столу за короткий промежуток времени собирает робота, который спрашивает создателя: «в чем мое предназначение» и узнав, что он создан передать масло впадает в депрессию.
Хм. До чего же сложно найти в интернете фотографию внешнего перфоратора к ноутбуку.=)
Нашел только фотографию разъемов:
Очень хорошо помню, как мы по ночам их перепаивали по десять раз…
У меня в армии был ноутбку, который коненктился к перфоратору.
telegraph.ph — что-то сквотерское.
Это не куртка, это свитер+джинсовка без рукавов+что-то типа жилетки из свитера:
Вот косплееры пытались сшить:
«Эйфория бегуна
PS, вот пример наполненного факультативными знаками препинания предложений:
«И когда, месяц спустя, мы вернулись к этому разговору, тема его потеряла уже свою остроту»
«Я не отрицаю этой возможности; но, всё равно, она меня не устраивает»
Ок, не обычно, а иногда. Я говорил как раз про
А не про «пунктуация автора сохранена»
Сложно построить корреляцию несуществующего разделения с чем-то существующим, да.
Я говорил про людей пишущих грамотно.
Мое сугубо личное наблюдение:
Есть факультативные знаки препинания. Люди, чья работа связана с конструированием и анализом сложных объектов, склонны ставить такие факультативные знаки препинания. Люди, чья работа связана непосредственно с текстом — склонны эти знаки не ставить
Я понимаю, что:
1. естественные языки — живые и развивающиеся инструменты и все нормы использования знаков препинания как раз появились из необходимости структурировать информацию
2. Кроме стабильных общих правил расстановки знаков препинания есть еще и «авторская пунктуация» (собственный набор правил конкретного автора, выражающий его личность и удовлетворяющий его какие-то частные потребности в выражении мысли) и стилистическая(ситуативная?) пунктуация (набор правил, характерный для каких-либо особых видов текста)
Что я хотел сказать предыдущим комментарием:
1. Мне кажется, что незакрытая кавычка будет раздражать технаря ровно также как и гуманитария. (если не больше, но я не знаю как измерить уровень раздражения у читателя)
2. Мне кажется, что в случаях, когда выделение структурных частей предложения запятыми не обязательно, но допустимо, технарь с большей вероятностью поставит запятую, чем гуманитарий.
3. Обычно, «авторская пунктуация» подразумевает расширение и дополнение общеупотребительных норм литературного языка, а не «переписывание». Так вот — «технарям», по моему мнению, свойственно как раз изобретение каких-то собственных структур, явно нарушающих общие правила. (У гуманитариев общие правила более свежи в памяти и они не будут «переизобретать велосипед»)
Знаки препинания — это отражение структуры передаваемой информации, технари на них не забивают, скорее — используют не согласно правил естественного языка.
[humor]lisp-программисты ставят запятых в предложении, больше чем слов[/humor]
Существует с 1970хх
Довольно давно продается в разных исполнениях…
Урезанный — в том смысле, что две части куба Йошимото склеили…
видео
opencl на s5 есть и прекрасно заводится.
Другое дело, что и на видюхах особо не помайнишь
Для жизни вентили довольно давно. В данном случае они подобрали клеточные правила (VarLife), чтобы логику максимально упростить и уменьшить в площади.