О коротких путях

Apr 29, 2024 11:05

Пролетала тут мимо задачка: https://avva.livejournal.com/3656270.html?style=mineRead more... )

физматпрог, links

Leave a comment

Comments 12

lj_frank_bot April 29 2024, 08:07:09 UTC
Здравствуйте!
Система категоризации Живого Журнала посчитала, что вашу запись можно отнести к категориям: IT, Литература.
Если вы считаете, что система ошиблась - напишите об этом в ответе на этот комментарий. Ваша обратная связь поможет сделать систему точнее.
Фрэнк,
команда ЖЖ.

Reply

livelight April 29 2024, 08:51:07 UTC
"Литература" - это потому что чукча писатель?

Reply

chip33 April 29 2024, 16:16:47 UTC
А Алиса и Боб читатели.

Reply


chip33 April 29 2024, 14:53:42 UTC
Ощущение, что надо квантовый компьютер на это запрягать.

Обратную Польскую Нотацию

Как говорил Норм МакДональд, его, как человека польского происхождения, эти шутки оскорбляют!

ЗЫ. Однако, не все вычисления имеют таковой.

А также Тьюринг икает в гробу.

Reply

chip33 April 29 2024, 15:03:31 UTC
К слову, помню тоже как-то давно писал что-то подобное - синтаксическую проверку скриптов в компьютерной игре. На пашкале. Меня, помню, тогда пугали lex/yacс-ом, но я тоже предпочел сделать с нуля.

Reply

livelight April 29 2024, 16:48:23 UTC
У меня такое ощущение, что все эти разработчики квантовых компьютеров до сих пор не придумали, нафига козе баян. Одно время грозили на квантовых компах факторизацию проводить (если суметь собрать вместе достаточно кубитов, до чего тоже далеко), но криптографы ответили им эпилептическими кривыми, и с тех пор никакой новой полезной задачи, вроде, так и не придумали.

Reply

chip33 April 30 2024, 00:24:10 UTC
Квантово-механические расчеты, в основном. Т.е. шило шилом.

Но зато это непреходящее - ибо без этого 42 не посчитать. Так как на классических компьютерах время этих расчетов растет апоплексически от сложности системы, а на квантовых будет линейно.

Reply


justy_tylor May 1 2024, 11:43:08 UTC
Я когда-то много считал в обратной польской на МК-52 (всякий школьный-вузовский мусор в основном), пока телефона нормального не появилось.

А когда понадобилось в программе пользовательские выражения считать (тоже в те ещё времена) - переизобрёл https://en.wikipedia.org/wiki/Shunting_yard_algorithm и тоже свёл всё к стековому вычислителю.

Reply

livelight May 1 2024, 12:30:20 UTC
Он самый и есть. Только я таких слов не знал, но откуда-то знал, как это делать.

Кстати, проверил сейчас ещё раз написанное тогда за 15 минут, и обнаружил, что моя реализация всегда даёт правую ассоциативность, что превращает бинарный минус в тыкву. По ссылке написано: "If the operator's precedence is lower than that of the operators at the top of the stack or the precedences are equal and the operator is left associative, then that operator is popped off the stack and added to the output", но на картинке это не проиллюстрировано. Придётся переделывать. Реализацию из прошлого века проверять лень :)

Reply

justy_tylor May 1 2024, 13:37:29 UTC
Я бы уже не полез в свои старые коды. :)

Сейчас основное это:
1. Ручные парсеры - для всяких CSV, а со стеком и для JSON-подобий.
2. Pratt parser для "что-то простенькое с приоритетами выражений".
3. YACC-подобия для сложных грамматик, желательно с готовыми их описаниями.

Reply


Leave a comment

Up