Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Моделирование рендомных химических реакций, нужно получить сеорьёзное вещество 
:(
    Опции темы
Lois
Дата 7.7.2013, 03:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 19.5.2013

Репутация: нет
Всего: нет



Моделирование рендомных химических реакций

Идёт рендомное смешение всех элементов таблицы Менделеева. Получившиеся результаты реакций сравниваются с базой данных химических реакций, где есть все реакции и их результаты.
Надо определить сколько информации может обрабатывать обычный комп, потому что её будет очень много. Для этого надо рендомно отсекать большую часть реакций, которые выходят за рамки мощности компа. Очевидно необходимо будет сделать так, чтобы была обратная связь с загрузкой мощности компа. То есть реакций должно быть столько, сколько комп в состоянии выдержать. Результаты реакций смешиваются друг с другом и так до тех пор, пока не останется в конце одно единственное вещество. Это цель проги и есть – получить химическую формулу такого вещества. Очевидно, что при разных запусках программы ( надо сделать так, чтобы рендом работал каждый раз оригинально, то есть не повторял бы один и тот же цикл- это сделать очень легко- скажем связать его с часами компа), это вещество будет разным. Я предлагаю ограничить с помощью рендома время работы этой проги одним часом, то есть опытным путём определить сколько реакций надо рендомно отсекать, чтобы уложиться в это время .
Вопрос- какое вещество наиболее вероятно получится? 

Интересуют любые ваши идеи по алгоритму. Я думаю речь идёт только о неорганике. База реакций есть.
PM MAIL   Вверх
Pavia
Дата 7.7.2013, 05:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 6.12.2008

Репутация: 11
Всего: 12



Ничего непонял. Вещества в реакторе накапливаются или нет? 
Что за база данных реакция? Может всё же это база данных плюс база знаний? 
Просто в таблице порядка 112 веществ и все парные реакции это 100х100. Тут любой комп справиться. Троичные редкие. 
Цепные они в органике, а вы пишете о неорганике. 
В чём цель моделирования? 
PM MAIL   Вверх
Lois
Дата 7.7.2013, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 19.5.2013

Репутация: нет
Всего: нет



Цитата(Pavia @  7.7.2013,  05:26 Найти цитируемый пост)
 Вещества в реакторе накапливаются или нет? 


Речь идёт только о форумлах и символах. ЕСть формула в базе, она выводится, нет, значит нет.

Цитата(Pavia @  7.7.2013,  05:26 Найти цитируемый пост)
Что за база данных реакция? Может всё же это база данных плюс база знаний? 


Обычная база данных. Без всякой базы знаний. Просто химические формулы.

Цитата(Pavia @  7.7.2013,  05:26 Найти цитируемый пост)
В чём цель моделирования?  


Цель- узнать, что это за вещество. А может при разных запусках программы вещество будет разным!!!
Просто любопытство.


Это сообщение отредактировал(а) Lois - 7.7.2013, 16:16
PM MAIL   Вверх
_Y_
Дата 7.7.2013, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



Извиняюсь, но с химией у Вас в задаче некоторая напряженка:
Цитата(Lois @  7.7.2013,  03:31 Найти цитируемый пост)
смешение всех элементов таблицы Менделеева

В природе не существует химических элементов, которые можно физически смешивать. Элементы существуют только в виде молекул. И только у благородных газов эти молекулы одноатомные (один атом на молекулу, наподобие элементов). Еще существуют металлы, которые, в принципе, можно рассматривать как некое скопление одноатомных молекул (но с очень большой натяжкой). Дальше продолжать?

Цитата(Lois @  7.7.2013,  03:31 Найти цитируемый пост)
сравниваются с базой данных химических реакций, где есть все реакции и их результаты.

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

Цитата(Lois @  7.7.2013,  03:31 Найти цитируемый пост)
Получившиеся результаты реакций сравниваются с базой данных химических реакций
 Никаких результатов химических реакций не получится. Каждая химическая реакция требует определенных условий (см. Термодинамику хим. процессов), происходит во времени (см. Кинетику хим процессов) и, часто, в пространстве (см. Химтехнологию и Теорию химических реакторов).

Цитата(Lois @  7.7.2013,  03:31 Найти цитируемый пост)
пока не останется в конце одно единственное вещество

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

Попытайтесь переформулировать задачу. Может удасться Вам помочь. Я, вроде, химию еще помню в довольно неплохой степени. Да и еще кто-нибудь здесь найдется, кто химию проходил не в школьном объеме.




--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
Lois
Дата 7.7.2013, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 19.5.2013

Репутация: нет
Всего: нет



К сожалению, Вы вместо того, чтобы прочесть правильно мой текст говорите о каких-то своих собственных идеях. Я удивляюсь как так можно неправильно понимать вроде такую простую и ясную вещь. Причём Вы в этом не одиноки, я уже это встречал не раз относительно этой задачи.
Приходится уже который раз повторять одно и то же. Что не очень интересно.
Речь идёт только о символах и о базе данных хим. реакций, которую я скачал из сети.
Есть реакция в базе, она выводится, нет не выводится.
Никаких условий реакций вообще. Если несколько реакций с одними и теми же веществами, они все выводятся, так как берутся только символы, без учёта коэффициентов. 
PM MAIL   Вверх
Pavia
Дата 8.7.2013, 05:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 6.12.2008

Репутация: 11
Всего: 12



То что вы химию не знаете это ваши проблемы. По поводу базы данных она содержит циклы или нет? Сколько веществ имеет вход, но не выход в процентном отнашении к общему числу веществ?
Результат легко предсказуем либо будет зацикливание либо не будет. А так как смесь идёт по кругу то выход из цикла возможен любым случайным образом.
PM MAIL   Вверх
_Y_
Дата 8.7.2013, 08:46 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



Цитата(Lois @  7.7.2013,  23:17 Найти цитируемый пост)
как так можно неправильно понимать вроде такую простую и ясную вещь. Причём Вы в этом не одиноки
 Может в консерватории что-то не так?  smile 

К сожалению, понять Вашу задачу сложновато. Можно только догадываться. Попробую:
  • Вы хотите создать игру, к реальной химии отношения не имеющую, но использующую химическую символику. В этом случае, конечно, можно делать все, что душе угодно - лишь бы игрокам было интересно.
  • Вы хотите создать учебную программу для школьников, только начавших изучать химию. Пока школьникам не объяснили первые принципы химических взаимодействий, им дейсвительно дают только примеры простых химических реакций. Может и будет польза от такой программы.
  • Что-то третье, до чего я не додумался.

Алгоритм программы будет, естественно, зависеть от поставленной задачи. 

Если это игрушка (первый случай), можно просто расставить в базе данных приоритеты реакций. Типа: Если для первой реакции есть исходные реагенты, она и идет. Если для первой нет реагентов, переходим ко второй. И так далее. Надо будет просто добавить такие приоритеты в БД. Если хотите посложнее - проходить по базе  итерационно до тех пор, пока заданные в ней химические превращения не прекратятся. Поскольку стехиометрию считать все-таки придется, получится, естественно, смесь веществ, но практически всегда одного вещества будет больше всего, второго несколько меньше, и так далее.

Во втором случае сложнее. Все-таки учить школьников абсолютной ахинее не надо. Да и не знают они еще о свойствах всех элементов. я бы ограничил число элементов и реакций изучаемыми где-то в первой четверти. Получится пара десятков элементов, наверное, и не так уж и много уравнений химических реакций. В этом случае даже без иттераций можно будет обойтись. Главное не создавать у школьников впечатление, что такой тренировочной программой вся химия и ограничивается.

Так что раскройте задачу поподробнее - а то сплошные догадки получаются.



--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
Lois
Дата 8.7.2013, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 19.5.2013

Репутация: нет
Всего: нет



Что-то третье- что это именно я узнаю, когда будет готова программа. Речь идёт с образной точки зрения о том, что комп станет чем-то вроде реактора. И с моей точки зрения могут быть какие либо сверхъестественные явления при вычислении.
Насчёт циклов не понял. Я не думаю что надо на это обращать внимание. Тем более, что там будет фигачить рендом.

Добавлено @ 15:10
Цитата(Pavia @ 8.7.2013,  05:32)
То что вы химию не знаете это ваши проблемы. По поводу базы данных она содержит циклы или нет? Сколько веществ имеет вход, но не выход в процентном отнашении к общему числу веществ?
Результат легко предсказуем либо будет зацикливание либо не будет. А так как смесь идёт по кругу то выход из цикла возможен любым случайным образом.

Напишите конкретно формулу, какие циклы вы имеете ввиду.

Это сообщение отредактировал(а) Lois - 8.7.2013, 15:10
PM MAIL   Вверх
Mirkes
Дата 9.7.2013, 14:47 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 586
Регистрация: 18.8.2011
Где: Красноярск

Репутация: 4
Всего: 17



Интересно, что следующее будет Случайным? (Человек люто ненавидит русский язык и плохо знает английский оттуда и "рэндомный").

Если Вас интересует моделирование такого сорта, обратитесь к хорошо разработанному формализму - кинетической машине Кирдина. Делает именно то, что вы хотите.

То, что Ваша задача не имеет отношения к химии - это факт. Поскольку в соответствии с принципом детального равновесия ВСЕ реакции обратимы, что следует из второго начала термодинамики).
На этом кончаю с химией.
Вообще говоря вам нужна примитивная реализация цепей (алгоритмов) Маркова. Думаю, что таких программ тьма, выберите наиболее приятную и используйте.

Заранее могу сказать что на выходе НИКОГДА не будет одного вещества - только смеси.

Успехов в рандомизации науки!

PS предлагаю следующим рассмотреть вопрос "Сколько проживет бухгалтер, который выдает сотрудникам зарплату в соответствии с ответами генератора случайных чисел?"

Это сообщение отредактировал(а) Mirkes - 9.7.2013, 14:50


--------------------
Mirkes
PM MAIL   Вверх
_Y_
Дата 11.7.2013, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



Кстати, вспомнил. В сети еще можно, наверное, найти очень хорошую учебную программу, которая называлась Medusa. Разработана она была в Швеции, в Королевском технологическом институте, на кафедре Неорганической химии. Распространялась бесплатно.

Чтобы проще было искать, в английском варианте это Inorganic Chemistry, Royal Institute of Technology, а в шведском Ookemi, Kungl Tekniska Högskolan. 

Программа позволяла рассчтитать что получится в водном растворе при введении в него заданных компонентов и достижении химического равновесия. Учитывалось и выделение газов, и выпадение осадков. У программы была и БД, описывающая химические равновесия. Если не ошибаюсь, БД была составлена на базе очень надежного справочника Critical Stability Constants и дополнена данными из менее надежного, но более полного многотомника Stability Constants. Понятное дело, всех мыслимых реакций никакая база не включит, но там реакций было довольно много.

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

Интерфейс действительно выглядел как таблица Менделеева, но при нажатии на элемент выскакивал список веществ или ионов (не помню уже), данный элемент содержащий.

Думаю, если эту программу запустить на современном компьютере, да прилепить к ней простенький случайный выбор компонентов, что-то требуемое и получится в рамках реакций, происходящих в водных растворах. Проблема в том, что программа была написана на давно покойном VB, а термодинамика считалась вызовом DLL написанной еще на старинном Fortran.


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0501 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.