D 的个人博客

开源程序员,自由职业者

小而美的 Java 博客系统 Solo
Golang 在线 IDE Wide
黑客与画家的社区 Sym
  menu
397 文章
1,688 评论
3306723 浏览
15 当前访客
ღゝ◡╹)ノ❤️

吃什么

相信大家都有出现过不只一次“吃什么?”的经历吧,虽然那感觉不至于糟糕到让我们不知所措,我们也一直没那它太当回事,但其实这真的是一个问题,而且是一个很难解决的问题。

出去吃还是自己做

这是两个完全不同的方式。

对于出去吃,我们要考虑饭店、路线,到了后根据菜单点菜就餐,最后应该还会小结一下哪些菜不错,哪些糟糕。对于自己做,先要想好这顿想吃什么,需要买哪些菜,然后买菜做饭,最后也应该会小结一下哪些菜烧得不行。

出去吃时我们最关注的是味道,自己做时我们最关注的是做法。不过无论我们是出去吃还是自己做,时间一长,大多数人都会面临一个问题:吃什么,特别是每个工作日的中午。

决定

如果我们认真分析,我觉得这是个人感性与理性的体现,是自我否定与肯定的体现……纠结。

要解决“纠结”,有个最简单的办法,那就是扔硬币,通过一系列随机事件确定最终结果[1]。比如说我们可以扔硬币决定是出去吃还是自己做,然后列出想吃的菜肴,扔硬币决定吃什么。实际上经常这么做的人不存在(偶尔来一次还是不错的),因为这个方法效率不高。

即使是扔硬币,我们也是需要决定一些要素。

数量

首先我们得确定有几个人要就餐,这样我们才能进一步确定要吃多少个菜,或是需要几个套餐。这个要素我们可以非常容易就确定了,但是接下来大麻烦来了。

菜单

这个要素是我们最头疼的问题,是我们要解决的最关键的问题(没有之一)。

先来看看平常我们的情况:

  • 出去吃:一个人的时候往往比较随便(凑合一顿),几个人在一起的时候点菜就需要考虑一番,要照顾到每个人是不可能的,但也不能忽略别人
  • 自己做:这个的随意性相对出去吃要大一些,自己做时比较容易确定菜单,但自己做的问题是不容易做新菜,想做一个从未做过的菜时无从下手。(我们自己所谓的“家常菜”一般不超过 10 个菜吧)

这两种情况都有些淡淡的恼人啊,先不管怎么解决,我们可以想象一下今后应该是这样的:

  • 出去吃:在约好人后,去哪吃、吃什么已经自动确定了
  • 自己做:可以开始学做别人的“家常菜”了

EW 应用

Eat-Wanted(EW) 是一个能够自动推荐给用户吃什么的应用。

我们知道程序是把输入变为输出的过程,EW 应用也需要给她一些输入信息,但随着我们使用的深入,输入的信息量应该会越来越少,因为她是一个非常智能的应用。

推荐

从我们自己计划吃什么转变为 EW 帮助我们计划,我们只要给 EW 很少量的信息(例如数量)后它就给出了“吃什么”的解决方案。

在推荐这个环节中,EW 会遵守下面几个原则:

  • 随机:最基本的要求是要随机,但也要控制少量次数的均匀。比如上一顿吃了黑椒牛排,这一顿应该不能随机到菲力牛排
  • 就近:应该是推荐附近的饭店
  • 单一方案:最终的方案应该只有一套,描述了去哪吃以及吃什么

反馈

反馈是就餐完毕后的一个可选环节。我们可以反馈给 EW 一些信息,让她更了解我们的就餐习惯。这好比你的 Honey 在了解你的生活习惯后就会非常贴心地照顾你,那感觉我们都懂。

产品化

(这部分内容主要是面向 EW 开发团队)

减法

前面我们讨论了吃什么的两种方式:出去吃,自己做。目测我们之中的大多数都是出去吃居多(一日三餐平均要出去吃两餐),EW 产品化的第一步就是把“自己做”的支持去除,做好“出去吃什么”。

难点

菜单初始化

EW 在线时会更新菜单数据也会提交本地的菜单数据到 EW 服务器,菜单数据是用户输入的,我们需要找到一个有趣的方式吸引用户输入菜单(例如任务、签到之类)

推荐算法

这是 EW 服务器端的实时推荐算法,在某个 EW 请求推荐时需要考虑:

  • 随机
  • 菜的评分
  • 商家评分
  • 最多搭配
  • 最少搭配
  • 拥挤情况
  • 天气
  • 心情
  • 工作情况

这些因素将赋予不同的权重,最终筛选出一个唯一的方案。

盈利

  • 饭店商家:入驻 EW 后可以为其提供更多的推荐机会
  • AD

习惯

需要培养用户的使用习惯,餐前使用 EW 选餐,餐后使用 EW 记录(比如这顿吃了什么新菜,什么菜比较好吃),将 EW 使用融入到吃饭中作为人们的日常。

未来

随身设备

随身(可穿戴)设备可以随时收集我们的个人身体状态(体重、体温、血压、心跳等),这些数据可以帮助分析出适合自己的饮食结构,EW 会从健康的角度出发,再结合我们的习惯计划出最适合我们自己的餐饮方案。

随着网络的普及、廉价,在未来每个人是可以通过随身设备时刻在线的,这意味着我们每时每刻不但可以从网络上获取数据,同时我们也可以直接提供数据给其他终端,未来的网络服务不是单一的公有云化,私有(个人)云服务也会随之兴起[2]

参考

  1. 随机决定论——不为吃什么发愁的终极方法
  2. 信息的私有与开放

评论
  • 倒了.
    那年做餐饮的倒了很多

    Reply
  • 这家公司后来怎么样了

    Reply
  • 我可以一周吃两次烧茄子盖饭,两次西红柿鸡蛋盖饭,两次宫保鸡丁盖饭,一次随机,周而复始,从不困扰

    Reply
  • 原来想说做个小程序,搞个可配置的大转盘,随机挑选午饭吃什么。楼主这个复杂了点。不过中午吃什么的确是困扰小白领的世纪难题。

    Reply
  • 所以,程序员吃个饭还要写段代码

    Reply
  • zempty

    前排混脸熟😇

    Reply
  • sky

    你好,我问下,我在把b3log solo部署到阿里云服务器,遇到首页找不到,这个是指定哪个首页啊?访问地址:http://115.29.37.229,另外,我问下,latke.properties文件中的contextPath、staticPath配置分别是干嘛用的,为什么要配这个,费解,谢谢解答。

    Reply
  • @bigzhu 后来那公司挂了....?

    该评论同步自 B3log 社区

    Reply
  • bigzhu

    几年前看过一个订餐的创业公司安案,很类似,让系统来帮你选吃什么.

    该评论同步自 B3log 社区

    Reply