美文网首页
前言扯淡+Chapter1

前言扯淡+Chapter1

作者: thehgz | 来源:发表于2017-05-31 23:49 被阅读33次

Warning
直接看书看视频 比 看我这篇笔记强无数倍,这个笔记纯粹是写着玩的。目的是防止本人repeat myself。
本人对一切潜在谬误误导不负责任。但欢迎批评指正。

范畴论,高大上的东西,听说过这个是因为知乎上的安利,好像学范畴论可以帮助理解函数式编程里的很多概念。
先去YouTube上强行看了这个
https://www.youtube.com/watch?v=ZKmodCApZwk&list=PL8Ky8lYL8-Oh7awp0sqa82o7Ggt4AGhyf
似懂非懂,然后就决定撸书了。
Category Theory 2nd edition
这本书我很难看完。毕竟智商有限。加上看到大段的数学符号就头疼。真不是那块料啊。orz
用博文来记范畴论笔记非常不爽,因为图多,字体多。就算用tex /texmacs 这些也没用,我是为了学东西,又不是为了学怎么用排版工具写各种符号/代替笔。
事实上买个surface book 记笔记才是最佳选择。然而太贵了。surface book 2 一定要上 1050 啊 (跑题到哪里去了啊,喂!)

书中的记法,一般花体表示category,大写是object,小写是arrow。
本文中用 花体{X} 表示 花体的X
把 o 读成 after,能帮助捋顺到底是怎么复合的。

前言

书的主线是
Category
Functor
Natural Transformation
Adjunction
看公开课时我还是不理解adjuction是干啥的。。。丢人啊

类型和函数组成的category很好理解,你就把所有函数类型签名一起画个图,每个类型只出现一遍。出来的图再加上identity和composition就是个 category 了。刚才说这个过程也叫构造 free category,后面再扯。

Category的定义

。Objects A,B,C ...
。 Arrows f,g,h ...
。For each arrow f, there are given objects
domain of f dom(f)
codomain of f cod(f)
f:A->B means dom(f)=A god(A)=B
。 Given f:A->B and g:B->C there is g o f :A->C
called copositon of f and g
。For each object A ,here is identity arrow 1A:A->A
A是下标不会打。。。)
。Associativity
h o ( g o f) = (h o g) o f
。Unit
f o 1A = f = 1b o f
for all f:A->B

其中最重要的就是满足结合律。
有哪些不满足结合律的东西呢?减法,除法,指数,无限长序列求和,浮点数运算。
都是从这里找的https://en.wikipedia.org/wiki/Associative_property#Non-associative

例子:
Sets : sets as objects ,functions as arrows
一个 Partial ordered set Pos:每个元素为object, A<= B 则 A->B

Functor的定义

A functor between category 花体{C} and 花体{D}
F:花体{C} -> 花体{D}
is a mapping of objects to objects and arrows to arrows
(a) F(f:A->B) = F(f):F(A)->F(B)
(b) F(1A) = 1F(A)
(c) F(g o f) = F(g) o F(f)

Isomorphisms

An arrow f:A->B is called an Isomorphism if there is an arrow g:B->A in C such that
g o f = 1A and f o g = 1B

We say A is isomorphis to B

Constructs on categories

1,product
product of 2 categories {花体}\C and {花体}\D , C x D has
。objects of the form (C,D)
。arrows (f,g) : (C,D) -> (C',D')
。composition (f',g') o (f,g) = (f' o f,g' o g)
。identity 1(C,D) = (1C,1D)
//不能写富文本真是囧啊

坑了,打字写不出数学符号太难受了

未完待续~~~

相关文章

  • 前言扯淡+Chapter1

    Warning直接看书看视频 比 看我这篇笔记强无数倍,这个笔记纯粹是写着玩的。目的是防止本人repeat mys...

  • 记读iOS源码的几次尝试

    前言 话说前言都是用来扯淡的,无论是记笔记还是分享给别人看,前言的扯淡让自己再次读起来能回想起当时写下此文的心情;...

  • Android自定义权限广播

    扯淡前言 已经很久没有写文章了,最近有人问我怎么断片(篇),我发现...不扯淡了,开始讲自定义权限广播 思路 就是...

  • Python简介与安装

    前言: 第一次写要是写得让各位感觉是扯淡的,还请谅解 这些都是个人扯淡,可不看 其实个人觉得不管是什么语言,都...

  • 浅谈Lifecycle的原理,以及liveData在Lifecy

    前言扯淡 我们知道jetpack出现给android开发带来很大的便利,尤其是Lifecycle带来的方便,作为一...

  • Chapter1: alarm 程序 3 种 版本 - Prog

    chapter1 概述

  • 扯淡的人生

    2010-6-9 20:07 人生 一个天大的扯淡 我扯淡 世界根本就扯淡 我不扯淡 世界一样在扯淡 我的扯与不扯...

  • PC网页微信扫码支付(模式二)

    微信支付:模式二(JAVA) 开始 前言:由于微信官方文档非常扯淡,也不够阿里文档详细,集中和简单,并且官方提供d...

  • iOS奔溃日志分析

    iOS奔溃日志分析 前言(扯淡) iOS奔溃日志能够比较有效的分析奔溃的原因,方便我们debug我们的项目。当然现...

  • 让我们荡起PS制作时下最受欢迎的App展示模型

    扯淡前言:朋友,你是否有过这样的困惑,设计好的东西怎么放到手机展示模型里,以某种(逼格)炫酷的表现。 First ...

网友评论

      本文标题:前言扯淡+Chapter1

      本文链接:https://www.haomeiwen.com/subject/vsqsfxtx.html