usernameak
Egor
Ну а по сути?
usernameak
а по сути я не понял, что найти то надо
Egor
Скажем, дал задачу - найти оптимальный вариант по созданию двигателей - а он такой, чувак, оно делается в таких то заводах. И должны быть в таких то последовательностях
Egor
Что-то типа pathfind'a получается
usernameak
теория графов... хм
usernameak
с этим помочь не могу
Snusmumriken
Egor
Snusmumriken
Жуть какая
Snusmumriken
Тут куда больше прямого менеджмента.
Во-первых, составь тогда список всех-всех производилок. А так же что этим производилкам требуется на входе и что выдаётся на выходе.
Ну там:
{
factory1 = {
input = {"gas", "detail1"},
output = {"detail2"}
},
...
}
Потом выбираешь нужный завод, и ищешь по списку то, что ему нужно на вводе, и то что нужно производилкам которые у него на вводе рекурсивно, пока не дойдёшь до сырых ресурсов.
Предварительно можно исследовать уже имеющиеся входы-выходы и запилить граф, который будешь дополнять недостающим.
Snusmumriken
А вот если один завод может производить сразу много всего, что может быть нужно сразу много где но есть ограничения по выводам деталек, то может случиться жопа в плане неоптимального строительства новых производственных линий, с кучей дублирующихся заводов с их хвостами, или ненормальным количеством связей. Или если нужно строить много одинаковых заводов для оптимальной скорости производств. И это уже задачи оптимизации на уровне коммивояжёра, будешь решать каким-нибудь динамическим программированием, но тут я не советчик, моих мозгов для этого недостаточно ))0
Egor
Список есть
Egor
Также простой вывод в виде таблицы что нужно для производства того или иного элемента
Egor
А теперь хочу чтобы ещё и схему рисовала
Snusmumriken
Для рисования схемок, кстати, очень забавно использовать box2d из ловки. Связи как пружинки между отталкивающимися друг от друга нодами )0
Leon174
Здравствуйте. Подскажите, как решить такую задачу:
Завод А - перерабатывает руды в слитки (железо, медь), Завод B - делает кислород, Завод C - делает топливо
Овал - контейнеры, входные и выходные для ресурсов. Входной для одного завода не может быть и выходным. Как можно сделать автоматический расчет какую линию завода строить?
Что известно вообще: Элемент 1 - в каком заводе делается, какие подпродукты нужны и количество и сколько элементов выходит за 1 цикл работы завода
Вопрос не сильно конкретный, но я бы сразу ткнул в сторону математического программирования. Симплекс-метод, все дела. Но это если ограничения линейные, если нелинейные, то нуевонах такую задачу.
Lucky
Egor
Leon174
А еще лучше "Исследование операций" взять, например, такую вот книгу. Там всё, в том числе и транспортные модели, которые Снус пытался сформулировать.
Lucky
Leon174
Оверхед, но это оно. Если задачу нужно решить, а не прикидывать плюс-минус лапоть.
Lucky
ShadoWalkeR
Leon174
Ага. У меня шестое издание. Не без опечаток, но это и к лучшему.
Lucky
Я посвежее нашёл на англ
Leon174
У нас много расхождений в терминах, я бы сам не стал оригиналы по математике читать. Наши переводчики (которые не столько переводчики, сколько математики) уйму работы проделывают, чтобы в привычный вид привести. Или столько сносок наваливают, что читать невозможно, постоянно туда-сюда прыгаешь.
Leon174
Возвращаясь к lua...
Такой вот проект. Слышал про него и раньше, сейчас вдруг вспомнил, полез проверять, а там вполне себе бурная активность идет.
Выглядит неплохо, такой себе гибрид тайпскрипта и луа. Будет совсем здорово, если автор с наворотами ограничится и не будет строить очередной Ним. Луаподобность, как по мне, совсем необязательна, но это авторская прихоть. А мелкие вопросы возникли сразу. Например, привычное обилие локалов. На кой они, если глобальные переменные все равно нужно явно объявлять? Индексацию же с нуля сделал, не стал у луа списывать, так чего бы эти локалы не выпилить?
https://nelua.io/overview/
Snusmumriken
Lucky
Возвращаясь к lua...
Такой вот проект. Слышал про него и раньше, сейчас вдруг вспомнил, полез проверять, а там вполне себе бурная активность идет.
Выглядит неплохо, такой себе гибрид тайпскрипта и луа. Будет совсем здорово, если автор с наворотами ограничится и не будет строить очередной Ним. Луаподобность, как по мне, совсем необязательна, но это авторская прихоть. А мелкие вопросы возникли сразу. Например, привычное обилие локалов. На кой они, если глобальные переменные все равно нужно явно объявлять? Индексацию же с нуля сделал, не стал у луа списывать, так чего бы эти локалы не выпилить?
https://nelua.io/overview/
Чтоб не расслаблялись.
Leon174
Цпп для меня в далеком прошлом остался, на лабораторках. Сатанинская поделка, выкидыш из ада. Я все понимаю, энтерпрайз, то-сё, но нафиг-нафиг... Кому надо, тот пусть пользуется. Мне, хвала Зевсу, это не нужно.
ShadoWalkeR
Snusmumriken
Лично мне плюсы в целом нравятся, как ни странно (стандартная коллекция со всякими map-vector), но объём бойлерплейта и всякие новомодные извращения типа темплейтов (и народа который пишет темплейты на темплейтах на темплейтах) — вымораживают.
Ещё больше мне нравятся языки вроде D, которые ближе к луям чем к плюсам, имея фичи и тех и тех, но там инфраструктура немного странная.
ShadoWalkeR
Да и сейчас тоже нравится)
ShadoWalkeR
Lucky
Leon174
Я еще могу как-то принять, если это как у дефолдовцев сделано. Взяли сильно урезанное подмножество языка для ядра и тем ограничились, а редактор вообще на кложе написали. А весь стандарт юзать... Да ну его нафиг, жизнь коротка. И ладно бы не было других языков, а ведь они есть, на которых можно с удовольствием писать, а не с головной болью.
Leon174
А в нелуях это уже есть, если я тебя правильно понял.
Snusmumriken
Таки да
Snusmumriken
Я это прост активно использовал в opengl, типа
Main() {
auto gl = InitOpenGL()
scope(exit) CloseOpenGL(gl);
auto win = InitWindow(gl);
scope(exit) CloseWindow(win);
...
}
Совершенно офигенски, особенно если учесть что в куче случаев там может что-то непроинициализироваться, но всё корректно завершится в правильном порядке. Не надо это прописывать в каждом стейте.
Туда же — ручная сборка мусора, и не течёт ничё.
Leon174
Так ты D не бросил? Как better C используешь?
Snusmumriken
Вроде того.
Egor
Leon174
Да многие на это звание претендуют. Zig, например.
Leon174
https://dlang.org/spec/betterc.html
Lämppi
Leon174
У них же изначальная завязка на jvm, так просто не соскочишь.
"The Clojure core team has no plans to work on this but it would be an amazing learning project for anyone and we encourage you to go for it!"
От винта, короче.
Leon174
Так-то среди лиспов дофига кто в нейтив умеют.
Lämppi
Ну нет, изначальная завязка язык — гость, а кложа конкретная реализация
Lämppi
Есть clojuresSkript для js, clojureCL для clr, есть clojerl для beam
Lämppi
А остальные лиспы не кложа со всеми вытекающими
Timur
Leon174
А остальные лиспы не кложа со всеми вытекающими
Я просто вчера искал clojure to C. Ну, хотя бы в С, пусть не llvm. Вариантов живых практически 0. А нужна именно кложа? Я-то без пристрастий, просто увлекся лиспами слегка, мне не особо важно, кто из лиспов. Кложа, потому что fennel.)) Вот fennel интересен. Потому что lua. 😁
Timur
Возвращаясь к lua...
Такой вот проект. Слышал про него и раньше, сейчас вдруг вспомнил, полез проверять, а там вполне себе бурная активность идет.
Выглядит неплохо, такой себе гибрид тайпскрипта и луа. Будет совсем здорово, если автор с наворотами ограничится и не будет строить очередной Ним. Луаподобность, как по мне, совсем необязательна, но это авторская прихоть. А мелкие вопросы возникли сразу. Например, привычное обилие локалов. На кой они, если глобальные переменные все равно нужно явно объявлять? Индексацию же с нуля сделал, не стал у луа списывать, так чего бы эти локалы не выпилить?
https://nelua.io/overview/
Teal, IMVHO, лучше (более идеоматичный и более совместимый с существующим Lua кодом)
Lämppi
Leon174
Хорошая какая!
Хорошая, правда. И написано внятно, а то наши учебники порой невозможно читать, такую заумь навернут.
Timur
Snusmumriken
Lämppi
Lämppi
Snusmumriken
Ну вот вункциональщики ))
Lämppi
Lucky
можно жы писать на лиспе в луа
Snusmumriken
На лиспе, емнип, можно писать на любом языке программирования.
Timur
Lucky
меня прям порадовало суммирование в лиспе
Timur
конвертер из тайпскрипта имеет смысл только если на входе кодовая база на нем больше чем на луа
Timur
в случае если .ts файлов - 0, а .lua - десятки или сотни тысяч - от него пользы нет. Только боль