AiSOGによる気液平衡推算

2019.8.18

化学工学トップページ >
ASOG(Analytical Solutions of Groups)

今年(2019年)はASOG(Analytical Solutions of Groups)の50周年の記念の年になる。(E. L. Derr and C. H. Deal, Ind. Chem. Eng. Symp. Ser. Lond., 3(32), 40 (1969))

また、小島先生と栃木先生が「ASOGによる気液平衡推算法」という著書を講談社サイエンテイフイクから出版されてから40周年の年になる。

何か記念事業(講演会?)をとも考えているが、まずは自分のできることから考えてみた。
自分は、博士号を栃木先生のところで修得しているので、ASOG法とは少なからず縁があった。

そこでPirikaのページでも、

ASOG (Analytical Solutions of Groups)法による活量係数推算 2011.4.15
ASOG法による気液平衡推算(HTML5版) 2011.4.11

など色々紹介をして来た。
実はPirikaは今年(2019年)20周年記念になる。
その最初の最初から、JAVA版のASOG法を公開して来たことになる。

気液平衡の推算という意味では、ハンセンの溶解度パラメータ(HSP)を使って新しいWilson定数推算式を作ったりもして来た。

そうこうしているうちに、栃木先生も来年、大学を完全に引退されるとお聞きし、しかも、現状ASOGの最新パラメータで動作するASOGのソフトは存在しないともお聞きした。

ましてや、ASOGのパラメータを決定する過程は非常に難しく、新たに系統的にパラメータ決定は誰にもできない状況になってしまっていた。
(まー、先生の著書に記載されているASOGのプログラムはFortranやN88-Basicなので更新は難しいだろうが)

まず最初に行ったのは、ASOG法で気液平衡を計算するプログラムをHTML5+JavaScriptで書き直してブラウザー上で動作させることだ。
これは2011年に作ったものを流用して作り上げた。


溶媒ペアを入力して、Search Pairボタンを押すとASOGを計算するのに必要なパラメータを内臓データベース(DB)から検索してくる。

また実験値などがあればそれも検索してくる。

そして、Calc. AiSOGボタンを押すと気液平衡を計算する。

計算結果はReportに出力される。

また、Chartタブを選択すると、計算結果が表示される。
実験値がある場合には緑色の丸で表示される。


データベースには800以上の溶媒が登録されているので、800*799種類の2成分系の気液平衡が計算できることになる。

このAiSOGのプログラムと復刻版の「ASOGと気液平衡推算法」の書籍を合わせて、e-Bookにしようと計画している

(iPad用なら簡単なのだのが、Androidは?)(そんなもの欲しがる人がいるかは疑問という声はよく聞く。環境関連や医薬関係に絡めれば欲しい人は一杯いるとも聞く。コメントを送っていただければと思います。)

AiSOG: Artificial Intelligence for Solution of Groups

ここまでは、実はiは入っていない。iを入れなくてはならないのは、ASOGのパラメータを決定する過程だ。
ASOGでは溶液を構成するすべてのグループ(原子団)の局所活量係数を計算する必要がある。

この局所活量係数を計算するには、例えば、CCl3とC=Oのグループ・ペアに対して、4つのパラメータを決める必要がある。
このパラメータを決めるためには精度の高い気液平衡の実測値が必要で、古くはシンプレックス法、新しくはマルカート法で決定されて来た。

しかも、新しいペア用の4つのパラメータを決めるためには、他のグループ対のパラメータは先に求まっている必要がある。

そこで、パラメータ決定は遅々として進まなかった。

1979年の著書では、31グループ種(31:30=930種)に対して283種決定(30%)されていた。


Classical Thermodynamics of Fluid System(2016) では、520種(56%)決定されている。
1年で10種類も増えないスピードでしか決定されない。


そこで、ASOGのパラメータ決定にAIの方法を導入することを考える。

簡単に言ってしまえば、将棋や囲碁を強くするのと同じ、自己対戦法を取る。
(この自己対戦法を取るには、ある程度高い能力まで持っていく必要がある。)

実験値に対して誤差の大きなグループ対を特定する。
自己対戦により、より良いグループ対を選ぶ。
(ところが、あるパラメータを変更すると、そのパラメータを使っている溶媒ペア全体が影響を受けてしまうこともある。人間がやろうとすると気が狂う。)

それを延々と繰り返す。

新しいグループ対のパラメータを決めるためには、本来は精度の非常に高い気液平衡の実測値が必要になる。
そうしたデータはなかなか出てこない。

そこで、実測値、書籍等に記載のWilsonパラメータ、共沸のデータまで含めたデータセットを準備する。
特に共沸のデータは気液平衡の実測値に比べ10倍以上のデータが存在する。
しかし、気液平衡という意味では必ずしも精度の高いデータとは言えない。

そして、実測値とWilsonパラメータ、共沸データをある比率で評価しグループ対パラメータを決めていく。
(例えば、共沸データは1/10の重みでしか評価しない)

ΔY (X-Y線図のY誤差のトータル


こうして、AIに助けてもらい、31グループ種(31:30=930種)に対して720種決定(77%)したパラメータがAiSOG2019に搭載されている。

このAiSOG2019を用いて、234組のアルコール系共沸点の推算を行ってみた。
アルコール:25種類、パラフィン系炭化水素、芳香族炭化水素、シクロパラフィン系炭化水素、2重結合、3重結合含む:58種類

誤差の大きな系を特定してみると、を含むものが悪い。

ASOGのグループ定義では、CyCH:2個、C=C:4個となっているが、CyC=C(環に含まれる2重結合)を定義する必要が示唆される。
もしこの官能基を定義すると、自己対戦の際には、パラメータの精度が悪いのでCyC=Cが含まれるグループ対のみがなんども選ばれてどんどん修正されていくことになる。
(現在のバージョンではCyC=Cはまだ入っていない)

2019.8.18現在、グループ種は55種類に拡張され、決定率は1539種(51.8%)となっている。

グループ対決定用の機能や様々なレポート機能を搭載したプロ版は別途開発が進んでいる。
そちらは、ユーザーがユーザー独自の実験データを増やすとそれらのデータを再現できるように進化していく機能を搭載する。
(まだ完全ではなく、一部のユーザーにテスト的に使ってもらいフィードバックを受けている状態)

結局、AIにやらせる。と言っても、AIやり方を教えるのは人間であって、自分がわかっている以上には中々教えられない。
でもより強くなるように自己対戦レベルになると、ずいぶん楽になる。(ただ、この暑い時期はお休みさせているが。)

890種類の溶媒、6132実験データで最新のMac Mini (3.2GHz, 6コア、第8世代Core i7、16Gメモリー)で1539種決定できてしまうので、すごい時代になったと思う。

大学とかで気液平衡を測定したら、AiSOGでパラメータ化まで行い、類縁化合物は皆計算で出せるようにすれば、社会のニーズに答える事ができるのではないかと思う。
精度の高い実験結果しか使わず(共沸データは除いて)使える範囲は狭いけど、精度の高い計算をアピールする。
企業からの委託研究で気液平衡を測定したら、AiSOG化まで行なってフィードバックするとか。

会社とかでは、自社が使う化合物ばかり教え込んで、他の化合物はともかく自分のよく使うものに関して強いとか。
片っ端から共沸を推算して特許を書いてしまうとか。

AiSOGの大事なポイントは、使う人に合わせて進化、成長していく機構をASOGに持たせる。あたりだろうか。

こうした形で、ASOGが再びメジャーになる事を願って。

AiSOGを使った解析例などを順次公開していきます。
AiSOG2019はHTML5版なのでHPに置けばすぐ動くのだけれど、もう少し整備してから置こうと思います。
(全く反応がなければ置かないかもしれませんし。
2023.4.26 全く反応がないのでお蔵入り)

ASOGの書籍を電子書籍にして、AiSOGの計算ルーチンを電子書籍に載せてしまおうと格闘してきた。やり方を忘れる前にPirikaに載せておこう


Copyright pirika.com since 1999-
Mail: yamahiroXpirika.com (Xを@に置き換えてください)
メールの件名は[pirika]で始めてください。

「AiSOGによる気液平衡推算」への3件のフィードバック

  1. 勉強になりました ありがとうございました
    記事の中でASOGが再びメジャーになる事を願って 、とありますが今はメジャーでないということでしょうか
    また自己対戦させていくというところの詳細が気になりました
    ありがとうございました

    1. そうですね。UNIFACがほとんどで、ASOGが実働しているシステムは私のところぐらいでしょうか。
      ASOGのパラメータを遺伝子と見立て、適者生存の法則(遺伝的アルゴリズム)を使って、誤差が小さくなるパラメータの組みを探していきます。

      1. ご教示ありがとうございました
        不勉強でグループ寄与法全般についてまだまだ知らないことが多いので勉強してみます
        遺伝的アルゴリズムを使用するのですね
        わかりました
        ありがとうございました

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です