Как следует из названия, я пытаюсь заняться Hashlife.
Я прыгаю вслепую? Нет, ну, не совсем.
Во-первых, я изучил эту статью о GoL:
https://medium.com/@d.dadiani343/how-to ... f9196d9844
И код Java, найденный в репозитории Git, связанном со статьей:
https://github.com/TomC333/Conway-Life- ... ----------
Благодаря этому я получил базовое представление о том, как работает GoL.
Как и естественно, я попытался расширить сетку — больше ячеек, больше удовольствия! Верно?
Конечно! Но я также обнаружил, что эта базовая реализация значительно замедляется, поскольку каждая ячейка связана с работающим потоком.
Хорошо, тогда «как ускорить GoL», я погуглил. Находки: Hashlife во всей красе.
Как работает Hashlife? Я наткнулся еще на несколько статей, в частности:
https://en.wikipedia.org/wiki/Hashlife
https://www.dev-mind.blog/hashlife/
https://jacobfilipp.com/DrDobbs/article ... b.html#rl1
https://www.thelowlyprogrammer.com/2011 ... hlife.html
Теперь, «почему» я здесь, пишу этот пост: я вроде как понял на концептуальном уровне, как работает алгоритм Уильяма Госпера с использованием квадродерева, подразделением сетки на все более мелкие квадратные подсетки (узлы), вычислением и канонизацией центров узлов и т. д.
В чем же тогда дело? Ах! Видите ли... Я загружаю Eclipse (да, я практикую Java), создаю новый проект и... Ничего! Абсолютное, чистое, неподдельное пустое сознание.
Я изо всех сил пытаюсь понять, как преобразовать алгоритм в реальные классы и функции. Должен ли я все еще использовать потоки? Как разделить узел на более мелкие узлы? Как в этом новом сценарии рассчитывается состояние клетки на основе трех основных правил Жизни? Как вычислить состояние ячеек только в центральной области узла? Как канонизировать базовые шаблоны? Как мне их хэшировать? И так далее, и так далее (это всего лишь несколько вопросов, которые крутятся у меня в голове).
Тогда вопрос (на самом деле, n-й на данный момент): знает ли кто-нибудь из вас какое-либо пошаговое руководство по кодификации Hashlife? Что-то, что может подсказать, помочь при возникновении затруднений.
Подробнее здесь: https://stackoverflow.com/questions/798 ... tting-into
Hashlife: в какой новый ад я попадаю? ⇐ JAVA
Программисты JAVA общаются здесь
1772643979
Anonymous
Как следует из названия, я пытаюсь заняться Hashlife.
Я прыгаю вслепую? Нет, ну, не совсем.
Во-первых, я изучил эту статью о GoL:
https://medium.com/@d.dadiani343/how-to-implement-conways-game-of-life-in-java-e1f9196d9844
И код Java, найденный в репозитории Git, связанном со статьей:
https://github.com/TomC333/Conway-Life-Game?source=post_page-----e1f9196d9844------------------------------------------------
Благодаря этому я получил базовое представление о том, как работает GoL.
Как и естественно, я попытался расширить сетку — больше ячеек, больше удовольствия! Верно?
Конечно! Но я также обнаружил, что эта базовая реализация значительно замедляется, поскольку каждая ячейка связана с работающим потоком.
Хорошо, тогда «как ускорить GoL», я погуглил. Находки: Hashlife во всей красе.
Как работает Hashlife? Я наткнулся еще на несколько статей, в частности:
https://en.wikipedia.org/wiki/Hashlife
https://www.dev-mind.blog/hashlife/
https://jacobfilipp.com/DrDobbs/articles/DDJ/2006/0604/0604b/0604b.html#rl1
https://www.thelowlyprogrammer.com/2011/05/game-of-life-part-2-hashlife.html
Теперь, «почему» я здесь, пишу этот пост: я вроде как понял на концептуальном уровне, как работает алгоритм Уильяма Госпера с использованием квадродерева, подразделением сетки на все более мелкие квадратные подсетки (узлы), вычислением и канонизацией центров узлов и т. д.
В чем же тогда дело? Ах! Видите ли... Я загружаю Eclipse (да, я практикую Java), создаю новый проект и... Ничего! Абсолютное, чистое, неподдельное пустое сознание.
Я изо всех сил пытаюсь понять, как преобразовать алгоритм в реальные классы и функции. Должен ли я все еще использовать потоки? Как разделить узел на более мелкие узлы? Как в этом новом сценарии рассчитывается состояние клетки на основе трех основных правил Жизни? Как вычислить состояние ячеек только в центральной области узла? Как канонизировать базовые шаблоны? Как мне их хэшировать? И так далее, и так далее (это всего лишь несколько вопросов, которые крутятся у меня в голове).
Тогда вопрос (на самом деле, n-й на данный момент): знает ли кто-нибудь из вас какое-либо пошаговое руководство по кодификации Hashlife? Что-то, что может подсказать, помочь при возникновении затруднений.
Подробнее здесь: [url]https://stackoverflow.com/questions/79894656/hashlife-what-kind-of-fresh-hell-am-i-getting-into[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия