Important Date

导言

Summary your life and work in the anniversary to step into a better cycle.

Read more

Keyboard

It’s a fucking crazy thing when you reuse a Bluetooth device, because forget how to make pair.

logitech K780

My keyboard encounter Poor contact of keyboard keys, esepeacially the ctrl

change Win/Mac/IOS configurations

iOS fn + i

Mac OS X fn + o

Windows fn + p

LEOPOLO FC980M

Bluetooth pair

Read more: official ref and ref_photo

It seems that just

  1. Open the battery cover
  2. insert AAA battery and Set the power switch to the ON position.

you can Turn on the Bluetooth.

Answer from TAOBAO

连接蓝牙方法:(我们键盘没有送蓝牙适配器)需要您电脑有蓝牙功能,

  1. 第一步背后大开关打到on,
  2. 第二步用取卡针捅一下大开关下面的孔、进入配对环节,
  3. 第三步打开电脑蓝牙搜蓝牙键盘的型号按提示连接就行。参考

Windows weird option 输入 FC980MBT 的PIN,也可以选择关闭,尤其是鼠标也需要输入时:

  1. type 00000 using original keyboard,click confirm.
  2. type 00000 using new keyboard, enter.

需要进一步的研究学习

暂无

遇到的问题

暂无

开题缘由、总结、反思、吐槽~~

参考文献

上面回答部分来自ChatGPT-3.5,没有进行正确性的交叉校验。

Disordered Ideas

<sup>2</sup>

  1. What’sNext 副业。量化金融,落地快:1.每一次策略的修改都直接影响下一次能不能赚钱;性能优化也是。

  2. Bigger 量化金融,负责资金统一管理。adapator,股票,证券,期货,外汇

    1. 自动交易工具:数据接口,交易接口

重要说明:

这里存放着未被整理、分类,和仔细对比讨论过的 ideas。

Read more

Benchmark

导言

以现实中实际使用的应用为基础,根据其领域和应用计算特点来分类。

Read more

Parallel_sort

并行排序算法

to learn

PSRS算法

并行正则采样排序算法

PSRS

复杂度分析

简单地讨论一下 PSRS 算法的复杂度。

  • 在第一部分的快速排序中,时间复杂度为O(klogk),k=n/p
  • 然后,各处理器选择 p-1 个代表元素,代价为O(p)
  • 再由 Proc#0 对所有送来的代表元素进行排序,然后选出主元,这里若使用快速排序,代价为O(p^2 logp^2)
    • 而若使用归并排序,则所需代价为O(p^2)
  • 每个处理器接收到主元后,再对有序数组进行划分,代价为O(k+p)
  • 最后,各个处理器全局交换,并行归并排序,

考虑到实际应用中,需要排序的数据长度 n 一定远远多于现有的处理器 p,此时可以视 p 为一个小常数,那么 PSRS 排序算法的时间复杂度,就可以简化为 O(klogk+k*logp)~O(klogk)

从消息复杂度的角度看,

  • 播送主元的复杂度为 O(p^2+p)
  • 分区合并(全局交换)部分的消息复杂度与具体算法实现相关,但其最大值不会超过 O(n)

需要进一步的研究学习

暂无

遇到的问题

暂无

开题缘由、总结、反思、吐槽~~

参考文献

上面回答部分来自ChatGPT-3.5,没有进行正确性的交叉校验。

https://dingfen.github.io/mpi&openmp/2021/01/23/psrs_sort.html

Mathematical Logic & Algebraic structure

数学的黑洞

启发来源^1

理发师悖论,与罗素悖论

与排除自指的数学体系类型论

希尔伯特纲领

  • 形式语言 公理,来建立数学。
    • 公理:约定俗成的命题,两点成一线 。算术的皮亚诺公理。
    • 形式语言:所有的句子变成符号: 存在任意量词 + 与或非 + 命题
  • 完备性Completeness ,一致性Consistency ,可判断性 Decidability

形式语言

$$(\forall \varepsilon \gt 0)(\exist \delta \gt 0)(\forall x \in \R)(0 \gt |x-p|\gt\delta\Longrightarrow|f(x)-L|\lt\varepsilon)$$

哥德尔不完备定理

(即使排除了自指,还是不完备的)

数理逻辑 Mathematical logic

数理逻辑的奥秘在于,它试图将人类主观的推理思维过程客观化,并建立起主观推理与客观证明之间的联系。通过对形式语言的公理化来达到自然语言的公理化目标。

形式逻辑系统 与 一阶逻辑

  • 形式逻辑系统 (Formal logical systems)是数理逻辑表示的方法。
  • 一阶逻辑(英语:First-order logic),又称谓词逻辑(predicate logic)、量化逻辑(quantificational logic)、一阶谓词演算(first-order predicate calculus)[^2]
  • 一阶逻辑在非逻辑对象上使用量化的变量,并且允许使用包含变量的句子,这样就可以有“存在x,使得x是苏格拉底并且x是人”形式的表达式,而不是像“苏格拉底是人”这样的命题,其中“存在”是一个量词,而x是一个变量。
  • 意义:这将它与命题逻辑区分开来,命题逻辑不使用量词或关系; 在这个意义上,命题逻辑是一阶逻辑的基础。

逻辑推理

  • 存在一个数 = 存在最小的

逻辑悖论导致的

  • 毕导爱拖更”和“毕导不爱拖更”同时成立[^1]
  • 因为“毕导爱拖更”为真 “毕导爱拖更”或“黎曼猜想成立”必为真
  • “毕导爱拖更”、“黎曼猜想成立”至少有一个为真
  • 又因为“毕导不爱拖更”为真 所以前半句不成立,故“黎曼猜想成立”为真,证毕。

基本概念

  1. 逆否命题:命题 “如果 P,则 Q”,其逆否命题是 “如果 非Q,则 非P”。逆否命题等价于原命题,当且仅当原命题的结构为蕴含式(implication)形式,即 “如果 P,则 Q”的If-Then 结构
  2. 存在量词与任意量词之间的转化:
    $$(\exist x \sim Hx) \iff (\sim \forall x Hx)$$
    $$(\sim \exist x Hx) \iff ( \forall x \sim Hx)$$

代数结构

在抽象代数里,代数结构(algebraic structure)是指装备了一个及以上的运算(最一般地,可以允许有无穷多个运算)的非空集合。一般研究的代数结构有群、环、域、格、模、域代数和向量空间等等。在数学中,更具体地说,在抽象代数中,代数结构是一个集合(称为载体集或底层集合),它在它上定义了一个或多个满足公理的有限运算。

GPT

  1. 群:
  • 定义: 群是一个集合,其中有一个二元运算(通常是加法或乘法),满足封闭性(运算的结果仍在集合内)、结合律、存在单位元素(对于加法是0,对于乘法是1)和每个元素都有逆元素。
  • 例子: 整数集合与加法形成一个群,因为整数的加法满足上述条件。
  1. 环:
  • 定义: 环是一个集合,其中有两个二元运算(通常是加法和乘法),满足封闭性、结合律、存在加法单位元素、存在加法逆元素、乘法分配律。
  • 在环中,乘法逆元素对于0是未定义的。也就是说,在环中,存在一个乘法逆元素的元素不能为0。环的乘法可以有逆元素,但不要求对所有非零元素都有。
  • 例子: 整数集合与加法和乘法形成一个环,因为整数的加法和乘法满足上述条件。
  1. 域:
  • 定义: 域也是一个集合,其中有两个二元运算(通常是加法和乘法),满足封闭性、结合律、存在加法和乘法单位元素、存在加法逆元素、存在乘法逆元素、乘法分配律。额外的,域要求乘法逆元素对于0是未定义的。
  • 在域中,每个非零元素都必须有乘法逆元素。换句话说,对于域中的任何非零元素,都存在一个元素与之相乘得到域中的乘法单位元素(通常是1)。
  • 域是环的一种特殊情况,区别在于域要求乘法逆元素对于所有非零元素都是定义的。
  • 例子: 实数或复数集合与加法和乘法形成一个域,因为它们的加法和乘法满足上述条件。

简而言之,这些结构是数学中用来研究运算规则和性质的工具。在计算机学习中,这些抽象概念可以用来建模和解决各种问题,例如在优化算法、密码学、图形学等领域。如果有具体的问题或关注的方面,请告诉我,我将尽力提供更详细的解释。

需要进一步的研究学习

暂无

遇到的问题

暂无

开题缘由、总结、反思、吐槽~~

秋招,百度的高铁柱面试官说,定义问题是很关键的一件事。能不能形式化的定义。(我已经很久没有注意这件事了,确实很重要。

参考文献

[^2]: wiki First-order logic

User Kernel Mode

内核态

内核态是计算机系统中的一种特权模式,用于执行操作系统内核的代码和功能。与用户态相比,内核态具有更高的权限和更广泛的访问能力,可以执行一些用户态无法执行的关键任务和操作。下面是从用户态的角度上介绍内核态的功能:

  1. 系统调用(System Calls):内核态允许用户程序通过系统调用接口请求操作系统提供的服务和功能。用户程序可以通过系统调用请求文件操作、网络通信、内存管理等操作。当用户程序执行系统调用时,会触发从用户态切换到内核态的转换,以便内核在高权限下执行相应的操作。
  2. 资源管理:内核态负责管理计算机系统的各种资源,包括处理器、内存、磁盘、网络等。在内核态下,操作系统可以对这些资源进行分配、调度和释放,确保资源的有效利用和合理分配。
  3. 中断处理:当发生硬件中断或异常时,内核态负责处理中断并提供相应的服务。例如,当用户程序需要与设备进行交互时,内核可以响应设备的中断信号,进行数据传输、状态检查等操作。
  4. 进程管理:内核态负责创建、销毁和管理进程。它可以调度进程,分配和回收进程所需的资源,并在必要时进行进程间的通信和同步。
  5. 内存管理:内核态控制着计算机系统的内存分配和管理。它负责将物理内存分配给进程,并维护虚拟内存和物理内存之间的映射关系。内核还处理内存保护、页面置换、内存回收等任务。
  6. 设备驱动程序:内核态包含设备驱动程序,用于与硬件设备进行交互。它允许操作系统通过设备驱动程序来控制和管理硬件设备,如磁盘驱动程序、网络驱动程序等。
  7. 安全和权限管理:内核态能够执行与系统安全和权限相关的任务。它可以控制对系统资源的访问权限,并确保用户程序不能越权访问或修改关键数据和系统配置。

总的来说,内核态提供了操作系统核心功能的执行环境,拥有更高的权限和更广泛的访问能力,使得操作系统能够管理和控制计算机系统的各个方面,同时为用户程序提供必要的服务和保护。

代码位置

在Linux系统中,每个进程的虚拟地址空间中的高位部分通常被映射为内核空间,其中包含了内核态的代码和数据。这个区域通常被称为内核空间或内核页表。内核空间中的内容包括以下两类:

  1. 内核代码:内核代码是操作系统内核的实现,包括各种系统调用、设备驱动程序和核心功能的代码。这些代码用于提供操作系统的各种服务和功能,如文件系统操作、进程管理、内存管理、网络通信等。内核代码是所有进程共享的,因为它们代表了操作系统的核心部分,为所有进程提供服务。
  2. 共享内核数据结构:内核空间中还包含一些共享的内核数据结构,用于维护系统状态和资源管理。例如,进程调度器、内存管理数据结构、文件描述符表等。这些数据结构被多个进程共享,以便内核能够管理和控制系统资源的分配和使用。

除了以上共享的内容,内核空间还包含一些每个进程独有的部分,例如:

  1. 进程描述符(Process Descriptor):每个进程都有一个唯一的进程描述符,其中包含了进程的状态信息、上下文和其他与进程相关的数据。进程描述符存储在内核空间,每个进程都有自己独立的进程描述符。
  2. 用户栈和内核栈:每个进程都有自己的用户栈和内核栈。用户栈用于保存进程在用户态执行时的局部变量和函数调用信息,而内核栈用于保存进程在内核态执行时的上下文信息和函数调用。(内核函数也要嵌套调用)

总结起来,Linux进程的高位部分映射了内核空间,其中包含了内核代码、共享的内核数据结构以及每个进程独有的部分,如进程描述符和栈空间。这种映射允许进程与内核进行交互和访问操作系统的功能和服务。

如何共享

在内核中,代码共享并不是通过动态链接库(.so)的模式来实现的。内核态的代码通常被编译成内核模块或者直接编译进内核映像中,而不是作为独立的可加载库。因此,内核中的代码共享机制与用户空间中的动态链接库不同。

在内核中,代码共享是通过代码复用和内核模块的概念来实现的。内核模块是一种可以动态加载和卸载的代码和数据集合,它可以扩展内核的功能。内核模块可以包含新的设备驱动程序、文件系统、网络协议等,以便在需要时被加载到内核中运行。

内核模块的加载过程可以在运行时根据需要进行,而不需要重新编译整个内核。这样,多个进程可以共享同一个内核模块,从而实现内核代码的共享。当多个进程需要使用某个内核模块时,模块只需要加载一次,然后被多个进程共享调用。

值得注意的是,内核中的代码共享是在内核空间内部进行的,与用户空间的动态链接库不同,它不涉及用户进程的地址空间和加载机制。内核模块的共享是在内核内部完成的,不同进程间可以通过系统调用接口访问共享的内核模块提供的功能和服务。

总结起来,内核中的代码共享是通过内核模块的加载和运行机制来实现的,而不是像用户空间中的动态链接库那样。内核模块可以被多个进程共享调用,从而提供共享的内核功能和服务。

内核态与用户态切换

切换时机

内核态与用户态的切换通常由以下几种情况触发:

  • 系统调用(System Call):当用户程序通过系统调用请求操作系统提供的服务时,会触发从用户态到内核态的切换。这是最常见的切换方式。
  • 异常(Exception)和中断(Interrupt):当发生硬件中断、软件中断(如除零错误)、内存访问错误等异常情况时,CPU会切换到内核态来处理异常。这些异常可以是由程序错误、设备请求或其他条件引起的。
  • 外部事件:例如时钟中断、I/O 完成中断等,这些事件可能需要内核处理,因此会导致从用户态切换到内核态。

切换的细节

当进程从用户态切换到内核态,或者从内核态切换回用户态时,涉及到特权级的切换和上下文的保存与恢复。下面是内核态与用户态切换的一般细节:

  1. 特权级切换:内核态拥有更高的特权级别,因此从用户态切换到内核态时,CPU会从当前运行的用户模式切换到内核模式。这种切换会改变CPU的状态,包括特权级、堆栈和指令指针。

  2. 上下文保存与恢复:在切换到内核态之前,CPU会保存当前用户态下的进程上下文信息,包括程序计数器(PC)、寄存器的值、堆栈指针等。这些上下文信息保存在进程的内核栈中。

  3. 内核态执行:当切换到内核态后,CPU开始执行相应的内核代码,处理请求或异常。在内核态下,操作系统可以访问和操作系统的所有资源和功能,执行必要的操作。

  4. 上下文恢复与切换回用户态:当内核态的任务完成后,CPU会从内核栈中恢复之前保存的进程上下文信息。然后,CPU会将特权级切换回用户态,并从保存的程序计数器继续执行用户程序。

需要注意的是,内核态与用户态的切换涉及到CPU和操作系统的底层机制,具体细节可能会因操作系统的设计和架构而有所不同。上述描述是一般情况下的概述,不同的操作系统和处理器架构可能会有特定的实现细节。

开销来源

  1. 特权级切换
  2. 上下文保存与恢复
  3. 由于PTI的存在,内核维护了两套页表。切换到内核态时,可能需要切换内存地址空间的映射关系,例如将用户态的虚拟地址空间映射为内核态的地址空间。这可能涉及页表的切换和TLB(Translation Lookaside Buffer)的刷新,会带来一定的延迟和开销。

量化

内核态与用户态的切换时间在数百到数千个CPU周期之间

需要进一步的研究学习

暂无

遇到的问题

暂无

开题缘由、总结、反思、吐槽~~

参考文献

上面回答部分来自ChatGPT-3.5,没有进行正确性的交叉校验。

UnimportantView: Game

关于偏好的循环

轮回与回旋镖:小别胜新婚

我发现我陷入了一种循环:

正向:

  1. 美术音乐和玩法的新鲜感:一开始游戏新鲜内容好奇,然后在新鲜内容耗尽时。
  2. 成就感
  3. 史诗故事感(真实代入感),和领悟
  4. 刺激感?(不适用我这里

反向:

  1. 日常的枯燥的刷任务积累,实在令人厌烦。
  2. PVP的队友的争吵和失败的挫败感也会大幅降低游玩意愿

关于PVP 和 PVE

如果在游玩的时候,如果没有对面是电脑的想法,任务的难度就是合适的,有趣的,或者有挑战的。

如果意识到了NPC反应的模板化,枯燥化,简单化的PVE就不行。 PVP可以避免这三点,但是组队的门槛、队内的矛盾、和失利会带来反向效果。

比如GTA5 online通关之后,上线之后所有东西都尝试过后,就没有留恋的意思了。除非将NPC接入AI并且动态调节难度,就可以避免这点。

如何筛选适合的游戏

现状:游玩时间少,时间碎片化,无规律

  • 游玩体验一定要舒适
    • 体验的主线内容:真实的幻想世界
      • 轻松快乐的主线剧情体验,(-20 ~ 35)
        • 一起提供代入感和沉浸式的游玩体验
        • 无剧情该项为0
        • 扣分:枯燥拖沓的演出(-10)
        • 加分:刺激有趣的剧情表演(+10)、诙谐的台本(+5),令人有所感悟的主线故事(+15)、动容的NPC故事(+5)
      • 有趣新颖的玩法(30)
        • 新鲜玩法(15)
        • 眼前一亮的细节(5)
        • 足够深的游戏内容,来随意探索;(10)
          • 或者足够精致宏大的单机主线内容(FF,大镖客2)
      • 精致华丽的美术(30)
        • 交互界面UI(3)
        • 开放世界风景(7) 震撼华丽的大场景可以弥补角色喜爱塑造的缺失
        • 令人喜爱的角色(15)
        • 动听的音乐(5)
    • 日常周常体验(40)
      • 耗时/门槛(20):
        • 无需投入大量前期时间才能正常体验
          • 经验训练技巧
          • 前置任务过多
        • 没有强制的任务指标来限制/延长在线时长
      • 收获感(10):投入有回报(货币)、提升(数值)
      • 新鲜感(10):有Rougelike元素,避免无聊
    • 手游根据逼氪程度减分
      • 200以上减5;1000以上减10

适合的类型:

  • 合家欢小游戏(主玩法,轻竞技):
    • 蛋仔、任系游戏(惊奇)
  • 主剧情的单机RPG游戏
    • 王国之泪,星际争霸(金手指)
  • 主美术的二次元轻度手游
    • 铁道
  • 网状叙事的电影史
    • 博德之门3

不适合的类型:

  • 有紧迫任务目标的游戏(大量限时任务的网游)
  • 快乐建立在胜负上的竞技类游戏(PVP游戏)

举例

231221 少女前线2 追放

首先,我没有玩过少前1,和战棋类游戏,和偏写实的剧情。

  1. 剧情与主线:
    1. 沉浸感低:谜语人,各种看不到的名词。我不知道是为了装逼还是少前1的基本概念。好的游戏,都不会在玩家理解上制造问题。
    2. 个人感觉写实的剧情立意不足,和目的性,意义行解释不清楚,导致游玩时,感觉动力不足。 由于本人并不喜欢打杀。我玩游戏也是认真玩的,如果剧情感觉不够恢弘,写实的枪战细节剧情感觉不是很动人。(可能是玄幻和幻想游戏玩多了,写实类剧情完全没接触过),需要平衡好真实感与现实的繁琐程度
  2. 美术
    1. UI简洁好看
    2. 好但可以更好,人物, 闪电姐的脸总感觉怪怪的胖胖的。黑丝等拟真质感确实不错。但是人物服饰什么的都是冷淡风,只能说之后的潜力很大。(比如像 尘白禁区泳装一样。
  3. 玩法
    1. 好但可以更好,利用地形杀,和道具之类的。(有潜力

需要进一步的研究学习

暂无

遇到的问题

暂无

开题缘由、总结、反思、吐槽~~

参考文献