Топик для комментариев и кратких обсуждений из "Ленты новостей". Убедительная просьба для полновесных дискуссий заводить отдельные топики.
Предыдущая часть темы: Обсуждение - Математика и программирование
Амальгама |
Привет, Гость! Войдите или зарегистрируйтесь.
Вы здесь » Амальгама » Математика и программирование » Обсуждение - Математика и программирование #2
Топик для комментариев и кратких обсуждений из "Ленты новостей". Убедительная просьба для полновесных дискуссий заводить отдельные топики.
Предыдущая часть темы: Обсуждение - Математика и программирование
Их тоже надо как-то кодировать?
Хочешь разбирать, как они кодиркются в двоичке?
Поделиться
88
Сегодня 14:22:49
Речь о разрядах натурального ряда 0,1,2 ...
101 там есть, а 10000001 пойдет по ветке от 100 и далее по нулевым, т.е. совпадет с веткой числа 1000000
А как же исключение ненужных дубликатов нуля?
В компьютерах используются 32 и 64 разрядные слова
Тогда всё еще хуже
Микро sd уже террабайтные
Поразвратились все. В наши то высокодуховные времена перфолент и перфокарт такие алгоритмы писать умели, даа, а сейчас измельчали кодеры, тьху...
Это не работает для регулярных словосочетаний и тем более не работает для нетекстовых выражений
Так и там тем более не будет. Тут у тебя алфавитный порядок, а там порядок будет случайным, заранее невозможно сказать какие слова туда попадут раньше, какие позже. Никакой логики в расположении слов не будет, нет оснований на это надеяться.
Для этого есть стандартный код.
То есть у тебя все эти петабайты оперативки нужны не для хранения информации, а всего лишь для ее индексации?
Хочешь разбирать, как они кодиркются в двоичке?
Хочу разобрать, как они кодируются в Trie...
Вот картинка. Обратите внимание, что все числа начинаются с меньших разрядов 0 или 1 и накладываются вплоть до точки ветвления. Так что каждое следующее число ряда будет давать прирост всего на два адресных слова.
Речь о разрядах натурального ряда 0,1,2 ...
Ты уверен?
А как же исключение ненужных дубликатов нуля?
Их в этом примере нет.
Тогда всё еще хуже
Совсем наоборот. Тут как раз появляются ведущие незначащие нули и медленно растущие старшие разряды - в десятичке разряд тысяч изменяется через 999 шагов
Поразвратились все. В наши то высокодуховные времена перфолент и перфокарт такие алгоритмы писать умели, даа, а сейчас измельчали кодеры, тьху...
Ну и я помню каменно-ламповый век, когда компы были большими, а программы маленькими. Я ж говорю, циклы заменяют на повторяющиеся команды
Тут у тебя алфавитный порядок, а там порядок будет случайным, заранее невозможно сказать какие слова туда попадут раньше, какие позже. Никакой логики в расположении слов не будет, нет оснований на это надеяться.
Прелесть как раз в том, что упорядочивание делается автоматически. Записываются только отличающиеся варианты, а дубликаты отсеиваются на лету наложением. Причем неважно какой длины.
То есть у тебя все эти петабайты оперативки нужны не для хранения информации, а всего лишь для ее индексации?
Ну да. Я ж изначально говорил о расстановке. Ну, а зачем что-то тут изобретать, если оно и так есть?
Впрочем, изобреталось это не для поиска текста. Тем более, что для такого поиска требуется сам текст, а для задачи понимания и распохгавания. А текс это для примера.
Хочу разобрать, как они кодируются в Trie...
А я не хочу. В двоичке вопрос решен, а мы преобразуем двоичку
Ты уверен?
Я знаю, что имел в виду - все двоичные числа ряда начинаются с 0 или 1
все двоичные числа ряда начинаются с 0 или 1
Причем, положительные числа - с нуля, отрицательные - с единицы.
Шарпер
Вот картинка. Обратите внимание, что все числа начинаются с меньших разрядов 0 или 1 и накладываются вплоть до точки ветвления. Так что каждое следующее число ряда будет давать прирост всего на два адресных слова.
Шарпер
Речь о разрядах натурального ряда 0,1,2 ...Ты уверен?
У него всё верно. Он просто забыл посчитать, что в следующем разрядном оригинальных чисел не одно, а 2^(n-1), с учетом этой двоечки прирост числа адресов ровно 2^n.
Это и называется "на два адресных слова". Ну как "на эти два процента я и живу".
Прелесть как раз в том, что упорядочивание делается автоматически.
Смотря как формируешь таблицу. Если ты по порядку нумеруешь ячейки, как в твоей схеме, а потом туда пишешь слова, то это опять получается расстановка по алфавиту - возможно, не по классическому, а по какому-то авторскому, но это неважно. То есть можно не заморачиваться, а брать те самые нумерованные слова из орфографического словаря. Никакого логического в этом случае упорядочивания не будет. Кроме того, таблицу нужно генерить сразу такого размера, чтобы туда влезли все возможные слова, там неизбежно будет очень много пустого места, сжирающего память безо всякого смысла.
Второй вариант - когда ты формируешь таблицу по словесному контексту, типа идешь от обучения. Тогда первое попавшее в систему слово получит финишную метку №1, второе - №2 и т.д. Порядок слов в такой базе будет принципиально случайным, тут порядка и формального и логического будет еще меньше.
Отредактировано Zagar (2023-07-10 09:10:47)
в десятичке разряд тысяч изменяется через 999 шагов
Ессно. И покуда у тебя в первой тысяче у каждого числа есть 10 возможных продолжений, то шагая на тысячу, ты увеличиваешь требуемое количество адресов на 10000. То есть вместо записи дополнительной цифры одним байтом, нужно 10 адресных килобайтов - и это если считать, что адрес впишется в 1 байт, что не факт, конечно.
На следующем шаге еще на одну цифру потребуется уже 100000 адресов вместо 1 байта.
Принцип "у нас нет ни одной тельняшки, но нас очень много" в действии. Я понимаю, что во многих случаях, если нет ограничений на ресурсы, он вполне себе работает, но это как-то глупо, что ли. Если уж изобретать какие-то новые подходы, то для экономии ресурсов и повышения эффективности, а не наоборот.
Отредактировано Zagar (2023-07-10 09:26:20)
Если ты по порядку нумеруешь ячейки, как в твоей схеме
Это откуда взялось? В "моей схеме" такого нет. Что за нумерация?
получается расстановка по алфавиту
По порядку следования, для чего и затевалось
можно не заморачиваться, а брать те самые нумерованные слова из орфографического словаря.
Нет словарей для регулярных словосочетаний типа, и сортировать их достаточно сложно. А предлагаемым способом они формируются на лету "и асе анекдоты
заменятся их номерами" на этапе загрузки
Никакого логического в этом случае упорядочивания не будет
Вообще не понял. Все упорядочения равноправны, просто некоторые более удобны.
Кроме того, таблицу нужно генерить сразу такого размера, чтобы туда влезли все возможные слова, там неизбежно будет очень много пустого места, сжирающего память безо всякого смысла.
Не понял про "пустые места" при динамическом выделении памяти. Что значит "сразу такого размера"?
Порядок слов в такой базе будет принципиально случайным, тут порядка и формального и логического будет еще меньше.
Не случайным, а естестственным. А что такое порядок при равноправности упорядочений это вопрос.
В "моей схеме" такого нет. Что за нумерация?
Адресные ячейки. Там у тебя каждому слову соответствует финишная ячейка с уникальным финальным адресом, который и есть номер слова в базе.
Вот ты и пишешь на первом знаке 0 или 1 и адреса к вариантам, потом на втором знаке на каждый их этих вариантов расставляешь еще по два адреса и так далее. У тебя в итоге получается схема, которую ты недавно рисовал. Я эту расстановку адресов и называю нумерацией.
По порядку следования
Орфографический словарь, однозначно.
Нет словарей для регулярных словосочетаний типа
Знаем мы вас. Это у вас сейчас их нет, а потом выяснится, что без словаря вообще не бывает или не работает.
Все упорядочения равноправны
Я про это и говорю. Результат трудов любого датчика случайных чисел будет ничем не хуже орфографического словаря.
Не понял про "пустые места" при динамическом выделении памяти. Что значит "сразу такого размера"?
Значит сразу нужно предусмотреть в таблице вообще все слова какие только могут быть и под это зарезервировать место. Заметь, не какие по факту есть, а какие вообще могут быть. Ну типа, кроме слова "Шарпер", там надо оставить место и для слов "vizilo" (а кто сказал, что система не может работать с венгерскими словами?), "?:%;?№" и "-273.15". Потому как в этом случае заранее неизвестно какие слова в этой базе будут, а какие нет, заранее исключать нельзя ни один из наборов символов.
Динамическое выделение памяти под весь этот колхоз никого не спасет.
Не случайным, а естестственным.
Конечно, естественным. Только каждый раз разным и заранее непредсказуемым.
На следующем шаге еще на одну цифру потребуется уже 100000 адресов вместо 1 байта.
Въехал откуда непонятки.
Вернемся к картинке, где Вы насчитали 14 адресов на 3 битовые числа. Фишка в том, что у нас не 3-бита, а переменная длина. Никаких 000, 001 и т.п. нет и в помине. Есть 0, 1, 10, 11, 100, 101, 110, 111. Используется только правая часть дерева, кроме 0 и адресов не 14, а 8.
если нет ограничений на ресурсы, он вполне себе работает, но это как-то глупо, что ли.
Это не аргумент, а мнение. По-моему еще более глупо изобретать особую ассоциативную память, если все достаточно просто реализуется на стандартной при сегодняшних ресурсах.
Если уж изобретать какие-то новые подходы, то для экономии ресурсов и повышения эффективности, а не наоборот.
Железо копеечное по сравнению с софтом, а сортировать загруженные данные на предмет исключения дубликатов и упорядочивать их в соответствии с ходульными методами поиска вот это гимн неэффективности
называю нумерацией.
понял.
Орфографический словарь, однозначно.
Словарь по алфавиту отсортирован, а здесь по порядку следования в словах и слов в предложениях.
Знаем мы вас. Это у вас сейчас их нет, а потом выяснится, что без словаря вообще не бывает или не работает.
Словарь здесь на лету формируется. А о наличие таковых сейчас не знаю. Разве только словарь поговорок и крылатых выражений. Затратно это такие справочники делать.
Я про это и говорю. Результат трудов любого датчика случайных чисел будет ничем не хуже орфографического словаря.
Воот! А поисковики заточены на какие-то конкретные упорядочения. А этот способ работает с любыми
Значит сразу нужно предусмотреть в таблице вообще все слова какие только могут быть и под это зарезервировать место
Зачем??? Где запишется там и ладно.
кто сказал, что система не может работать с венгерскими словами?
Они как-то отличаются в двоичном виде? Пофиг. Главное регулярность выражения
Конечно, естественным. Только каждый раз разным и заранее непредсказуемым.
Регулярные выражения предсказуемы по факту регуляргности
переменная длина. Никаких 000, 001 и т.п. нет и в помине. Есть 0, 1, 10, 11, 100, 101, 110, 111.
Тогда возникает проблема с длиной символа. Если ты точно знаешь, что в числе двоичных 8 позиций, то можно писать хоть 00000001, хоть 1. А если ты не знаешь, когда заканчивается последовательность и начинается следующая (ты же против третьего символа - пробела между последовательностями), то так не получится. Так что 14, а не 8.
По-моему еще более глупо изобретать особую ассоциативную память, если все достаточно просто реализуется на стандартной при сегодняшних ресурсах.
Я тоже так думаю. Тогда правда тем более непонятно, зачем мы это обсуждаем ))
Железо копеечное по сравнению с софтом
А чего там такого в софте дорогого? Запись и поиск слова в традиционном массиве - это несколько строчек кода, пишется за две минуты и стоит две копейки. Точнее, которая давно написана и не стоит ничего вообще. Вместо этого ты предлагаешь писать сложную хрень, которая не только всю память, но и кучу программеров загрузит. И стоить твоя софтина будет всяко дороже, причем намного.
Или ты на этом и хочешь заработать?
Словарь по алфавиту отсортирован, а здесь по порядку следования в словах и слов в предложениях.
Сам же говоришь, что без разницы
А поисковики заточены на какие-то конкретные упорядочения. А этот способ работает с любыми
Примерно наоборот. Твой метод будет работать в строгой последовательности от первой буквы до последней. Но есть ведь и другие типы поиска. И во многих других типах (поиск однокоренных слов, незамутненный приставками, поиск в словах и фразах с ошибками и пр.) такой порядок или не имеет значения или даже вреден.
Зачем??? Где запишется там и ладно.
Нет, у тебя заранее должны быть готовы все адреса. Потому как слово не может быть в случайном месте, оно должно быть в строго известном заранее месте, поэтому должны быть подготовлены и проадресованы все места под все слова. Физически он могут писаться куда угодно, только отсюда возникает вопрос о создании адресной базы адресов слов.
Регулярные выражения предсказуемы по факту регуляргности
Да ну. Сегодня комп учат на "Войне и Мире", завтра на БСЭ, послезавтра на текстах топиков сайлога и мембраны. Каждый раз набор слов и, главное, порядок их попадания в базу (который будет определять их итоговый номер-адрес) будет разным. Итоговые таблицы с формальной не будут иметь между собой ничего общего.
Отредактировано Zagar (2023-07-10 13:40:36)
Тогда возникает проблема с длиной символа
Не возникает. Последовательность всегда совпадает с входной, иначе она записывается, как новая
Я тоже так думаю. Тогда правда тем более непонятно, зачем мы это обсуждаем ))
Помру скоро, жалко, если идея пропадет, а у Вас ресурс
А чего там такого в софте дорогого? Запись и поиск слова в традиционном массиве - это несколько строчек кода, пишется за две минуты и стоит две копейки
Ага. И потом на форумах и в монографиях с энтузиазмом решают проблемы сортировки и/или удаления дубликатов. Так что вопрос что эффективнее - потратится на железа (собственно и так и эдак придется) или оплачивать стадо кодеров
(поиск однокоренных слов, незамутненный приставками, поиск в словах и фразах с ошибками и пр.) такой порядок или не имеет значения или даже вреден.
Она работает с любыми регулярными последовательностями, текст чисто для примера. Так что грузите что хотите, включая справочник синонимов и ошибок для поиска по смыслу
Нет, у тебя заранее должны быть готовы все адреса. Потому как слово не может быть в случайном месте, оно должно быть в строго известном заранее месте
Так... С этого места поподробнее. За каким бесом слово должно быть в известном заранее месте? Кому известном? Абсолютно пофиг куда оно запишется. Максимум могут быть разделены справочники и то не факт, что это нужно. Впрочем, это уже конкретика реализации
Да ну. Сегодня комп учат на "Войне и Мире", завтра на БСЭ, послезавтра на текстах топиков сайлога и мембраны
И что это меняет в отношении регулярных выражений? Мы пользуемся ограниченным набором словесных конструкций. Их все можно перечислить.
Не возникает. Последовательность всегда совпадает с входной, иначе она записывается, как новая
И как ты собираешься отличать последовательность из двух символов 101 10101 и одного символа 10110101? Последовательность одна и та же, а смысл категорически разный, при этом ты даже не можешь сказать сколько символов закодировано.
Помру скоро, жалко, если идея пропадет, а у Вас ресурс
Я остатки своего ресурса трачу на несколько иные вещи. У меня ж все-таки какая-никакая своя работа есть
Но это не повод прекращать обсуждение!
Она работает с любыми регулярными последовательностями, текст чисто для примера. Так что грузите что хотите
Я тебе привел пример последовательности с ошибкой в первом символе, которая твою систему отправляет в нокаут на первом же ходу, а ты мне ответил "Это другая тема".
И потом на форумах и в монографиях с энтузиазмом решают проблемы сортировки и/или удаления дубликатов.
В твоей системе они с не меньшим энтузиазмом будут обсуждать вопрос, к примеру, как удалить из базы внесенное ранее слово и возможно ли это вообще без полного пересчета всей таблицы.
За каким бесом слово должно быть в известном заранее месте?
Ну представь свою пирамиду, которую ты нарисовал, и вот мне нужно вписать туда слово 101. Оно у тебя четко прорисовано и заранее ясно где оно находится.
И что это меняет в отношении регулярных выражений?
То, что сегодня слову, допустим, "ветер" присвоен номер 29, завтра 56, а послезавтра 84. И ты, сравнивая вид текстов, трансформированных в номерной вид, не сможешь понять, что под этими цифрами скрывается одно и то же слово.
Как с теми номерными анекдотами, только нумерация каждый день разная.
У него всё верно.
С этим никто не спорит.
Но... дьявол прячется в деталях... машин...
В двоичке вопрос решен, а мы преобразуем двоичку
Напомни, в чем заключается вопрос?
И во что мы преобразуем двоичку?
Отредактировано Лукомор (2023-07-12 01:45:55)
И как ты собираешься отличать последовательность из двух символов 101 10101 и одного символа 10110101?
Я так понял, у Вас тут все символы байтовые, раз пробел не в виде кода?
Ну так пробел тут разделитель, который и визуально разделяет две разные последовательности. Кажлая из них закончится в своей уникальной точке
У меня ж все-таки какая-никакая своя работа ест
Ничего страшного, для вербовки есть перекуры.
Я тебе привел пример последовательности с ошибкой в первом символе, которая твою систему отправляет в нокаут на первом же ходу, а ты мне ответил "Это другая тема".
Ну теперь-то можно и обсудить. Я напишу отдельно
В твоей системе они с не меньшим энтузиазмом будут обсуждать вопрос, к примеру, как удалить из базы внесенное ранее слово и возможно ли это вообще без полного пересчета всей таблицы.
На хрена его удалять? ,У Вас в голове куча устаревшей информации, которая, однако, Вам вовсе не мешает. Она просто помечена, как устаревшая и при необходимости используется исключительно в этом контексте. Впрочем, если Вам так хочется, то никаких проблем. Просто структура данных чуть усложняется до связанного списка. Далее работает стандартный алгоритм вставки/удаления
Ну представь свою пирамиду, которую ты нарисовал, и вот мне нужно вписать туда слово 101. Оно у тебя четко прорисовано и заранее ясно где оно находитс
Что значит нужно? Где появится во входном потоке, там и запишется, если раньше не встречалось.
То, что сегодня слову, допустим, "ветер" присвоен номер 29, завтра 56, а послезавтра 84
Как это у Вас вообще получается при едином справочнике и единственном экземпляре слова? Нет, для целей криптографии, пожалуйста и даже хорошо выйдет. Шифрование не по символам, а предложениями вообще ничем невскрываемо, но у нас цель другая
Напомни, в чем заключается вопрос?
Я должен напомнить тебе твой вопрос?
И во что мы реобразуем двоичку?
В комплементарный код
комплементарный код
Опять погремуха?
Комплементарный код для передачи по сети используется.
А для хранения в памяти он ни к чему, наверное.
Я должен напомнить тебе твой вопрос?
Их много было.
Напомни, на который мой вопрос ты отвечал таким вычурным манером?
Ну так пробел тут разделитель
Тогда это уже не двоичка, здесь три символа - 0,1 и пробел. Это к разговору о том, что 0 нельзя кодировать отсутствием сигнала, иначе эта проблема вылезает.
Ну теперь-то можно и обсудить. Я напишу отдельно
Жду
На хрена его удалять? ,У Вас в голове куча устаревшей информации, которая, однако, Вам вовсе не мешает.
Дубликаты тогда тоже никому не мешают, их зачем удалять?
Далее работает стандартный алгоритм вставки/удаления
Не работает. Если ты с помощью этого слова избежал дубликатов, то за ним тянется шлейф продолжений. А может и не тянется. Надо весь этот шлейф найти и придумать что с ним делать.
Не нравится удаление, посмотри на корректировку ошибки: слово неправильно написали, нужно исправить. При исправлении могут посыпаться все исходящие связи и адреса. Ну типа с этого слова начинается куча последовательностей, а выясняется, что ни фига они с него не начинаются, зато начинаются, но совсем другие. Перерисовывать нужно если не всю таблицу, то большой фрагмент, намного больше, чем само исправляемое слово.
Где появится во входном потоке, там и запишется, если раньше не встречалось.
Так это обычная последовательная память. А зачем ты тогда свою пирамиду рисовал?
Как это у Вас вообще получается при едином справочнике и единственном экземпляре слова?
Никакого единого справочника, ты сам публично отказался от использования орфографического словаря. Вместо этого у тебя разные тексты, в которых слова примерно те же, но последовательность этих слов сильно разная. Одно и то же слово в разных текстах может встречаться первый раз на разных позициях от начала текста, где-то раньше, где-то позже.
Впрочем, изобреталось это не для поиска текста. Тем более, что для такого поиска требуется сам текст, а для задачи понимания и распохгавания. А текс это для примера.
Во-от!
И где постановка задачи?
Помру скоро, жалко, если идея пропадет
Идеи - они как вирусы, распространяются от одной головы к другой.
Есть идеи, подобные эпидемии, которые захватывают миллионы голов.
Причем они также подчиняются законам эволюции, как и живые организмы.
Мутируют в некоторых головах, наследственность и изменчивость рулят.
Но над всем этим стоит естественный отбор - все слабые идеи отмирают, или
самоизолируются, свив себе уютное гнездышко в одной, отдельно взятой голове.
Собственно, и все...
Комплементарный код для передачи по сети используется
Не тот
Напомни
Про кватернионы
Тогда это уже не двоичка, здесь три символа - 0,1 и пробел. Это к разговору о том, что 0 нельзя кодировать отсутствием сигнала, иначе эта проблема вылезает.
Какая проблема? Я просто уточнил тип данных в примере.
Дубликаты тогда тоже никому не мешают, их зачем удалять?
Я не знаю. Селяви такая -
Качество данных — важный аспект, напрямую влияющий на результаты аналитической обработки. Существует множество причин, которые приводят к загрязнению информации. Типичной проблемой является возникновение повторяющихся записей. В статье рассмотрим применение обработчика «Дубликаты и противоречия» для быстрого поиска записей с полностью или частично совпадающими полями.
Не работает. Если ты с помощью этого слова избежал дубликатов, то за ним тянется шлейф продолжений. А может и не тянется. Надо весь этот шлейф найти и придумать что с ним делать.
Ну так Вы сами этот гемор придумали Я лишь утверждаю, что реализовать его можно. Это ж обычный чистильщик
Так это обычная последовательная память. А зачем ты тогда свою пирамиду рисовал?
Какую пирамиду? Бинарное дерево? Для иллюстрации
Никакого единого справочника, ты сам публично отказался от использования орфографического словаря
Я отказался от названия его орфографичкесий. Справрчник ошибок и/или синонимов ну совсем не подходит
Вместо этого у тебя разные тексты, в которых слова примерно те же, но последовательность этих слов сильно разная. Одно и то же слово в разных текстах может встречаться первый раз на разных позициях от начала текста, где-то раньше, где-то позже
Откуда такое? Вы опять смешиваете единицы хранения с системой поиска в них. Справочники формируются постоянно при появлении неизвестных помследовательностей, которая записываеится в свободное место
Жду
Вместо сложных алгоритмов выявления неполного сходства, предлагается справочник ошибочных продолжений, который формируется так же, как справочник законных синонимов и через определения (в качестве ошибочных). В случае, когда слово встречается впервые и его нет в орфографическом (в данном случае это именно орфографический) словаре, то, если не оговорено специально, за истину принимается наиболее часто встречающийся вариант.
И где постановка задачи?
Коммутатор на шаговом искателе мы уже ...
Идеи - они как вирусы
У вам тут дубовый иммунитет. Для вас вирус должен иметь ТТХ дубины
Вы здесь » Амальгама » Математика и программирование » Обсуждение - Математика и программирование #2