Wolfram言語

加工食品の成分ネットワークを作成する

加工食品には,着色料や保存料等のさまざまな原材料が含まれている.Wolfram言語は,何千もの計算可能な食品原材料の実体の詳細なリストを持つため,10万以上の加工食品およびその原材料の分析が簡単にできる.

たとえば,粉末レモン等の特定の原材料を含む食品を簡単に見付けることができる.

食事制限を満たすために,ある原材料を含まない食品を見付けることも簡単である.たとえば,ベジタリアン用に,ラードを含まないリフライドビーンズを探す.

食品の実体クラスで最も一般的な原材料のペアを求める実体関数を書く.

この実体関数を使って,最もよくペアで使われる原材料で,いくつかの食品ブランドを比較する.

もちろん加工食品の原材料についてもっと大規模な分析を行うこともできる.まず,USDA Branded Food Products Databaseの約6万7千の食品の原材料リストを見付ける.

それぞれの食品について,原材料のすべてのペアおよびその頻度を求める.

最も一般的な原材料のペアの上位5つを求める.

重み付きの原材料のペアと,個々の原材料が現れる頻度のグラフを作成する.

まず,個々の原材料が現れる頻度を求める.

重み付きの原材料とペアの重みからグラフを作成する.結果のグラフは5千以上の頂点と70万以上の辺を持つ非常に大きいものになる.

その大きさにかかわらず,グラフは連結されている.これは,これらの食品の原材料リストの中の任意の2つの原材料のペアの経路が存在することを示している.

原材料ネットワークの中心,つまりほとんどの原材料とペアになる原材料を求める.

最もよくペアを形成する原材料を求める別の方法として,ネットワークのページ・ランク中心性を計算するというものがある.これで,塩,水,砂糖が最もペアを形成する原材料であることが分かる.

グラフ全体は大きすぎて可視化できないので,特定の原材料の隣接グラフを使わなければならない.

隣接グラフを3Dグラフとして可視化する.

辺と頂点の重みに従ってグラフにスタイルを付ける.完全なネットワークで計算されたように,構造がどのように接続されているか,最も一般的な原材料がグラフの中心にどのようにあるかに注意する.

完全なWolfram言語入力を表示する

関連する例

en