Algorithm 以分组步骤完成图形

Algorithm 以分组步骤完成图形,algorithm,graph-theory,graph-algorithm,Algorithm,Graph Theory,Graph Algorithm,好的,我想写一些软件来解决这个问题: 有一个网络活动,企业主可以在一张桌子上与其他企业主交谈一定时间。有n人参加活动,一张桌子上的人数是s,有t张桌子 在规定的时间过后,所有的人都会以某种方式洗牌,以便能够与新的人交谈。这样做的目的是让参加活动的每个人都有机会与其他人交谈(一个完整的图表),尽可能减少冗余连接 这并不是要求图表100%完整,但尽可能接近就好了 要总结变量(使用实际值),请执行以下操作: 因此,我对图论没有任何实际经验,但这是我解决问题的粗略想法: 列出所有可能的连接,其中有(n*

好的,我想写一些软件来解决这个问题:

有一个网络活动,企业主可以在一张桌子上与其他企业主交谈一定时间。有n人参加活动,一张桌子上的人数是s,有t张桌子

在规定的时间过后,所有的人都会以某种方式洗牌,以便能够与新的人交谈。这样做的目的是让参加活动的每个人都有机会与其他人交谈(一个完整的图表),尽可能减少冗余连接

这并不是要求图表100%完整,但尽可能接近就好了

要总结变量(使用实际值),请执行以下操作:

因此,我对图论没有任何实际经验,但这是我解决问题的粗略想法:

  • 列出所有可能的连接,其中有(n*(n-1))/2个
  • 构建一个表,一次添加1个未创建的连接,直到该表拥有正确的人数
  • 尝试添加不创建冗余连接的连接
  • 如果将导致一个人坐在多张桌子旁,请不要向桌子添加连接
  • 重复此操作,直到使用完所有连接
  • 我在思考这将如何工作/实现它时遇到了很多困难。我希望有人能给我一些建议或者给我指出正确的方向


    谢谢

    这听起来像是一个问题或一个问题的变体

    这是一个相对复杂的问题,你不需要一个精确的解决方案,这使得你很难说出你真正需要做什么才能得到一个“可接受的好”的解决方案。我建议你先读这两页,希望你能找到与你目前处境相匹配的东西

    我同意,从一个完整的图表中反向工作可能是最好的策略。您从完整的图形开始,然后尝试将其划分为组件,以便获得您的排列。您提出的算法可能很有效。也许最好是试试看,如果不行,再问另一个问题:)

        n - the number of people attending the event (20-40)
        s - the number of people who can sit at one table(5-8)
        t - the number of tables (4-10)
        c - the number of shuffles (what ever is required for the setup)