Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Задача зависящая от параметров лежащих в определённых диапазонах.  (Прочитано 11452 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Olegator
Команда клуба

ru
Offline Offline
Пол: Мужской

« : 13-09-2005 15:59 » 

Когда я учился в институте, то у нас была курсовая по турбонасосному агрегату. Делал я её на MathCAD. Около 300 формул, идущие последовательно. Каждая текущая формула зависит от результата предыдущих. Некоторые формулы зависят от параметров, которые лежат в определённых диапазонах. И для того, чтобы придти к нужному результату, надо было регулировать эти параметры. Я менял значения этих параметров вручную. Но мне хотелось сделать это автоматически. Чтобы программа сама меняла эти значения до тех пор пока не будет получен нужный результат.
1. Есть ли название у такого типа задач?
2. В каком направлении мне смотреть. Наверное, надо применять какие-либо численные методы.
3. Есть ли уже готовые программы, чтобы посмотреть.
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #1 : 13-09-2005 18:08 » 

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

Не будите спашяго дракона.
             Джаффар (Коша)
Alf
Гость
« Ответ #2 : 13-09-2005 19:52 » 

Регулирование параметров для достижения конечной цели - типичная задача оптимизации. Имеется хорошо проработанная теория данной дисциплины. Если хочешь, могу дать несколько названий книг из моей домашней библиотеки, но им лет по 15-20, в продаже не найдешь, разве что у букинистов при невероятном везении (лично мне иногда везет в этом). Если есть желание пошарить по библиотекам, пиши, кое-что из библиографии подкину.
Записан
Olegator
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 13-09-2005 21:49 » 

У меня есть куча книг в элетронном виде. Так что напиши. Может что-нибудь да и найду.
И ,Alf, то что Finch написал, это из этой же темы оптимизации или что-то другое? Эвристика - это и есть один из методов оптимизации?
Записан
Alf
Гость
« Ответ #4 : 13-09-2005 22:21 » 

У меня есть куча книг в элетронном виде. Так что напиши. Может что-нибудь да и найду.

Вот что мне подвернулось под руку на моей полке:

Г.Реклейтис, А.Рейвиндран, К.Рэгсдел. Оптимизация в технике. - М:"Мир", 1986. В 2-х книгах.
Ф.Гилл, У.Мюррей, М.Райт. Практическая оптимизация. - М:"Мир", 1985.

Если захочешь познакомиться с комбинаторикой:

В.Липский. Комбинаторика для программистов. - М:"Мир", 1988.

Может, что-нибудь еще в кладовке припрятано, у меня там куча книг не первой необходимости. Среди ночи не могу там копаться, весь дом перебужу. Может, потом что накопаю еще.

И ,Alf, то что Finch написал, это из этой же темы оптимизации или что-то другое?

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

Эвристика - это и есть один из методов оптимизации?

Эвристика - вообще штука скользкая. Нет даже единого мнения, что это такое. Например, в Яндексе первая же ссылка утверждает:

Цитата
Эвристика. В противоположность алгоритму (который описывает вполне определенный набор операций для получения конкретного результата), эвристики - это общие рекомендации или советы, основанные на статистической очевидности (например, "курение сокращает вашу жизнь", "мужчины с высшим образованием с большей вероятностью положительно отнесутся к этой рекламе, чем...") или теоретических рассуждениях (например, "механизм синтеза витамина X, в нашем понимании, позволяет утверждать, что употребление в пищу продукта Y уменьшает дефицит X"). Подробнее о понятии эвристики см. работу Kahneman, Slovic, & Tversky, 1982.

Лично мне показалось неконструктивно - эвристика не может быть противоположностью алгоритму, ведь это автоматически запрещает использовать эвристики в программах. Может, для каких-нибудь гуманитариев такое и сгодится, а программиста явно ведет в тупик. Словарь по естественным наукам Яндекса дает, на мой взгляд, куда более разумное определение:

Цитата
Эвристика - эмпирическое правило, упрощающее или ограничивающее поиск решений в (сложной) предметной области.

Например, в твоем случае с турбиной - ты точно знаешь, что при данной нагрузке стальные лопатки гнутся, нужно делать их из титана, и не тратишь время на попытку попробовать расчитать конструкцию со стальными лопатками. Именно такие знания и отличают эксперта от дилетанта, позволяя сразу отметать заведомо непремлемые решения, не тратя время на их исследования.
Записан
npak
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 14-09-2005 11:20 » 

ИМХО, то, что  Finch назвал комбинаторикой - это решить задачу перебором.  Это не комбинаторика, настоящая комбинаторика занимается совсем другим -- считает размеры множеств.

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

Что тебе нужно решить?  Если ты уже знаешь, какое число должно получиться на выходе, дело за малым -- подобрать параметры так, чтобы получить заданный результат (число), то это одна задача.  Если тебе надо получить решение с заданными свойствами, например, достичь максимальной пропускной способности, то это совсем другая задача.

Первая сводится к решению системы уравнений.  Вторая традиционно относится к задачам оптимизации. И в первой, и во второй, нет универсальных подходов, но для конкретных случаев более-менее всегда можно подобрать эффективное средство.
« Последнее редактирование: 14-09-2005 11:30 от npak » Записан

UniTesK -- индустриальная технология надежного тестирования.

http://www.unitesk.com/ru/
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #6 : 14-09-2005 18:49 » new

Все таки со словом "Комбинаторика" я вчера погарячился. Приношу свои извенения по этому поводу. Мне не так давно приходилось решать задачи по ней. И в основном они сводились к нахождению вероятности нахождения определенной комбинации. Поэтому тут не совсем подходит это слово. Улыбаюсь
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
nikedeforest
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #7 : 15-09-2005 17:31 » 

Комбинаторика-это ближе к теории вероятности и мат. статистике. К простейшему примеру можно отнести задачу такого рода: с какой вероятностью выпадет комбинация 2:3 на двух шестигранных кубиках.
« Последнее редактирование: 15-09-2005 17:34 от nikedeforest » Записан

ещё один вопрос ...
npak
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #8 : 16-09-2005 08:42 » 

Комбинаторика-это ближе к теории вероятности и мат. статистике. К простейшему примеру можно отнести задачу такого рода: с какой вероятностью выпадет комбинация 2:3 на двух шестигранных кубиках.

Комбинаторика используется в теории вероятностей только для вычисления мощности дискретного вероятностного пространства.  К собственно вероятности комбинаторика отношения не имеет.  В примере с кубиками комбинаторика используется для ответов на следующие вопросы:
-- Есть два множества, каждое содержит 6 элементов.  Сколько пар можно образовать из этих двух множеств при условии, что первым элементом в каждой паре стоит элемент из первого множества (задача определения размера вероятностного пространства или множества возможных исходов)
-- Если взять те же самые два множества, то сколько можно образовать пар таких, что на первом месте идёт элемент "2" а на втором "3" или на первом "3" а на втором "2" (определение множества благоприятных исходов)

Помимо теории вероятностей комбинаторика используется в других областях математики.  Например, при оценке сложности алгоритмов, в теории графов, короче, всюду, где надо посчитать размер конечного множества.
Записан

UniTesK -- индустриальная технология надежного тестирования.

http://www.unitesk.com/ru/
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines