Code Monkey home page Code Monkey logo

libsym's Introduction

LibSym

A python program to simulate locker occupation in PKU library

http://blog.sciencenet.cn/blog-270448-850759.html

近年来,北京大学图书馆的存包柜被长期占用的情况十分严重。尽管图书馆在《北京大学图书馆存包柜使用须知》中明确规定了闭馆前不带走物品和挂锁的行为为占柜,并应该被清理,而因为种种原因这一规定并没有得到彻底的执行。

近来,随着图书馆方面加强了对存包柜的清理,一些利益相关者在北大未名BBS的PKULibrary版面上产生了很多的争执。有一些网友认为,清理存书柜的行为不具有正当性,而违规占柜是正当的。他们的理由包括清理存包柜会导致实际的利用效率下降。

针对这些争论,我对北京大学图书馆的存包过程进行了简化假设,并构建了模拟模型,利用python语言对其进行了实现和求解,并研究了不同参数下的模型结果。

该模型的假设简要概括如下:

北京大学图书馆(PKULib)每天开放10小时。

PKULib有1000位读者,其中100位为不遵守规定的读者(badreader),900位为遵守规定的读者(goodreader)。

北京大学图书馆提供150个存包柜(locker)供读者使用。

每天,所有读者都会一个个的进馆,并都会使用存包柜。其进入图书馆的时间基本满足均匀分布,即每小时进入的人数相差不大。每人进馆后都会寻找空的储物柜,如果找到,该读者会感到开心(happiness);如果存包柜都被沾满,该读者会感到郁闷(madness)。

goodreader每天会在图书馆呆到下一个整点,且这一天就不再来图书馆。他们走的时候会带走存包柜里自己的东西。

badreader走的时间谁也不知道,而且他们不会带走自己在存包柜里的东西。

每隔一段时间(emptyperiod),图书馆会在闭馆后清理存包柜,此时badreader占用的存包柜会被清空。直到下一次badreader来到图书馆,他们才会重新占据一个存包柜。

我编写并求解了这一模型。在参数emptyperiod不同的情况下,获得了不同的结果。经过多次尝试,发现参数不变的情况下结果的差异不大(可以算方差表征)。典型的值如下:

当每天清一次柜时,happiness为90209,madness为9791;

当每30天清一次柜时,happiness为1314,madness为98686。

这样的模拟结果说明,在模型假设条件下,每天清柜相比每30天清柜,会显著的增加happiness,降低madness。


History: 1.0.0 Released 20141213

libsym's People

Contributors

mengxiangxi avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.