Выше я оставлял ссылку, откуда втянул в словарь дополнительные слова — из одного из словарей кроссвордистов. А у кроссвордистов география и имена в ходу. Да, хорошо бы без них, но пока лучших словарей не обнаружил. Во всяком случае, в этих хоть нет глаголов, прилагательных и подобного.
Замечание уместное.
Разве что Сион — это ещё и «Вид православной церковной утвари, хранилище просфор (освященного хлеба)», а Линн — «Замок в Эстонии».
Да, спасибо, то был ложный испуг масштабов вот тут:
Даже если дать очень оптимистичную оценку на среднее число вариантов модификаций в 5 (всего!), то если к какому-то слову минимальный путь составит 10 шагов, то в памяти должно уместиться дерево в 510 ~= 10 млн нодов
Моя ошибка.
Ведь мы будем строить дерево из уникальных элементов (слов), а словарь-то не такой огромный, совсем не 10 млн слов, а на порядки меньше. А точнее, в нашем случае, 64765 слов.
С учётом того, что слова разной длины в «из мухи слона» друг с другом не связаны, минимальную оценку на данные графа по памяти можно дать как сумму полуквадратов по каждой из длин слов.
При этом каждый раз использовать для работы потребуется лишь одну из матриц, соответствующую рассматриваемым длинам слов.
Конкретно для 4-буквенных выйдет 3477 * (3477 — 1) / 2 бит = 740 Кб.
Совсем не страшно. Даже если хранить связь между словами не битом, а байтом, выйдет всего 6 Мб.
В байте связи кстати можно хранить не обязательно простой буль — может удобно выйдет хранит номер буквы, на которую различаются два связанных слова.
Карта переходов — один из индексов в базе в таблице псевдослов — UNIQUE KEY `value_word_id` (`deleted_symbol_pos`,`value`,`word_id`). Его использование — в селекте MySQL маппера, вытаскивающего мутации из базы.
кусок кода сборки запроса
// Выбираем все подходящие псевдослова из базы
$query = "SELECT wp.`word_id`, wp.`deleted_symbol_pos`, wp.`id`, wp.`value`, w.`value` AS `word`"
. " FROM `word_pseudo` AS wp"
. " JOIN `word` AS w ON (w.`id` = wp.`word_id`)"
. " WHERE w.`dictionary_id` = " . $this->_db->QuoteValue($this->_dictionary['id'])
. " AND w.length = " . $this->_db->QuoteValue($wordLen)
. " AND wp.`deleted_symbol_pos` = " . $this->_db->QuoteValue($mutPos)
. " AND wp.`value` = " . $this->_db->QuoteValue($pseudoWord)
. (
empty($excludedWordKeys) ? "" :
" AND wp.`word_id` NOT IN ("
. implode(',', array_map(function($key) {
return $this->_db->QuoteValue($key);
}, $excludedWordKeys))
. ")"
)
. " ORDER BY wp.`word_id`"
;
Попутно исключаются мутации «не в той позиции» и ид-шники уже имеющихся слов в цепочке.
Можно ли без значений псевдослов обойтись, типа «муа» и «тракан»? Можно. С другой стороны в базе всё равно поиск по индексу идёт, те же цифры в указателях влево-вправо в BTREE. Есть над чем подумать, спасибо.
Что касается дерева, или графа — по сути они ничего не меняют, это лишь разные представления одних и тех же метаграммных связей между словами, в данном случае выраженных индексом в таблице, самому являющемся по сути не совсем явно выраженным, но графом между метаграммными словами. И да, связи можно выразить легче, уже разобрался.
Вы всё ещё оперируете терминами денег, содержания и налогов? Это архаично.
С приходом роботов на роли: тяжёлой и лёгкой промышленности, добычи ископаемых, металлургии, агрокультурного дела (с/х), планирования и производства сложных изделий, в том числе роботов, ремонта роботов, экономического анализа, энергетики, в.т.ч. гидро, ветро, солнечной, атомной, космической; нефтехимической промышленности, транспортировки, всевозможные сферы услуг для человеков и далее далее — достигается круг самообеспечения роботов плюс обслуживание желаний, идей и устремлений человеков.
Роботам не требуются деньги — это понятие становится устаревшим.
При этом значимый ИИ роботам создавать не следует, конечно.
По вашему, так человек просто обязан трудиться и приносить пользу обществу. Спорный догмат.
Ну а то как вы предлагаете тут и ниже решать вопросы воспроизводства населения — мы с вами на диаметральных позициях, и если дойдёт то такого, то не премину взять в руки оружие для борьбы с такими «корпорациями» и «методами». Человек должен быть Человеком. Семья — Семьёй. Если вы правда думаете то, что высказали, то цивилизационно нам с вами не по пути.
Да заменить полно чем, — вон линуха нынче один другого краше и LibreOffice вполне функционален.
По своему опыту скажу, бабушке одинаково страшен и Уиндоус Икспи, и Семёрка, и эти ваши Бубунты. Всё равно всё сводится к очень, очень, очень терпеливым и с любовью объяснениям какую кнопку жать, чтоб включить Интернет, почту, скайп, и т.п.
Госконторы — как им скажутъ так и й-йесть.
По телику человекам мягко доносить идею что линуха хорошо. Причём в кои-то веки такая здравая идея с экрана. )
Ну и нас, пару крошек гиков насыпать.
Уже немалочисленная аудитория получилась :)
И не бросать, подтягивать остальной народ.
Если в России у Оперы получалось в прекрасные годы выходить в топ-1 по браузерам, почему бы какому-нибудь CentOS не повторить чудо.
Можно и с юр позиции действительно тоже бить — на территории РФ законодательно обязать MS в локализации под наш рынок в предустановленных на железки системах иметь по дефолту выключенные следилки. В устанавливаемых системах и при автообновлениях либо устанавливать/поддерживать функции слежения в выключенном состоянии, либо запрашивать явного подтверждения пользователем, с состоянием чекбоксов по умолчанию в состоянии соответствующем отключению опции слежения.
Наказание за нарушения — от неприятных штрафов до потери рынка.
Это может помочь.
Всегда есть вариант написать полезную бифидобакерию (не-вирус с принципами работы аналогично вирусам), которая бы залезала на Win10 машины и «исправляла настройки» на неотслеживание.
Eol, ничего, это лишь взгляд сбоку на объективную реальность) Разумные из них придут к выводу о взаимно однозначном соответствии их «эфира» и «физического вакумма» с «виртуальными парами частиц».
А про ХЯС давние мифы на языцах есть, про алхимиков превращавших Hg в Au с помощью катализатора. Жаль не сохранились более полные сведения о реакции )
К сожалению, немногие так критически подходят к анализу действительности. И что самое сложное, к «внеплановой проверке» своего фундамента убеждений.
Я не говорю отнюдь, что наша российская власть молодцы. Те они ещё «молодцы», ох-хо-хо. Впрочем как и имхо во всех иных странах. Но вам наверное за «непопулярное мнение» уже… «насыпалось».
В идеальном мире да, но как «меритократию» в наше время реализовали бы хоть наши, хоть не наши, даже представлять не хочется.
А то что опрос надо проводить с обязательным указанием аудитории это верно. По хорошему здесь должно было быть минимум три опроса — среди IT-специалистов, среди интернет пользователей и среди общих слоёв населения. Тогда бы это дало осмысленную картину.
Чуть не поперхнулся прочитав про не военное вмешательство США в Японию.
Япония — единственная страна, в которую так не вмешивались. Надеюсь других таких не будет.
Ваш комментарий про демократию, как и в целом статья, живо напомнили мне о «демократии» в Латвии.
Как принимать подходящие законы?.. правильно, неподходящую часть фактического народа страны изъять из электората, из демократии. Вот такая печаль.
Хочу верить что до чего-то подобного как «экзамен на гражданство и пропуск до демократии» у нас не будет допущено.
Этот опрос ВЦИОМ, уверен, полностью неадекватен. Но и опрос с предварительным «тематическим экзаменом» может в «умелых руках» быть ещё хуже.
PS:
Я там был в Латвии, кстати, в конце 2000х, — красивая маленькая и неуловимо щемящая сердце страна. Приветливые люди, чистые полупустынные улочки и магазины, вездесущий шведбанк, почти пустые пляжи, многие закрытые некогда большие производства, редкие хутора, прекрасная природа.
Евросоюз. Только что он дал Латвии для развития и процветания я так и не обнаружил, ни своим взглядом, ни в разговорах с местными. Квоты на то-то, и выплату денег людям чтобы НЕ работали на таких-то производствах. Антирусскую официальную риторику? При абсолютно нормальном отношении в реальности между людьми. Во всяком случае на какой-то негатив от людей не было и намёка.
Понятное дело, главное что дал ЕС это возможность народу без препонов свалить зарабатывать хоть какие-то терпимые деньги в те же Ирландию, Польшу, Италию… да да, по сравнению с положением дел Латвии… или тем более во Францию или Германию. Но Латвии то что это дало, Родине этих прекрасных людей? Кроме опустения и тоски? Словами тех же местных людей Германия (по промышленности) и Франция (по с/х, в т.ч. по сахарной отрасли) получили закрытие лишних конкурентов и рынок сбыта, а «старый» ЕС получил порцию дешёвой рабочей силы на «простые» рабочие места. Что получила Латвия кроме «иглы дотаций» так никто и не смог сказать.
Простите хабр..гиктаймовцы, я понимаю, что излагаю очень непопулярное мнение, но всё же взял я это не с потолка. Да и вывод у меня тоже не самый бесспорный и приятный для сообщества, но тем не менее, — ЕС топчет грабли того же СССР в некоторых своих аспектах.
PPS:
Сорри за длинный постскриптум, что вывалил наболевшее.
Факты полученные из первых рук, что тут взять.
Но всё же и это имеет отношение к поднятой теме, — плоды революции и «демократии» в отдельно взятой маленькой милой сердцу стране.
> Например, кроме банального максимума (который является корнем в max-heap), легко найти 2-й или 3-й по величине элемент — это будут непосредственные потомки корня, ну и так далее. Также куча применяется в алгоритмах на графах.
Дабы читатели не остались в заблуждении, поправлю. 2й по величине элемент действительно находится в одном из двух потомков корня. А вот третий по величине элемент — это либо оставшийся потомок корня, либо один из двух потомков 2-го по величине элемента. Согласно определению кучи.
К слову, даже в той же википедии на иллюстрации-примере кучи 3-й по величине элемент находится не на первом, а на втором уровне глубины от корня.
Замечание уместное.
Разве что Сион — это ещё и «Вид православной церковной утвари, хранилище просфор (освященного хлеба)», а Линн — «Замок в Эстонии».
Но как тренировочное применение генетических алгоритмов вполне можно оставить.
Предложенное элегантное решение и мне и читателю на заметку.
Моя ошибка.
Ведь мы будем строить дерево из уникальных элементов (слов), а словарь-то не такой огромный, совсем не 10 млн слов, а на порядки меньше. А точнее, в нашем случае, 64765 слов.
Причём, распределение по длинам следующее:
С учётом того, что слова разной длины в «из мухи слона» друг с другом не связаны, минимальную оценку на данные графа по памяти можно дать как сумму полуквадратов по каждой из длин слов.
При этом каждый раз использовать для работы потребуется лишь одну из матриц, соответствующую рассматриваемым длинам слов.
Конкретно для 4-буквенных выйдет 3477 * (3477 — 1) / 2 бит = 740 Кб.
Совсем не страшно. Даже если хранить связь между словами не битом, а байтом, выйдет всего 6 Мб.
В байте связи кстати можно хранить не обязательно простой буль — может удобно выйдет хранит номер буквы, на которую различаются два связанных слова.
Определённо стоит переделать через дерево/граф.
Карта переходов — один из индексов в базе в таблице псевдослов — UNIQUE KEY `value_word_id` (`deleted_symbol_pos`,`value`,`word_id`). Его использование — в селекте MySQL маппера, вытаскивающего мутации из базы.
Попутно исключаются мутации «не в той позиции» и ид-шники уже имеющихся слов в цепочке.
Можно ли без значений псевдослов обойтись, типа «муа» и «тракан»? Можно. С другой стороны в базе всё равно поиск по индексу идёт, те же цифры в указателях влево-вправо в BTREE. Есть над чем подумать, спасибо.
Что касается дерева, или графа — по сути они ничего не меняют, это лишь разные представления одних и тех же метаграммных связей между словами, в данном случае выраженных индексом в таблице, самому являющемся по сути не совсем явно выраженным, но графом между метаграммными словами. И да, связи можно выразить легче, уже разобрался.
С приходом роботов на роли: тяжёлой и лёгкой промышленности, добычи ископаемых, металлургии, агрокультурного дела (с/х), планирования и производства сложных изделий, в том числе роботов, ремонта роботов, экономического анализа, энергетики, в.т.ч. гидро, ветро, солнечной, атомной, космической; нефтехимической промышленности, транспортировки, всевозможные сферы услуг для человеков и далее далее — достигается круг самообеспечения роботов плюс обслуживание желаний, идей и устремлений человеков.
Роботам не требуются деньги — это понятие становится устаревшим.
При этом значимый ИИ роботам создавать не следует, конечно.
Ну а то как вы предлагаете тут и ниже решать вопросы воспроизводства населения — мы с вами на диаметральных позициях, и если дойдёт то такого, то не премину взять в руки оружие для борьбы с такими «корпорациями» и «методами». Человек должен быть Человеком. Семья — Семьёй. Если вы правда думаете то, что высказали, то цивилизационно нам с вами не по пути.
По своему опыту скажу, бабушке одинаково страшен и Уиндоус Икспи, и Семёрка, и эти ваши Бубунты. Всё равно всё сводится к очень, очень, очень терпеливым и с любовью объяснениям какую кнопку жать, чтоб включить Интернет, почту, скайп, и т.п.
Госконторы — как им скажутъ так и й-йесть.
По телику человекам мягко доносить идею что линуха хорошо. Причём в кои-то веки такая здравая идея с экрана. )
Ну и нас, пару крошек гиков насыпать.
Уже немалочисленная аудитория получилась :)
И не бросать, подтягивать остальной народ.
Если в России у Оперы получалось в прекрасные годы выходить в топ-1 по браузерам, почему бы какому-нибудь CentOS не повторить чудо.
Наказание за нарушения — от неприятных штрафов до потери рынка.
Это может помочь.
А про ХЯС давние мифы на языцах есть, про алхимиков превращавших Hg в Au с помощью катализатора. Жаль не сохранились более полные сведения о реакции )
Я не говорю отнюдь, что наша российская власть молодцы. Те они ещё «молодцы», ох-хо-хо. Впрочем как и имхо во всех иных странах. Но вам наверное за «непопулярное мнение» уже… «насыпалось».
А то что опрос надо проводить с обязательным указанием аудитории это верно. По хорошему здесь должно было быть минимум три опроса — среди IT-специалистов, среди интернет пользователей и среди общих слоёв населения. Тогда бы это дало осмысленную картину.
Япония — единственная страна, в которую так не вмешивались. Надеюсь других таких не будет.
Корея? Ооок.
Как принимать подходящие законы?.. правильно, неподходящую часть фактического народа страны изъять из электората, из демократии. Вот такая печаль.
Хочу верить что до чего-то подобного как «экзамен на гражданство и пропуск до демократии» у нас не будет допущено.
Этот опрос ВЦИОМ, уверен, полностью неадекватен. Но и опрос с предварительным «тематическим экзаменом» может в «умелых руках» быть ещё хуже.
PS:
Я там был в Латвии, кстати, в конце 2000х, — красивая маленькая и неуловимо щемящая сердце страна. Приветливые люди, чистые полупустынные улочки и магазины, вездесущий шведбанк, почти пустые пляжи, многие закрытые некогда большие производства, редкие хутора, прекрасная природа.
Евросоюз. Только что он дал Латвии для развития и процветания я так и не обнаружил, ни своим взглядом, ни в разговорах с местными. Квоты на то-то, и выплату денег людям чтобы НЕ работали на таких-то производствах. Антирусскую официальную риторику? При абсолютно нормальном отношении в реальности между людьми. Во всяком случае на какой-то негатив от людей не было и намёка.
Понятное дело, главное что дал ЕС это возможность народу без препонов свалить зарабатывать хоть какие-то терпимые деньги в те же Ирландию, Польшу, Италию… да да, по сравнению с положением дел Латвии… или тем более во Францию или Германию. Но Латвии то что это дало, Родине этих прекрасных людей? Кроме опустения и тоски? Словами тех же местных людей Германия (по промышленности) и Франция (по с/х, в т.ч. по сахарной отрасли) получили закрытие лишних конкурентов и рынок сбыта, а «старый» ЕС получил порцию дешёвой рабочей силы на «простые» рабочие места. Что получила Латвия кроме «иглы дотаций» так никто и не смог сказать.
Простите
хабр..гиктаймовцы, я понимаю, что излагаю очень непопулярное мнение, но всё же взял я это не с потолка. Да и вывод у меня тоже не самый бесспорный и приятный для сообщества, но тем не менее, — ЕС топчет грабли того же СССР в некоторых своих аспектах.PPS:
Сорри за длинный постскриптум, что вывалил наболевшее.
Факты полученные из первых рук, что тут взять.
Но всё же и это имеет отношение к поднятой теме, — плоды революции и «демократии» в отдельно взятой маленькой милой сердцу стране.
Дабы читатели не остались в заблуждении, поправлю. 2й по величине элемент действительно находится в одном из двух потомков корня. А вот третий по величине элемент — это либо оставшийся потомок корня, либо один из двух потомков 2-го по величине элемента. Согласно определению кучи.
К слову, даже в той же википедии на иллюстрации-примере кучи 3-й по величине элемент находится не на первом, а на втором уровне глубины от корня.