格雷欣法则、囚徒困境及其他

一个月没更新了。

原因是被业务需求压得厉害。连加了几天班(期间还去医院报到了几天)。

加班的原因。开发人日估算的太过乐观,导致上线时间点一延再延。最后都不太好意思见pd了抓狂

下周估计还会比较忙。好在最困难的已经过去了。

这里update下。算是拔草帖。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


零、格雷欣法则

0.1、官方解释:

格雷欣法则是一条经济法则,也称劣币驱逐良币法则,意为在双本位货币制度的情况下,两种货币同时流通时,如果其中之一发生贬值,其实际价值相对低于另一种货币的价值,实际价值高于法定价值的“良币”将被普遍收藏起来,逐步从市场上消失,最终被驱逐出流通领域,实际价值低于法定价值的“劣币”将在市场上泛滥成灾,导致货币流通不稳定。

0.2、一个例子:

古罗马时代,人们會私自从金银钱币上削下一小角,再將此種货币充当买卖媒介;因貨幣本身的貴金屬含量減少,货币的价值也减小。久而久之,人們很快就觉察到市面上的貴金屬貨幣越來越轻,就把未遭毀損的足值金银货币积存起来,只用那些不足值的货币進行買賣,而坏钱則漸漸把好钱从流通领域中排挤出去。为控制此一现象的蔓延,政府发行了邊緣帶有鋸齒刻紋的货币,如果货币边缘的刻紋被挫平,人们就知道被动过手脚。

0.3、我的看法:

上面两个都是copy来的,比较容易懂。写这个的原因是下面这个故事。

0.3.1、团购

最近有一个朋友来我这里玩。他之前创业搞过团购网站。火过一段时间,后来销声匿迹了。

他跟我说,最开始创业的时候,他们的盈利很好,而且在一个省会城市里能做到前三。但后来百团大战。各家大网站开始拼命烧钱,砸广告,扩大规模。于是他们慢慢就不行了。

在我看来,不创造价值的商业活动,是不正确的行为。所以我跟他开玩笑说,是因为其他团购网站开始耍流氓,所以他们拼不过人家。他说再做一次的话,也会走拼资本的路线。


一、囚徒困境

囚徒困境也是一个有意思的经济学概念。

警方逮捕甲、乙两名嫌疑犯,但沒有足够证据指控二人有罪。於是警方分开囚禁嫌疑犯,分别和二人见面,并向雙方提供以下相同的选择:

若一人認罪並作证检控對方(相關術語稱「背叛」對方),而對方保持沉默,此人将即時獲释,沉默者将判監10年。
若二人都保持沉默(相關術語稱互相「合作」),则二人同樣判监半年。
若二人都互相检举(互相「背叛」),則二人同樣判監2年。

最好的结果,肯定是两人都保持沉默。可惜往往并非如此。

曼昆在《经济学原理》里给出的方案是重复对手的行为,即对手不合作,你也不合作。如此循环。直到对手合作为止。

工作以后,我发现,舍己为人式的合作基本不存在。也符合经济学的判断。

1.1、佛

最近认识了一个对佛学颇有研究的老师,所以误打误撞地去旁听了一堂佛教分享。

期间老师讲外向性,要求每个人都舍己为人地替他人着想。几个学生挺的津津有味。


二、其他

作为一个技术博,最后还是共享一个小tips吧。

ubuntu下使用 intellij idea经常会遇到键盘不响应的问题。

最近搜了一下,发现是默认的输入法ibus在作怪。只要退出ibus再重启ibus就可以。





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要生成指定尺寸和指定位数的格雷码图片,我们可以使用Python的Pillow库和NumPy库来实现。 首先,我们需要了解什么是格雷码。格雷码是一种二进制编码,其中相邻的两个数之间只有一位二进制数不同。例如,4位二进制数的格雷码序列如下:0, 1, 3, 2, 6, 7, 5, 4。 接下来,我们将介绍如何生成指定尺寸和指定位数的格雷码图片。 步骤1:生成格雷码序列 我们可以使用递归方法生成格雷码序列。下面是一个生成n位格雷码序列的Python函数: ```python def gray_code(n): if n == 0: return [''] else: lower = gray_code(n - 1) return ['0' + x for x in lower] + ['1' + x for x in reversed(lower)] ``` 该函数将返回一个包含2^n个元素的列表,每个元素是一个n位的格雷码。 例如,当n=2时,该函数将返回:['00', '01', '11', '10']。 步骤2:将格雷码转换为二进制数 由于Pillow库只能处理二进制数据,因此我们需要将格雷码转换为二进制数。我们可以使用以下函数将格雷码转换为二进制数: ```python def gray_to_bin(gray): bin = '' bin += gray[0] for i in range(1, len(gray)): if gray[i] == '0': bin += bin[i - 1] else: bin += '1' if bin[i - 1] == '0' else '0' return bin ``` 该函数将返回一个二进制字符串,其中包含与输入格雷码相对应的二进制数。 例如,当输入的格雷码为'0001'时,该函数将返回'0000'。 步骤3:生成二进制图像数据 我们可以使用NumPy库生成一个二维数组来表示图像数据。我们可以使用以下函数生成一个指定尺寸的二维数组: ```python import numpy as np def create_image(width, height): image = np.zeros((height, width), dtype=np.uint8) return image ``` 该函数将返回一个指定尺寸的二维数组,其中的每个元素都是0。 步骤4:将二进制数转换为图像数据 我们可以使用以下函数将二进制数转换为图像数据: ```python from PIL import Image def bin_to_image(bin, width, height): image = create_image(width, height) for i in range(width): for j in range(height): index = i * height + j pixel = int(bin[index]) image[j][i] = 255 * pixel return Image.fromarray(image, 'L') ``` 该函数将返回一个Pillow图像对象,其中的黑色像素表示0,白色像素表示1。 步骤5:生成格雷码图像 最后,我们可以将上述函数组合起来生成格雷码图像。以下是生成指定尺寸和指定位数的格雷码图像的Python代码: ```python from PIL import Image import numpy as np def gray_code(n): if n == 0: return [''] else: lower = gray_code(n - 1) return ['0' + x for x in lower] + ['1' + x for x in reversed(lower)] def gray_to_bin(gray): bin = '' bin += gray[0] for i in range(1, len(gray)): if gray[i] == '0': bin += bin[i - 1] else: bin += '1' if bin[i - 1] == '0' else '0' return bin def create_image(width, height): image = np.zeros((height, width), dtype=np.uint8) return image def bin_to_image(bin, width, height): image = create_image(width, height) for i in range(width): for j in range(height): index = i * height + j pixel = int(bin[index]) image[j][i] = 255 * pixel return Image.fromarray(image, 'L') def generate_gray_code_image(n, size): gray_codes = gray_code(n) images = [] for gray in gray_codes: bin = gray_to_bin(gray) image = bin_to_image(bin, size, size) images.append(image) return images ``` 该代码将生成一个包含2^n张图片的列表,其中每张图片都是一个n位的格雷码图像。 例如,当n=3,size=256时,该代码将生成一个包含8张图片的列表,每张图片尺寸为256x256。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值