​教培行业的6个假设和3种结局

作者:信口说
转载自公众号:信口说
导语
教培行业从遍地广告、资本追逐,到顶格处罚、大范围裁员、上市受阻,和“教培行业要黄了吗”的深深担忧,只经历了不到半年。

为了规范教培行业,教育部甚至专门成立校外教育培训监管司。

对教培行业的讨论,也从少数的从业者逐渐扩大到更多的人,从教育焦虑、虚假广告、商业模式的具体问题,逐渐延伸到对国家政策、社会公平、选拔机制的深入辩解。

短期视角下,教培行业的从业者们确实有足够的理由去焦虑。但是,从长期的视角去看,十年、二十年,甚至更长的时间维度下,教培行业最终可能会发展成什么样的格局?

在这场尚未定局的教培行业变革中,或许我们可以从已有的一些经验中看出未来的模样。

1

日韩模式:竞争和选拔

1、假设降低义务教育阶段的学习难度和竞争压力,是否能减缓教育压力,从而减少校外培训需求?

不用假设,这件事在历史上发生过,不过是发生在日本和韩国。

从“二战”结束到1970年代的三十年里,日本经济高速增长,居民生活越来越富裕,但学校教育却出现了很多问题。

战后的第一批婴儿潮在1960年前后陆续参加初高中升学考试,考生人数一路增加导致升学竞争加剧,为了让孩子在考试中脱颖而出,部分家庭产生了对校外教育培训的需求。而60年代末日本中小学教育的第三次改革,把现代科学的先进研究成果编入教学计划中,导致学习难度进一步加大。

当时“填鸭式教育”愈演愈烈,参加校外培训的学生数量激增,从而爆发第一次“学习塾潮”,到1962年日本中学生入塾率已高达30.3%。

日本文部科学省将以上现象归因为学生的学习内容太多、太难。同时,社会对“填鸭式教育”有了越来越多的批评,希望培养学生的独立思考能力。

1977年,日本政府发布《学习指导要领》,推行“宽松教育”,逐步减少教育内容,旨在让学生“过上宽裕而又充实的学校生活”。

但随之而来的不是学生教育压力的降低,而是校外培训的爆发式增长。中小学的学习难度和内容是减少了,但名校竞争局势仍然激烈,公立学校的宽松教育状况和激烈的竞争升学考试不对称,导致更多学生投向“学习塾”。

进行课外补习的学生总数从1977年的310万人增至1985年的450万人,到了2004年已有945万学生参加,学习塾出现爆发式发展、供不应求和参与者低龄化的特征。目前日本最有名、升学率最高的私塾:河合塾、东进、骏台、武田塾、代代木、kumon,正是在这一期间得到了快速发展。

​教培行业的6个假设和3种结局

同样,韩国在1974年开始实施高中“平准化”教育,倡导教育均衡,取消普通高中和重点高中之分,所有初中毕业生按学区划分,通过推荐、书面材料等方式就近升入高中,废除了初升高考试,至此小学到高中各阶段的入学考试全部取消,希望以此减轻升学竞争压力。

和日本“宽松教育”的问题一样,韩国的“平准化”教育也没有带来想要的结果。均衡化的课内教育不能满足激烈竞争之下家长的个性化教育需求,因此纷纷转向课外补习。

韩国的补习班被称为“学院”, 1975 年韩国有私立学院有 2977 个,1980 年增至 5023个,1990 年继续增至 28862 个。平准化教育主导时期,课外补习机构数量持续上升,到2003 年韩国 K12 课外补习参与率高达 68.8%。

​教培行业的6个假设和3种结局

2、假设一刀切禁止校外培训,结果会怎样?

韩国就干过这样的事情。

1980 年,为应对过度竞争的高考课外补习热,韩国实施了“7.30 教育改革”,措施包括大学扩招、取消大学各自的入学考试等,对高考录取进行宽松处理。同时,颁布了《教育规范化及消除过热的课外补习方案》,禁止一切教育补习行为。

然而,禁止补习的政策并没有得到家长的支持,补习的需求广泛存在,导致禁止政策并未起到实质性的作用,私人补习禁而不止,反而带来了更多的问题。

无奈之下,韩国政府逐步放宽了对补习教育的限制,政策的重心开始转向由高额辅导费用所引起的社会公平问题上,甚至组织公立学校对有需要的学生进行课外辅导,主要惠及农村和低收入家庭子女,以降低课外补习给家庭带来的经济压力和社会公平问题。

到2000年4月,韩国最高法院宣布,政府禁止学生参加课外补习班的规定侵犯了家长和学生的学习权利,违反了宪法。这一政策颁布后,社会培训机构迅速反弹,加速增长。当前,总人口只有五千万的韩国,教培机构却近十万家,仅仅是讲师人数就多达三十几万。

这样的教育乱象之下,韩国创造了一个世界纪录,就是学生用于补习班的人均费用全世界第一。在韩国最著名的大峙洞地区有一个“补习班一条街”,仅仅这一条街每年就有20万亿韩元的收入,约等于1200亿元人民币。而在14亿人口的中国,教培行业市值第一的好未来,发展了近20年,2020年的收入也只有287亿元。

3、如果高考成绩不作为唯一的选拔目标,加之更多的素质教育内容,结果会怎样?

韩国也有这样的案例。

韩国大学的录取,其实有三个指标:

第一是校内考核,占总成绩的70%。指的是学生高中三年每次统考的成绩,以及在学校的排名统计,将会以复杂的算法折算成分数计入高考总成绩。

第二是高考分数,占总成绩的30%。

第三是生活记录本。其实就是学生的素质评价,里面会详细记录学生参加的各种社会活动、竞赛的名次、特长,甚至是读书笔记。校内考核+高考折算下来的分数,决定学生能报考哪个大学,但面试决定了能否进入大学,生活记录本就是最重要的参考指标。

韩国政府推行记录本的本意是为了减少教育负担,推行素质教育。但是,这样的素质教育同样是拿钱堆出来的。

只有进入有名的私立高中,花钱请各种老师,才有丰富的社会活动和竞赛经历。而经济拮据的普通家庭,根本无法同时应对学科考试和素质教育的双重压力。

韩国曾经拍过一个纪录片,叫《学习的背叛》,里面就详细记录了三位来自普通家庭学生的经历,看完纪录片,你会发现:宽松的高中教育之外,有钱人的孩子会去价格高昂的补习班、花钱尽可能参与各种社会实践活动、有专人帮助整理生活记录本、购买心仪大学的各种情报以应对面试……即使在同一所优秀的学校接受相同的教育,父母在孩子教育上花费的金钱还是会硬生生的将他们拉开差距。

教育的升级之路,终究是靠拼爹的。

​教培行业的6个假设和3种结局

在日韩的特殊社会环境下,教培行业的困境,从来就不是人民日益增长的对优质教育资源的需求和优质教育资源不足的矛盾,而是人民都想要成为教育竞争的胜利者和竞争选拔机会有限的矛盾。只要顶尖名校的毕业生能获得更好的工作和生活机会,而顶尖名校每年的招生数量只占全国考生的不到万分之一,这种矛盾就会长期存在。

而这困境的根源,是在一个阶层逐渐稳固的社会体系,教育扮演了一个带动社会上下流动的公平角色。为了公平的目标,教育几乎是唯一一个有效的手段。

但一旦有选拔,就会有人在合理的范围内“抄近道”破坏公平规则。所以,即使政府在政策层面做了很多努力和尝试,但依然无法解决问题,反而出现了问题愈演愈烈的恶性循环。

2

美国模式:资本和阶级

4、假设教育不用担负社会公平的责任,按市场化机制,让好的教育资源和价格匹配起来,结果会怎样?

这样的情况,发生在美国。

美国的教育有两套体系,有钱的中产以上阶级上私立学校,走精英教育,没钱的普通家庭上公立学校,走快乐教育。你的家庭条件决定了你接受怎样的教育。

苏联解体后,美国开始在公立学校体系推行“快乐教育”,全面放松标准化考试对学生的束缚,减少对标准化理工科成绩的要求。二十年后,“快乐教育”忽视理化成绩而造成的弊端日益明显:有1/3的美国年轻人认为地球是平的、大学生不知道圆面积公示、面对银行时不知如何计算利率…

关于美国“快乐教育”的真相,可以参考之前写过的一篇文章《教育危机,失去的美国梦》。在美国,中下阶层越来越难通过教育改变命运,你的出身基本已经决定了命运,不管多么努力,终将在辍学、贫困的泥潭挣扎。

然而,在快乐教育之外,美国中产以上阶级的家庭,却深知精英教育的重要性。曾经获得普利策新闻奖的一位记者,跑到加州第一的惠特尼私立高中卧底一年,然后写了一本书,叫《美国最好的中学是怎样的》,其中说到了一个数字4,4小时睡眠,4杯拿铁咖啡,4.0的GPA成绩。真正私立高中的学习强度,其实不亚于中国的衡水中学。

精英家庭的孩子也会上各种补习班,日程从早到晚被安排得满满当当。据统计,美国私立高中90%以上的家长都给孩子请了家教。大量的普通家庭没有课外培训需求,少数的中产以上阶级催生了高昂的家教需求,这也导致美国没有大的K12培训公司。美国唯一一家上市的K12阶段的教育公司就叫K12,市值仅12亿美元,不过它的主要业务不是提供学科培训,而是为学区和公立学校管理在线项目。

另外,美国的知名大学基本都是私立的,而且其入学标准更加“市场化”。美国高校之间流传着这样一句话,叫做“一代藤校,代代藤校”,一方面是因为精英家庭比底层家庭更懂得教育和知识的力量,因此他们用手里可动用的资源、财富建立起了高高的教育壁垒,一步步将他们精心打造的孩子送到社会的上层。另一方面在美国常春藤名校中,每年有40%左右的学生属于特殊群体,比如社会名流、校友、超级运动员、大额捐助者的子女等等,只要你够格进入精英阶层的圈子,你的子女的录取率就会高。

这是残酷而现实的资本主义社会的现状。

日韩的教育理念强调社会上下流动的公平性,而美国的教育理念实则是维护阶级的自我强化。

对于美国的精英阶层,教育的核心使命不是让孩子“变得更好”,因为“变得更好”是为了被人挑选的,他们才是制定规则、挑选别人的人。

虽然教育机构会建立各种看起来公平的规则,让每一个人都能追逐“美国梦”。但最终那你会发现,精英们更容易适应、和在新的游戏规则中胜出。

在自由主义的话语下,备受期待的是“机会平等”,而不是平等。每个人都有平等机会去追逐“美国梦”,这是一个多么美好的故事。

但真相是,机会是平等的,获取机会的能力基础是不平等的。这样的教育体制,大多数的普通人也同样失去了希望。

3

德国模式:服务于社会

6、假设从最终的选拔结果上做改变,不去区分名校和普通学校,知名大学和职业学校能够获得的工作机会、工作报酬不存在很大的差距,是否会更好?

这样的假设,发生在德国。

德国是现代教育制度的策源地。

19世纪中期,第二次工业革命发展使得教育的普及成了社会发展的关键任务,当时的德国还是普鲁士,为了培养产业工人,普鲁士建立了8年制、以教师为中心、培养标准化人才为目标的“工厂式”的教育模式。而后美国效仿普鲁士,逐渐发展出“6+3+3学制”,即6年小学+3年初中+3年高中,自此,K-12教学体系形成,并推广到了全世界。

这套教育体系,分年级、分学科,最初是服务于工业革命中对产业工人的需求。但随着科学技术的发展解放人力,标准化的产业工人逐渐被机械取代,德国发现这样的“工厂式”教育不能再适用新的社会需求。

于是在1920年,德国颁布了新的教育制度:所有儿童接受四年基础教育,四年以后开始分轨,覆盖全民与分轨制两大特征使德国教育效果显著。此后逐渐形成了德国特色的教育体系,分为学前教育、初等教育、中等教育(第一阶段与第二阶段)、高等教育、继续(成人)教育五个阶段。

学前三年、小学四年。小学毕业后分流进入四种不同类型的中学:文理中学、职业中学、实科中学和综合中学。

文理中学的学制7-8年,第二阶段为高级部,毕业后可申请进入大学;职业中学的学制7年,毕业后进入职业学校;实科中学学制8年,其功能是中间性的桥梁作用,一方面学生毕业后可以接受职业教育,进入专业学校和专业学院,另一方面成绩很好可以转入文理中学;综合中学是包含以上三种类型的综合性中学。这四类中学之间,前两年是可以相互转学的,这也最大程度保障了学生按照自己的兴趣和特长来选择。

中等教育第二阶段学习完成后,学生进入大学或面向劳动力市场就业。德国的高等教育学校主要可分为综合大学、专科大学、职业学院三大类。“双元制”职业学校和职业专科学校的学生毕业后主要进入劳动力市场,成为熟练技术工人、技师,如果想继续深造,可通过文化补习进入应用技术型的大学学习。

​教培行业的6个假设和3种结局

德国教育体系图

德国的教育体制,变选拔为分流,而且学生在两次分流后,依然可以根据个人情况再次选择,不会出现一次选择决定终生的情况。教育体系中选拔和竞争的作用降低后,课外培训的需求也就几乎不存在了。

这里非常关键的另一点是:德国职业学校出来的毕业生的待遇不会比名校出来的待遇低,至少不会有歧视性的用工制度。学生不需要上很好的大学也能找到不错的工作,获得很好的收入,这是德国“双元制”教育体系成立的根源。但这一点,在很多国家短时间都无法实现。

其结果我们也能看到,德国既靠优秀的工人支撑起引领全球的制造业,也在科学研究的前沿贡献了大量优秀的科学家,真正做到了人尽其才、个人和国家利益的结合。

中国教培行业的现状更类似于日韩几十年前的情况,改革开放四十年促就一批人先富起来,越来越多的人希望通过教育改变命运,校外培训的需求快速增长,但我们绝对不会允许这条通往个人成就和社会公平的道路被破坏。

从社会效率和个人发展的角度去看,德国的教育体系一定是未来我们追求的方向,社会公平、人尽其才,每个人都能得到好的教育,每个人都有充满希望的生活。

张华考上了北京大学,李萍进了中等技术学校,我在百货公司当售货员,我们都有光明的前途。 

但教育改革的困难之处,不仅在于教育需要解决目前存在的具体问题、需要更多的社会配套机制,更重要的是,改革的效果需要等二十年、甚至更长时间,才能知道最终的结果。二十年的时间,对于社会发展可能很短,但对于个人,影响的是整整一代人。在任何一个改变之初,谁也无法预料最终会产生什么样的蝴蝶效应。

我们追求社会公平,但所谓公平,前提肯定是存在不公平,为了实现公平,就需要有人上升、有人下降,这时候既得利益群体必然会跳出来反对。在一个不均衡的社会,社会公平往往和相当一部分人的利益是冲突的。

教培行业的发展和冲突,只是这社会的一个缩影,虽然困难重重,但依然有很多人在尝试。

只要努力,就会有希望,不是吗?

– END –

转自:https://mp.weixin.qq.com/s/xqBeFOqiMtBU6JrMg87Zpg

人贩子最新骗术曝光,每年300万女性神秘消失

1、

最近在关注一个新的人贩子群体:

网恋人贩子。

一位读者给我写邮件,说她网恋遇到了人贩子。

人贩子?

我看完了她的故事,倒吸一口凉气,是真的吓人。

2、

她的故事大概是这样:

有一天晚上,不用上课,我有点无聊。

然后,我就打开了一个交友软件。

玩了没多久,就碰到了一个男生。

我看了他的照片,是真的很阳光,很帅气那种。

他说,能不能加微信聊。

然后,我就微信给他了。

我们在微信也聊了很久。

我翻看了他的朋友圈,有自拍,也有一些旅行和生活照,拍得很美,自拍也很帅。

再加上他很会聊天,感觉懂得也很多。

总之,一切都很对我胃口。

大概三四天之后,他提出,问我能不能线下约会一次。

我犹豫了一下,就答应了。

见面地点是他选的,不过也在我们学校旁边不远。

我考虑了安全因素,觉得应该没问题,然后就答应了。

那天我过去,按照他给我发的定位去找。

到了一条大马路的支路,往前走了大概一公里。

他告诉我,他在停在路边的车里。

我看到有一辆车,就往车那边走过去。

这时候,突然冲上来一个男人和一个中年大妈。

男人突然就用手抱着我,准备把我绑到车里。

那一瞬间,我还没明白发生了什么事情,想着他们是不是看错人了。

于是使劲挣脱开那男人的怀里,大声喊:你们抓错人了。

我一喊,旁边几个过路的人,就往这边看。

那男人大声说:老婆,你不要离家出走啊,这个家离不开你啊,老婆,我错了。

那大妈也大声附和说:夫妻吵架很常见,干嘛非要离家出走啊,听话,回家啊。

我更糊涂了,什么老婆啊,我大声喊:

我不是你老婆啊,我还是大学生。

但他们根本就不听我的。

大妈向围过来的人解释:嗨,夫妻俩吵架,很正常,干嘛要离家出走呢,床头吵架床尾和嘛。

那些围观的人,以为我们是一家三口,是夫妻吵架。

不管我怎么大声喊,都只是看着我们,根本没人信我,上来帮我。

我开始意识到问题了,光天化日之下绑人。

这些人,是人贩子吧。

当时我脑子迅速浮现出人贩子拐卖妇女的画面。

我拼命想要挣脱,拼命呼救,但那个男的力气太大了。

幸亏这个时候我们班几个男同学碰巧经过。

看到我被抓了,赶紧冲过来帮我。

那一男一女看到有人过来,撒下我开车就跑了。

这件事,我越想越觉得害怕。

如果当时不是恰好碰上我们班几个同学,我可能就被绑走了。

如果他们真的是人贩子的话,后果可能会是:

我被卖掉,被割掉一些身体器官,也可能,我已经不在人世了。

浑水报告专注服务于国内顶尖投行、券商、四大、律所、咨询公司等机构,为您提供最前沿、专业的资讯与报告,带您穿越资本乱象,躲避财务天雷,用真实的数据窥探业界真相!浑水报告(ipobaba)4篇原创内容公众号

3、

这个故事让我胆战心惊,还好最后脱险。

她说,当时很多人围观,没一个上来帮忙的,可能都以为真的是夫妻吵架。

如果当时没有碰到熟人,后果不堪设想。

这就是网恋人贩子。

他们本质还是人贩子,拐卖人口。

只是,他们拐卖女性(也可能是小孩)的方式,是网恋。

以前,只能通过QQ、邮箱等方式骗人。

而现在,交友软件那么多,探探、陌陌、附近的人、吱呀等等。

都有可能成为拐卖工具。

我意识到,这很可能是一个巨大的黑洞。

阴暗里,吞噬一切。

更可怕的是,这些交友软件,我们每个人可能都在用,可都没有意识到这种危险。

因而,没有丝毫警惕心。

图片

▲台州就曾发生过一起「网恋人贩子」事件,只是当时人贩子想拐卖的是女主的女儿(孩子)。

4、

有一部国产电影,很小众,很多人应该都没看过。

主题就是网恋人贩子,很真实。

桃桃(陶佳宁)是城市里的小女白领,单身,通过网恋,认识了一个名男生。

男生声音很有磁性,很懂聊天,很会撩人,很关心她,关心得恰到好处。

桃桃爱上了。

男生鼓动桃桃来一场「说走就走的旅行」(这个噱头确实很好,很吸引人),让桃桃去他所在的城市。

桃桃心一动,真的去了。

图片

▲陶佳宁

等陶陶到地方,一看。

网恋的那个男生,根本不存在。

来的是一位中年大妈:

图片

▲陶佳宁发现聊了很久的男网友,居然是个女的

桃桃一脸懵逼。

但是来都来了,也不好意思发火。

大妈对桃桃说:

走吧,我请你吃饭,吃完饭逛街,就当交一个朋友。

图片

▲大妈鼓动桃桃和她一起去吃饭

毫无社会经验与警惕之心的桃桃,就答应了。

吃饭喝酒,聊得很投机。

桃桃以为自己萍水之缘,真的交到了朋友,真的碰到了江湖知己。

一杯又一杯。

喝得很爽。

图片

▲大妈和桃桃喝酒

城市小白领酒量能有多大呢?

何况,酒里加了东西。

图片

▲你永远不知道你和陌生人喝的是什么东西

很快,桃桃就不省人事。

等她再次醒来,已经是在一个极偏远乡村的土砖房里。

一个壮汉,痴痴地看着她。

图片

▲桃桃被拐的地方

桃桃这才知道:

那个网上认识的男生,也就是那个中年大妈,是个人贩子。

她被大妈用3000块钱卖掉了。

本来以为是一场惊喜的线下网友见面会,她怎么也没想到,对方会是人贩子。

5、

在英国留学论坛里,看到过一则真实的自述案例。

主题也是网恋人贩子。

图片

▲论坛截图

一位女留学生,在网上认识一位男生。

和几乎所有「网恋人贩子」的故事一样,男生照片很帅,口才了得,很会撩人。

网上聊了一段时间,两个人就线下见面约会了。

吃饭看电影逛街,一来二去,男生提出去开房。

女留学生觉得男生挺靠谱的,愿意继续交往下去,就答应了。

在酒店房间里,男生问女留学生:你是处女吗?

女留学生虽然很莫名其妙,但还是点了点头。

俩人并没有发生关系,男生说,要把第一次留到结婚。

那一刻,女留学生很感动。

他们继续在酒店住了几天,之后,一次很偶然的情况下。

女留学生发现了非常可怕的一幕,男生竟然把她挂在了暗网出售。

她的正面照、裸照、性感写真都被放在了页面最顶部,下面写着:

年龄:19岁

身高:167cm

体重:48Kg

国籍:CN

是否处女:是

商品描述:身体健康、处女、没有不良嗜好,无论是用来做X奴还是用来移植器官,都是非常好的选择。

一口价:15万欧元(整个人,马上就能交货)

散卖:心脏7万欧元,肾5万欧元(必须等所有器官都出售完毕才能交货)

交易地点:XXXX

图片

▲论坛截图

你要承认这个现实,人类的边界扩展到多宽,恶的边界同样会有多宽。

人贩子能在线下拐卖妇女孩子,一样,也能在线上诱骗拐卖女生。

尤其在今天,社交软件盛极的时代。

人人都有强烈的社交需求,我们能轻而易举地见到一个陌生人。

当然,也轻而易举地把对自己作恶的机会,拱手给了他们。

人贩子的恶,就悄悄地在这种土壤里滋生。

6、

网恋人贩子的套路很复杂吗?

你看,不复杂,一点都不复杂。

这种套路,甚至可以说很简单,我来拆解一下。

第一步,先装饰自己的交友软件

具体来说,就是在交友软件上面放帅气的、阳光的、让女生第一看上去就容易坠入爱河的照片。

这种照片,不难找。

淘宝上很多提供相关服务的商家,例如这样的:

图片

▲淘宝截图

这样的:

图片

▲淘宝截图

怎么打造呢?

很简单。

付款之后,对方会发给你很多精致照片。

生活类的,旅行类的,豪车、大房子,等等。

把这些照片,放在探探、陌陌之类的交友软件上。

手机屏幕的另一端,你看到这个人,第一时间会以为他是成功人士,精致的生活家,懂女人的暖男。

警惕心在第一次接触,就降低了一半。

同时,这样的照片,吸引到女生的概率,非常大。

第二步,通过聊天获取信任。

作为女生,你愿意把自己的微信,给一个陌生人,说明本身的戒备心,就卸下了一大半。

作为人贩子,他看到你愿意把微信给自己,很快能意识到两点:

第一,你对他有了信任基础。

第二,你有比较强烈的社交需求。

接着,他只需要插科打诨,逗你笑,陪你聊天,倾听你的烦恼,关心你生活里的一切。

他很容易就能获取你的信任。

第三步,线下拐卖

只要你能答应他在线下见面,你就有被拐的几率。

换句话说,他就有拐你的可能性。

要么是第一次见面,约在比较偏僻的地方,例如郊外,例如偏僻的饭店,直接下药,或者绑人。

要么是第一次见面,先不动你,只要长相不太恶心人,能过得去,可以让你试着先处着看看。

获取你的信任之后,第二次、第三次、只要他有这个想法,随时可以动手。

以上,就是通过网恋拐卖一个人的全部流程。

你会发现,其实这种套路,和PUA特别像。

不同的是,PUA是为了玩弄女生的情感,而网恋人贩子,是为了拐卖女性。

都是恶,动机不同,造成的恶果不同。

我之所以把这个过程拆解下来,就是为了让你看清楚:

1、人贩子离你并不远,你上探探、陌陌、微信附近的人等陌生交友软件,碰到的任何一个陌生人,都可能是人贩子。

2、拐卖一个人的套路,并不难;如果这个人没有基本的防人之心,会更容易被拐。

3、玩陌生交友软件的人,都有可能被拐,因为你不知道对方是人,还是狗,一旦被厄运砸中,那会是一生的噩梦。

人在这个世界上游荡,有时候,如同走夜路。

因为没有光亮,你不知道前方有什么,是悬崖,还是深渊。

你不知道周边是什么,是坑坑洼洼,还是凶猛残兽。

对于最容易被拐卖的年轻女性来说,这种感觉,会更强烈。

而今天这篇文章,就是试图成为一束光,让你们看清楚前后左右,都是一些什么东西。

躲开深渊,远离悬崖,绕开凶猛残兽。

世间有恶,但终究也有光啊。

7、

全球范围内,每年人口贩卖数量,你猜是多少?

我提供联合国预估的数据:

全球每年有600到800万人被贩卖。

数据来源 | 腾讯财经,详情请看参考资料

那么,这些被贩运的人,最终会有哪些遭遇呢?

我看了资料,告诉你,很可怕,甚至,可以用恐怖来形容。

2014年,联合国毒品和犯罪问题办公室的一份报告指出:

全球贩运人口的几大去向分别为:

·强迫婚姻

·强迫卖淫、性奴役

·强迫乞讨

·器官交易

·贩卖儿童

·童兵

·强迫劳动

▲来源:凤凰WEEKLY

另外一个震惊而可怕的事实是,你猜被贩卖最多的是哪个群体?

答案是:

成年女性。

成年女性是被拐的最大群体,占被拐总人数的一半以上

而成年女性中,尤以年轻女性(女大学生、白领等,年龄18岁到24岁之间)为甚。

图片

▲来源:凤凰WEEKLY

由于本文的主题是「网恋人贩子」,主要针对对象是青年女性。

所以,我只选择了最相关的三类被拐遭遇情况来详细写写。

8、

第一种情况:强迫婚姻。

也就是被拐之后,卖给别人当老婆。

这是女性被拐卖之后,最常见的下场。

她们会被卖到不知道多么偏僻的村庄里,绝大部分人,一辈子都出来。

接着,等她们的人生,是单调而残暴的:

没有自由,没有人权,是生育机器,是性欲发泄机器。

炼狱,绝望,生不如死。

例如上述那部电影中,女主被拐之后,被关在小屋子里:

图片

被强暴:

图片

被当成畜生一样虐待:

图片
图片

我看过一篇纪实小说,《蹲在狗尾巴草里的女人》。

小蛮子刚被拐卖来时,是一个美人坯子,水嫩,皮肤如白雪,身材极好。

丈夫把她绑起来,为了让她听话,给她灌药,灌多了,就傻了。

她一个人疯疯癫癫地在村子里乱逛,村里的流氓都把她带到家去强奸,被强奸完了,她也不知道。

生了很多孩子,但都不知道父亲是谁。

1988年,郓城县公安局《关于打击拐卖人口、解救妇女儿童的情况报告》里面有这样的记载:

1、在我县被拐卖的妇女中,有9名因抗拒成婚,不堪受辱而自杀。

2、一位怀孕7个月的外地妇女来菏泽看牡丹花会,被犯罪分子骗卖。因不同意与买主同居,而被买主兄弟数人扒光衣服按在床上,当众让买主强奸。

3、郭屯镇傅宦屯村傅东良,男30岁,以800元钱买一11岁的幼女(四川人)同宿奸淫半年之久。

4、杨庄集乡程屯村一男青年将买来,但不从而逼婚的‘媳妇’连砍7刀,造成重伤。

这些资料让我倒吸一口凉气。

不是吓你,一旦被拐,葬送的,会是一生。

9、

第二种情况:强迫卖淫,被逼卖身

在人贩子中,有一类特殊人贩子,被称之为:

性奴贩子。

所谓性奴贩子,就是拐卖人口,然后逼良为娼,逼她们去卖身。

臭名昭著的国际性奴贩子路德维格·芬伯格说:「你如果花一万美元买一个年轻漂亮的女孩,只要一周左右就能收回投资,往后全是利润」

这种逻辑是:

因为变态一直存在,变态的需求就一直存在。

那么,基于这种变态需求产生的市场与交易,也一直存在。

英国调查记者Roger Cook曾经曝光过一起性奴贩卖案。

性奴贩子把东欧的女孩骗到英国当性奴,强迫他们卖淫。

一位女孩,19岁被卖到红灯区,被逼每天晚上和18个男人上床。

图片

▲反贩卖人口公益宣传片

我看过一个《反贩卖人口公益宣传片》,这部短片以一个被拐卖的妇女为例,曝光了她们的处境。

比地狱还惨。

她(被拐女性)在性奴贩子的控制下,必须每天走到大街上,去推销自己。

去问别人,要不要和她发生性关系。

因为有些用词少儿不宜,所以我打码了。

图片
图片
图片

▲你可以看到,她甚至还当场标明了价格

图片

▲你可以看到,她甚至还当场标明了价格

中国有没有性奴贩子呢?

也有。

因为有一种恶,是没有国界的,它的土壤是人性。

2014年,安徽定远特大贩卖性奴案告破。

图片

▲百度百科还编辑了这个案件的词条

这伙人贩子的作案过程也得以曝光:

这些人,通过各种手段拐卖妇女,然后把她们关在黑暗的囚室里。

你看,这种囚室经过特殊设计,只会露出一个孔,外人根本觉察不到:

图片

▲图片来源:凤凰新闻

她们室内生存的环境也恶劣不堪:

图片

▲图片来源:凤凰新闻

被拐卖的女性被关在这里,每日被毒打,不听话就打,往死里打。

打完之后,就会被性侵,甚至被性虐待。

看到这些,你真的会想起那句话:

地狱空荡荡,恶魔在人间。

10、

第三种情况:器官买卖

人贩子拐卖妇女之后,并不强迫结婚和卖身,而是进行器官买卖。

这一点在国外,尤其常见。

上述英国留学生的故事,就是贩卖人口之后,进行器官买卖。

在国外,有一种叫做作「暗网」的东西。

所谓暗网,就是指普通搜索引擎搜不到的网络,干着不能见光的事情。

里面充斥了暴力交易、性交易,当然,也包括人口和器官交易。

被拐卖来的人,在暗网上被明码标价。

整个人值多少钱;

身体其它的器官,又值多少钱,例如心脏,例如肾,等等。

如下图,据说是暗网截图。

你可以看到,一位金发女子被捆绑着,上面写着她的贩卖信息。

图片

▲暗网截图

11、

写这篇文章时,小莹问了我一个问题:

女性一旦被拐,还能脱身吗?

我必须如实地回答:

从我查到的资料来看,女性一旦被拐,脱身的几率很小,微乎其微。

很多人都应该听过一部电影,叫《盲山》:

图片

▲电影《盲山》

如果你没看过,推荐你去看看。

这部电影的主题很现实:人口拐卖。

电影结局也很现实:

一个女生,一旦被拐,极有可能逃不出来。

电影女主角白雪梅被拐到一个深山老林的村子里,她用一生的时间想要逃出来,没有成功。

因为被拐的女性如果不听话,会被打,会被关进小黑屋子里,会被灌药,甚至会被挑断手脚,就为了不让你跑。

而且,被拐到的地方,一般位于深山老林,极难出来。

我知道,尽管这种现实非常残酷,但我们也必须承认。

12、

你当然会害怕,也应该害怕。

足够的恐惧,才能激发足够的警惕之心。

但你也不必恐慌。

一方面,这是小概率事件,而且中国治安整体上很棒。

另一方面,有足够的警惕之心,并懂得「网恋人贩子」的套路,根据他们的套路,制定切实可用的保护方法。

恶就会离你远一点,再远一点。

以下,是我根据资料和拆解的套路,总结出来的自我保护原则。

10条。

1、如果可以,别去探探找爱情,你最多找到一夜情,找不到一见钟情。一夜情大概率不会转变成一见钟情。

2、别信一个陌生人的朋友圈,别通过朋友圈判断一个人,屏幕那边,你不知道和你聊天的是人,还是狗。

3、无事献殷勤,非奸即盗,这句古老的训言,在今天,依旧适用。不会有人会无缘无故360度无死角关心你,如果是男的,不是想睡你,就是想卖你。和陌生人聊天,记住这句话,你能破掉他90%以上的话术套路。

4、如果可以,不要和网友约线下见面;如果非要约,记住网友线下见面4原则,也就是4个必须。

(1)第一原则:见面地点必须你选。

(2)第二原则:所选地点必须繁华,人流众多,大庭广众。

(3)第三原则:你必须清楚见面地点周围警察叔叔的岗亭分布情况,一旦有状况,你起码知道往哪儿逃。

(4)第四原则:别去不熟悉的店里和网友见面,尤其是对方挑的店。必须要选你熟悉的店面,或者是品牌连锁店,例如星巴克(没收广告费)、喜茶(没收广告费)等等。

5、和这几个原则同等重要的是,你必须要有一个紧急联系人,可以是闺蜜,可以是长辈,知道你这次见面的全部信息,包括见面时间,地点。

一旦发现情况不对,联系不上你,可以报警或采取约定好的紧急措施。

6、紧急联系人最好当你网友线下见面的暗哨,最好就坐在你隔壁桌。

7、吃完喝完东西,去散步,一定不要走小路,切记,一定不要走小路,一定不要走小路。

8、一旦对方真的动手,并且用谎言糊弄围观大众(像给我写信的那位女读者的遭遇),一定要大声喊「抓人贩子」,坚持喊,喊一次两次大众不会信,喊五六次,大众就会有疑问了,那就是救命的生机。

9、如果紧急情况下,不适合打110口头报警,那就发短信报警,报警电话是:

12110

12110

12110

(重要的东西说三遍)

10、出国一定要小心,大部分外国治安真心比不过国内,章颖莹案还历历在目,一定吸取教训。

这些原则,值得抄200遍,挂在床头,才会记忆深刻;

值得你第一次约会用,第二次约会用,第三次约会用……

你要知道,人贩子和PUA一样,最缺的,就是耐心。

如果真心愿意和你保持良性社交互动,好事多磨,你也不用担心会失去这段关系。

最后,请记住,拐卖的人生,不存在翻盘的可能。

一旦被拐,一生无望。

防拐重于一切。

请一定小心。

参考文献:

[1]温丙存.被拐卖妇女的类型分析[J].山西师大学报(社会科学版),2017,44(04):54-58.

[2]谭晨辰. 拐卖妇女、儿童罪的现状、成因及对策研究[A]. 中国犯罪学学会预防犯罪专业委员会、上海政法学院刑事司法学院.犯罪学论坛(第四卷·下册)[C].中国犯罪学学会预防犯罪专业委员会、上海政法学院刑事司法学院:中国犯罪学学会预防犯罪专业委员会,2017:13.

[3]张钰妍.《极花》之殇:谈我国被拐卖妇女的权益保护问题[J].法制与社会,2017(10):170-172.

[4]刘怡春. 电影《亲爱的》与拐卖儿童犯罪研究[D].中国政法大学,2017.

[5]王金玲.收买/收纳被拐卖妇女成婚:一种生存策略[J].云南民族大学学报(哲学社会科学版),2016,33(04):73-78.

[6]张攀. 跨国贩卖妇女儿童犯罪问题研究[D].湖南师范大学,2015.

[7]报道被拐女研究生案的记者武勤英,曾查看过郓城县公安局1988年《关于打击拐卖人口、解救妇女儿童的情况报告》

[8]《2014年全球被贩运人口去向》.联合国毒品和犯罪问题办公室

[9]世界黑暗的一面:全球人口被贩卖的路径.腾讯财经.2017.07.26

[10]在腾讯财经《世界的黑暗面:全球人口被贩卖的路径》一文中,女性占被贩卖人口总数比例为80%,在《2014年全球被贩运人口去向》报告中,女性这一占比为51%,为避免数据夸大,我们采用了后者作为使用比例。

转自:https://mp.weixin.qq.com/s/SxrUkj0nOn1clbGpEqO4Aw

房地产“黑铁”启示录:时代的一座山,不过是历史的一粒沙

本文系基于公开资料撰写,仅作为信息交流之用,不构成任何投资建议。
 
房地产市场的逻辑在发生显而易见的重构,核心点:
 
一、中国大多数想要登顶房地产一哥的公司,玩的都是高周转,但现在甭说高周转,恒大暴雷后低周转都成问题。
 
二、“等鱼断气再买鱼”的龙头逻辑已经不顶用,房地产市场的终局,不再是少数巨头畅玩“集中度提升的游戏”。
 
三、时代的一座山不过是历史的一粒沙,房地产行业离了谁都照样转。承载人们美好生活的住房,仅仅是资金和建造的问题,分分钟有人来解决。
 
 
01
“天狗食日”
 

2021年7月恒大开始暴雷。其余韵可总结为4个字:天狗食日。
 
之前监管和地方上对于出了资金问题的房地产公司,那是能帮就帮,能救则救,为了税源和就业捏鼻子又怎样。可都像恒大这样没法弄。
 
于是重点来了,各地9月份开始,为保交房,大幅加强了住宅预售资金的监管力度,得专款专用,还有的因城施策提升预售条件。
 
预售资金是什么?它是房地产公司高周转的核心,房子没造完,就可以卖期房,等这些预售资金到手后用去拿地,进行新一轮的扩张。如今这块被管上了,芭比Q了。
 
阳光城在沈阳的一个项目剩余造价只有1个亿,但被严格的监管了7.5亿元预售资金。整个公司在违约之前账上有270亿预售资金不能动,得老老实实把房子交咯才能花钱。它们7/8月份的时候还能从项目收上来六七十亿预售资金,9月就只有48亿元(其中30亿元通过卖项目得来的),等到10月份就直接归集不上来了。
 
不仅是阳光城被“食日”,没有了“阳光”。
 

02
鱼断气了你也没法买
 

2021年底那么多房地产公司的雷,跟房地产公司的三条红线和银行的两条红线关系不大,主要就是以上逻辑。
 
总盘子十几万亿的房地产行业,在2017年的时候就已经见顶。行业集中度提高,头部公司市场份额提升,这是过去投资几个龙头的主要逻辑之一。我们讲过一个房地产巨头抄底的段子,叫“等鱼断气”:
 
一个老太太蹲在鱼贩子水池前面,望着鱼,蹲了一下午。鱼贩子好奇问道:“你看了一下午了,要买还是不要买?”老太太说:“买。”鱼贩子说:“那你看啥呢?”老太太指了指旁边的牌子说:“活鱼6块一斤,死鱼2块一斤。” 老太太又指了指鱼说:“我在等你这鱼断气。”
 
比如老孙的融创中国,为兄弟“接盘”那是专业的:抄底过乐视、天津星耀、华城富丽、万达文旅、重庆渝富地产、泛海、阳光100、新湖中宝、长实集团等公司的项目或地块。
 
那高周转也没了,抄底逻辑也不好使了,这是否会影响到新房的供应呢?不存在的。
 

03
房地产行业离了谁都照样转
 

城投公司是稳定市场的重要砝码,而且没有中间商赚差价,它们盖房子给老百姓又有什么不可以呢。
 
天津武清最牛的开发商就是城投公司,最牛的楼盘叫城投熙和园。
 
退一万步说,即使有些成功公司只熟稔土地的一级开发,建房子这事儿没太多经验,那也没关系,不是还有“杭州代建天团”吗。
 
代建模式数杭州房地产公司最为热衷,包括绿城、万科、保利、绿城、金地、旭辉、建业滨江等公司。
 
那个代表房地产品质的男人(宋卫平)已不在江湖,你再也听不到类似让同行心惊肉跳的言论,“我们去看过杭州万科的房子,我们要是造出万科那么粗糙的房子,我们的项目经理要跳楼自杀N次!”但江湖上仍然留着它的传承——绿城管理控股,中国房地产市场最大的代建公司,港股上市那表现是蹭蹭蹭的。
 
所以我说房地产行业离了谁谁谁都照样转。
 
高负债拉ROE的杠杆没了,预售周转的杠杆没了,等鱼断气抄底的时间杠杆没了,那可不是从白银时代转向黑铁时代么,活下去是最重要的,郁亮没说错。
 

转自:https://mp.weixin.qq.com/s/PzOcmvnRTMaoNCo6BnriwQ

用Python实现自动扫雷,挑战世界纪录!

来源:zhuanlan.zhihu.com/p/35755039

作者:Artrix

项目:github.com/ArtrixTech/BoomMine


用 Python+OpenCV 实现了自动扫雷
用Python实现自动扫雷,挑战世界纪录!

中级 – 0.74秒 3BV/S=60.81

相信许多人很早就知道有扫雷这么一款经典的游(显卡测试)戏(软件),更是有不少人曾听说过中国雷圣,也是中国扫雷第一、世界综合排名第二的郭蔚嘉的顶顶大名。扫雷作为一款在Windows9x时代就已经诞生的经典游戏,从过去到现在依然都有着它独特的魅力:快节奏高精准的鼠标操作要求、快速的反应能力、刷新纪录的快感,这些都是扫雷给雷友们带来的、只属于扫雷的独一无二的兴奋点。

0x00 准备

准备动手制作一套扫雷自动化软件之前,你需要准备如下一些工具/软件/环境

– 开发环境

  1. Python3 环境 – 推荐3.6或者以上 [更加推荐Anaconda3,以下很多依赖库无需安装]

  2. numpy依赖库 [如有Anaconda则无需安装]

  3. PIL依赖库 [如有Anaconda则无需安装]

  4. opencv-python

  5. win32gui、win32api依赖库

  6. 支持Python的IDE [可选,如果你能忍受用文本编辑器写程序也可以]

– 扫雷软件

· Minesweeper Arbiter(必须使用MS-Arbiter来进行扫雷!)
http://saolei.net/Download/Arbiter_0.52.3.zip
当然,在正式开始之前,我们还需要了解一下扫雷的基础知识。如果不清楚的同学可以参考中国最大的扫雷论坛saolei.net中的文章:
http://saolei.net/BBS/Title.asp?Id=177

好啦,那么我们的准备工作已经全部完成了!让我们开始吧~

0x01 实现思路

在去做一件事情之前最重要的是什么?是将要做的这件事情在心中搭建一个步骤框架。只有这样,才能保证在去做这件事的过程中,尽可能的做到深思熟虑,使得最终有个好的结果。我们写程序也要尽可能做到在正式开始开发之前,在心中有个大致的思路。

对于本项目而言,大致的开发过程是这样的:

  1. 完成窗体内容截取部分

  2. 完成雷块分割部分

  3. 完成雷块类型识别部分

  4. 完成扫雷算法

好啦,既然我们有了个思路,那就撸起袖子大力干!

– 01 窗体截取

其实对于本项目而言,窗体截取是一个逻辑上简单,实现起来却相当麻烦的部分,而且还是必不可少的部分。我们通过Spy++得到了以下两点信息:

class_name = "TMain"title_name = "Minesweeper Arbiter "

  • ms_arbiter.exe的主窗体类别为”TMain”

  • ms_arbiter.exe的主窗体名称为”Minesweeper Arbiter “

注意到了么?主窗体的名称后面有个空格。正是这个空格让笔者困扰了一会儿,只有加上这个空格,win32gui才能够正常的获取到窗体的句柄。

本项目采用了win32gui来获取窗体的位置信息,具体代码如下:

hwnd = win32gui.FindWindow(class_name, title_name)if hwnd:left, top, right, bottom = win32gui.GetWindowRect(hwnd)

通过以上代码,我们得到了窗体相对于整块屏幕的位置。之后我们需要通过PIL来进行扫雷界面的棋盘截取。

我们需要先导入PIL库

from PIL import ImageGrab

然后进行具体的操作。

left += 15top += 101right -= 15bottom -= 43
rect = (left, top, right, bottom)img = ImageGrab.grab().crop(rect)

聪明的你肯定一眼就发现了那些奇奇怪怪的Magic Numbers,没错,这的确是Magic Numbers,是我们通过一点点细微调节得到的整个棋盘相对于窗体的位置。

注意:这些数据仅在Windows10下测试通过,如果在别的Windows系统下,不保证相对位置的正确性,因为老版本的系统可能有不同宽度的窗体边框。

用Python实现自动扫雷,挑战世界纪录!

橙色的区域是我们所需要的

好啦,棋盘的图像我们有了,下一步就是对各个雷块进行图像分割了~

– 02 雷块分割

用Python实现自动扫雷,挑战世界纪录!

在进行雷块分割之前,我们事先需要了解雷块的尺寸以及它的边框大小。经过笔者的测量,在ms_arbiter下,每一个雷块的尺寸为16px*16px。

知道了雷块的尺寸,我们就可以进行每一个雷块的裁剪了。首先我们需要知道在横和竖两个方向上雷块的数量。

block_width, block_height = 16, 16  blocks_x = int((right - left) / block_width)  blocks_y = int((bottom - top) / block_height)

之后,我们建立一个二维数组用于存储每一个雷块的图像,并且进行图像分割,保存在之前建立的数组中。

def crop_block(hole_img, x, y):        x1, y1 = x * block_width, y * block_height        x2, y2 = x1 + block_width, y1 + block_heightreturn hole_img.crop((x1, y1, x2, y2))
blocks_img = [[0 for i in range(blocks_y)] for i in range(blocks_x)]
for y in range(blocks_y):for x in range(blocks_x):        blocks_img[x][y] = crop_block(img, x, y)

将整个图像获取、分割的部分封装成一个库,随时调用就OK啦~在笔者的实现中,我们将这一部分封装成了imageProcess.py,其中函数get_frame()用于完成上述的图像获取、分割过程。

– 03 雷块识别

这一部分可能是整个项目里除了扫雷算法本身之外最重要的部分了。笔者在进行雷块检测的时候采用了比较简单的特征,高效并且可以满足要求。

def analyze_block(self, block, location):    block = imageProcess.pil_to_cv(block)
    block_color = block[8, 8]    x, y = location[0], location[1]
    # -1:Not opened    # -2:Opened but blank    # -3:Un initialized
    # Openedif self.equal(block_color, self.rgb_to_bgr((192, 192, 192))):if not self.equal(block[8, 1], self.rgb_to_bgr((255, 255, 255))):self.blocks_num[x][y] = -2self.is_started = Trueelse:self.blocks_num[x][y] = -1
    elif self.equal(block_color, self.rgb_to_bgr((0, 0, 255))):self.blocks_num[x][y] = 1
    elif self.equal(block_color, self.rgb_to_bgr((0, 128, 0))):self.blocks_num[x][y] = 2
    elif self.equal(block_color, self.rgb_to_bgr((255, 0, 0))):self.blocks_num[x][y] = 3
    elif self.equal(block_color, self.rgb_to_bgr((0, 0, 128))):self.blocks_num[x][y] = 4
    elif self.equal(block_color, self.rgb_to_bgr((128, 0, 0))):self.blocks_num[x][y] = 5
    elif self.equal(block_color, self.rgb_to_bgr((0, 128, 128))):self.blocks_num[x][y] = 6
    elif self.equal(block_color, self.rgb_to_bgr((0, 0, 0))):if self.equal(block[6, 6], self.rgb_to_bgr((255, 255, 255))):            # Is mineself.blocks_num[x][y] = 9        elif self.equal(block[5, 8], self.rgb_to_bgr((255, 0, 0))):            # Is flagself.blocks_num[x][y] = 0else:self.blocks_num[x][y] = 7
    elif self.equal(block_color, self.rgb_to_bgr((128, 128, 128))):self.blocks_num[x][y] = 8else:self.blocks_num[x][y] = -3self.is_mine_form = False
if self.blocks_num[x][y] == -3 or not self.blocks_num[x][y] == -1:self.is_new_start = False

可以看到,我们采用了读取每个雷块的中心点像素的方式来判断雷块的类别,并且针对插旗、未点开、已点开但是空白等情况进行了进一步判断。具体色值是笔者直接取色得到的,并且屏幕截图的色彩也没有经过压缩,所以通过中心像素结合其他特征点来判断类别已经足够了,并且做到了高效率。

在本项目中,我们实现的时候采用了如下标注方式:

  • 1-8:表示数字1到8

  • 9:表示是地雷

  • 0:表示插旗

  • -1:表示未打开

  • -2:表示打开但是空白

  • -3:表示不是扫雷游戏中的任何方块类型

通过这种简单快速又有效的方式,我们成功实现了高效率的图像识别。

– 04 扫雷算法实现

这可能是本篇文章最激动人心的部分了。在这里我们需要先说明一下具体的扫雷算法思路:

  1. 遍历每一个已经有数字的雷块,判断在它周围的九宫格内未被打开的雷块数量是否和本身数字相同,如果相同则表明周围九宫格内全部都是地雷,进行标记。

  2. 再次遍历每一个有数字的雷块,取九宫格范围内所有未被打开的雷块,去除已经被上一次遍历标记为地雷的雷块,记录并且点开。

  3. 如果以上方式无法继续进行,那么说明遇到了死局,选择在当前所有未打开的雷块中随机点击。(当然这个方法不是最优的,有更加优秀的解决方案,但是实现相对麻烦)

基本的扫雷流程就是这样,那么让我们来亲手实现它吧~

首先我们需要一个能够找出一个雷块的九宫格范围的所有方块位置的方法。因为扫雷游戏的特殊性,在棋盘的四边是没有九宫格的边缘部分的,所以我们需要筛选来排除掉可能超过边界的访问。

def generate_kernel(k, k_width, k_height, block_location):
     ls = []     loc_x, loc_y = block_location[0], block_location[1]
for now_y in range(k_height):for now_x in range(k_width):if k[now_y][now_x]:                 rel_x, rel_y = now_x - 1, now_y - 1                 ls.append((loc_y + rel_y, loc_x + rel_x))return ls
 kernel_width, kernel_height = 3, 3
# Kernel mode:[Row][Col] kernel = [[1, 1, 1], [1, 1, 1], [1, 1, 1]]
# Left borderif x == 0:for i in range(kernel_height):         kernel[i][0] = 0
# Right borderif x == self.blocks_x - 1:for i in range(kernel_height):         kernel[i][kernel_width - 1] = 0
# Top borderif y == 0:for i in range(kernel_width):         kernel[0][i] = 0
# Bottom borderif y == self.blocks_y - 1:for i in range(kernel_width):         kernel[kernel_height - 1][i] = 0
# Generate the search map to_visit = generate_kernel(kernel, kernel_width, kernel_height, location)

我们在这一部分通过检测当前雷块是否在棋盘的各个边缘来进行核的删除(在核中,1为保留,0为舍弃),之后通过generate_kernel函数来进行最终坐标的生成。

def count_unopen_blocks(blocks):    count = 0for single_block in blocks:if self.blocks_num[single_block[1]][single_block[0]] == -1:            count += 1return count
def mark_as_mine(blocks):for single_block in blocks:if self.blocks_num[single_block[1]][single_block[0]] == -1:self.blocks_is_mine[single_block[1]][single_block[0]] = 1
unopen_blocks = count_unopen_blocks(to_visit)if unopen_blocks == self.blocks_num[x][y]:     mark_as_mine(to_visit)

在完成核的生成之后,我们有了一个需要去检测的雷块“地址簿”:to_visit。之后,我们通过count_unopen_blocks函数来统计周围九宫格范围的未打开数量,并且和当前雷块的数字进行比对,如果相等则将所有九宫格内雷块通过mark_as_mine函数来标注为地雷。

def mark_to_click_block(blocks):for single_block in blocks:
# Not Mineif not self.blocks_is_mine[single_block[1]][single_block[0]] == 1:# Click-ableif self.blocks_num[single_block[1]][single_block[0]] == -1:
# Source Syntax: [y][x] - Convertedif not (single_block[1], single_block[0]) in self.next_steps:self.next_steps.append((single_block[1], single_block[0]))
def count_mines(blocks):    count = 0for single_block in blocks:if self.blocks_is_mine[single_block[1]][single_block[0]] == 1:            count += 1return count
mines_count = count_mines(to_visit)
if mines_count == block:    mark_to_click_block(to_visit)

扫雷流程中的第二步我们也采用了和第一步相近的方法来实现。先用和第一步完全一样的方法来生成需要访问的雷块的核,之后生成具体的雷块位置,通过count_mines函数来获取九宫格范围内所有雷块的数量,并且判断当前九宫格内所有雷块是否已经被检测出来。

如果是,则通过mark_to_click_block函数来排除九宫格内已经被标记为地雷的雷块,并且将剩余的安全雷块加入next_steps数组内。

# Analyze the number of blocksself.iterate_blocks_image(BoomMine.analyze_block)
# Mark all minesself.iterate_blocks_number(BoomMine.detect_mine)
# Calculate where to clickself.iterate_blocks_number(BoomMine.detect_to_click_block)
if self.is_in_form(mouseOperation.get_mouse_point()):for to_click in self.next_steps:         on_screen_location = self.rel_loc_to_real(to_click)         mouseOperation.mouse_move(on_screen_location[0], on_screen_location[1])         mouseOperation.mouse_click()

在最终的实现内,笔者将几个过程都封装成为了函数,并且可以通过iterate_blocks_number方法来对所有雷块都使用传入的函数来进行处理,这有点类似Python中Filter的作用。

之后笔者做的工作就是判断当前鼠标位置是否在棋盘之内,如果是,就会自动开始识别并且点击。具体的点击部分,笔者采用了作者为”wp”的一份代码(从互联网搜集而得),里面实现了基于win32api的窗体消息发送工作,进而完成了鼠标移动和点击的操作。具体实现封装在mouseOperation.py中,有兴趣可以在文末的Github Repo中查看。

用Python实现自动扫雷,挑战世界纪录!

作者的记录

这个成绩,连世界第一都得颤抖呢!

用Python实现自动扫雷,挑战世界纪录!

这张录像最后的点击部分遇到了死局,最终是通过随机完成的

笔者还实现了在新开局的时候随机点击来开出局面的功能,不过由于比较简单,所以详细解析就不在这里贴出啦~

注明一下:如果在实验的时候发现会有雷块炸掉的情况,不要担心,这是因为当前已经遇到了死局,没法通过本项目的算法来进行直接的推断了,这个时候程序会随机进行点击,有一定几率炸裂哦!

项目完整代码/GitHub地址:

https://github.com/ArtrixTech/BoomMine

我的投资体系,是写出来的

我是2018年年底开始做职业投资的,“职业投资人”这个称呼比较有趣,不同人有不同的理解。对我来说,这里面有两个限定,一个是“职业投资”,代表着我的工作内容和性质,就是说我是以投资为职业的,另一个就是“人”这个后缀,表明了我只是一个个体,从调研、资料整理、宏观研究和微观研究,到最终做出交易决策,都是我自己独立来完成。

投资是一件很孤独的事情,好在还有雪球和雪球上的朋友。2019年开始,我加大了写文章的密度,主要原因是整理自己的一些思路,表达自己的一些观点,希望能在雪球上得到思想的碰撞,以便进一步完善自己的研究,不断提升自己的认识。

 

最开始的时候,我写地产比较多。虽然我之前20多年一直在做房地产,但研究地产股的时候,很多东西不是了解行业就可以的,股票有很多自己专门的知识和体系,我现在的不少认识,也都是在一篇篇文章中不断提升的。后来一些认识沉淀下来,就有了《看透地产股-从价值投资的根本逻辑出发》这本书。

虽然2021年下半年,行业突变,很多东西发生了一些方向性调整,但大逻辑并无变化。地产仍然是最大的行业,仍然要肩负使命,继续扮演自己“支柱产业”的角色。这种剧烈的供给侧出清,确实大大缩短了行业集中化的进程,对于活下来的头部企业来说,日子要比之前预期变得更舒服了。

 

到了2020年,从年初到年尾,市场一直在大幅波动。国内疫情影响和国际形势的变化,让每一个投资者都面临着全新的市场变化。包括下半年“赛道”说法盛行,很多个股都出现了令人目瞪口呆的估值。这对价值投资来说,是一个很有冲击力的考验。

这一年,我写的大多数是关于投资理念的文章。有些钱因为不懂才能赚得到,有些钱因为懂所以赚不到。投资者用赚钱来评判成败是天经地义的,但赚钱指的是长期稳定的收益,短期的钱赚得再多,如果用的是错误方法,早晚会连本带利还给市场。

 

通过这些文章,我也在不断完善自己的投资体系。之前很多时候,我一直在用大师们的经典理论作为标尺,但越来越发现,那些理论都是经过时间和案例检验的,但放在自己身上却未必适用。因为我只是个普通的个人投资者,很多时候自己的能力完全做不到那些理论的要求,如果生搬硬套,变成邯郸学步,后果可能会比投机失败还严重。

这些体会整理出来,就有了《个人投资者的股市生存之道》这本书。要讲理论高度,大家只需要去看看格雷厄姆、巴菲特、芒格、彼得林奇等大师的言论和著作就行了,完全没必要读国内投资人写的文字。但要理解中国股市,只看这些就远远不够了。

 

 

要想明白自己作为一个散户,怎么在股市上生存,雪球上的很多文章都是非常有意义的。因为我们的世界和大师们不一样,就像我们谁都无法像梅西那样踢球,更无法像詹姆斯那样扣篮一样。用最适合自己的方法赚钱才是唯一生路,哪怕这些模式看起来很笨拙,但它至少能让我们在中国股市中长期生存下去。

 

2022年,我的文章方向上会更接近市场一些。投资体系不是发现好股票就可以的,在选股体系之外,交易体系也是至关重要。我也有不少长期持有的股票,但对我来说,买入股票之后,从来没有想过要持有多少年,长期持有是结果而不是目标。我会给自己的每一只股票设置基本面调整点甚至是基本面止损点,不触及也就不需要改变,一旦出现调整点,就必须要执行严格的应对计划。

 

 

之所以今年要强调交易体系,也是出于对当前市场的理解。这两年赛道股的超高估值和崩溃式下跌,对投资者的信心是一个严重打击。去年下半年,部分行业出现重大变化,对就业和社消都影响深远。可以说,现在基本面好的企业估值泡沫严重,估值偏低的企业又面临着行业景气度下降的持续压力,市场的复杂程度可想而知。

2022年开市以来,银保地的强势,与去年部分热门板块的大幅下跌形成鲜明对比。但目前来看,银保地还是属于板块切换的受益者,自身的业绩推动能力仍显不足,后面随着年报陆续发布,某些权重企业低于预期也是很有可能的。现在需要维稳,更需要续命,有些东西已经超出股票层面,2022年,先生存后发展吧。

转自:https://mp.weixin.qq.com/s/UJuVU8Vl7kxpgMxTYFqGBQ