25
.gitea/workflows/compile.yml
Normal file
25
.gitea/workflows/compile.yml
Normal file
@@ -0,0 +1,25 @@
|
||||
name: build pdf
|
||||
on: push
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: macos
|
||||
|
||||
steps:
|
||||
- name: Check out the repository
|
||||
uses: http://localhost:3000/sxlxc/checkout@v4
|
||||
|
||||
- name: Compile LaTeX using local TeX Live
|
||||
run: |
|
||||
echo "Compiling document..."
|
||||
latexmk -pdf main.tex
|
||||
|
||||
- uses: http://localhost:3000/sxlxc/gitea-release-action@v1
|
||||
with:
|
||||
body: ''
|
||||
prerelease: true
|
||||
name: PDF
|
||||
token: ${{ secrets.RELEASE_TOKEN }}
|
||||
tag_name: latest
|
||||
files: |-
|
||||
./*.pdf
|
||||
312
.gitignore
vendored
Normal file
312
.gitignore
vendored
Normal file
@@ -0,0 +1,312 @@
|
||||
|
||||
.vscode/
|
||||
*.sage.py
|
||||
*.pdf
|
||||
## Core latex/pdflatex auxiliary files:
|
||||
*.aux
|
||||
*.lof
|
||||
*.log
|
||||
*.lot
|
||||
*.fls
|
||||
*.out
|
||||
*.toc
|
||||
*.fmt
|
||||
*.fot
|
||||
*.cb
|
||||
*.cb2
|
||||
.*.lb
|
||||
|
||||
## Intermediate documents:
|
||||
*.dvi
|
||||
*.xdv
|
||||
*-converted-to.*
|
||||
# these rules might exclude image files for figures etc.
|
||||
# *.ps
|
||||
# *.eps
|
||||
# *.pdf
|
||||
|
||||
## Generated if empty string is given at "Please type another file name for output:"
|
||||
.pdf
|
||||
|
||||
## Bibliography auxiliary files (bibtex/biblatex/biber):
|
||||
*.bbl
|
||||
*.bbl-SAVE-ERROR
|
||||
*.bcf
|
||||
*.bcf-SAVE-ERROR
|
||||
*.blg
|
||||
*-blx.aux
|
||||
*-blx.bib
|
||||
*.run.xml
|
||||
|
||||
## Build tool auxiliary files:
|
||||
*.fdb_latexmk
|
||||
*.synctex
|
||||
*.synctex(busy)
|
||||
*.synctex.gz
|
||||
*.synctex.gz(busy)
|
||||
*.pdfsync
|
||||
*.rubbercache
|
||||
rubber.cache
|
||||
|
||||
## Build tool directories for auxiliary files
|
||||
# latexrun
|
||||
latex.out/
|
||||
|
||||
## Auxiliary and intermediate files from other packages:
|
||||
# algorithms
|
||||
*.alg
|
||||
*.loa
|
||||
|
||||
# achemso
|
||||
acs-*.bib
|
||||
|
||||
# amsthm
|
||||
*.thm
|
||||
|
||||
# beamer
|
||||
*.nav
|
||||
*.pre
|
||||
*.snm
|
||||
*.vrb
|
||||
|
||||
# changes
|
||||
*.soc
|
||||
|
||||
# comment
|
||||
*.cut
|
||||
|
||||
# cprotect
|
||||
*.cpt
|
||||
|
||||
# elsarticle (documentclass of Elsevier journals)
|
||||
*.spl
|
||||
|
||||
# endnotes
|
||||
*.ent
|
||||
|
||||
# fixme
|
||||
*.lox
|
||||
|
||||
# feynmf/feynmp
|
||||
*.mf
|
||||
*.mp
|
||||
*.t[1-9]
|
||||
*.t[1-9][0-9]
|
||||
*.tfm
|
||||
|
||||
#(r)(e)ledmac/(r)(e)ledpar
|
||||
*.end
|
||||
*.?end
|
||||
*.[1-9]
|
||||
*.[1-9][0-9]
|
||||
*.[1-9][0-9][0-9]
|
||||
*.[1-9]R
|
||||
*.[1-9][0-9]R
|
||||
*.[1-9][0-9][0-9]R
|
||||
*.eledsec[1-9]
|
||||
*.eledsec[1-9]R
|
||||
*.eledsec[1-9][0-9]
|
||||
*.eledsec[1-9][0-9]R
|
||||
*.eledsec[1-9][0-9][0-9]
|
||||
*.eledsec[1-9][0-9][0-9]R
|
||||
|
||||
# glossaries
|
||||
*.acn
|
||||
*.acr
|
||||
*.glg
|
||||
*.glo
|
||||
*.gls
|
||||
*.glsdefs
|
||||
*.lzo
|
||||
*.lzs
|
||||
*.slg
|
||||
*.slo
|
||||
*.sls
|
||||
|
||||
# uncomment this for glossaries-extra (will ignore makeindex's style files!)
|
||||
# *.ist
|
||||
|
||||
# gnuplot
|
||||
*.gnuplot
|
||||
*.table
|
||||
|
||||
# gnuplottex
|
||||
*-gnuplottex-*
|
||||
|
||||
# gregoriotex
|
||||
*.gaux
|
||||
*.glog
|
||||
*.gtex
|
||||
|
||||
# htlatex
|
||||
*.4ct
|
||||
*.4tc
|
||||
*.idv
|
||||
*.lg
|
||||
*.trc
|
||||
*.xref
|
||||
|
||||
# hypdoc
|
||||
*.hd
|
||||
|
||||
# hyperref
|
||||
*.brf
|
||||
|
||||
# knitr
|
||||
*-concordance.tex
|
||||
# TODO Uncomment the next line if you use knitr and want to ignore its generated tikz files
|
||||
# *.tikz
|
||||
*-tikzDictionary
|
||||
|
||||
# listings
|
||||
*.lol
|
||||
|
||||
# luatexja-ruby
|
||||
*.ltjruby
|
||||
|
||||
# makeidx
|
||||
*.idx
|
||||
*.ilg
|
||||
*.ind
|
||||
|
||||
# minitoc
|
||||
*.maf
|
||||
*.mlf
|
||||
*.mlt
|
||||
*.mtc[0-9]*
|
||||
*.slf[0-9]*
|
||||
*.slt[0-9]*
|
||||
*.stc[0-9]*
|
||||
|
||||
# minted
|
||||
_minted*
|
||||
*.pyg
|
||||
|
||||
# morewrites
|
||||
*.mw
|
||||
|
||||
# newpax
|
||||
*.newpax
|
||||
|
||||
# nomencl
|
||||
*.nlg
|
||||
*.nlo
|
||||
*.nls
|
||||
|
||||
# pax
|
||||
*.pax
|
||||
|
||||
# pdfpcnotes
|
||||
*.pdfpc
|
||||
|
||||
# sagetex
|
||||
*.sagetex.sage
|
||||
*.sagetex.py
|
||||
*.sagetex.scmd
|
||||
|
||||
# scrwfile
|
||||
*.wrt
|
||||
|
||||
# svg
|
||||
svg-inkscape/
|
||||
|
||||
# sympy
|
||||
*.sout
|
||||
*.sympy
|
||||
sympy-plots-for-*.tex/
|
||||
|
||||
# pdfcomment
|
||||
*.upa
|
||||
*.upb
|
||||
|
||||
# pythontex
|
||||
*.pytxcode
|
||||
pythontex-files-*/
|
||||
|
||||
# tcolorbox
|
||||
*.listing
|
||||
|
||||
# thmtools
|
||||
*.loe
|
||||
|
||||
# TikZ & PGF
|
||||
*.dpth
|
||||
*.md5
|
||||
*.auxlock
|
||||
|
||||
# titletoc
|
||||
*.ptc
|
||||
|
||||
# todonotes
|
||||
*.tdo
|
||||
|
||||
# vhistory
|
||||
*.hst
|
||||
*.ver
|
||||
|
||||
# easy-todo
|
||||
*.lod
|
||||
|
||||
# xcolor
|
||||
*.xcp
|
||||
|
||||
# xmpincl
|
||||
*.xmpi
|
||||
|
||||
# xindy
|
||||
*.xdy
|
||||
|
||||
# xypic precompiled matrices and outlines
|
||||
*.xyc
|
||||
*.xyd
|
||||
|
||||
# endfloat
|
||||
*.ttt
|
||||
*.fff
|
||||
|
||||
# Latexian
|
||||
TSWLatexianTemp*
|
||||
|
||||
## Editors:
|
||||
# WinEdt
|
||||
*.bak
|
||||
*.sav
|
||||
|
||||
# Texpad
|
||||
.texpadtmp
|
||||
|
||||
# LyX
|
||||
*.lyx~
|
||||
|
||||
# Kile
|
||||
*.backup
|
||||
|
||||
# gummi
|
||||
.*.swp
|
||||
|
||||
# KBibTeX
|
||||
*~[0-9]*
|
||||
|
||||
# TeXnicCenter
|
||||
*.tps
|
||||
|
||||
# auto folder when using emacs and auctex
|
||||
./auto/*
|
||||
*.el
|
||||
|
||||
# expex forward references with \gathertags
|
||||
*-tags.tex
|
||||
|
||||
# standalone packages
|
||||
*.sta
|
||||
|
||||
# Makeindex log files
|
||||
*.lpz
|
||||
|
||||
# xwatermark package
|
||||
*.xwm
|
||||
|
||||
# REVTeX puts footnotes in the bibliography by default, unless the nofootinbib
|
||||
# option is specified. Footnotes are the stored in a file with suffix Notes.bib.
|
||||
# Uncomment the next line to have this generated file ignored.
|
||||
#*Notes.bib
|
||||
14
algo.sty
Normal file
14
algo.sty
Normal file
@@ -0,0 +1,14 @@
|
||||
\def\begin@lg{\begin{minipage}{1in}\begin{tabbing}
|
||||
\quad\=\qquad\=\qquad\=\qquad\=\qquad\=\qquad\=\qquad\=\kill}
|
||||
\def\end@lg{\end{tabbing}\end{minipage}}
|
||||
|
||||
\newenvironment{algorithm}
|
||||
{\begin{tabular}{|l|}\hline\begin@lg}
|
||||
{\end@lg\\\hline\end{tabular}}
|
||||
|
||||
\newenvironment{algo}
|
||||
{\begin{center}\begin{algorithm}}
|
||||
{\end{algorithm}\end{center}}
|
||||
|
||||
\def\argmax{\operatornamewithlimits{arg\,max}}
|
||||
\def\argmin{\operatornamewithlimits{arg\,min}}
|
||||
532
chao.sty
Normal file
532
chao.sty
Normal file
@@ -0,0 +1,532 @@
|
||||
% ========================-*- LaTeX -*-=========================
|
||||
%
|
||||
% chao.sty -- modified from jeffe.sty
|
||||
% jeffe.sty can be found at http://web.engr.illinois.edu/~jeffe/pubs/latex.html
|
||||
%
|
||||
% ==========================================================
|
||||
|
||||
|
||||
\ProvidesPackage{chao}
|
||||
|
||||
|
||||
% remarkable size
|
||||
\newif\ifchao@remarkable
|
||||
\DeclareOption{remarkable}{\chao@remarkabletrue}
|
||||
\PassOptionsToPackage{hyphens}{url}
|
||||
\PassOptionsToPackage{unicode}{hyperref}
|
||||
\PassOptionsToPackage{naturalnames}{hyperref}
|
||||
\ProcessOptions
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\RequirePackage{latexsym,amsmath}
|
||||
\RequirePackage[dvipsnames]{xcolor}
|
||||
|
||||
\RequirePackage[colorlinks=true,urlcolor=Blue,citecolor=Green,linkcolor=BrickRed,unicode]{hyperref}
|
||||
|
||||
\RequirePackage[hyperref]{ntheorem} % theorem numbering
|
||||
\RequirePackage{aliascnt}
|
||||
\RequirePackage{xspace}
|
||||
|
||||
% st mary fonts
|
||||
\RequirePackage{stmaryrd} % comment out if unavailable
|
||||
\SetSymbolFont{stmry}{bold}{U}{stmry}{m}{n}
|
||||
\RequirePackage{wasysym}
|
||||
% nagging
|
||||
\RequirePackage[l2tabu, orthodox]{nag}
|
||||
\RequirePackage[all,warning]{onlyamsmath}
|
||||
|
||||
|
||||
|
||||
\RequirePackage{graphicx} % essentials
|
||||
\RequirePackage{microtype}
|
||||
\RequirePackage[mathletters]{ucs} % allow Unicode in .tex file
|
||||
\RequirePackage[utf8]{inputenc}
|
||||
|
||||
\RequirePackage[charter]{mathdesign} % change fonts
|
||||
\RequirePackage{berasans, beramono}
|
||||
\RequirePackage{eucal}
|
||||
\RequirePackage[nocompress]{cite} % other convenient stuff
|
||||
\RequirePackage{enumerate}
|
||||
%\usepackage{pgf,tikz}
|
||||
\RequirePackage{wrapfig}
|
||||
\RequirePackage[medium,compact]{titlesec}
|
||||
\RequirePackage{verbatim}
|
||||
\usepackage{CJKutf8}
|
||||
|
||||
|
||||
\newtheorem{theorem}{Theorem}[section]
|
||||
|
||||
\newaliascnt{lemma}{theorem}
|
||||
\newaliascnt{corollary}{theorem}
|
||||
\newaliascnt{conjecture}{theorem}
|
||||
\newaliascnt{proposition}{theorem}
|
||||
|
||||
\newtheorem{lemma}{Lemma}[section]
|
||||
\newtheorem{corollary}{Corollary}[section]
|
||||
\newtheorem{conjecture}{Conjecture}[section]
|
||||
\newtheorem{proposition}{Proposition}[section]
|
||||
\newtheorem{problem}{Problem}
|
||||
|
||||
\newcommand{\lemmaautorefname}{Lemma}
|
||||
\newcommand{\corollaryautorefname}{Corollary}
|
||||
\newcommand{\conjectureautorefname}{Conjecture}
|
||||
\newcommand{\propositionautorefname}{Proposition}
|
||||
\newcommand{\problemautorefname}{Problem}
|
||||
|
||||
\newenvironment{definition}[1][Definition]{\begin{trivlist}
|
||||
\item[\hskip \labelsep {\bfseries #1}]}{\end{trivlist}}
|
||||
\newenvironment{example}[1][Example]{\begin{trivlist}
|
||||
\item[\hskip \labelsep {\bfseries #1}]}{\end{trivliST}}
|
||||
\newenvironment{remark}[1][Remark]{\begin{trivlist}
|
||||
\item[\hskip \labelsep {\bfseries #1}]}{\end{trivlist}}
|
||||
|
||||
\widowpenalty 5000
|
||||
\clubpenalty 5000
|
||||
|
||||
% line numbers (be nice to the referee)
|
||||
\RequirePackage[mathlines, pagewise]{lineno}
|
||||
%\linenumbers
|
||||
\nolinenumbers
|
||||
\renewcommand\linenumberfont{\normalfont\tiny\sffamily\color{gray}}
|
||||
\setlength\linenumbersep{2em}
|
||||
|
||||
\numberwithin{figure}{section}
|
||||
|
||||
\ifchao@remarkable
|
||||
\RequirePackage[paperheight=209.6mm, paperwidth=157.2mm, top=0.2in,bottom=0.2in,right=0.2in,left=0.2in]{geometry}
|
||||
\tolerance=10000
|
||||
\else
|
||||
\RequirePackage[margin=1in]{geometry}
|
||||
\fi
|
||||
|
||||
%\setlength{\topmargin}{-0.5in} \setlength{\textwidth}{6.5in}
|
||||
%\setlength{\oddsidemargin}{0.0in} \setlength{\textheight}{9.1in}
|
||||
|
||||
%\pagestyle{empty}
|
||||
%\newlength{\pagewidth}
|
||||
%\setlength{\pagewidth}{6.5in} %\pagestyle{empty}
|
||||
\pagenumbering{arabic}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\urlstyle{same} % dammit
|
||||
|
||||
\hyphenation{co-or-din-ate co-or-din-ates half-plane half-space stereo-iso-mers stereo-iso-mer Round-table homol-ogous homol-ogy poly-hedron poly-hedra homeo-morphic homeo-morph-ism}
|
||||
|
||||
\pdfstringdefDisableCommands{\let\boldmath\relax} % allow \boldmath in section titles
|
||||
|
||||
\let\subsectionautorefname\sectionautorefname
|
||||
\let\subsubsectionautorefname\sectionautorefname
|
||||
|
||||
|
||||
% Chao addition
|
||||
\def\email#1{\href{mailto:#1}{#1}}
|
||||
% chinese
|
||||
\def\zh#1{\begin{CJK}{UTF8}{gbsn}#1\end{CJK}}
|
||||
|
||||
|
||||
|
||||
% ----------------------------------------------------------------------
|
||||
% Common Latin abbreviations, only one of which is actually kosher
|
||||
% ----------------------------------------------------------------------
|
||||
|
||||
\def\etal{\emph{et~al.}} % and others
|
||||
%\def\ie{\emph{i.e.}} % that is
|
||||
\def\ie{\textcolor{red}{that is}}
|
||||
%\def\eg{\emph{e.g.}} % for example
|
||||
\def\eg{\textcolor{red}{for example}}
|
||||
|
||||
% -----------------------
|
||||
% Common Names
|
||||
% -----------------------
|
||||
\def\Mobius{M\"obius\xspace}
|
||||
|
||||
% -----------------------
|
||||
% useful shortcuts
|
||||
% -----------------------
|
||||
|
||||
\def\cost{\cent}
|
||||
|
||||
% ----------------------------------------------------------------------
|
||||
% Simple math stuff
|
||||
% ----------------------------------------------------------------------
|
||||
\renewcommand{\subset}{\subseteq}
|
||||
% ---- SYMBOLS ----
|
||||
\let\e\varepsilon % a ``real'' epsilon — better yet, just use Unicode ε.
|
||||
%
|
||||
% I give up. These are in the wrong font, but my kludged versions
|
||||
% LOOK like kludges, especially \Z, \Q, and \C.
|
||||
%
|
||||
\def\Real{\mathbb{R}}
|
||||
\def\Proj{\mathbb{P}}
|
||||
\def\Hyper{\mathbb{H}}
|
||||
\def\Integer{\mathbb{Z}}
|
||||
\def\Natural{\mathbb{N}}
|
||||
\def\Complex{\mathbb{C}}
|
||||
\def\Rational{\mathbb{Q}}
|
||||
|
||||
\let\N\Natural
|
||||
\let\Q\Rational
|
||||
\let\R\Real
|
||||
\let\Z\Integer
|
||||
\def\Rd{\Real^d}
|
||||
\def\RP{\Real\Proj}
|
||||
\def\CP{\Complex\Proj}
|
||||
|
||||
|
||||
|
||||
% ---- OPERATORS (requires amsmath) ----
|
||||
\def\aff{\operatorname{aff}}
|
||||
\def\area{\operatorname{area}}
|
||||
\def\argmax{\operatornamewithlimits{arg\,max}}
|
||||
\def\argmin{\operatornamewithlimits{arg\,min}}
|
||||
\def\Aut{\operatorname{Aut}} % Automorphism group
|
||||
\def\card{\operatorname{card}} % cardinality, deprecated for \abs
|
||||
\def\conv{\operatorname{conv}}
|
||||
\def\E{\operatorname{E}} % Expectation: $\E[X]$ (like \Pr)
|
||||
\def\EE{\operatornamewithlimits{E}}
|
||||
\def\Hom{\operatorname{Hom}} % Homomorphism group
|
||||
\def\id{\operatorname{id}} % identity
|
||||
\def\im{\operatorname{im}} % image
|
||||
\def\lcm{\operatorname{lcm}}
|
||||
\def\lfs{\operatorname{lfs}} % local feature size
|
||||
\def\poly{\operatorname{poly}}
|
||||
\def\polylog{\operatorname{polylog}}
|
||||
\def\rank{\operatorname{rank}}
|
||||
\def\rel{\operatorname{rel\,}} % relative (interior, boundary, etc.)
|
||||
\def\sgn{\operatorname{sgn}}
|
||||
\def\vol{\operatorname{vol}} % volume
|
||||
|
||||
\def\fp#1{^{\underline{#1}}} % falling powers: $n\fp{d}$
|
||||
\def\rp#1{^{\overline{#1}}} % rising powers: $n\rp{d}$
|
||||
|
||||
\def\setsymdiff{\operatorname{\triangle}}
|
||||
% --- Darts and fences ---
|
||||
% less nice replacements for stmaryrd characters
|
||||
\@ifundefined{shortrightarrow}{\let\shortrightarrow\rightarrow}{}
|
||||
\@ifundefined{shortleftarrow}{\let\shortleftarrow\leftarrow}{}
|
||||
\@ifundefined{shortuparrow}{\let\shortuparrow\uparrow}{}
|
||||
\@ifundefined{shortdownarrow}{\let\shortdownarrow\downarrow}{}
|
||||
|
||||
\def\arcto{\mathord\shortrightarrow}
|
||||
\def\arcfrom{\mathord\shortleftarrow}
|
||||
\def\arc#1#2{#1\arcto#2}
|
||||
\def\cra#1#2{#1\mathord\shortleftarrow#2}
|
||||
\def\fence#1#2{#1\mathord\shortuparrow#2}
|
||||
\def\ecnef#1#2{#1\mathord\shortdownarrow#2}
|
||||
|
||||
% --- Cheap displaystyle operators ---
|
||||
\def\Frac#1#2{{\displaystyle\frac{#1}{#2}}}
|
||||
\def\Sum{\sum\limits}
|
||||
\def\Prod{\prod\limits}
|
||||
\def\Union{\bigcup\limits}
|
||||
\def\Inter{\bigcap\limits}
|
||||
\def\Lor{\bigvee\limits}
|
||||
\def\Land{\bigwedge\limits}
|
||||
\def\Lim{\lim\limits}
|
||||
\def\Max{\max\limits}
|
||||
\def\Min{\min\limits}
|
||||
|
||||
% ---- RELATORS ----
|
||||
\def\deq{\stackrel{\scriptscriptstyle\triangle}{=}} % Use := instead.
|
||||
\def\into{\DOTSB\hookrightarrow} % = one-to-one
|
||||
\def\onto{\DOTSB\twoheadrightarrow}
|
||||
\def\inonto{\DOTSB\lhook\joinrel\twoheadrightarrow}
|
||||
\def\from{\leftarrow}
|
||||
\def\tofrom{\leftrightarrow}
|
||||
\def\mapsfrom{\mathrel{\reflectbox{$\mapsto$}}}
|
||||
\def\longmapsfrom{\mathrel{\reflectbox{$\longmapsto$}}}
|
||||
|
||||
% ---- DELIMITER PAIRS ----
|
||||
% --- always self-scaling delmiter pairs ---
|
||||
\def\set#1{\left\{ #1 \right\}}
|
||||
\def\floor#1{\left\lfloor #1 \right\rfloor}
|
||||
\def\ceil#1{\left\lceil #1 \right\rceil}
|
||||
\def\seq#1{\left\langle #1 \right\rangle}
|
||||
\def\abs#1{\left| #1 \right|}
|
||||
\def\norm#1{\left\| #1 \right\|}
|
||||
\def\paren#1{\left( #1 \right)} % need better macro name!
|
||||
\def\brack#1{\left[ #1 \right]} % need better macro name!
|
||||
\def\indic#1{\left[ #1 \right]} % indicator variable; Iverson notation
|
||||
|
||||
%
|
||||
% Macros to typeset sets like {foo|bar} with all three delimiters
|
||||
% correctly scaled to fit. What I *really* want is a \middle macro
|
||||
% that acts just like \left and \right. Grumble.
|
||||
%
|
||||
% Set version is handled by package braket.
|
||||
\def\Bigbar#1{\mathrel{\left|\vphantom{#1}\right.\n@space}}
|
||||
\def\Seqbar#1#2{\Seq{#1 \Bigbar{#1 #2} #2}}
|
||||
\def\Brackbar#1#2{\Brack{#1 \Bigbar{#1 #2} #2}}
|
||||
|
||||
% Math mode fbox
|
||||
\def\mfbox#1{\mathchoice{{\fbox{\ensuremath{\displaystyle #1}}}}
|
||||
{{\fbox{\ensuremath{\textstyle #1}}}}
|
||||
{{\fbox{\ensuremath{\scriptstyle #1}}}}
|
||||
{{\fbox{\ensuremath{\scriptscriptstyle #1}}}}}
|
||||
|
||||
% ---- ``ACCENTS'' ----
|
||||
% NB: Commands equivalent to \lrarrowfill and \overlrarrow are
|
||||
% already defined in amstex!
|
||||
\def\lrarrowfill{$\m@th\mathord\leftarrow\mkern-6mu%
|
||||
\cleaders\hbox{$\mkern-2mu\mathord-\mkern-2mu$}\hfill
|
||||
\mkern-6mu\mathord\rightarrow$}
|
||||
\def\overlrarrow#1{\vbox{\ialign{##\crcr
|
||||
\lrarrowfill\crcr\noalign{\kern-\p@\nointerlineskip}
|
||||
$\hfil\displaystyle{#1}\hfil$\crcr}}}
|
||||
|
||||
\def\Line#1{\!\overlrarrow{\vphantom{t}\smash{\,#1\,}}\!}
|
||||
\def\Ray#1{\overrightarrow{\vphantom{t}#1\,}\!}
|
||||
\def\Seg#1{\overline{\vphantom{t}#1}}
|
||||
|
||||
% ---- TEXT STYLES ----
|
||||
\def\mathsc#1{\text{\textsc{#1}}}
|
||||
\def\mathbs#1{\text{\boldmath\ensuremath{#1}}}
|
||||
\def\EMPH#1{\textbf{\emph{\boldmath #1}}}
|
||||
|
||||
% ----------------------------------------------------------------------
|
||||
% \begin{bigabstract}...\end{bigabstract}
|
||||
% For use in documents with title pages. Use normal-sized text in
|
||||
% the abstract!
|
||||
% ----------------------------------------------------------------------
|
||||
\newenvironment{bigabstract}%
|
||||
{\begin{center}\large\textbf{\abstractname}\end{center}\begin{quotation}}%
|
||||
{\end{quotation}}
|
||||
|
||||
% ----------------------------------------------------------------------
|
||||
% Make captions smaller than the text, make their titles bold.
|
||||
% Arguments: #1 == figure name: "Figure 5"
|
||||
% #2 == caption: "Papers by \Erdos, 1900--2000 (projected)"
|
||||
% Less space after floats and before caption, since captions are smaller
|
||||
% ----------------------------------------------------------------------
|
||||
\@ifundefined{abovecaptionskip}{\newlength\abovecaptionskip}
|
||||
\long\def\@makecaption#1#2{
|
||||
\vskip \abovecaptionskip
|
||||
\setbox\@tempboxa\hbox{{\sffamily\footnotesize \textbf{#1.} #2}}
|
||||
\ifdim \wd\@tempboxa >\hsize % if more than one line,
|
||||
{\sffamily\footnotesize \textbf{#1.} #2\par} % typeset normally
|
||||
\else % else
|
||||
\hbox to\hsize{\hfil\box\@tempboxa\hfil} % center
|
||||
\fi}
|
||||
\dbltextfloatsep 18pt plus 2pt minus 4pt % was 20pt plus 2pt minus 4pt
|
||||
\textfloatsep 18pt plus 2pt minus 4pt % was 20pt plus 2pt minus 4pt
|
||||
\abovecaptionskip 6pt % was 10pt
|
||||
|
||||
% ----------------------------------------------------------------------
|
||||
% Revised theorem environment:
|
||||
% Add a period after the theorem number, and make theorems slanted
|
||||
% instead of italic to help distinguish text from math. Use
|
||||
% \boldmath in theorem label in case it includes math.
|
||||
% ----------------------------------------------------------------------
|
||||
\def\@opargbegintheorem#1#2#3{\trivlist
|
||||
\item[\hskip\labelsep{\bfseries\boldmath #1\ #2\ (#3).}]\slshape}
|
||||
\def\@begintheorem#1#2{\trivlist
|
||||
\item[\hskip\labelsep{\bfseries\boldmath #1\ #2.}]\slshape}
|
||||
|
||||
% ----------------------------------------------------------------------
|
||||
% \newproof{type}{text}(style)[post]:
|
||||
% Define a new type of unnumbered ``theorem'' environment. The last
|
||||
% two arguments are optional; most environments will not use them.
|
||||
%
|
||||
% To change label style, put new style command in label:
|
||||
% \newproof{comment}{\textsf{Comment}}
|
||||
% ----------------------------------------------------------------------
|
||||
\def\newproof#1#2{\@ifnextchar({\@snproof{#1}{#2}}{\@snproof{#1}{#2}()}}
|
||||
\def\@snproof#1#2(#3){\@ifnextchar[{\@xnproof{#1}{#2}{#3}}
|
||||
{\@xnproof{#1}{#2}{#3}[]}}
|
||||
|
||||
\def\@xnproof#1#2#3[#4]{%\expandafter\@ifdefinable\csname #1\endcsname
|
||||
{\global\@namedef{#1}{\@prf{#2}{#3}}\global\@namedef{end#1}{\@endprf{#4}}}}
|
||||
|
||||
\def\@prf#1#2{\@ifnextchar[{\@xprf{#1}{#2}}{\@yprf{#1}{#2}}}
|
||||
\def\@xprf#1#2[#3]{\@yprf{#1\ (#3)}{#2}}
|
||||
\def\@yprf#1#2{\begin{trivlist}\item[\hskip\labelsep{\bfseries\boldmath #1:}]#2}
|
||||
|
||||
\def\@endprf#1{#1\end{trivlist}}
|
||||
|
||||
%
|
||||
% Standard proof envrionment: last line has a halmos at the right margin.
|
||||
% Insert \qed to override default halmos placement.
|
||||
% Incompatible with amsprf package!
|
||||
%
|
||||
\newif\ifneedqed
|
||||
\global\needqedfalse
|
||||
\@ifundefined{square}{\let\square\Box}{} % grumble latex2e
|
||||
\def\QED{\ensuremath{{\square}}}
|
||||
\def\markatright#1{\leavevmode\unskip\nobreak\quad\hspace*{\fill}{#1}}
|
||||
\def\qed{\ifneedqed\markatright{\QED}\global\needqedfalse\else\null\fi}
|
||||
\newproof{proof}{Proof\global\needqedtrue}[\qed]
|
||||
\newproof{sketch}{Proof Sketch\global\needqedtrue}[\qed]
|
||||
|
||||
%
|
||||
% 'Fake' proof environment, for use with wrapfig and similar packages
|
||||
%
|
||||
\newenvironment{rawproof}%
|
||||
{\begin{trivlist}\item[\hskip\labelsep\textbf{Proof:}\global\needqedtrue]}%
|
||||
{\qed\end{trivlist}}
|
||||
|
||||
%
|
||||
% If the proof ends with a displayed equation, use \aftermath just
|
||||
% before \end{proof} to put the halmos in the ``right'' place.
|
||||
% Doesn't work worth a damn.
|
||||
%
|
||||
\def\aftermath{\par\vspace{-\belowdisplayskip}\vspace{-\parskip}\vspace{-\baselineskip}}
|
||||
|
||||
% ----------------------------------------------------------------------
|
||||
% One-shot theoremish environment. For named things like ``Zorn's
|
||||
% Lemma'' or ``The Death Leap Principle'' or ``The Zone Theorem''.
|
||||
% To get one-shot proofish environment, put \normalfont inside.
|
||||
% New improved version stolen from Erik Demaine.
|
||||
% ----------------------------------------------------------------------
|
||||
\newenvironment{oneshot}[1]{\@begintheorem{#1}{\unskip}}{\@endtheorem}
|
||||
|
||||
% Meh.
|
||||
\def\Comment#1{\textsf{\textsl{$\langle\!\langle$#1\/$\rangle\!\rangle$}}}
|
||||
|
||||
\def\beginc@de{\noindent\begin{center}\begin{minipage}{1in}\tt
|
||||
\begin{tabbing}~~~~\=~~~~\=~~~~\=~~~~\=~~~~\=~~~~\=~~~~\=\kill}
|
||||
\def\endc@de{\end{tabbing}\end{minipage}\end{center}}
|
||||
|
||||
\newenvironment{code}{\beginc@de}{\endc@de}
|
||||
|
||||
%
|
||||
% These only work with <1 line of text. Use sparingly!!
|
||||
%
|
||||
\def\textul#1{\underline{\smash{#1}\vphantom{.}}}
|
||||
\def\strike#1{\ensuremath{\overline{\text{\smash{#1}\vphantom{.}}}}}
|
||||
|
||||
% ----------------------------------------------------------------------
|
||||
% Include a file verbatim. Searches the TEXINPUTS path for the file,
|
||||
% even though that's probably not what you really want. Stolen from
|
||||
% ``verbatimfiles.sty'' by Chris Rowley and others. [Don't use their
|
||||
% \vertbatimlisting macro; it has some bizarre side-effects!]
|
||||
% ----------------------------------------------------------------------
|
||||
\def\verbinput#1{
|
||||
\begingroup\@verbatim\frenchspacing\@vobeyspaces\input#1\endgroup
|
||||
}
|
||||
|
||||
% ----------------------------------------------------------------------
|
||||
% \now -- Current time in h:mm AM/PM format
|
||||
% \mdyy -- Today's date in m/d/yy format. Forget Y2K; this is for humans!
|
||||
% ----------------------------------------------------------------------
|
||||
\newcount\timehh\timehh=\time
|
||||
\divide\timehh by 60
|
||||
\newcount\timemm\timemm=\time
|
||||
\count255=\timehh
|
||||
\multiply\count255 by -60
|
||||
\advance\timemm by \count255
|
||||
\newif\iftimePM
|
||||
\ifnum\timehh>11 \timePMtrue\else\timePMfalse\fi
|
||||
\ifnum\timehh<1 \advance\timehh by 12\fi
|
||||
\ifnum\timehh>12 \advance\timehh by -12\fi
|
||||
\def\now{\number\timehh:\ifnum\timemm<10 0\fi\number\timemm
|
||||
\iftimePM pm\else am\fi}
|
||||
\newcount\mdYY\mdYY=\year
|
||||
\count255=\year
|
||||
\divide\count255 by 100
|
||||
\multiply\count255 by 100
|
||||
\advance\mdYY by -\count255
|
||||
\def\mdyy{\number\month/\number\day/\ifnum\mdYY<10 0\fi\number\mdYY}
|
||||
|
||||
|
||||
% ----------------------------------------------------------------------
|
||||
% Notes to myself. The margin flags are broken, thanks to an
|
||||
% incompatibility with the geometry package.
|
||||
% ----------------------------------------------------------------------
|
||||
\def\n@te#1{\textsf{\boldmath \textbf{$\langle\!\langle$#1$\rangle\!\rangle$}}\leavevmode}
|
||||
\def\n@tew@rn{\GenericWarning{}{AUTHOR WARNING: Unresolved \protect\note}}
|
||||
|
||||
\def\n@ten@te#1{\marginpar
|
||||
[\hfill\llap{\textcolor{red}{{#1}$\!\Longrightarrow$}}]
|
||||
{\rlap{\textcolor{red}{$\Longleftarrow\!${#1}}}}}
|
||||
|
||||
% Warning: The textcomp and mathdesign packages are incompatible!
|
||||
%\def\n@tedingb@t{\@ifundefined{textmusicalnote}
|
||||
% {$\maltese$} % if you don't have textcomp
|
||||
% {\textmusicalnote}} % if you do have textcomp
|
||||
|
||||
\def\n@tedingb@t{\textcircled{$\maltese$}}
|
||||
|
||||
\def\note#1{\textcolor{red}{\n@tew@rn\n@te{\n@ten@te{\n@tedingb@t}#1}}}
|
||||
|
||||
\def\sidenote#1{\marginpar{\tiny\textsf{#1}}}
|
||||
|
||||
\setlength{\marginparsep}{0.1in}
|
||||
\setlength{\marginparwidth}{\paperwidth}
|
||||
\addtolength{\marginparwidth}{-\oddsidemargin}
|
||||
\addtolength{\marginparwidth}{-\textwidth}
|
||||
\addtolength{\marginparwidth}{-1.0\marginparsep}
|
||||
\addtolength{\marginparwidth}{-1.0in}
|
||||
|
||||
%----------------------------------------------------------------------
|
||||
% TODO sets enclosed text in a gray rectangle with a red border
|
||||
% with small sans-serif text.
|
||||
%----------------------------------------------------------------------
|
||||
\definecolor{TODOcolor}{cmyk}{0.05,0,0,0}
|
||||
\definecolor{TODOtxtcolor}{cmyk}{0,1,1,0}
|
||||
|
||||
\newenvironment{TODO}
|
||||
{\fboxrule1.5pt\begin{lrbox}{\@tempboxa}
|
||||
\begin{minipage}{0.9\columnwidth}\small\sffamily\color{TODOtxtcolor}}
|
||||
{\end{minipage}
|
||||
\end{lrbox}
|
||||
\medskip\centerline{\fcolorbox{TODOtxtcolor}{TODOcolor}{\usebox{\@tempboxa}}}
|
||||
\sidenote{\LARGE\color{Red}$\bigstar\bigstar\bigstar$}\medskip}
|
||||
|
||||
|
||||
%----------------------------------------------------------------------
|
||||
% Bibliography aliases, so I can use mnemonic citation keys and
|
||||
% geom.bib at the same time. \bibalias{foo}{bar} makes \cite{foo}
|
||||
% act (almost) exactly like \cite{bar}. I don’t actually use this.
|
||||
%----------------------------------------------------------------------
|
||||
\def\bibalias#1#2{%
|
||||
\global\@namedef{b@#1}{%
|
||||
{\@ifundefined{b@#2}{\textsf{?}}{}\csname b@#2\endcsname}}}
|
||||
|
||||
% ----------------------------------------------------------------------
|
||||
% Draft notice. Put \DRAFT on the title page, in place of \date.
|
||||
% ----------------------------------------------------------------------
|
||||
\def\draftnotice{Preliminary draft --- \mdyy\ --- Not for distribution}
|
||||
|
||||
\def\DRAFT{
|
||||
\date{\fbox{\textsf{\textbf{\draftnotice}}}}
|
||||
\def\@oddfoot{\footnotesize\hss\fbox{\textbf{\textsf{\draftnotice}}}\hss}
|
||||
\let\@evenfoot\@oddfoot
|
||||
}
|
||||
|
||||
|
||||
%----------------------------------------------------------------------
|
||||
% 'cramped' list style, stolen from Jeff Vitter. Doesn't always work.
|
||||
%----------------------------------------------------------------------
|
||||
\def\cramped
|
||||
{\parskip\@outerparskip\@topsep\parskip\@topsepadd2pt\itemsep0pt
|
||||
}
|
||||
|
||||
%----------------------------------------------------------------------
|
||||
% More footnote symbols, please.
|
||||
%----------------------------------------------------------------------
|
||||
\def\@fnsymbol#1{\ensuremath{\ifcase#1\or *\or \dagger\or \ddagger\or
|
||||
\mathsection\or \mathparagraph\or \|\or **\or \dagger\dagger
|
||||
\or \ddagger\ddagger \or \mathsection\mathsection \or
|
||||
\mathparagraph\mathparagraph \else\@ctrerr\fi}}
|
||||
|
||||
%----------------------------------------------------------------------
|
||||
% TeXbook style quotations -- I should really use the right font, tho.
|
||||
%----------------------------------------------------------------------
|
||||
\newenvironment{rightquote}[1]
|
||||
{\flushright\begin{minipage}{#1\textwidth}
|
||||
\parskip0pt\footnotesize\sffamily\slshape}
|
||||
{\end{minipage}\par\bigskip}
|
||||
\def\quotee#1{\par\vspace{0.5ex}\begin{flushright}\unskip\textup{--- #1}\end{flushright}\unskip}
|
||||
|
||||
%----------------------------------------------------------------------
|
||||
% Creative Commons license
|
||||
%----------------------------------------------------------------------
|
||||
\def\CCLicense#1{\vfill\vbox to 0pt{\centering\tiny\sffamily \textcopyright\ Copyright \number\year\ Chao Xu.\\ This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License (\url{http://creativecommons.org/licenses/by-nc-sa/4.0/}).\\ Free distribution is strongly encouraged; commercial distribution is expressly forbidden.\quad See {#1} for the most recent revision.\vss}}
|
||||
|
||||
|
||||
81
main.tex
Normal file
81
main.tex
Normal file
@@ -0,0 +1,81 @@
|
||||
\documentclass[a4paper,12pt]{article}
|
||||
\usepackage{chao}
|
||||
\usepackage{algo}
|
||||
\geometry{margin=2cm}
|
||||
|
||||
\title{Notes on ideal base packing}
|
||||
\author{}
|
||||
\date{}
|
||||
|
||||
\DeclareMathOperator*{\opt}{OPT}
|
||||
\DeclareMathOperator*{\len}{len}
|
||||
\DeclareMathOperator*{\cl}{span}
|
||||
|
||||
\begin{document}
|
||||
\maketitle
|
||||
|
||||
\section{Ideal base packing}
|
||||
Try to generalize Thorup's ideal tree packing \cite{Thorup2008} to matroids.
|
||||
|
||||
Let $M=(E,\mathcal I)$ be a matroid with capacity $c:E\to \R_{\geq 0}$ on elements and let $\sigma=\min_{F\subset E} \frac{c(E-F)}{r(E)-r(F)}$ be its weighted strength.
|
||||
|
||||
\begin{algo}
|
||||
\textsc{\underline{Ideal Utilization}}($M$)\\
|
||||
If the groundset $E$ is empty, stop\\
|
||||
Let $F^*\in \argmin_{F\subset E} \frac{c(E-F)}{r(E)-r(F)}$ and let $\sigma$ be the strength\\
|
||||
for $e\in E-F^*$:\\
|
||||
\quad $u^*(e)=1/\sigma$\\
|
||||
\textsc{Ideal Utilization}($M|F^*$)
|
||||
\end{algo}
|
||||
|
||||
Consider this process on the lattice of flats. The set of flats of $M$ forms a geometric lattice. Take two flats $A,B$ that $A\subset B$ in the lattice and consider the sublattice between $A$ and $B$. This sublattice is exactly the lattice of flats of matroid $(M/A)\setminus (E-B)$.
|
||||
\begin{lemma}
|
||||
Consider the ideal utilizations $u^*(e)$.
|
||||
\begin{enumerate}
|
||||
\item $\sigma(M)\geq \sigma(M|F^*)$
|
||||
\item $u^*(e)$ is unique even though the $F^*$ may not be unique.
|
||||
\item There is a fractional base packing $y$ such that $\sum_{B:e\in B}y(B)=u^*(e)$.
|
||||
\item Each base in the above base packing is a minimum base with respect to the ideal utilizations $u^*(e)$.
|
||||
\end{enumerate}
|
||||
\end{lemma}
|
||||
\begin{proof}
|
||||
\begin{enumerate}
|
||||
\item Let $F'\subset F^*$ be the optimal flat in $M|F^*$. Note that the lattice of flats is the same as the sublattice between $F^*$ and $\emptyset$ in $\mathcal L(M)$. Thus $F'$ is also a flat in $M$. Then we have
|
||||
\[
|
||||
\frac{c(F^*-F')}{r(F^*)-r(F')}
|
||||
=\frac{c(E-F')-c(E-F^*)}{r(E)-r(F')-(r(E)-r(F^*))}
|
||||
\leq \frac{c(E-F^*)}{r(E)-r(F^*)},
|
||||
\]
|
||||
the last inequality follows from $\frac{c(E-F')}{r(E)-r(F')}\geq \frac{c(E-F^*)}{r(E)-r(F^*)}$.
|
||||
|
||||
\item If there are two disjoint flats $F_1,F_2$ achieving the same optimal strength. Consider the span of their union $F=\cl(F_1\cup F_2)$. It is not hard to see that
|
||||
\[
|
||||
\frac{c(E-F)}{r(E)-r(F)}\leq
|
||||
\frac{c(E)-c(F_1)-c(F_2)}{r(E)-r(F_1)-r(F_2)}
|
||||
\leq \sigma
|
||||
\]
|
||||
\end{enumerate}
|
||||
\end{proof}
|
||||
|
||||
\section{Principal sequence of partition on graphs}
|
||||
For a graph $G=(V,E)$ with edge capacity $c:V\to \Z_+$, the strength $\sigma(G)$ is defined as $\sigma(G)=\min_{\Pi}\frac{c(\delta(\Pi))}{|\Pi|-1}$, where $\Pi$ is any partition of $V$, $|\Pi|$ is the number of parts in the partition and $\delta(\Pi)$ is the set of edges between parts. Note that an alternative formulation of strength (using graphic matroid rank function) is $\sigma(G)=\min_{F\subset E} \frac{c(E-F)}{r(E)-r(F)}$, which in general is the fractional optimum of matroid base packing.
|
||||
|
||||
The principal sequence of partitions of $G$ is a pwl concave curve $L(\lambda)= \min_\Pi c(\delta(\Pi))-\lambda |\Pi|$. (alternatively, $L(\lambda)=\min_{F\in E}c(E\setminus F)-\lambda(r(E)-r(F)+1)$) Cunningham used principal partition to computed graph strength\cite{cunningham_optimal_1985}. There is a list of good properties mentioned in \cite[Section 6]{chekuri_lp_2020}(implicated stated in \cite{cunningham_optimal_1985}).
|
||||
\begin{enumerate}
|
||||
\item We can assume $G$ is connected and deal with the smallest strength component. One can see this by fractional base packing on the direct sum of matroids. Note that on disconnected graphs we should use the edge set definition instead of partitions.
|
||||
\item $L(\lambda)$ is piecewise linear concave since it is the lower envelope of some line arrangement.
|
||||
\item For each line segment on $L(\lambda)$ there is a corresponding partition $\Pi$. If $\lambda^*$ is a breakpoint on $L(\lambda)$, then there are two optimal solution (say partitions $P_1$ and $P_2$, assume $|P_1|\leq|P_2|$) to $\min_\Pi c(\delta(\Pi))-\lambda^* |\Pi|$. Then $P_2$ is a refinement of $P_1$.
|
||||
\begin{proof}[sketch]
|
||||
Suppose that $P_2$ is not a refinement of $P_1$. We claim that the meet of $P_1$ and $P_2$ achieves a objective value at least no larger than $P_1$ or $P_2$ does. The correspondence between graphic matroid rank function and partitions of $V$ gives us a reformulation $L(\lambda^*)=\min_{F\subset E}c(E-F)-\lambda^*(r(E)-r(F)+1)$. Here $F$ is the set of edges in each part of $\Pi$. Let $g(F)=c(E-F)+\lambda^*r(F)-\lambda^* n$. Then the claim is equivalent to the fact that for two optimal solutions $F_1,F_2$ to $L(\lambda^*)$, $g(F_1\cap F_2)\leq g(F_1)=g(F_2)\leq g(F_1\cup F_2)$, which can be seen by the submodularity of $g$ and the optimality of $F_1,F_2$.
|
||||
\end{proof}
|
||||
The number of breakpoints on $L(\lambda)$ is at most $n-1$.
|
||||
\item Let $\lambda^*$ be a breakpoint on $L(\lambda)$ induced by edge set $F$. The next breakpoint is induced by the edge set $F'\subset F$ and $F'$ is the solution to strength problem on the smallest strength component of $F$. $\lambda^*$ is the strength of the smallest strength component in $F$. These claims can be seen by the following arguments. From the previous bullet we have $\min_{\Delta F} c(E-F+\Delta F)-\lambda^*(r(E)-r(F-\Delta F)+1)=L(\lambda^*)$. Consider the largest $\lambda^*$ which allows $\Delta F=\emptyset$ to be an optimal solution. Such $\lambda^*$ would be the next breakpoint. For any $\Delta F$, $c(E-F+\Delta F)-\lambda^*(r(E)-r(F-\Delta F)+1)\geq c(E-F)-\lambda^*(r(E)-r(F)+1)$. Thus we have $\lambda^*\leq \frac{c(\Delta F)}{r(F)-r(F-\Delta F)}$.
|
||||
\item Consider $\lambda\in [0,\e]$ for some small enough $\e$. The Lagrangian dual $\min_F c(E\setminus F)-\lambda (r(E)-r(F)+1)$ gets the optimum at $F=E$.
|
||||
That is $c(E\setminus F')-\lambda(r(E)-r(F')+1)>-\lambda$ for all $F'\subsetneq E$.
|
||||
We are interested in the upperbound $\e$ of $\lambda$ such that the optimal $F$ is a proper subset of $E$ when $\lambda >\e$. Therefore, the upperbound is $\e=\min_{F\subsetneq E}\frac{c(E\setminus F)}{r(E)-r(F)}$, which is exactly the strength.
|
||||
\end{enumerate}
|
||||
|
||||
|
||||
\bibliographystyle{plain}
|
||||
\bibliography{ref}
|
||||
\end{document}
|
||||
46
ref.bib
Normal file
46
ref.bib
Normal file
@@ -0,0 +1,46 @@
|
||||
@article{cunningham_optimal_1985,
|
||||
title = {Optimal attack and reinforcement of a network},
|
||||
volume = {32},
|
||||
issn = {0004-5411, 1557-735X},
|
||||
url = {https://dl.acm.org/doi/10.1145/3828.3829},
|
||||
doi = {10.1145/3828.3829},
|
||||
language = {en},
|
||||
number = {3},
|
||||
urldate = {2025-04-11},
|
||||
journal = {Journal of the ACM},
|
||||
author = {Cunningham, William H.},
|
||||
month = jul,
|
||||
year = {1985},
|
||||
pages = {549--561},
|
||||
}
|
||||
|
||||
|
||||
@article{chekuri_lp_2020,
|
||||
title = {{LP} {Relaxation} and {Tree} {Packing} for {Minimum} $k$-{Cut}},
|
||||
volume = {34},
|
||||
issn = {0895-4801, 1095-7146},
|
||||
url = {https://epubs.siam.org/doi/10.1137/19M1299359},
|
||||
doi = {10.1137/19M1299359},
|
||||
language = {en},
|
||||
number = {2},
|
||||
urldate = {2022-04-10},
|
||||
journal = {SIAM Journal on Discrete Mathematics},
|
||||
author = {Chekuri, Chandra and Quanrud, Kent and Xu, Chao},
|
||||
month = jan,
|
||||
year = {2020},
|
||||
keywords = {Approximation, K-cut, Minimum cut, Tree packing},
|
||||
pages = {1334--1353},
|
||||
}
|
||||
|
||||
@article{Thorup2008,
|
||||
title = {Minimum k-way cuts via deterministic greedy tree packing},
|
||||
issn = {07378017},
|
||||
url = {http://dl.acm.org/citation.cfm?id=1374402},
|
||||
doi = {10.1145/1374376.1374402},
|
||||
journal = {Proceedings of the 40th annual ACM symposium on …},
|
||||
author = {Thorup, Mikkel},
|
||||
year = {2008},
|
||||
note = {ISBN: 9781605580470},
|
||||
keywords = {k-way cuts, tree packing},
|
||||
pages = {159--165},
|
||||
}
|
||||
Reference in New Issue
Block a user