No description
Find a file
2020-10-12 10:41:06 +02:00
example-schedule.rkt Eastern alpine mannikin, Joint Astronomy Centre & 7th Baronet 2020-10-10 14:38:15 +02:00
group-scheduling.rkt Azgueilem Tiyab, Epidemiological method, Lovro von Matačić & Ambassador (album). 2020-10-12 10:41:06 +02:00
README.org Eastern alpine mannikin, Joint Astronomy Centre & 7th Baronet 2020-10-10 14:38:15 +02:00

A way to find various subgroups of a group…

install

To run this programme youll need a working version of Racket installed (an installer can be downloaded here)

on macOS

brew cask install racket

on debian/ubuntu

sudo apt intall racket

you might also need to install the control library

raco pkg install control 

schedule

setup…

(require "group-scheduling.rkt")

define your group as a list of names (or similar)…

(define fmba-group '("Fidelia" "Marcus" "Donnette" "Garrett" "Lida" "Reagan" "Myrta" "Ginny" "Juliann" "Maxwell" "Serena" "Chante" "Wen" "Malcom" "Lizbeth" "Aleida"))

the print-test-rounds function determines if a particular arrangement of meetings will enable everyone in the group to meet once….

it's given a group (i.e. a list of names) and the number of rounds of 2, 3 or 4 people

  • first. number of rounds of pairs
  • second. number of rounds of 3 person groups
  • third. number of rounds of 4 person groups

So 2 rounds of pairs, one round of groups of 3 and one round of groups of 4 would look like this…

(print-test-rounds fmba-group 2 1 1)

begin with setting up the meetings

(start-meetings fmba-group)

make a few rounds…

(print-rounds-of-2 fmba-group 2)
(print-rounds-of-3 fmba-group 2)
(print-rounds-of-4 fmba-group 1)
(print-all-meetings fmba-group)

reset the meetings (i.e. forget who has net who) and go again…

(reset-meetings fmba-group)
(print-rounds-of-2 fmba-group 2)

show who has met in the meetings that have happened…

(print-all-meetings fmba-group)

try a few scenarios…

Week 1: 3x rounds of 2, 1x round of 3 Week 2: 2x rounds of 2, 1x round of 3, 1x round of 4 Week 3: 2x rounds of 2, 1x round of 3, 1x round of 4 Week 4: 2x rounds of 2, 2x rounds of 4

which looks like…

(print-test-rounds fmba-group 3 1 0)
(print-test-rounds fmba-group 2 1 1)
(print-test-rounds fmba-group 2 1 1)
(print-test-rounds fmba-group 2 0 2)

and test some other scenarios…

(printf "\nweek 1 & week 2 (scenario 1)\n\n")
(print-test-rounds fmba-group 5 2 1)

(printf "\nweek 1 & week 2 (scenario 2)\n\n")
(print-test-rounds fmba-group 4 3 1)

(printf "\nweek 1 & week 2 (scenario 3)\n\n")
(print-test-rounds fmba-group 4 2 2)

(printf "\nweek 1 & week 2  (scenario 4)\n\n")
(print-test-rounds fmba-group 4 1 3)

further