TGViewer
Channel Public Channel
Segmentation Fault

Segmentation Fault

@sadsegment

мои проекты — https://github.com/JakeTheSillySnake
канал с рисунками — https://t.me/zmeyart
Subscribers
6
Photos
2
Videos
1
Links
3
Recent Posts 10 shown
Post #10 75
Почему Гугл использует очевидно плохую модель перевода с языка на язык через «посредника» в виде английского? Ведь теряется столько нюансов, например, разница между «ты», «вы» и «Вы», которые в английском сливаются в единое «you».

С точки зрения программирования Гугл Переводчик использует оптимальное решение: на каждый язык требуется не более двух «словарей» (с этого языка на английский и с английского на этот язык).

В противном случае пришлось бы создавать такие «словари» для каждой пары языков — это факториальный рост памяти, а факториал — вообще самая страшная штука для программиста.

Если в первом случае при добавлении нового языка мы гарантированно добавляем ровно два словаря, то во втором мы добавляем 2 * (количество языков в базе), и с каждым новым языком число необходимых словарей растет.

В идеальном мире это было бы простое и даже элегантное решение, позволяющее сэкономить память и время обработки данных. Как программист я восхищаюсь; как человек, любящий языки, я в ужасе.

#Algorithms
  • 👀 2
  • ✍ 1
  • 👨‍💻 1
Post #9 36
Кто-то вспомнил про Игру в Жизнь, смотря Minecraft 👁️👁️
Post #7 41
А вот так выглядит пещерная генерация, которую я вставил в приложение
Post #6 31
В заключение, один из самых известных паттернов — глайдер
Post #5 30
Сегодня хочу рассказать про штуку под названием КЛЕТОЧНЫЙ АВТОМАТ (англ. cellular automata / automation).

Это алгоритм / механизм для симуляции «рождения» и «смерти» клеток в матрице. Изначально придуман Джоном Конвеем в 1970 для «Игры в жизнь» (Game of Life), смысл которой в том, чтобы задать популяцию «живых» клеток и наблюдать за тем, как она меняется со временем (а если загуглить «game of life», гугл выдаст симуляцию этой игры на странице поиска).

Кстати! Не бойтесь слова «матрица». В данном случае оно лишь означает клеточное 2D поле, в котором хранятся нули и единицы. Как лист бумаги для морского боя.


В игру Конвея можно поиграть здесь. Правила следующие:

— Есть изначальная матрица клеток, часть из которых «живые» (1) или «мертвые» (0). Можно задать ее случайно, можно использовать готовый паттерн (их целая куча — глайдеры, статичные фигуры, пушки и т.д.).

— В некоторых версиях автомата можно указать «шанс инициализации» — он задает, с какой вероятностью каждая отдельная клетка будет «живой» в первом поколении.

— Каждый новый «шаг» симуляции определяет, какие клетки будут «мертвыми» или «живыми». За это отвечают две величины — порог рождения (birth limit) — то, сколько «живых» соседей (минимум) должно быть у «мертвой» клетки, чтобы она «ожила», и порог смерти (death limit) — то, сколько «живых» соседей (минимум) должно быть у «живой» клетки, чтобы она не «умерла».

Пример: у «мертвой» клетки 4 «живых» соседа. Порог рождения — 3. Значит, на следующем шаге она станет «живой».

— Соседи — это ближайшие 8 клеток (иногда для крайних клеток учитывают соседей с другой стороны экрана). Таким образом, пороги рождения и смерти, а также формация клеток, определяют, как быстро популяция будет расти или умирать.


А зачем вообще нужен клеточный автомат?

Как минимум, он способен предсказывать развитие реальных популяций. А в программировании его можно использовать для… *барабанная дробь*

Генерации пещер. Да, серьезно.

Представьте, что у вас есть игра по типу Minecraft, в которой случайным образом нужно создавать пещеры (не говорю, что в реальном Minecraft это так работает, там все гораздо сложнее). Если правильно сбалансировать birth limit, death limit и шанс инициализации, то за 20-30 шагов симуляции на случайно созданном поле можно получить большое пространство из «мертвых» клеток — то есть, пещеру.

В этой статье как раз хорошо объяснено.

Год назад я в команде создавал свою версию Game of Life на языке Си. Сейчас делаю приложение, где есть генерация пещер с помощью клеточного автомата, так что этот алгоритм мне уже как родной :)

#Algorithms
Wikipedia Игра «Жизнь» клеточный автомат, моделирующий жизнь
  • 💋 2
Post #4
Segmentation Fault pinned «Что это за место? — Блог, энциклопедия, чердоки разума разработчика. Загадочное и темное место. Кто ты, таинственная фигура в одеяле? — Я программист (ужас, знаю). С 2023 учусь в Школе 21 от Сбера, делаю пет-проекты, иногда прохожу сторонние айти курсы. Люблю…»
Post #3 32
Что это за место?
— Блог, энциклопедия, чердоки разума разработчика. Загадочное и темное место.

Кто ты, таинственная фигура в одеяле?
— Я программист (ужас, знаю). С 2023 учусь в Школе 21 от Сбера, делаю пет-проекты, иногда прохожу сторонние айти курсы. Люблю рпг, бродилки, песочницы и игры с сюжетными твистами.

О чем этот блог?
— О сфере моих компетенций. Языки (С/С++, SQL, bash), принципы разработки, ошибки и баги, инструменты и как что-то устроено. Буду делиться тем, что узнал на своем опыте.

Пока что темы намечаются такие:

#CPP — С++ специфика (что за язык и с чем его едят)
#DevOps — Как общаться с ОС Linux и почему ее так любят разрабы
#OOP — принципы программирования, операции с данными и памятью, частые баги
#Algorithms — способы оптимального построения программ (не для слабонервных)
#Tools — набор инструментов разработчика

В будущем список может поменяться.

Ссылочки:
мои проекты — https://github.com/JakeTheSillySnake
мой канал с рисунками (да, я и так могу) — https://t.me/zmeyart
GitHub JakeTheSillySnake - Overview I like games, horror, fantasy, art and logical puzzles. - JakeTheSillySnake
Post #2
Channel photo updated
Post #1
Channel created

About this channel

How can I read @sadsegment without a Telegram account?
TGViewer shows the public web preview Telegram publishes for Segmentation Fault: recent posts, photos, videos and the subscriber count, with no app, login or account.
How many subscribers does Segmentation Fault have?
Segmentation Fault (@sadsegment) has 6 subscribers on Telegram, refreshed roughly every 30 minutes.
Does Segmentation Fault know I viewed it here?
No. Public channel previews carry no viewer identity, and TGViewer has no accounts or tracking of what you look up.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →