Есть ответ 👍

Метод монте-карло. написать программу в pascal.

182
247
Посмотреть ответы 2

Ответы на вопрос:


Метод монте-карло получил распространение с появлением эвм. его преимущество в том, что он легко программируется и для сложных зачастую является единственным приемлемом способом решения. суть метода: составляется некоторая целевая функция и затем отыскивается её минимум или максимум. параметры функции при датчика случайных чисел. пример. найти минимум функции p(x,y,z) при заданных ограничениях. как видно из условия, имеется пять ограничений. конечно, в данном случае можно решить методом простого перебора параметров с каким-то шагом, сначала найти примерное положение минимума (или минимумов, если их несколько), а потом уменьшить шаг и повторить поиск, но методом монте-карло решается намного изящнее. function f(x, y, z: real): real; begin   f : = sin(2 * x) + cos(3 * y) + sqr(sin(4 * z + 1)) end; var   x, y, z, p, x1, y1, z1, p1: real;   i, n: longint; begin   write('введите число проб: ');   readln(n);   randomize;   p1 : = 1e20;   for i : = 1 to n do   begin       repeat           x : = 4 * random - 2;           y : = 3 * random - 1.5;           z : = 10 * random - 5       until (x> 0) and (x*z> =0);       p : = f(x, y, z);       if p1 > p then begin           x1 : = x; y1 : = y; z1 : = z; p1 : = p       end;   end;   writeln('n=', n: 8, ' ', x1: 0: 4, ' ', y1: 0: 4, ' ', z1: 0: 4, ' минимум=', p1) end. тестовое решение (при разных количествах проб): введите число проб: 1000 n=      1000 1.9111 -1.0660 0.5749 минимум=-1.6029403376222 n=    10000 1.9931 -1.0176 2.0465 минимум=-1.68773775014315 введите число проб: 100000 n=  100000 1.9985 -1.0401 0.5191 минимум=-1.75037309941284 введите число проб: 1000000 n= 1000000 1.9997 1.0378 3.6868 минимум=-1.7544874244815 введите число проб: 10000000 n=10000000 1.9995 1.0471 2.1027 минимум=-1.75595433108399 вычисление даже для 10 миллионов проб выполняется около 5 секунд, так что быстродействие метода прекрасное анализ результатов показывает, что наша целевая функция имеет значительное количество экстремумов, что связано с наличием в ней трех периодических функций. значение аргумента х практически определено (оно меняется незначительно), его можно зафиксировать и продолжить поиск уже для функции двух переменных, границы которых также следует сузить в районе полученных значений. посмотрим, как будут отыскиваться экстремумы с теми же ограничениями на те же параметры, если целевую функцию заменить на непериодическую: в программе при этом надо будет только изменить формулу целевой функции: f : = 3.5*sqr(x)+2.4*sqr(y-1)-6.18*y*z тестовое решение: введите число проб: 1000 n=      1000 0.4468 1.3516 4.9403 минимум=-40.2712691657245 n=    10000 0.1716 1.4677 4.8246 минимум=-43.1319690531051 введите число проб: 100000 n=  100000 0.0283 1.4920 4.9365 минимум=-44.9334596263254 введите число проб: 1000000 n= 1000000 0.0320 1.4891 4.9963 минимум=-45.3999805516411 введите число проб: 10000000 n=10000000 0.1106 1.4998 4.9993 минимум=-45.6964653852599 хорошо видно, что параметры y и z уже после 10 тысяч проб практически не меняются, а параметр х меняется в значительных пределах. дальнейший путь решения - зафиксировать с некоторой точностью найденные значения параметров и продолжить поиск значения уже одной переменной в области [0; 0.15], или также зафиксировать найденное значение функции и решить полученное уравнение относительно х.

Ну это уже смешно)  var a,b : integer; begin    readln(a);   readln(b);   if a > b then writeln(a)  else writeln(b); end.

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

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

Подпишись на наш телеграмм канал

GTP TOP NEWS