Комментарии 36
Спасибо, мне понравилось.
Отличная статья, весь курс физики девятого класса в одной короткой статье, с четко изложенной причинно следственной связью! Жду продолжения с нетерпением, и даю читать сыну!
Спасибо, приятно, что люди интересуются и пишут статьи на такие темы)
А в столицах с числаками хорошо, насколько я могу судить по своему опыту и опыту знакомых из других технических ВУЗов.
А в столицах с числаками хорошо, насколько я могу судить по своему опыту и опыту знакомых из других технических ВУЗов.
Спасибо за статью. Хорошая. Продолжайте.
Но всё же не могу не вставить свои пять копеек.
Если отбросить предрассудки и посмотреть на вещи трезво, можно обнаружить, что автомобиль не моделирует перемещение пассажиров и грузов, самолёт не моделирует полёт, текстовый редактор не моделирует ввод текста, бухгалтерская программа не моделирует составление бухбаланса. Они это всё не моделируют, а делают. Более того, мы сами, грешные, занимаемся моделированием крайне редко. Певец не моделирует исполнение песни, продавщица не моделирует продажу товара, дворник не моделирует подметание улицы. Я сейчас скажу вообще еретическую вещь: наш мозг не занимается моделированием окружающей реальности.
Ни в коем случае не спорю с тем, что моделирование, когда оно в тему — чрезвычайно полезный и мощный инструмент. Честь и хвала тем, кто умеет это делать и применяет этот инструмент к месту. Но, положа руку на сердце, должен признать, что из той горы кода, которую я написал за почти 30 лет профессионального программирования, моделирование составляет строго 0%. Впрочем нет, поскольку юнит-тестирование с некоторой натяжкой можно причислить к моделированию :))
Но всё же не могу не вставить свои пять копеек.
Трудно переоценить значение компьютерного моделированияМне кажется, тут всё наоборот. То есть трудно недооценить значение моделирования. Моделирование — чрезвычайно переоценённый вид деятельности. Втыкается к месту и не к месту. Особенно в наших компьютерных делах.
Если отбросить предрассудки и посмотреть на вещи трезво, можно обнаружить, что автомобиль не моделирует перемещение пассажиров и грузов, самолёт не моделирует полёт, текстовый редактор не моделирует ввод текста, бухгалтерская программа не моделирует составление бухбаланса. Они это всё не моделируют, а делают. Более того, мы сами, грешные, занимаемся моделированием крайне редко. Певец не моделирует исполнение песни, продавщица не моделирует продажу товара, дворник не моделирует подметание улицы. Я сейчас скажу вообще еретическую вещь: наш мозг не занимается моделированием окружающей реальности.
Лирическое отступление о том, откуда взялась вся эта фигня
Наш мейнстримный способ миропонимания находится под чрезвычайно сильным влиянием идей одного древнегреческого дядьки, которого звали Платон. С одной стороны, конечно, все понимают, что его рассуждения о каком-то зашкварном мире идей и о том, что предметы реального мира являются отражениями сущностей, обитающих в том мире — это, мягко говоря, бред. Но, тем не менее, господствующее мировоззрение прямо исходит из того, что объективно существуют законы (полная аналогия с платоновскими идеями), а реальность является их реализацией. А наши мозги эту самую реальность «отражают». Платоновская метафора «тени на стене пещеры» работает на полную катушку.
Ни в коем случае не спорю с тем, что моделирование, когда оно в тему — чрезвычайно полезный и мощный инструмент. Честь и хвала тем, кто умеет это делать и применяет этот инструмент к месту. Но, положа руку на сердце, должен признать, что из той горы кода, которую я написал за почти 30 лет профессионального программирования, моделирование составляет строго 0%. Впрочем нет, поскольку юнит-тестирование с некоторой натяжкой можно причислить к моделированию :))
Так вы просто не писали программы для научных исследований в области физики, химии, экономики, географии, лингвистики, биологии и экологии; для систем позиционирования; ИСПР и роботов; компьютерных игр; сервисов сведения информации о погоде; пеленгаторов и постановщиков помех и многого другого.
Ну давайте посмотрим внимательно. Вот передо мной комп. На нём чёртовы гигабайты софта: операционка, офис, браузеры, куча разнообразных редакторов, среды разработки, коммуникационные проги, СУБД, всякое разное служебное/вспомогательное. Что из этого занимается моделированием хоть чего-нибудь? Да ничего! Ни в каком виде. Никогда.
Я знаком всего с двумя людьми, для которых моделирование — рабочий инструмент. Естественно, они пишут модели. Один из этих двоих, кстати, мой собственный сын. Вся остальная толпа знакомых айтишников не занимается научными расчётами примерно никогда. Давайте посмотрим правде в глаза: моделирование — чрезвычайно важная, но очень редкая и специфичная технологическая область.
Что касается игрушек, то где там моделирование? В казуалках им и не пахнет. Но даже в 3D-шутере наличие моделирования — под большим вопросом. Нужно всё-таки понимать, что модель (что компьютерная, что натурная, например, для продувания в аэродинамической трубе) — это искусственный объект, созданный для удобства изучения свойств объекта реального в случае, когда исследование реального долго/дорого/жалко/неудобно/невозможно. Что-то мне подсказывает, что смысл, например, GTA — отнюдь не в имитационном моделировании судьбы бандита в Лос-Анджелесе. Но тут, конечно, вопрос открытый и на своей версии настаивать не буду.
Я знаком всего с двумя людьми, для которых моделирование — рабочий инструмент. Естественно, они пишут модели. Один из этих двоих, кстати, мой собственный сын. Вся остальная толпа знакомых айтишников не занимается научными расчётами примерно никогда. Давайте посмотрим правде в глаза: моделирование — чрезвычайно важная, но очень редкая и специфичная технологическая область.
Что касается игрушек, то где там моделирование? В казуалках им и не пахнет. Но даже в 3D-шутере наличие моделирования — под большим вопросом. Нужно всё-таки понимать, что модель (что компьютерная, что натурная, например, для продувания в аэродинамической трубе) — это искусственный объект, созданный для удобства изучения свойств объекта реального в случае, когда исследование реального долго/дорого/жалко/неудобно/невозможно. Что-то мне подсказывает, что смысл, например, GTA — отнюдь не в имитационном моделировании судьбы бандита в Лос-Анджелесе. Но тут, конечно, вопрос открытый и на своей версии настаивать не буду.
Вы слишком узко понимаете термин «модель». Сильно уже, чем большинство людей, в том числе — специалистов.
На самом деле скорее всего ваша операционная система сейчас моделирует физическую память, и предоставляет программистам доступ к адресам, которые на самом деле привели бы бог знает куда. А в компьютерных играх моделируется действие гравитации, чтобы объекты падали по параболе, и часто — ещё и столкновения, чтобы отскакивали, и не проходили друг сквозь друга. Нет ни одного современного 3d шутера без физического движка, который суть — система моделирования.
Этак мы дойдём до того, что сковородка моделирует котлету, лопата моделирует землю, а слово «жопа» моделирует жопу :))
Я же говорю, глупый и смешной платонизм с идеей отражения въелся глубоко в наше коллективное бессознательное. Везде нам чудятся модели, отражения и прочие тени на стене пещеры. Моделировать нужно тогда, когда действительно нужно моделировать. Например, моделирование движения воздушных масс в погодной модели — это полезно, почётно и интересно, моделирование поведения химических соединений — тоже. А вот моделировать оперативу операционной системой — это, извините, мимо кассы.
Что касается физического движка, то он действительно конструктивно может быть похож на модель, но, по-хорошему, моделью не является. В 3D-шутеры играют не для того, чтобы исследовать свойства разлёта осколков, а для того, чтобы нахрен поубивать всех врагов. Насколько мне известно. А физический движок там приделывается максимально похожим на физику реального мира потому, что в виртуальном мире, похожем на реальный, играть интереснее.
Нет в 3D-шутере ситуации моделирования. Разница — в целеполагании действующего субъекта. Там есть ситуация убивания виртуальных врагов.
Я же говорю, глупый и смешной платонизм с идеей отражения въелся глубоко в наше коллективное бессознательное. Везде нам чудятся модели, отражения и прочие тени на стене пещеры. Моделировать нужно тогда, когда действительно нужно моделировать. Например, моделирование движения воздушных масс в погодной модели — это полезно, почётно и интересно, моделирование поведения химических соединений — тоже. А вот моделировать оперативу операционной системой — это, извините, мимо кассы.
Что касается физического движка, то он действительно конструктивно может быть похож на модель, но, по-хорошему, моделью не является. В 3D-шутеры играют не для того, чтобы исследовать свойства разлёта осколков, а для того, чтобы нахрен поубивать всех врагов. Насколько мне известно. А физический движок там приделывается максимально похожим на физику реального мира потому, что в виртуальном мире, похожем на реальный, играть интереснее.
Нет в 3D-шутере ситуации моделирования. Разница — в целеполагании действующего субъекта. Там есть ситуация убивания виртуальных врагов.
mmu+ОС это модель памяти. Это абстракция, которая в точности повторяет свойства физической памяти, но физической памятью не является. Её цель моделировать чуть более высокоуровневую память, в которой проще работать (страницы и всё такое). Но на самом деле, этой памяти не существует физически — это просто модель.
Я 8 лет занимаюсь наукой о моделях, и я знаю совершенно точно, что в рамках моделей работают. И не всегда цель — исследование самой этой модели. Вот вы пользуетесь ОС, и работаете в рамках её модели памяти. Я создаю смешанную модель роста нанокристаллов в матрице, и работаю в её рамках над вопросами пропорций металлов. Я создаю грубую модель физического мира и стреляю в ней во врагов. То же самое делает пилот симулятора перед тем как сесть за настоящий истребитель — он тоже использует модель. И это всё один и тот же термин модель. Модель — не обязательно нужна для научных исследований, часто даже наоборот — модель является продуктом исследования, готовым к употреблению в любых сферах. Модель — это слегка более грубая копия чего-то реального, которую немного проще формализовать на языке математике и/или контролировать в эксперименте. Вот и всё. Вы можете использовать её для понимания причины чего-то, или для предсказания каких-то величин, например температуры. А можете просто использовать её, и работать в ней. Модель в науке — это всегда модель в её научном понимании, это отражения реального мира. И здесь нет никакого конфликта с бытовой терминологией. Ваши размышления о разнице между этими вещами неверны. Вот вы знаете что Земля имеет форму шара — это выяснили учёные, они построили модель. Модель умозрительную, поскольку увидеть Землю со стороны в то время было нельзя. Значит каждый раз когда вы просто летите в Австралию на запад, а не на восток, вы неявно используете научную модель Земли, эта модель была продуктом научных исследований. При чём gps в вашем самолёте будет использовать ещё более точную модель Земли — у него будут различные поправки, пока вы пролетаете над разными участками, и компас будет менять коэффициент магнитного склонения в соответствии с моделью магнитного поля вокруг Земли. И представьте себе, и курс самолёта, и работа с этими датчиками осуществляется программами, которые необходимо писать людям. Используя модели — геоида Земли, профиля магнитного поля, и многих других. Если вы играете в игру — то точно так же используете модель. Всего лишь несколько более грубую чем в научных исследованиях, и с другими целями. Но это не делает её не моделью, потому что она стремится к реализму, она — математически формализованые законы движения и столкновений. Лично я дважды применял модели из игр в чисто научных целях. В материалах конференции в Швейцарии реально были взяты скриншоты из игры, как визуализация микроскопики сил адгезиии, рядом с микроснимками из реального мира для сравнения. Игра позволила посмотреть предельные случаи, без необходимости писать программу. Точно так же в другой раз я использовал игру с физическим движком для быстрого прототипирования меанического устройства. Когда я вырезал детали, я воспользовался теми расстояниями, которые подогнал в компьютерной игре. Я не злоупотребляю играми в науке, я просто могу использовать почти всё что попадает в руки ради науки. И это потому, что люди решают, как им использовать инструмент. Скрепкой можно скреплять бумаги, а можно сделать кз мимо перегоревшей цепи в устройстве. Точно так же модель в игре — можно просто бить стёкла чтобы потом засесть снайпером, а можно и наукой заниматься. Модель — такой же инструмент в руках человека, как и молоток. Конечно, у него есть назначение. Железной частью молотка можно замкнуть цепь, а деревянную ручку можно сжечь. Можно выкинуть его из воздушного шара с прочим хламом, чтобы не упасть. А можно вытеснять им воду. Просто его используют не для забивания гвоздей столь же редко, как компьютерную игру для науки. Но сути самого предмета это не меняет. Физический движок сделан с целью, и предназначен для симуляции разбивания ящиков для игроков в игру. Но также он является моделью физики. Как молоток является инструментом, который имеет объём, массу, форму, деревянные и металлические части. Движок игры — это модель физики, которая симулирует силу тяжести, силу трения, силу реакции опоры, и законы движения из реального мира. С этим ничего не сделать, и это правда, вне зависимости от того, как его применяют. Вам надо расширять свои знания о моделях.
Я 8 лет занимаюсь наукой о моделях, и я знаю совершенно точно, что в рамках моделей работают. И не всегда цель — исследование самой этой модели. Вот вы пользуетесь ОС, и работаете в рамках её модели памяти. Я создаю смешанную модель роста нанокристаллов в матрице, и работаю в её рамках над вопросами пропорций металлов. Я создаю грубую модель физического мира и стреляю в ней во врагов. То же самое делает пилот симулятора перед тем как сесть за настоящий истребитель — он тоже использует модель. И это всё один и тот же термин модель. Модель — не обязательно нужна для научных исследований, часто даже наоборот — модель является продуктом исследования, готовым к употреблению в любых сферах. Модель — это слегка более грубая копия чего-то реального, которую немного проще формализовать на языке математике и/или контролировать в эксперименте. Вот и всё. Вы можете использовать её для понимания причины чего-то, или для предсказания каких-то величин, например температуры. А можете просто использовать её, и работать в ней. Модель в науке — это всегда модель в её научном понимании, это отражения реального мира. И здесь нет никакого конфликта с бытовой терминологией. Ваши размышления о разнице между этими вещами неверны. Вот вы знаете что Земля имеет форму шара — это выяснили учёные, они построили модель. Модель умозрительную, поскольку увидеть Землю со стороны в то время было нельзя. Значит каждый раз когда вы просто летите в Австралию на запад, а не на восток, вы неявно используете научную модель Земли, эта модель была продуктом научных исследований. При чём gps в вашем самолёте будет использовать ещё более точную модель Земли — у него будут различные поправки, пока вы пролетаете над разными участками, и компас будет менять коэффициент магнитного склонения в соответствии с моделью магнитного поля вокруг Земли. И представьте себе, и курс самолёта, и работа с этими датчиками осуществляется программами, которые необходимо писать людям. Используя модели — геоида Земли, профиля магнитного поля, и многих других. Если вы играете в игру — то точно так же используете модель. Всего лишь несколько более грубую чем в научных исследованиях, и с другими целями. Но это не делает её не моделью, потому что она стремится к реализму, она — математически формализованые законы движения и столкновений. Лично я дважды применял модели из игр в чисто научных целях. В материалах конференции в Швейцарии реально были взяты скриншоты из игры, как визуализация микроскопики сил адгезиии, рядом с микроснимками из реального мира для сравнения. Игра позволила посмотреть предельные случаи, без необходимости писать программу. Точно так же в другой раз я использовал игру с физическим движком для быстрого прототипирования меанического устройства. Когда я вырезал детали, я воспользовался теми расстояниями, которые подогнал в компьютерной игре. Я не злоупотребляю играми в науке, я просто могу использовать почти всё что попадает в руки ради науки. И это потому, что люди решают, как им использовать инструмент. Скрепкой можно скреплять бумаги, а можно сделать кз мимо перегоревшей цепи в устройстве. Точно так же модель в игре — можно просто бить стёкла чтобы потом засесть снайпером, а можно и наукой заниматься. Модель — такой же инструмент в руках человека, как и молоток. Конечно, у него есть назначение. Железной частью молотка можно замкнуть цепь, а деревянную ручку можно сжечь. Можно выкинуть его из воздушного шара с прочим хламом, чтобы не упасть. А можно вытеснять им воду. Просто его используют не для забивания гвоздей столь же редко, как компьютерную игру для науки. Но сути самого предмета это не меняет. Физический движок сделан с целью, и предназначен для симуляции разбивания ящиков для игроков в игру. Но также он является моделью физики. Как молоток является инструментом, который имеет объём, массу, форму, деревянные и металлические части. Движок игры — это модель физики, которая симулирует силу тяжести, силу трения, силу реакции опоры, и законы движения из реального мира. С этим ничего не сделать, и это правда, вне зависимости от того, как его применяют. Вам надо расширять свои знания о моделях.
Кстати, по ходу дела вырисовывается некоторая ясность. Предлагаю моделью считать объект, с которым субъект взаимодействует вместо реального. Можно начинающего пилота посадить за штурвал настоящего самолёта, а потом потушить пожар в соседней деревне, убрать обломки и похоронить погибших, а можно посадить его сначала за симулятор и обойтись без похорон. Симулятор — модель, потому что это объект, с которым субъект (начинающий пилот) взаимодействует вместо реального.
Вроде бы такая интерпретация выглядит достойно, но есть один нюанс, который надо учесть. Нюанс в том, что мы непосредственно вообще ни с чем не взаимодействуем. Мы даже не можем непосредственно потрогать стол, за которым сидим. Между рукой и столом в любом случае будет тонкая прослойка, электрические поля в которой не дают веществу руки коснуться вещества стола. Можно ли сказать, что вместо взаимодействия с объектом «стол» мы взаимодействуем с его моделью, являющейся электрическими полями? ИМХО, безумие. Поэтому давайте всё же вернём крышу на место и условимся считать, что модель — это всё же объект, который специально создан для того, чтобы с ним играть вместо того, чтобы играть с настоящим.
При этом оказывается не важным, материален ли реальный объект. Создание нематериальных моделей нематериальных объектов — тоже вполне достойное занятие. Или даже материальных моделей нематериальных объектов. Тоже норм. Даже не важно, чтобы модель была меньше/легче/проще объекта реального. Например, в табличку, в которой ожидается не более миллиона строк, взять и нафигачить 10млн строк тестовых данных чтобы посмотреть, где включатся тормоза.
Надо как-то попытаться отделить мух от котлет. Пусть моделями будет не всё. Пусть будут вещи, которые моделями определённо не являются. Вот тогда мы научимся точно идентифицировать предмет рассуждения и продуктивно его обсуждать.
Вроде бы такая интерпретация выглядит достойно, но есть один нюанс, который надо учесть. Нюанс в том, что мы непосредственно вообще ни с чем не взаимодействуем. Мы даже не можем непосредственно потрогать стол, за которым сидим. Между рукой и столом в любом случае будет тонкая прослойка, электрические поля в которой не дают веществу руки коснуться вещества стола. Можно ли сказать, что вместо взаимодействия с объектом «стол» мы взаимодействуем с его моделью, являющейся электрическими полями? ИМХО, безумие. Поэтому давайте всё же вернём крышу на место и условимся считать, что модель — это всё же объект, который специально создан для того, чтобы с ним играть вместо того, чтобы играть с настоящим.
При этом оказывается не важным, материален ли реальный объект. Создание нематериальных моделей нематериальных объектов — тоже вполне достойное занятие. Или даже материальных моделей нематериальных объектов. Тоже норм. Даже не важно, чтобы модель была меньше/легче/проще объекта реального. Например, в табличку, в которой ожидается не более миллиона строк, взять и нафигачить 10млн строк тестовых данных чтобы посмотреть, где включатся тормоза.
Вам надо расширять свои знания о моделях.Если моделями называется вообще всё, то надо расширить знание… чего? Всего?
Надо как-то попытаться отделить мух от котлет. Пусть моделями будет не всё. Пусть будут вещи, которые моделями определённо не являются. Вот тогда мы научимся точно идентифицировать предмет рассуждения и продуктивно его обсуждать.
У вас редукцированное представление о моделировании. В соседней статье читаю:
Что он моделирует? Старается приблизиться к реалистичному изображению (фотореалистичному, правдоподобной стилизации, ...). Каким образом? Строит МОДЕЛЬ, оценивает модель некоторым критерием и затем корректирует до полного соответствия критерию. В конце концов предлагает набор эвристик, которые на порядки сокращают объемы вычислений для получения нужно результата. По мне так это и есть полноценное моделирование.
А у вас получается как с искусственным интеллектом: сперва задача относится к ИИ, а когда нашли для нее алгоритм, уже не относится. Не знали как распознать тексты (речь, образы...) — занимались ИИ исследователи. Придумали алгоритм — больше не задача ИИ. Но ведь моделирование это и есть процесс поиска менее ресурсоемкого метода/алгоритма.
Одной из причин, по которой меня так заинтересовала реализация этого проекта, была архитектура. Я обожаю моделирование ...
Что он моделирует? Старается приблизиться к реалистичному изображению (фотореалистичному, правдоподобной стилизации, ...). Каким образом? Строит МОДЕЛЬ, оценивает модель некоторым критерием и затем корректирует до полного соответствия критерию. В конце концов предлагает набор эвристик, которые на порядки сокращают объемы вычислений для получения нужно результата. По мне так это и есть полноценное моделирование.
А у вас получается как с искусственным интеллектом: сперва задача относится к ИИ, а когда нашли для нее алгоритм, уже не относится. Не знали как распознать тексты (речь, образы...) — занимались ИИ исследователи. Придумали алгоритм — больше не задача ИИ. Но ведь моделирование это и есть процесс поиска менее ресурсоемкого метода/алгоритма.
Вот в этом и отличие айтишника- программиста от инженера. Для инженера моделирование (и программирование!) не самоцель деятельности, а только инструмент для достижения цели. Ту же балку с защемленным концом инженер на модели в САПРе считает.
Модель — симуляция реального объекта. И не важно — для езды машинки в гта, или для оптимизации подвески реальной машины; решение школной задачки о брошеном камне — настолько же модель, как модель для расчета баллистичесуих таблиц. Грубая или точная, но модель. А уж для высоких целей, тренировки школьника или просто поиграться — подавно в определении не учавствуют.
автомобиль не моделирует перемещение пассажиров и грузов, самолёт не моделирует полёт, текстовый редактор не моделирует ввод текста, бухгалтерская программа не моделирует составление бухбаланса
Конечно же. Потому, что модель автомобиля моделирует перемещение пассажиров и грузов, модель самолета моделирует полёт и далее по тексту. Вообще, у вас крайне странная аргументация. Полагаю, потому, что вы смотрите на вопрос сугубо с точки зрения IT-шникаю
Я не знаю, как дело обстоит там, в этих «ваших компьютерных кругах», но в естественных науках, разработке технических продуктов и подобных областях деятельности без моделирования не обойтись. И модели там очень-очень необходимы для работы. Я имею в виду, что случаев, когда моделирование «в тему», как вы говорите, очень много.
Единицы занимаются моделированием автомобиля, а миллионы его изготавливают и используют. Более того, даже в процессе проектирования автомобиля разнообразные виды моделирования — очень важные, но отнюдь не основные составляющие процесса. Я неплохо знаком с железячным конструированием. Иногда по ходу дела бывает полезно изготовить макет, но чаще всего никто этим не занимается, потому что не нужно.
Про тесты вы сказали — это модель реального бизнес-процесса.
Но и сам бизнес-процесс, зафиксированный на бумаге — это модель, т.е. упрощение того, что происходит в реальности.
Например, Jira — это модель того, как программист выполняет задачи. В реальности у задачи не только состояния new/in progress/blocked/implemented/tested. Мы упрощаем, не вводя «key developer on vacation» или «у заказчика еще одна идея», а описываем эти состояния тем что есть, то есть приближенно.
Когда заказчик хочет, чтобы его сайт обновлялся мгновенно — мы записываем «отклик не более 100мс для 95% запросов». Мы сначала строим модель, а потом уже для модели разрабатываем решение. Возможно, это делаете не вы лично, а бизнес-аналитик или дизайнер — но кто-то перевел требование заказчика «хочу красиво» в модель «красная кнопка на треть экрана».
Я исхожу из того, что модель — это отбрасываниенесущественных малозначимых деталей с сохранением основных так, чтобы решение совпадало с реальным миром с заданной точностью. Для задачи «движение Земли вокруг Солнца» мы отбрасываем притяжение Нептуна, а для «хочу красиво» — каким шрифтом будет надпись на кнопке.
P.S. Впрочем, численное моделирование в ежедневной практике длябольшинства многих разработчиков действительно не встречается.
Но и сам бизнес-процесс, зафиксированный на бумаге — это модель, т.е. упрощение того, что происходит в реальности.
Например, Jira — это модель того, как программист выполняет задачи. В реальности у задачи не только состояния new/in progress/blocked/implemented/tested. Мы упрощаем, не вводя «key developer on vacation» или «у заказчика еще одна идея», а описываем эти состояния тем что есть, то есть приближенно.
Когда заказчик хочет, чтобы его сайт обновлялся мгновенно — мы записываем «отклик не более 100мс для 95% запросов». Мы сначала строим модель, а потом уже для модели разрабатываем решение. Возможно, это делаете не вы лично, а бизнес-аналитик или дизайнер — но кто-то перевел требование заказчика «хочу красиво» в модель «красная кнопка на треть экрана».
Я исхожу из того, что модель — это отбрасывание
P.S. Впрочем, численное моделирование в ежедневной практике для
Я специально сделал оговорку, что «юнит-тестирование с некоторой натяжкой можно причислить к моделированию». Притом, что характерно, далеко не всегда. Например, в тесте бывает иногда полезно подавать на вход такую хрень, которая реально на вход никогда не придёт. Чисто чтобы покрыть тестами весь код.
Попробуйте уйти от моделе-ориентированных рассуждений и почувствуйте, как оно всё становится глубже, разнообразнее и интереснее. Вдруг окажется, что запись в таблице «clients» — это уже не модель клиента, а… что? Возможно, запоминание события узнавания о существовании этого клиента. При таком смешном развороте, например, можно прийти к идее организации списка клиентов в виде темпоральной базы данных. В моделе-ориентированном подходе на полноценную темпоральность, например, не выйти, потому что она концептуально про другое. Модель — это отражение реальности, а темпоральная база — фиксация потока событий. В общем, попробуйте. Это интересно.
бизнес-процесс, зафиксированный на бумаге — это модельСлишком широкое понимание понятия «модель». Излишне широкое. Так у нас и фотография девушки станет моделью этой девушки. И её имя станет моделью её же.
Попробуйте уйти от моделе-ориентированных рассуждений и почувствуйте, как оно всё становится глубже, разнообразнее и интереснее. Вдруг окажется, что запись в таблице «clients» — это уже не модель клиента, а… что? Возможно, запоминание события узнавания о существовании этого клиента. При таком смешном развороте, например, можно прийти к идее организации списка клиентов в виде темпоральной базы данных. В моделе-ориентированном подходе на полноценную темпоральность, например, не выйти, потому что она концептуально про другое. Модель — это отражение реальности, а темпоральная база — фиксация потока событий. В общем, попробуйте. Это интересно.
Я привел свое понимание понятия «модель».
С моей точки зрения, для целей поиска человека фотография может быть моделью человека: многое отбросили, но параметры, позволяющиерешить задачу найти девушку, оставили. Замечу, эта модель не очень хороша, но так всегда: чем проще модель, тем легче с ней работать. Ну, до определенного предела. Фоторобот — крайняя степень модели: чрезмерное упрощение приводит к множеству ошибок.
Если же задача «выбор жены», то фотография — негодная модель, слишком много значимых деталей отброшено.
В моем понимании моделирование неразрывно связано с решаемой задачей. И для какой-то задачи фиксация потока событий будет частью модели. Но не для каждой.
Мне интересно узнать, что такое «модель» в вашем понимании.
С моей точки зрения, для целей поиска человека фотография может быть моделью человека: многое отбросили, но параметры, позволяющие
Если же задача «выбор жены», то фотография — негодная модель, слишком много значимых деталей отброшено.
В моем понимании моделирование неразрывно связано с решаемой задачей. И для какой-то задачи фиксация потока событий будет частью модели. Но не для каждой.
Мне интересно узнать, что такое «модель» в вашем понимании.
Замечательная статья. Сравнивая методические пособия разных вузов и стран, должен заметить, что эта информация изложена далеко не в каждом.
Есть некоторое пожелание — увидеть рядом с естественным способом задания движения ремарку о репере Френе и возможности удобного восстановления неизвестных траекторий в случае действия сил завязанных на аксиальных векторах. Также оно буквально необходимо для правильных симуляций некоторых систем, где мы хотим брать производные по направлению движения и используем лагранжианы.
А ещё было бы полезным указать границы, где поиск аналитического решения становится бессмысленым, и где уже следует применять симуляции (а также про ограничения самих симуляций).
Есть некоторое пожелание — увидеть рядом с естественным способом задания движения ремарку о репере Френе и возможности удобного восстановления неизвестных траекторий в случае действия сил завязанных на аксиальных векторах. Также оно буквально необходимо для правильных симуляций некоторых систем, где мы хотим брать производные по направлению движения и используем лагранжианы.
А ещё было бы полезным указать границы, где поиск аналитического решения становится бессмысленым, и где уже следует применять симуляции (а также про ограничения самих симуляций).
В университете, где училась моя дочка, оно так и называлось: численное моделирование для физиков. Но, как всегда в американских университетах, может брать кто угодно.
Сначала записалась куча. К концу курса выжило 1 физик (дочка), два химика и пять инженеров.
Зато как кульно: после объяснения GSL профессор дает дом. задание: это оригинальный файл данных, по которому мы нашли бозон Хиггса (он входил в коллаборацию). Дом. задание- найти Хиггса!
Работали в плоском С в Red Hat.
P.S. Насколько я помню, они начали с нелинейного маятника, считали руками константу Фейгенбаума, потом- фазовые переходы в Изинге, Монте- Карло, еще что то.
Сначала записалась куча. К концу курса выжило 1 физик (дочка), два химика и пять инженеров.
Зато как кульно: после объяснения GSL профессор дает дом. задание: это оригинальный файл данных, по которому мы нашли бозон Хиггса (он входил в коллаборацию). Дом. задание- найти Хиггса!
Работали в плоском С в Red Hat.
P.S. Насколько я помню, они начали с нелинейного маятника, считали руками константу Фейгенбаума, потом- фазовые переходы в Изинге, Монте- Карло, еще что то.
У меня в университете курс был не такой подробный, но зато на последующих курсах, уже физических, от нас ожидали умения моделировать как боженька. Как раз в курсе про бифуркации давали домашние задания такого плана, ну-ка, найдите расходимость в акой модели. ЗЫ с точки зрения программирования, Изинг и Монте-Карло вообще простые (если вручную не создавался кастомный рандомизатор). А вот задачка с маятником уже сложнее (если не решается в пакете с готовым физическим движком). У нас сложные маятники — нелинейные с накачкой и со степенями свободы, были в конце вообще. Что интересно, в итоге экзамены у нас сдало 8 человек из тех кто проходил курсы по нелинейщине. Мб это некая мировая константа? Только 7-8 человек на вуз могут изучить моделирование=)
Они потом на Изинге учили распараллеливание. Особенно на кубическом. Уложили весь университетский компьютер (7 тыс. процессоров). А потом перешли от Изинга простейшим нейронным сетям.
Монте-Карло в простейшей форме (объем шара) интересовал с точки зрения: сколько нужно добавить попыток, чтобы получить следующий десятичный знак. А! А потом же начальные условия для Изинга.
Маятник- без движка, разумеется. У них первые три недели был crash course по С, там они наваяли Рунге- Кутту, и рубили маятник по ней. Разумеется, с накачкой, чтобы бифуркации иметь.
В других классах моделировали в Вольфрамовской Математике (университет каждому дал по лицензии: кач. теория дифф. уравнений, хаотические системы.
P.S. Почему я помню- я тогда как раз получил новенький комп для работы с макс начинкой (на то время). Ну так мы и сравнивали. Дите на кластере, я — в MS Visual Studio, Интеловский компилятор, GCC под Cygwin. Одиночка победила (не помню какой компилятор).
Монте-Карло в простейшей форме (объем шара) интересовал с точки зрения: сколько нужно добавить попыток, чтобы получить следующий десятичный знак. А! А потом же начальные условия для Изинга.
Маятник- без движка, разумеется. У них первые три недели был crash course по С, там они наваяли Рунге- Кутту, и рубили маятник по ней. Разумеется, с накачкой, чтобы бифуркации иметь.
В других классах моделировали в Вольфрамовской Математике (университет каждому дал по лицензии: кач. теория дифф. уравнений, хаотические системы.
P.S. Почему я помню- я тогда как раз получил новенький комп для работы с макс начинкой (на то время). Ну так мы и сравнивали. Дите на кластере, я — в MS Visual Studio, Интеловский компилятор, GCC под Cygwin. Одиночка победила (не помню какой компилятор).
Какая у вас выдающаяся дочь!
Ссылку на курс не покажете?
Имхо, преп должен контролировать ожидания студентов, а не тратить их время и нервы
Нормальная дочь. Способности есть, но главное- что добрая, друзья есть.
Там в ссылке просто аннотация
www.physics.northwestern.edu/undergraduate/courses/catalog.html
Курс 352.
Но это специфика США: больше всех муштруют физиков. В дочкин год из этого большого универа вышло 13 физиков.
Там в ссылке просто аннотация
www.physics.northwestern.edu/undergraduate/courses/catalog.html
Курс 352.
Но это специфика США: больше всех муштруют физиков. В дочкин год из этого большого универа вышло 13 физиков.
Опять таки, интересно сравнивать со своим — посмотрел на вики что там 20 тыс студентов и докторантов, и счёт идёт немного иначе, чем у нас: статистика отдельно бакалавр и магистры+докторанты. Если пересчитать по бакалаврам в наши бакалавр+магистр, то будет где-то 13 тысяч студентов (б+м). И 13 физиков в год. В мой год выпуска у меня в университете училось 15 тысяч, и выпустилось 19 физиков (либо 27, смотря кого учитывать как физика). В принципе числа близкие. А если усреднять мой год со следующим, то получится что у нас даже более жёсткий, либо точно такой же отбор… 15 или 11 человек в год, опять таки, в завиимости от того кого считать.
Спасибо. Младшекурсники которые ищут бозон Гибса — это круто. Жаль, Др. Хахн на страничку курса не расщедрился.
А меня в другом университете на другом факультете попросили детям жизнь не усложнять. :)
А меня в другом университете на другом факультете попросили детям жизнь не усложнять. :)
Нужно гуглить. У него были очень подробные pdf. Свои силы он не экономил. Студенческие- тоже. Т.е. где то эта страничка с pdf cуществует.
Но когда их осталось счетное количество, он им честно сказал, что он всем поставит А. Так что борются они только, кому А+, кому -. Потому что офмцмальные требования были- курс общей физики+ (можно параллельно)- дифф. ур. для физиков/ инженеров. А он им радостно сказал, что не каждый мастер поймет его курс.
Но когда их осталось счетное количество, он им честно сказал, что он всем поставит А. Так что борются они только, кому А+, кому -. Потому что офмцмальные требования были- курс общей физики+ (можно параллельно)- дифф. ур. для физиков/ инженеров. А он им радостно сказал, что не каждый мастер поймет его курс.
Тогда апплодирую. Действительно крутой курс. У нас некоторые такие вещи были, но не на параллельных вычислениях, и плюс ко всему большая часть была не то чтобы обяязательной — я в итоге на парах маятник даже не начал делать, разленился и воспользовался возможностью «зачесть за рейтинг» две домашки. Правда, потом всё равно в рамках какого-то проекта с механикой делал…
ДонНУ? Круто же! Заходил как-то в гости.
Как наш проф. на квантах сказал: ( не дословно ) «фундаментальное преподавать надо обязательно. А то, что потребуется вы и сами быстро выучите».
Как наш проф. на квантах сказал: ( не дословно ) «фундаментальное преподавать надо обязательно. А то, что потребуется вы и сами быстро выучите».
Справедливости ради стоит отметить, что механика занимается не только материальными точками и твёрдым телом, но и сплошной средой. Предчувствую рассмотрение методов Эйлера и Рунге-Кутты, а также полное игнорирование лагранжевой и гамильтоновой механик.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Моделирование динамических систем: введение