#食谱生成器与营养计算器的核心部分设计#

闲来无事,又把快手下载回来,一打开就被扑面而来的美食震撼到了,在看了大约1024个美食视频后,我发现了一个规律,任何的饭菜、面食都由3种元素组成:主食、配菜、调味。于是忽然想起去年的一个需求:菜谱生成与营养计算器,一时兴起,设计一下核心部分。

首先,没有算法模型的应用是没有灵魂的,这里引入n元一次方程作为算法模型,f(menu)=ax+by+ ··· +c,省略号代表若干个参数乘以未知数,参数代表烹饪方式,c代表调味。这里主食和蔬菜可以合并,统一表示为未知数x, y, ···

再使用参考文献[1]中的中国食物成分表数据和参考文献[2]中的烹饪方式、调味品数据,(见附件一)一个菜谱随机生成器的算法部分就有了。举个例子,a, b, ··· 随机从烹饪方式数据中抽取,x, y, ··· 随机从食物数据中抽取,c从调味品数据中抽取,就变成了:f(menu)=蒸米饭 + 白切鸡 + 酱油。

以上,菜谱生成器的核心算法就做好了,接下来就是营养计算器的核心算法设计。为了引入食物分量和营养成分维度,营养计算器的算法模型基于菜谱生成器的算法进行升维,原公式的参数升级为:食物交换份常数烹饪方式对食物各种营养素的影响矩阵,如aA,未知数升级为营养矩阵,如x,常数c升级为调味品的营养矩阵C,模型为:f(nutrition)=aAx+bBy+ ··· +C。

*食物交换份:各类食物提供同等热卡90千卡的重量,叫做1份食物交换份。

同样以上面的菜式(蒸 米饭 + 白切 鸡 + 酱油)举例,计算该食谱的营养:f(nutrition)=一交换份*蒸(营养素影响矩阵)米饭(营养矩阵)+一交换份白切(营养素影响矩阵)*鸡(营养矩阵)+酱油(营养矩阵)。

接下来就是业务部分:

如果考虑食物偏好,可以建立用户个人的食物偏好评分表,将分数高的食物排序靠前,同时,如果用户选择某样食物次数多了,也可自动增加食物的偏好分数。

如果考虑食物组合优先程度,可以建立食物组合评分表,将分数高的食物组合排序靠前。

如果考虑用户过敏、疾病等情况,自动根据疾病屏蔽过敏食物、根据疾病计算碳水化合物、脂类、纤维素等相关营养素的摄入量。

参考文献:

[1]陈秋月. 食物交换份法生成食谱的膳食质量评估的研究[D].天津医科大学,2015.

[2]烹饪.百度百科

[3]美食制作视频1024个.快手

附件一:中国食物成分表数据、烹饪方式、调味品数据

一、中国食物成分表数据







二、烹饪的方式

1.油传热:

  • 炒,煎,贴,烹,炸,熘,煸。
  • 炒后水传热:熬,烩,焖,烧,扒

2.水传热:

  • 氽,涮,煮,炖,煨,焐

3.汽传热:

  • 蒸,鲊

4.其它:

  • 卤,酱,熏,烤,炝,腌,拌,拔丝,焗:

三、调味品列表在烹饪中使用到的调味料有:

食盐、酒、白糖、食醋、酱油、味素、辣椒、胡椒、花椒、小茴香、大茴香、肉桂、桂皮、陈皮、葱、姜、大蒜、番茄酱、五香粉、八角、柠檬、鱼露、虾酱、薄荷、豆豉、面豉、南乳、腐乳、蚝油、麻油、芝麻酱、XO酱、丁香、月桂叶、迷迭香、香草、豆蔻、九层塔(罗勒)、鼠尾草、百里香、薰衣草、茶叶等。

食谱生成器与营养计算器的核心部分设计相关推荐

  1. 最好用的营养计算机软件,营养计算器(标准版)

    营养计算器(标准版)是普及版营养计算器软件,它是在营养计算器标准版的基础上删繁就简凝炼而成,是最简单.最容易使用的一款营养计算器软件,能简单快速的计算每日膳食营养摄入量,对营养指标进行简单分析.适宜于 ...

  2. 营养计算器操作指南--快速入门

    营养计算器软件截图 (版本:v2.65.08) 软件简介 营养计算器是飞华营养软件工作室自1996年开始研发的营养计算与膳食分析软件,适用于专业营养师或个人家庭用于对三餐饮食营养摄入量进行计算与分析, ...

  3. 基于聚类分析和协同过滤算法的营养膳食分析系统的设计与实现

    1 简介 今天向大家介绍一个帮助往届学生完成的毕业设计项目,基于聚类分析和协同过滤算法的营养膳食分析系统的设计与实现. 1. 协同过滤的算法思想 1.1. 基于内容的推荐中不足之处 基于内容的推荐方法 ...

  4. 以核心体验设计为引,深入剖析“打铁”游戏《只狼》的精妙之处

    丨从策划角度还原<只狼> 前言 在大多数单人游戏设计中,设计的起点往往是一个念头,设计者想要传达给玩家一种感受或是一种体验,以此为出发点最后设计出一整个游戏.为了传达这种体验,设计者为此设 ...

  5. 计算机操作系统的新技术新知识,计算机操作系统教程:核心与设计原理

    计算机操作系统教程:核心与设计原理 语音 编辑 锁定 讨论 上传视频 <计算机操作系统教程--核心与设计原理>是2007年清华大学出版社出版的图书,作者是范策.许宪成.黄红桃. 书     ...

  6. Hadoop精华问答:Hadoop框架最核心的设计是?

    2006年项目成立的一开始,"Hadoop"这个单词只代表了两个组件--HDFS和MapReduce.到现在的13个年头,这个单词代表的是"核心",今天我们就来 ...

  7. HDFS中四个核心的设计

    HDFS四个核心的设计包括:心跳机制,安全模式,副本存放策略,负载均衡. 心跳机制: Hadoop是Master/Slave结构的,Master和Slave之间就是通过心跳机制进行通信的. 具体流程: ...

  8. Visual C++实现推箱子游戏的核心算法设计与实现(附源码和和资源)

    需要源码和资源请点赞关注收藏后评论区留言私信~~~ 在前面的博客中已经讲解了推箱子游戏的菜单和各种对话框的实现,下面对推箱子游戏的核心算法设计和实现进行讲解 一.地图文件读取模块的设计与实现 地图文件 ...

  9. 计算机系统设计原理pdf百度云,计算机操作系统教程--核心与设计原理习题1答案.pdf...

    计算机操作系统教程--核心与设计原理习题1答案.pdf (4页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 习题 1 1.1 什么是操作系统 ...

  10. 已知稀疏多项式C语言版,一元稀疏多项式计算器C语言课程设计

    <一元稀疏多项式计算器C语言课程设计>由会员分享,可在线阅读,更多相关<一元稀疏多项式计算器C语言课程设计(26页珍藏版)>请在人人文库网上搜索. 1.学号2014-2015学 ...

最新文章

  1. 千里之行,始于OKR——轻雀协作团队管理分享
  2. QT+VS打包发布流程该怎么做?
  3. pythonurllib模块-python爬虫之urllib模块和requests模块学习
  4. CentOS 6.5 LVM磁盘管理学习笔记
  5. Java EE CDI ConversationScoped示例
  6. Maven的依赖插件
  7. CentOS7.x以上版本配置DNS失效解决办法
  8. JAVAWEB入门之Servlet相关配置
  9. 10月25日学习内容整理:数据操作:增加更新删除,单表查询操作
  10. C++ Primer Plus 随记(第八章)
  11. php 写一个大富翁游戏,抽奖系列:如何用纯js做一个大富翁游戏
  12. Java通用工具类之按对象属性排序工具类
  13. 文件系统读写Linux文件系统损坏的修复技术Strut2教程-java教程
  14. C#-SpecialFolder-特殊路径获取
  15. 2020车载凯立德懒人包下载_【汽车导航升级】2020抖音最新流行音乐包 无损 可CD刻录福利分享...
  16. 2020年内蒙古自治区第十五届大学生程序设计竞赛榜单
  17. ValueError: y contains previously unseen labels: ‘103125‘
  18. 仲至信息与Cornet Solutions签订日本经销合同
  19. 算法(Algorithm)
  20. android 混淆后的机制,Android 代码混淆机制

热门文章

  1. 【ncnn】源码阅读理解(三)——blobs
  2. 【个人网站】个人网站搭建预备工作
  3. 达索SOLIDWORKS PDM让你的团队协作更紧密
  4. Java学习之面向对象
  5. Python中条件判读语句if的使用详解
  6. ESP8266-Arduino编程实例-TTP223 电容式触摸传感器驱动
  7. 超级表格企业版收费即将进行政策调整
  8. 超级表格全新升级,这些功能你不可能在其他软件上看到
  9. 京东后台->京东商智uuid算法
  10. 常见设备/CMS默认口令