الگوریتم‌های جورسازی گراف
در مجموعه‌ای از افراد، هر فرد با برخی از افراد دیگر سازگار است، یافتن شرایطی که تحت آن بتوانیم افراد را به صورت جفت سازگار باهم دسته‌بندی کنیم. بسیاری از کاربردهای گراف‌ها تضمین‌کنندهٔ چنین جفت سازی‌هایی هستند. یک جورسازی در یک گراف بی سوی G مجموعه‌ای از یال‌های دو به دو مجزا می‌باشد. رأس‌های متعلق به یال‌های یک جورسازی، اشباع شده و سایر رأس‌ها اشباع نشده هستند. اگر یک جورسازی هر راس از G را اشباع کند، آن گاه یک جورسازی تام یا جورسازی کامل است. برای جستجوی یک جورسازی بزرگ، می‌توانیم به‌طور مکرر یالی مجزا شده از یال‌های بیشتر انتخاب شده، را، در نظر بگیریم. این روند یک جورسازی ماکسیمال را به دست می‌دهد، اما لزومی ندارد که یک جورسازی بیشینه رابدهد. یک جورسازی ماکسیمال را نمی‌توان بیشتر نمود، زیرا یال‌های آن با همهٔ یال‌های دیگر متلاقی می‌باشد ولی یک جورسازی بیشینه، یک جورسازی با حداکثر اندازه‌است. طبق قضیه برژ جورسازی‌های بیشینه هیچ مسیر افزوده‌ای ندارند. اگر "G"و"H" گراف‌هایی با مجموعهٔ رأس‌های "V" باشند، آنگاه تفاضل متقارن "GΔH"، گرافی با مجموعهٔ رأس‌های "V"است که یال‌هایش همهٔ یال‌هایی هستند که دقیقادر "G" یا "H" ظاهر شوند. بنابراین اگر "M"و"N" جورسازی باشند آن گاه داریم: اگر گراف "X"، گراف"M"را اشباع کند، آن گاه برای هرformula_1 باید حداقلformula_2راس وجود داشته باشند که دارای همسایه‌هایی در formula_2 باشند.قضیه هال ثابت می‌کند که این شرط لازم و کافی است. مشخص‌سازی مسیر-افزوده برای جورسازی‌های بیشینه به الگوریتم تطابق بیشینه در گراف دوبخشی برای یافتن جورسازی‌های بیشینه می‌انجامد. جستجوی پیاپی مسیرهای افزوده و افزایش آن به اندازهٔ یک یال موجب یافتن این مسیر می‌شود که در صورت عدم پیدا کردن یک مسیر افزوده، پوشش راسی با اندازهٔ جورسازی جاری یافت می‌شود.
زمان اجرای الگوریتم جورسازی دو بخشی را می‌توان با ترتیبی ماهرانه در جستجوی مسیرهای افزوده بهبود بخشید. درصورتی که مسیرهای افزودهٔ کوتاه در دسترس باشند، نیاز به جستجوی یال‌های فراوان جهت یافتن یک یال نیست. بااستفاده از الگوریتم تطابق بیشینه در گراف دوبخشی به‌طور هم زمان از تمام رأس‌های اشباع نشدهٔ گراف "X"، می‌توانیم با یک بررسی مجموعهٔ یال‌ها مسیرهای فراونی با طول یکسان را بیابیم. هاپکرافت و کارپ [۱۹۷۵]ثابت کرده‌اند که افزوده‌های بعدی باید از مسیرهای طولانی تری استفاده کنند، بنابراین جستجوها را می‌توان در فازهایی که مسیرهای با طول یکسان را پیدا می‌کنند، گروه بندی کرد. به این شکل جورسازی بیشینه در گراف‌های دوبخشی را می‌توان در زمان (O("n" یافت.
استفاده از ارجحیت‌ها برای جورسازی رأس‌های گراف به جای بهینه ساختن وزن کل آن یک جورسازی پایدار را ایجاد می‌کند. در واقع باید رأس‌ها طوری جفت شوند که ترجیعی مبنی بر برهم زدن آن رابطه وجود نداشته باشد.یک گراف دوبخشی G، با افراز از مضاعف Y،X یک جورسازی Mدر G، ومجموعهٔ U از همهٔ رأس‌های M-اشباع نشده در X.
مسیرهای M- متناوب را از U جستجو کنید، با فرض اینکه formula_1 و formula_5 مجموعهٔ راس‌هایی باشند که به آن‌ها رسیده اید. راس‌هایی از S را که علامت دارند برای بسط مسیرها جستجو کنید. برای هرformula_6 راس پیش از x را روی یک مسیر M-متناوب از U ثبت کنید.
اگر S دارای هیچ راس علامت‌گذاری شده‌ای نباشد، متوقف شوید وformula_8 را به عنوان یک پوشش کمینه و M را به عنوان یک جورسازی بیشینه گزارش دهید. در غیر این صورت، یک formula_9 علامتدار نشده را انتخاب کنید. برای جستجوی x، هرformula_10 را طوری در نظر بگیرید که formula_11. اگر y اشباع نشده باشد، به کار پایان دهید و ازy به عقب جستجو کنید تا یک مسیر M- افزوده را از U به y گزارش نمایید. در غیر این صورت،y با یک formula_12 به وسیلهٔ M جور می‌شود. در این حالت،y را به T اضافه کنید( از x به آن رسیده ایم) و w را به S اضافه نمایید(از y به آن رسیده ایم). پس از جستجوی همهٔ چنین یال‌های متصل به x،x را علامتدار کنید و تکرار نمایید.