The typical ideology of crowd-science (leveraging unused epistemic resources, and making science more efficient) does not seamlessly apply.
High pace and yet also “Slow science”:
I think with a large collaboration of this kind we can aim not only for success in settling the problems (which is, of course, the central goal) but also for higher standards in explaining the proof, improving the argument, making sure it is locally correct and detailed (hyperlinks can even allow to give details that are necessary for some while obvious for others), and in the exposition level of the paper. Since everything is in the open there is no preasure to rush on these matters. (Gil Kalai, comment of March 15, 2009)
plot_overview(PM_FRAME, annotate=True)
author_project_res, indices_res, select_2_res, title_res = project_participation_evolution(PM_FRAME, ALL_AUTHORS, research_only=True)
authors_2_res = [author for author, bool in select_2_res.items() if bool]
plot_heatmap(*general_heatmap(PM_FRAME, ALL_AUTHORS,
authors=authors_2_res,
thread_level=False,
thread_type='research threads',
cluster_projects=False,
cluster_authors=False,
binary=False,
scale_data=True),
log=True)
plot_heatmap(*general_heatmap(PM_FRAME, ALL_AUTHORS,
authors=authors_2_res,
thread_level=False,
thread_type='research threads',
cluster_projects=True,
binary=False,
scale_data=True,
method='average'),
log=True)
project_heatmap(PM_FRAME, "Polymath 1", log=True, thread_type="research threads", method="average")
plot_discussion_tree(PM_FRAME, **PM4_FOCUS)
plot_discussion_tree_radial(PM_FRAME, **PM4_FOCUS)
draw_network(PM_FRAME, **PM4_FOCUS, fontsize=10)
plot_scatter_authors_hits(PM_FRAME, **PM4_FOCUS, fontsize=10)
Individual comments function as one-to-many announcements (the platform is open), but are they also public announcements?
plot_discussion_tree(PM_FRAME, project='Polymath 8', stage=2, thread_type='research threads')
plot_distance_from_centre(PM_FRAME, "Polymath 4", stage=2, thread_type="research threads")
(TC) $\mathrm{Close}_i \to (\mathrm{Close}_j \to \mathsf{K}_i \mathrm{Close}_j)$
(TC) $\mathrm{Close}_i \to (\mathrm{Close}_j \to \mathsf{K}_i \mathrm{Close}_j)$
plot_centre_crowd(PM_FRAME, "Polymath 4", stage=2, thread_type="research threads")
plot_delays_boxplot(PM_FRAME, "Polymath 4", stage=2, thread_type="research threads")
plot_activity_thread(PM_FRAME, "Polymath 4", stage=3, thread_type="all threads", last="2009-09-01")
draw_network(PM_FRAME, project="Polymath 4", thread_type="research threads", stage=-1, fontsize=10)
draw_network(PM_FRAME, project="Polymath 4", thread_type="research threads", stage=-1, graph_type="cluster", fontsize=10)
plot_scatter_authors(PM_FRAME, project="Polymath 4", thread_type="research threads", stage=-1,
measure="degree centrality",
weight={"interaction": 'weight',"cluster": 'weight'},
to_undirected=True, thresh=15, fontsize=12)
plot_scatter_authors(PM_FRAME, project="Polymath 4", thread_type="research threads", stage=-1,
measure="eigenvector centrality",
weight={"interaction": 'weight',"cluster": 'weight'},
to_undirected=False)
plot_scatter_authors_hits(PM_FRAME, project="Polymath 4", thread_type="research threads", stage=-1)
COMPARE3 = DataFrame({'cluster_avg': GRAPH_DATA['research interaction graph'].apply(avg_clustering),
'transitivity': GRAPH_DATA['research interaction graph'].apply(nx.transitivity),
'comments': r_comments,
'participants': r_participants})
fig, axes = plt.subplots(1,2, figsize=(16,8))
COMPARE3.plot(kind="scatter", x="comments", y="participants", c="transitivity", cmap="viridis_r", s=130,
logx=True, logy=True,
sharex=False,
ax=axes[0])
COMPARE3.plot(kind="scatter", x="comments", y="participants", c="cluster_avg", cmap="viridis_r", s=130,
logx=True, logy=True,
sharex=False,
ax=axes[1])
fig.suptitle('Interaction graph (research threads)', fontsize=20)
axes[1].get_yaxis().set_visible(False)
axes[0].set_title('Transitivity')
axes[1].set_title('Average Clustering')
fig.get_axes()[2].set_ylabel('')
fig.get_axes()[3].set_ylabel('')
for i in range(2):
axes[i].set_ylim([0, 200]);
axes[i].set_xlim([0, 4000]);
axes[i].xaxis.set_ticks_position('bottom')
axes[i].yaxis.set_ticks_position('left')
axes[i].xaxis.set_major_formatter(
FuncFormatter(
lambda y,pos: ('{:.0f}'.format(y))))
axes[i].yaxis.set_major_formatter(
FuncFormatter(
lambda y,pos: ('{:.0f}'.format(y))))
for label, coords in COMPARE3.iterrows():
if i == 0 and coords['transitivity'] < 0.06:
color = "darkgray"
elif i == 1 and coords['cluster_avg'] < 0.008:
color = "darkgray"
else:
color = "lightgray"
axes[i].text(coords['comments'], coords['participants'], label.split()[-1],
verticalalignment='center', horizontalalignment='center', color=color)
COMPARE4 = DataFrame({'cluster_avg': GRAPH_DATA['research cluster graph'].apply(avg_clustering),
'transitivity': GRAPH_DATA['research cluster graph'].apply(nx.transitivity),
'comments': r_comments,
'participants': r_participants})
fig, axes = plt.subplots(1,2, figsize=(16,8))
COMPARE4.plot(kind="scatter", x="comments", y="participants", c="transitivity", cmap="viridis_r", s=130,
logx=True, logy=True,
sharex=False,
ax=axes[0])
COMPARE4.plot(kind="scatter", x="comments", y="participants", c="cluster_avg", cmap="viridis_r", s=130,
logx=True, logy=True,
sharex=False,
ax=axes[1])
fig.suptitle('Cluster graph (research threads)', fontsize=20)
axes[1].get_yaxis().set_visible(False)
axes[0].set_title('Transitivity')
axes[1].set_title('Average Clustering')
fig.get_axes()[2].set_ylabel('')
fig.get_axes()[3].set_ylabel('')
for i in range(2):
axes[i].set_ylim([0, 200]);
axes[i].set_xlim([0, 4000]);
axes[i].xaxis.set_ticks_position('bottom')
axes[i].yaxis.set_ticks_position('left')
axes[i].xaxis.set_major_formatter(
FuncFormatter(
lambda y,pos: ('{:.0f}'.format(y))))
axes[i].yaxis.set_major_formatter(
FuncFormatter(
lambda y,pos: ('{:.0f}'.format(y))))
for label, coords in COMPARE3.iterrows():
if i == 0 and coords['transitivity'] < 0.06:
color = "darkgray"
elif i == 1 and coords['cluster_avg'] < 0.008:
color = "darkgray"
else:
color = "lightgray"
axes[i].text(coords['comments'], coords['participants'], label.split()[-1],
verticalalignment='center', horizontalalignment='center', color=color)