Matroid oracle - Matroid oracle

Математика мен информатикада а matroid oracle Бұл ішкі программа ол арқылы алгоритм а қол жеткізе алады матроид сипаттау үшін қолдануға болатын дерексіз комбинаторлық құрылым сызықтық тәуелділіктер а-дағы векторлар арасында векторлық кеңістік немесе ағаштар а график, басқа қосымшалармен қатар.

Осы типтегі ең көп қолданылатын оракл - бұл тәуелсіздік оракілі, матроид элементтерінің жиынтығының тәуелсіз екендігін тексеруге арналған ішкі бағдарлама. Сондай-ақ, оракеттің бірнеше басқа түрлері қолданылды; олардың кейбіреулері тәуелсіздік оракулаларына қарағанда әлсіз, кейбіреулері күштірек, ал кейбіреулері есептеу күшіне баламалы болып шықты.[1]

Көптеген алгоритмдер матроидтарда есептеулер жасайтын, олар көптеген түрлі матроидтарда өзгертусіз тиімді жұмыс істеуге мүмкіндік беретін және олар қандай матроидты қолданатындығы туралы қосымша болжамдарсыз оракілді енгізу ретінде жасалған. Мысалы, кез-келген матроид үшін тәуелсіздік оракілі берілгенде, матроидтың минималды салмақ негізін табуға болады. ашкөздік алгоритмі ол элементтерді салмаққа қарай сұрыпталған тәртіпте негізге қосады, әр элементті қосуға болатындығын тексеру үшін тәуелсіздік оракулін қолданады.[2]

Жылы есептеу күрделілігі теориясы, Oracle моделі сөзсіз алып келді төменгі шекаралар кейбір матроидалық мәселелерді полиномдық уақытта шешуге болмайтындығын дәлелдеу, дәлелденбеген болжамдарға жүгінбей, мысалы P ≠ NP. Осылайша қиын екендігі көрсетілген мәселелерге матроидтың бар-жоғын тексеру кіреді екілік немесе бірыңғай немесе оның белгілі бірінің бар-жоғын тексеру кәмелетке толмағандар.[3]

Неліктен оракулдар?

Кейбір авторлар матроидтардың компьютерлік көріністерімен тәжірибе жүргізгенімен, олар барлық тәуелсіз жиынтықтарды немесе матроидтың барлық жиынтықтарын нақты тізімдейді,[4] бұл өкілдіктер емес қысқа: матроид элементтер экспоненциалды кеңістікті алатын көрініске дейін кеңеюі мүмкін . Шынында да, нақты матроидтардың саны элементтер өседі екі есе экспоненциалды сияқты

[5]

Бұдан шығатыны, барлық ықтимал матроидтермен жұмыс істеуге қабілетті кез-келген айқын ұсыныс экспоненциалды кеңістікті қолдануы керек.[6]

Оның орнына матроидтардың әртүрлі типтерін олар анықталған басқа құрылымдардан тиімдірек ұсынуға болады: біркелкі матроидтар олардың екі сандық параметрлерінен, графикалық матроидтер, екі шеңберлі матроидтер, және гаммоидтар графиктерден, сызықтық матроидтер бастап матрицалар және т.б. Алайда, ерікті матроидтарда есептеу алгоритмі осы матроид кластарының әрқайсысы үшін қайта жасалынғаннан гөрі, оның аргументіне қол жеткізудің біркелкі әдісін қажет етеді. Oracle моделі алгоритмге қажет болуы мүмкін қол жетімділік түрлерін кодтау мен жіктеудің ыңғайлы әдісін ұсынады.

Тарих

Бастау Радо (1942), «тәуелсіздік функциялары» немесе «-функциялар «матроидтарды аксиоматизациялаудың көптеген баламалы тәсілдерінің бірі ретінде зерттелген. Тәуелсіздік функциясы матроид элементтерінің жиынтығын санмен салыстырады егер жиын тәуелсіз болса немесе егер ол тәуелді болса; яғни бұл индикатор функциясы тәуелсіз жиынтықтар отбасының мәні, тәуелсіздік оракелімен бірдей.[7]

Matroid ораклдары сонымен қатар матроидтардағы алғашқы алгоритмдік жұмыстың бөлігі болды. Осылайша, Эдмондс (1965), матроидты бөлу мәселелерін зерттегенде, берілген матроидке кіру тәуелсіз жиынтығын алатын подпрограмма арқылы жүзеге асырылды деп ойладым және элемент , немесе тізбекті қайтарады (міндетті түрде бірегей және құрамында болады , егер ол бар болса) немесе ондай схеманың жоқтығын анықтайды. Эдмондс (1971) берілген жиынның тәуелсіз екендігін тексеретін (яғни қазіргі заманғы терминологияда тәуелсіздік оракелі) подпрограмманы қолданды және ол ұсынған ақпараттың көпмүшелік уақыттағы минималды салмақ негізін табуға жеткілікті екенін байқады.

Жұмысынан басталады Корте және Хаусманн (1978) жәнеХаусманн және Корте (1978), зерттеушілер матрицалар мен онымен байланысты құрылымдардың алгоритмдерінің төменгі шектерін дәлелдеу тұрғысынан зерттей бастады. Хаусманн мен Кортенің бұл екі мақаласы макроды үшін оңай, бірақ (олар көрсеткендей) жалпыға жуықтау үшін дәл есептеу қиын болатын максималды тәуелсіз жиынтықты табу мәселесіне қатысты. тәуелсіздік жүйелері тәуелсіздік оракелімен ұсынылған. Бұл жұмыс 1970-ші жылдардың аяғы мен 80-ші жылдардың басында матроидтардағы қиындықтар үшін осындай қаттылық нәтижелерін көрсететін көптеген қағаздарды бастады[8] және әр түрлі матроидтық оракеттердің күшін салыстыру.[9]

Сол кезден бастап тәуелсіздік oracle матроид алгоритмдеріндегі көптеген зерттеулер үшін стандартты болды.[10] Сондай-ақ төменгі шекаралар бойынша зерттеулер жалғасуда,[11] және әртүрлі типтегі ораклдарды салыстыру.[12]

Шешендердің түрлері

Матроидты оракулдың келесі түрлері қарастырылды.

  • Ан тәуелсіздік оракулы матроид элементтерінің жиынтығын кіріс ретінде қабылдайды және а түрінде шығады Логикалық мән, егер берілген жиын тәуелсіз болса, ал басқаша жалған болса.[13] Ол матроид анықталған негізгі құрылым негізінде оңай жүзеге асырылуы мүмкін графикалық матроидтер, көлденең матроидтар, гаммоидтар, және сызықтық матроидтар, және матроидтар үшін тікелей қосындылар сияқты стандартты операциялар нәтижесінде пайда болады.[3]
  • Oracle Эдмондс (1965) кіріс ретінде тәуелсіз жиынтықты және қосымша элементті алады, немесе олардың бірігуінің тәуелсіз екендігін анықтайды немесе одақтағы тізбекті тауып, оны қайтарады.
  • A Oracle дәрежесі матроид элементтерінің жиынтығын кіріс ретінде қабылдайды және оның шығысы ретінде сан мәнін қайтарады дәреже берілген жиынтықтың.[9]
  • A негізі матроид элементтерінің жиынтығын кіріс ретінде қабылдайды және логикалық мәнді шығарады, егер берілген жиын негіз болса, ал басқаша жалған болса.[9]
  • A схема матриоидты элементтер жиынын қабылдайды және логикалық мәнді қайтарады, егер берілген жиынтық схема болса, ал басқаша жалған.[9]
  • Үш түрі жабу oracle қарастырылды: бірі берілген элемент берілген жиынның жабылуына жататындығын тексеретін, екіншісі жиынның жабылуын қайтаратын және үшіншісі берілген жиынның жабылған-жабылмағандығын тексеретін.[9]
  • A ораканды қамтиды матроид элементтерінің жиынтығын енгізеді және логикалық мәнді қайтарады, егер берілген жиынтық ауқымы кең болса (яғни негіз бар және бүкіл матроидамен бірдей дәрежеге ие болса), ал басқаша жалған.[14]
  • A айналма оракл матроида элементтерінің жиынтығын кіріс ретінде қабылдайды және оның шығысы ретінде сол жиынның ішіндегі ең кіші тізбектің өлшемін сандық мәнге айналдырады (немесе егер берілген жиын тәуелсіз болса).[14]
  • A порт oracle бекітілген элемент үшін matroid-дің мәні матроид элементтерінің жиынтығын алады және логикалық мәнді шығарады, егер берілген жиынтықта тізбек болса ал басқаша жалған.[15]

Әр түрлі сиқырлардың салыстырмалы күші

Оракулдардың белгілі түрлері көп болғанымен, оларды таңдауды жеңілдетуге болады, өйткені олардың көпшілігі есептеу күшімен эквивалентті. Oracle деп айтылады көпмүшелік қысқартылатын басқа оракулға кез келген қоңырау болса тек oracle көмегімен matroid-қа қол жеткізетін алгоритммен модельденуі мүмкін және алады көпмүшелік уақыт матроид элементтерінің саны бойынша өлшенгендей; күрделілік-теориялық тұрғыдан алғанда бұл а Тюрингтің төмендеуі. Екі оракул деп айтылады көпмүшелік эквивалент егер олар бір-біріне полиномдық редукцияланатын болса. Егер және көпмүшелік эквивалентті, содан кейін кез-келген нәтиже oracle көмегімен матроидалық есеп үшін полиномдық уақыт алгоритмінің бар немесе жоқ екендігін дәлелдейді. сонымен бірге дәл сол нәрсені оракул үшін дәлелдейді .

Мысалы, тәуелсіздік оракілі полиномиальды түрде схеманы анықтайтын оракульге тең Эдмондс (1965). Егер схеманы табу мүмкіндігі болса, жиынтықты максимумды пайдаланып тәуелсіздікке тексеруге болады ар-дан бастайды бос жиын, берілген жиын элементтерін бір-бірден қосу және әрбір қосымшаның осы уақытқа дейін жасалған тәуелсіздігін сақтап қалуын тексеру үшін схеманы табу оракулын қолдану. Басқа бағытта, егер тәуелсіздік оракілі болса, жиынтықтағы схема ең көбін пайдаланып табылуы мүмкін әр элемент үшін тестілеу арқылы оракулға шақырады , ма тәуелсіз және жауап жоқ элементтерді қайтарады. Дербестік оракул полиномиалды түрде дәрежелік оракульге, таралатын оракелге, ораклеттің жабылуының алғашқы екі түріне және порт оракеліне тең.[1]

Берілген жиынның жабылған-жабылмағандығын тексеретін негізгі оракуль, схема және оракулдың барлығы тәуелсіздік оракуліне қарағанда әлсіз: оларды тәуелсіздік оракулын пайдаланып, матроидқа қол жеткізетін алгоритм арқылы полиномдық уақытта модельдеуге болады, бірақ керісінше емес. . Сонымен қатар, осы үш сиқырдың ешқайсысы бір-бірін көпмүшелік уақыт ішінде модельдей алмайды. Дәл сол мағынада тәуелсіздік оракулынан гөрі оракль күшті.[9]

Тюрингтің қысқартылуымен қатар, полиномдық уақыттың төмендеуінің басқа түрлері де қарастырылды. Соның ішінде, Карп, Уффал және Уигдерсон (1988) деп көрсетті параллель алгоритмдер, дәреже және тәуелсіздік оракулдары есептеу күшімен айтарлықтай ерекшеленеді. Oracle дәрежесі минималды салмақ негізін салуға мүмкіндік береді матройдты элементтердің сұрыпталған ретті префикстерінің бір мезгілде сұраныстары: элемент оңтайлы негізге жатады, егер оның префиксінің деңгейі алдыңғы префикстің дәрежесінен өзгеше болса ғана. Керісінше, тәуелсіздік оракулімен минималды негізді табу әлдеқайда баяу: оны детерминалды түрде шешуге болады уақыт қадамдары, ал төменгі шегі бар рандомизацияланған параллель алгоритмдер үшін де.

Алгоритмдер

Матроидтардағы көптеген мәселелер шешілетіні белгілі көпмүшелік уақыт, алгоритмдер арқылы тек матроидқа тәуелділік немесе басқа баламалы қуаттың басқа күші арқылы қол жеткізуге болады, оларға қандай матроид берілгені туралы ешқандай қосымша болжамдар қажет етілмейді. Бұл көпмүшелік шешілетін есептерге мыналар жатады:

  • А-ның минималды немесе максималды салмағын табу салмақты матроид, пайдаланып ашкөздік алгоритмі.[2]
  • Матроид элементтерін тәуелсіз жиындардың минималды санына бөлу және берілген екі матроида бір уақытта тәуелсіз болатын ең үлкен жиынды табу. Соңғы проблема деп аталады матроид қиылысы, және екі проблеманың шешімдері бір-бірімен тығыз байланысты.[16]
  • Матроид екенін тексеру -қосылған (мағынасында Tutte 1966 ) үшін .[17]
  • Берілген матроидтің бар-жоғын тексеру графикалық[18] немесе тұрақты.[19]
  • Ан табу құлақтың ыдырауы берілген матроидтың тізбегі, оның бірігуі матроид болып табылады және тізбектегі барлық алдыңғы тізбектер жиырылғаннан кейін әрбір тізбек тізбек болып қалады. Мұндай ыдырау таңдалған матроид элементінің әрбір тізбекке жататындығының қосымша қасиетімен де болуы мүмкін.[15]
  • А табу тармақ-ыдырау берілген матроидтің, оның ені әрдайым тұрақты константадан аспайды.[20]
  • Матроидтың барлық негіздерін, жазықтарын немесе тізбектерін көп жиынтық уақытқа шығару жиынтығы бойынша тізімдеу.[21]
  • Негіздер санын а-ға жуықтау толық полиномдық уақыт бойынша рандомизацияланған жуықтау схемасы, бар матроид үшін элементтері мен дәрежесі , негіздер саны санының полиномдық коэффициентінің ішінде болады деген қосымша болжаммен - элементтер жиынтығы.[22]

Мүмкін еместіктің дәлелі

Көптеген матроидалық есептер үшін тәуелсіздік оракулы есепті полиномдық уақытта шешуге мүмкіндік беретін қуат бермейді деп көрсетуге болады. Бұл дәлелдердің негізгі идеясы - екі матроидты табу және онда есептің жауабы әртүрлі және алгоритмді ажырату қиын. Атап айтқанда, егер симметрияның жоғары дәрежесіне ие, және ерекшеленеді тек аздаған сұрауларға жауап бергенде, алгоритмге типтің кірісін ажыратуға сенімді болу үшін өте көп сұраныстар қажет болуы мүмкін симметрияларының бірін қолдану арқылы құрылған кірістен ауыстыру .[3]

Бұл тәсілдің қарапайым мысалын матроидтың бар-жоғын тексеру қиын екенін көрсетуге болады бірыңғай. Экспозицияның қарапайымдылығы үшін рұқсат етіңіз біркелкі болыңыз, рұқсат етіңіз бірыңғай матроид болу және рұқсат етіңіз пайда болған матроид болу біреуін жасау арқылы -элементтік негіз жиынтықтары тәуелді емес тәуелді. Алгоритм оның кірісі біркелкі екендігін дұрыс тексеруі үшін оны ажырата білуі керек мүмкін болатын кез келген мүмкіндіктен . Бірақ детерминирленген алгоритм үшін ол әрқайсысының бірін тексеруі керек -элементтердің ішкі жиындары: егер ол бір жиынты өткізіп алса, оны сол тәуелді етіп тағайындайтын жиынтығын таңдаған оракул алдай алады. Сондықтан, матроидтың біркелкі екендігін тексеру қажет болуы мүмкін

тәуелсіздік сұрақтары, көпмүшеліктен әлдеқайда жоғары. Осы екі матроидті ажырата алатындығына сенімді болу үшін рандомизацияланған алгоритмнің өзі де шамамен көп сұранысты жасауы керек.[23]

Дженсен және Корте (1982) әрдайым екі матроид болғанын дәлелдеу арқылы осы тәсілді рәсімдеу және бірдей элементтер жиынтығында, бірақ әр түрлі проблемалық жауаптарымен, берілген элементтерді сол элемент бойынша дұрыс шешетін алгоритмді қолдану керек

сұраулар, қайда дегенді білдіреді автоморфизм тобы туралы , тәуелсіздігі ерекшеленетін жиынтықтар отбасын білдіреді дейін , және картаға түсіретін автоморфизмдердің кіші тобын білдіреді өзіне. Мысалы, біртекті матроидтің автоморфизм тобы - бұл тек симметриялық топ, өлшемімен және бірыңғай матроидтарды тестілеу мәселесінде тек бір жиынтық болды бірге , қарағанда экспоненциалды коэффициент бойынша кіші .[24]

Matroid oracle алгоритмінің полиномдық уақытта есептеу мүмкін еместігі дәлелденген мәселелерге мыналар жатады:

  • Берілген матроидтің біркелкі екендігін тексеру.[23]
  • Берілген матроидта бекітілген матроид бар-жоғын тексеру ерекше жағдайларды қоспағанда, кәмелетке толмаған ретінде дәрежесі немесе коранкі бар біркелкі. Жалпы, егер бұл матроидтардың белгіленген ақырлы жиынтығы және біртекті матроид жоқ , содан кейін берілген матроид ішінде бір немесе бірнеше матроид бар-жоғын полиномдық уақытта тексеру мүмкін емес кәмелетке толмаған ретінде.[25]
  • Берілген матроидтің бар-жоғын тексеру екілік, кез келген белгілі бір тіркелгенге қатысты өріс, немесе ол ұсынылатын өріс бар ма.[26]
  • Матроидты сәйкестендіру мәселесін шешу, онда кіріс және оның шыңдарында матроид болады, және мақсаты сәйкестендіру сәйкес келетін шыңдар дербес жиынтық құратындай шектеулерді ескере отырып, мүмкіндігінше үлкен графикте.[27]
  • Берілген матроидтің бар-жоғын тексеру өзіндік қосарлы, көлденең, екі жақты, Эйлериан, немесе бағдарлы.[3]
  • Айналдыра есептеу (ең кіші тізбектің өлшемі), ең үлкен тізбектің өлшемі, тізбектер саны, негіздер саны, пәтерлер саны, максималды дәрежелі пәтерлер саны, ең үлкен пәтердің өлшемі, Тутте көпмүшесі немесе берілген матроидтің қосылу мүмкіндігі.[3]

Барлық қасиеттерінің жиынтығы арасында - элементтік матроидтар, қасиеттердің үлесі тестілеуге экспоненциалды уақытты қажет етпейді, шегінде нөлге тең болады шексіздікке жетеді.[6]

Сондай-ақ қараңыз

Ескертулер

  1. ^ а б Робинзон және Уэльс (1980); Хаусманн және Корте (1981); Куллард пен Хеллерштейн (1996).
  2. ^ а б Эдмондс (1971).
  3. ^ а б c г. e Дженсен және Корте (1982).
  4. ^ Мейхью (2008).
  5. ^ Piff & Welsh (1971); Пифф (1973); Кнут (1974); Bansal, Pendavingh & van der Pol (2012).
  6. ^ а б Робинзон және Уэльс (1980).
  7. ^ Тәуелсіздік функциясы аксиоматизациясына негізделген матроидтар туралы қосымша зерттеулер үшін, мысалы, қараңыз. Радо (1957), Лазарсон (1958), және Инглтон (1959).
  8. ^ Ловаш (1981); Сеймур (1981); Сеймур және Уолтон (1981); Дженсен және Корте (1982); Truemper (1982).
  9. ^ а б c г. e f Робинзон және Уэльс (1980); Хаусманн және Корте (1981).
  10. ^ Мысалы. қараңыз Каннингэм (1986), Келманс және Полесски (1994) Фудзишиге & Чжан (1995), Чавес Ломели және Уэльс (1996), Хачиян және т.б. (2005), және Оум және Сеймур (2007).
  11. ^ Азар, Бродер және Фриз (1994).
  12. ^ Карп, Уффал және Уигдерсон (1988); Куллард пен Хеллерштейн (1996).
  13. ^ Эдмондс (1971); Робинзон және Уэльс (1980); Хаусманн және Корте (1981).
  14. ^ а б Хаусманн және Корте (1981).
  15. ^ а б Куллард пен Хеллерштейн (1996).
  16. ^ Эдмондс (1965); Каннингэм (1986).
  17. ^ Биксби және Каннингэм (1979). Кез-келген тұрақты шамаға ұқсас нәтижені талап ететін қағаз Каннингем мен Эдмондс шамамен бір уақытта жариялады, бірақ жарияланбаған сияқты. Truemper (1998), 186–187 бб., «Орналасу - жалпылама жиындар әлдеқайда қиын ... Біз жалпы матроидтер туралы айтпағанда, екілік матроидтар үшін мұны қалай тиімді жүзеге асыруға болатынын білмейміз ».
  18. ^ Сеймур (1981).
  19. ^ Truemper (1982).
  20. ^ Оум және Сеймур (2007).
  21. ^ Хачиян және т.б. (2005).
  22. ^ Чавес Ломели және Уэльс (1996). Керісінше, детерминирленген алгоритмдер үшін матроид негіздерінің санын дәл көпмүшелік уақытқа жуықтау мүмкін емес (Азар, Бродер және Фриз 1994 ж ).
  23. ^ а б Робинзон және Уэльс (1980); Дженсен және Корте (1982).
  24. ^ Сонымен қатар Дженсен және Корте (1982), бұл ресімдеу зерттелген Korte & Schrader (1981). Осы техниканы қолданудың көпшілігінде Дженсен және Корте (1982), біркелкі, бірақ Сеймур (1981) бірдей идеяны біркелкі емес, бірақ жоғары симметриялы матроидаға қолданады.
  25. ^ Сеймур және Уолтон (1981). Нәтижелері Сеймур (1981) және Дженсен және Корте (1982) а-ны табу проблемалары үшін мұның ерекше жағдайларын келтіріңіз кәмелетке толмаған және а Vamos matroid сәйкесінше кәмелетке толмаған. Матроидтың графикалық немесе тұрақты екендігін тексеру тыйым салынған кәмелетке толмағандардың шектеулі жиынтығы түрінде көрсетілуі мүмкін және полиномдық уақытта шешілуі мүмкін, бірақ бұл мәселелерге тыйым салынған кәмелетке толмағандар бірыңғай матроидты қамтиды , сондықтан олар бұл мүмкін емес нәтижеге қайшы келмейді.
  26. ^ Сеймур (1981) мұны екілік матроидтар үшін көрсетті, Сеймур және Уолтон (1981) ақырлы өрістер үшін, Truemper (1982) ерікті өрістер үшін және Дженсен және Корте (1982) матроид ұсынылатын өрістің болуы үшін.
  27. ^ Ловаш (1981); Дженсен және Корте (1982). Алайда, бұл проблеманың ерекше жағдайы екі жақты графиктер а ретінде көпмүшелік уақытта шешуге болады матроид қиылысы проблема.

Әдебиеттер тізімі