[制約プログラミング落穂拾い] はじめに:NDiSと制約プログラミング
こんにちは、山崎です。
このカテゴリでは、NDiSでずっと取り組んできた制約プログラミング技術に関連するちょっとした話題について、フォーマルにならずに書いていきたいと思います。
初回の今回は、NDiSと制約プログラミングの関わりについて簡単に振り返り、現時点で私が感じていることを書きとめておこうと思います。
NDiSの制約プログラミングとの関わり
1992年にNDiSで制約プログラミング技術に取り組み始めてからもう15年くらいになります。フランスのBull社が開発したCharmeという開発言語・環境を日本で販売する代理店となったのが発端でした。
その間、様々な実用システムで制約プログラミングを適用する傍ら、制約プログラミング技術を用いたパッケージ製品「シフト勤務自動スケジューラ 快決!シフト君」の開発・販売を行っています。 その一方で、自社開発の制約処理系(制約プログラミングライブラリiZ)の開発とWebでの公開を行い、以降のほとんどのシステム開発でiZを用いていて、実用システムの開発での可用性は実証済みです。
上記のようにNDiSの制約プログラミングへの取り組みは産業応用に重きを置いており、制約プログラミング技術自体の研究や学会での発表などには熱心に取り組んできたとは言えませんが、それでも幾つか学会・研究会での発表や関連技術の特許出願などを行ってきました。
constraint.orgのこと
またWebでconstraint.orgというサイトを運営しています。恥ずかしながらここのところメンテナンスができずにいますが、今後も情報を更新し、コンテンツを追加するなど、メンテナンスは続けていこうと思っています。
日々の業務でずっと制約プログラミングは使い続けていますし、折にふれ色々と思うことはあるのですが、 constraint.orgのような形態だと、そうした日々の思いを書くのにはそぐわない部分があって、新しい企画を思いついても、思いつきの状態でconstraint.orgを更新するわけにもいかないまま時間が経ってしまう状況が続いていました。
blogはそうした日々思ったことを書き留めておくには格好のツールですので、この場に思いつきレベルであってもアイデアを書き溜めていって、或る程度まとまってきたら整理した上でconstraint.orgのコンテンツにしていけたら、といったムシのいいことを考えています。まあ、ほとんどは落穂拾いのままになってしまうかも知れませんが、、、
何故落穂拾いか?
これは勝手な思い込みかも知れませんが、制約プログラミング技術の可能性はまだ汲みつくされていない、寧ろ、パラダイムとして浸透していくのはこれから(もしかしたら、もう少し先)か、というような感じを私は抱いています。
その一方で、制約プログラミングは私が生まれる以前の、人工知能の揺籃期にすでにその先駆が見られ、人工知能華やかなりし時期には、新世代コンピュータ開発機構(ICOT)の研究テーマの一つでもあり、日本がその発展に深く関わった技術であったようです。 NDiSが制約プログラミングに取り組んだのも、論理プログラミングの開発環境の開発・販売や、住宅生産用の大規模で実用的なエキスパートシステムの構築といった流れに添ってのことでした。
流行現象としての人工知能ブームは遥か過去のものとなり、一見、人工知能は終わってしまったかに思えるかも知れません。しかし実際には、多様に分岐した研究分野のそれぞれで研究が続けられていますし、「人工知能」とは呼ばれなくても、人工知能に出発点を持つ技術の産業応用も行われています。
ここでは制約プログラミングにまつわる様々な話題を書いていこうと思います。最新の情報もお伝えできればと思いますが、そうでないものでも、あまり紹介されているのを見かけないものなどは取り上げて行きたいと思っています。
常に先端の技術が耳目を集めるこの業界には、温故知新という言葉はそぐわないかも知れませんし、最先端の研究者にとって、落穂拾いが関心の埒外なのは仕方ない気もします。
けれども、制約プログラミングについてモノグラフ的に扱った日本語で書かれた書籍をここ20年程見かけないという現実もあり、あくまでも個人的な関心の及ぶ範囲ですが、この場でそうした空白がわずかでも埋められたら、そして、それを通して制約プログラミングの普及に少しでも貢献できたら、と思って今後記事を書いていこうと思いますので、よろしくお願いします。