首页 > 其他分享 >stable marriage problem

stable marriage problem

时间:2024-11-09 20:58:05浏览次数:1  
标签:男性 匹配 210 int 算法 marriage stable problem 女性

稳定婚姻问题学习笔记

问题阐述

给定 \(n\) 个男性和 \(n\) 个女性,每个男性对女性有偏好度,女性对男性也是。要求一个完美匹配,使得没有一对未匹配的男女,对对方的偏好度都比目前的伴侣骗号度高。

性质

稳定婚姻匹配一定存在,不一定唯一。

算法

Mating Ritual 算法

早上:男性找到自己最喜欢的女性,给她唱歌

中午:女性如果有很多男的给她唱歌,选自己最喜欢的,然后让别的走

晚上:男的再也不去给那个拒绝他的女的唱歌

如此重复最多 \(n^2\) 天,每个女性只有一个男的给她唱歌,就是最终匹配。

/*
实际代码跟算法有出入,一次只计算一个男人,编码方便,原理一致
*/
int wp[210],mp[210];//女/男人匹配的
int p1[210][210],q1[210][210];
int p2[210][210],q2[210][210];
// 优先级越大表排名越靠前 p1 代表男人对女人 p2 代表女人对男人 q1,q2为这个人所对应优先级
void stable_marriage(){
    for(int i=1;i<=n;++i)mp[i]=wp[i]=0;
    int cnt=n;
    while(cnt>0){
        int m=1;
        while(mp[m]>0)m++;
        assert(m<=n);
        for(int i=1;i<=n;++i){
            int w=p1[m][i];
            if(wp[w]==0){
                mp[m]=w;
                wp[w]=m;
                cnt--;
                break;
            }else if(q2[w][m]<q2[w][wp[w]]){
                mp[wp[w]]=0;
                wp[w]=m;
                mp[m]=w;
                break;
            }
        }
    }
}

算法趣谈

看似女性充满了主动权,实则男性收获最大。

这个算法得到的男性对应的女性,是可能女性里偏好度最大的。女性对应的男性,是可能男性里偏好都最小的。

反直觉的事实。

参考资料

MIT

标签:男性,匹配,210,int,算法,marriage,stable,problem,女性
From: https://www.cnblogs.com/life-of-a-libertine/p/18537273

相关文章

  • [USACO23FEB] Problem Setting P 题解
    [USACO23FEB]ProblemSettingP题目说的很绕,意思就是所有验题人都认为题目难度顺序单增。发现\(m\)很小,很容易想到状压。把H看作\(\tt1\),E看作\(\tt0\),则我们得到\(m\)个长度为\(n\)的\(\tt01\)串,这就是每道题的“状态”。发现状态相同的题没有本质区别,所以我们......
  • 详述stable diffusion的过程 以及扩散过程
    AnswerStableDiffusion是一种基于扩散模型的图像生成技术,广泛应用于文本到图像的生成。其整个过程可以分为三个主要步骤:前向扩散过程、后向训练过程和后向推理过程。以下是对每个步骤的详细说明。1.StableDiffusion概述StableDiffusion通过将图像视为概率分布,并逐步改变......
  • 欢迎 Stable Diffusion 3.5 Large 加入 Diffusers
    作为StableDiffusion3的改进版本,StableDiffusion3.5如今已在HuggingFaceHub中可用,并可以直接使用......
  • stable diffusion图生图
    本节内容,给大家带来的是stablediffusion的图生图课程,我们在midjourney的课程中有学习过midjourney的图生图功能,即使用垫图的方式来引导AI绘制图片。图生图是AI绘图程序一个非常重要的功能,stablediffusion同样提供了类似的功能,而且stablediffusion图生图功能所提供的选项......
  • stable diffusion 大模型
    本节内容,给大家带来的是stablediffusion的基础模型课程。基础模型,我们有时候也称之为大模型。在之前的课程中,我们已经多次探讨过大模型,并且也见识过一些大模型绘制图片的独特风格,相信大家对stablediffusion大模型已经有了一定的了解。使用不同的大模型,绘制的图片风格,内容,精细......
  • Stable Diffusion LoRA, LyCoris
    本节内容,给大家带来的是stablediffusion的LoRA与LyCoris模型课程。我们在上节课程中,已经详细讲解了关于大模型的使用。在stablediffusion中打造一个大模型,需要基于大量特定特征的图像集进行训练,我们通常将这个过程称之为Dreambooth训练,这个过程比较耗时,同时对计算资源的要求......
  • 【comfyui教程】ComfyUI 现已支持 Stable Diffusion 3.5 Medium!人人都能轻松上手的图
    前言ComfyUI现已支持StableDiffusion3.5Medium!人人都能轻松上手的图像生成利器大家翘首以盼的StableDiffusion3.5Medium模型终于来了!就在今天,StabilityAI正式推出了这款“亲民版”平衡模型,让创作者们得以在消费级GPU上体验到AI图像生成的最新黑科技。本文将带......
  • 21天全面掌握:小白如何高效学习AI绘画SD和MJ,StableDiffusion零基础入门到精通教程!快速
    今天给大家分享一些我长期以来总结的AI绘画教程和各种AI绘画工具、模型插件,还包含有视频教程AI工具,免费送......
  • CF963-Div2-E. Xor-Grid Problem
    CF963-Div2-E.Xor-GridProblem题意给定一个\(n\timesm\)的矩阵\(a\),有两种操作:选择一行,把每个数变成所在列所有数的异或之和。选择一列,把每个数变成所在行所有数的异或之和。求进行任意次操作后整个矩阵最小的美丽值。思路第一个发现:同一数异或两次相当于没有异......
  • Ai绘画软件 Stable Diffusion 最新安装包
    StableDiffusion,作为近年来备受瞩目的AI图像生成工具,以其强大的文本到图像生成能力,正在逐步改变创意产业与商业应用的格局。随着StableDiffusion4.9的发布,这款工具在技术性能上取得了显著提升,以满足从专业研究到普通用户的多样化需求。需要stablediffusion可以扫描下......