摘要:在大学课堂、特别是在公共课上,当老师和学生之间几乎都不认识的情况下,哪一些学生被抽中的概率会更高一些呢?我们通过建立一个简单的网络模型,来对这一事件进行简单的预测模拟。
关键词:点名;网络;概率
目录
前言
众所周知,在大学课堂上老师点名是一件很普遍的事情,有的点名是为了抽人回答问题,而有的点名可能就是为了查勤。那么,在那些老师和同学之间都不认识的大课上,哪一些学生被抽中的概率会大一些呢。
本文将以思想政治课为例,在该课上,由于是公共课属性,一个老师通常会对多个班进行授课,因此老师和学生之间很难建立起熟悉的关系。除此之外,为了完成课业考察,老师通常会把一个班的学生分为几个小组,每个小组完成一个课题的任务,然后老师会在小组之中随机抽选一名同学来进行任务报告。
如果我们把一个班的学生看作一个网络的话,老师就是把这个大网络随机均分为几个小网络,而在每个网络之中随机的找出一名学生进行报告。由于是在每个随机组成的小组中,随机的抽查一名学生,这也最大可能的完成了抽查机会的均分。在一定程度上,达到了对每一名学生都进行“威慑”的效果,即尽可能的使每一名学生都会去认真的准备。
我们可以把该课堂网络比作一个多局域世界网络,我们认为那些度高的点更容易被选中,即一些“曝光度”高的学生更容易被抽查。而“曝光度”的提升,往往来自于多个方面,有可能是由于缺勤、课堂表现活跃、亦或名字比较有特点等等原因。除此之外,在每个小组中的第一位和最后一名学生,老师为了表现出非刻意性,通常也不会对其进行抽查。
1.班级网络的构建
假设该班有6个小组,每个小组由10人组成。由于其与多局域世界网络之间存在相当相似性,我们将用多局域世界网络对其描述。
1.1初始网络构建
我们先编写一个由6个局域网络构成,每个网络中有10个点的大网络。为了均分机会,我们定义每个小网络中有20条边,即每个点都有一条边相连,每一个点的初始度相等。其子函数程序如下所示:
function a=generategraph(m0,e0);
if e0>m0*(m0-1)/2
fprintf('输入数据m0,e0不匹配'); return
end
a=zeros(m0);
ra=rand(m0);
ra=tril(ra);
ra([1:m0+1:end])=0;
[sra,ind]=sort(nonzeros(ra),'descend');
p=sra(e0);
a(ra>=p)=1;
a=a+a';
m0代表局域网络个数,e0代表每个局域网络的边数。
1.2学生“曝光度”的变化
学生在老师那里每多留一次印象,我们定义为“曝光度”加一,在上文中我们已经提到 “曝光度”的来源多种多样。总而言之,每多增加一次“曝光度”,该点度加一。其子程序如下:
function b=addedge(a,m,alpha);
b=a; n=length(a);
for i=1:m
deg=sum(b);
LP=(deg+alpha)/sum(deg+alpha);
pp=cumsum(LP);
rnum=randperm(n);
flag=1;
while flag<=n & deg(rnum(flag))==n-1
flag=flag+1;
end
if flag==n+1, continue, end
ind=find(pp>=rand);
if rnum(flag)~=ind(1) & b(rnum(flag),ind(1))==0
b(rnum(flag),ind(1))=1; b(ind(1),rnum(flag))=1;
end
end
其中,m代表增加“曝光度”的数,LP代表每一个点增加曝光度的概率,其数学函数表达式为:
α为函数的调节系数,表示节点对边的吸引力,也就是某位同学增加“曝光度”概率的高低。
通过这个计算式可以看出,ki表示的是一个节点的度,而这个度越大,其吸引到新的度的概率也越大。这符合“富人俱乐部”的理念,即越是“有名”的学生,由于老师对其的重点关照,其也越容易变得更加“有名”。
2 “曝光率”的描述
综合上文,主程序如下:
clc, clear
m=6; m0=10; e0=20; p=0.3; q=0.2; r=0.25; s=0.05; u=0.2;
m2=10; alpha=0.5;
p=[p,q,r,s,u]; n=m;
pp=cumsum(p);
for i=1:m
A{i}=generategraph(m0,e0);
end
num(1:m)=m0;
Tno=[]; Tuv=[];
for i=1:2000
ind=find(pp>=rand);
switch ind(1)
case 1
n=n+1; A{n}=generategraph(m0,e0);
num(n)=length(A{n});
case 2
rn=randperm(n); k=rn(1);
A{k}=addedge(A{k},m2,alpha);
otherwise
[no,uv]=addlongedge(A,m4,alpha);
Tno=[Tno,no];
Tuv=[Tuv,uv];
end
end
A{1}=1;A{2}=1;%降低队首和队尾同学被抽中概率
B=blkdiag(A{:});
num=[0,num];
cnum=cumsum(num);
for i=1:length(Tno)
u=cnum(Tno(1,i))+Tuv(1,i);
v=cnum(Tno(2,i))+Tuv(2,i);
B(u,v)=1; B(v,u)=1;
end
dp=mydegree(B);
d=dp(1,:)';
gd=(dp(2,:)/length(B))';
subplot(1,2,1), plot(d,gd,'-o')
xlabel('各同学的曝光次数'),ylabel('被抽中概率')
其运行结果如下:
其中,由于队首和队尾的同学一般不会被抽中,因此通过A{1}=1;A{2}=1;将其初始化为原始值,即使其在课上增加“曝光度”,老师为了体现非刻意,他们也很难被抽中。
3 总结
可以看出,在该模型中,在中位数的同学反而更容易被抽中。这也不难理解,“曝光率”低的学生一般不爱发言,但也会准时上课,并没有什么违纪行为,老师自然不容易注意到。而“曝光率”高的学生,通常是给老师留下深刻印象,除了极少数是由于连续缺勤而造成的高“曝光率”,通常是由于这些学生上课发言比较积极,老师一般也不会抽出这些学生进行最终的报告。为了体现公共课的随机考察性,老师会倾向于抽取中位数的学生进行报告,即选择那种特征性较小的学生。