commit 4a0dc137a4a033c55cb05b58082fdba47fea9283 Author: Yu Cong Date: Sun May 4 00:06:02 2025 +0800 first commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b9d2de6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,310 @@ +.vscode/ +.ds_store +*.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 +*.bcf +*.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 diff --git a/.latexmkrc b/.latexmkrc new file mode 100644 index 0000000..87e785f --- /dev/null +++ b/.latexmkrc @@ -0,0 +1,5 @@ +$pdf_mode = 1; # 生成PDF +$latex = 'xelatex %O %S'; # 用 xelatex 替代 latex +$pdflatex = 'xelatex %O %S'; # 用 xelatex 替代 pdflatex +$dvi_mode = 0; # 禁用DVI输出 +$postscript_mode = 0; # 禁用PS输出 \ No newline at end of file diff --git a/algo.sty b/algo.sty new file mode 100644 index 0000000..bf6d54c --- /dev/null +++ b/algo.sty @@ -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}} diff --git a/beamerthemeSimple.sty b/beamerthemeSimple.sty new file mode 100644 index 0000000..01be7ed --- /dev/null +++ b/beamerthemeSimple.sty @@ -0,0 +1,272 @@ +% !TEX program = xelatex +% !TEX TS-program = xelatex +% fonts +\RequirePackage[sfdefault]{FiraSans} +\RequirePackage{FiraMono} +\renewcommand{\rmfamily}{\sffamily} +\RequirePackage[fakebold]{firamath-otf} +\RequirePackage{xeCJK} +\setCJKmainfont{Source Han Sans SC} + +\RequirePackage[english]{babel} +\RequirePackage{fancyhdr} % header footer +\RequirePackage[dvipsnames]{xcolor} +\RequirePackage{bookmark} +\RequirePackage{hyperref}[colorlinks=true,urlcolor=Blue,citecolor=Green,linkcolor=BrickRed,unicode] +\RequirePackage{natbib} +\RequirePackage{graphicx} % Allows including images +\RequirePackage{booktabs} % Allows the use of \toprule, \midrule and \bottomrule in tables +% \RequirePackage{tikz} +% \usetikzlibrary{backgrounds} +% \usetikzlibrary{arrows,shapes} +% \usetikzlibrary{tikzmark} % for \tikzmarknode +% \usetikzlibrary{calc} % for computing the midpoint between two nodes, e.g. at ($(p1.north)!0.5!(p2.north)$) +% \RequirePackage[ruled,linesnumbered]{algorithm2e} +% \RequirePackage{adjustbox} +\RequirePackage{subcaption} +\RequirePackage{amsmath} +\RequirePackage{amsthm} +% \RequirePackage[utf8]{inputenc} +% \RequirePackage{CJKutf8} +% \def\zh#1{\begin{CJK}{UTF8}{gbsn}#1\end{CJK}} +\RequirePackage{aliascnt} + +% a color box +\RequirePackage[breakable, theorems, skins]{tcolorbox} +\tcbset{enhanced} +\DeclareRobustCommand{\boxfill}[2][oliver!20]{% +\begin{tcolorbox}[ %% Adjust the following parameters at will. + breakable, + left=0pt, + right=0pt, + top=0pt, + bottom=0pt, + colback=#1, + colframe=#1, + width=\dimexpr\textwidth\relax, + enlarge left by=0mm, + boxsep=5pt, + arc=0pt,outer arc=0pt, + ] + #2 +\end{tcolorbox} +} + + +\definecolor{beamer@simple@color}{RGB}{12 72 66} % bluegreen +\DeclareOptionBeamer{gray}{\definecolor{beamer@simple@color}{gray}{#1}} +\DeclareOptionBeamer{rgb}{\definecolor{beamer@simple@color}{rgb}{#1}} +\DeclareOptionBeamer{RGB}[{12 72 0}]{\definecolor{beamer@simple@color}{RGB}{#1}} +\DeclareOptionBeamer{HTML}{\definecolor{beamer@simple@color}{HTML}{#1}} +\DeclareOptionBeamer{cmyk}{\definecolor{beamer@simple@color}{cmyk}{#1}} +\DeclareOptionBeamer{cmy}{\definecolor{beamer@simple@color}{cmy}{#1}} +\DeclareOptionBeamer{named}{\definecolor{beamer@simple@color}{named}{#1}} +\DeclareOptionBeamer{hsb}{\definecolor{beamer@simple@color}{hsb}{#1}} +\ProcessOptionsBeamer +\definecolor{oliver}{rgb}{0.33, 0.42, 0.18} + +% footline +% delete navigation below +\setbeamertemplate{navigation symbols}{} + +\useoutertheme{tree} +\makeatletter +\setbeamertemplate{headline} +{% + \begin{beamercolorbox}[wd=\paperwidth,colsep=1.5pt]{upper separation line head} + \end{beamercolorbox} + \begin{beamercolorbox}[wd=\paperwidth,ht=2.5ex,dp=1.125ex,% + leftskip=.3cm,rightskip=.3cm plus1fil]{title in head/foot} + \usebeamerfont{title in head/foot}\insertshorttitle + \usebeamerfont{section in head/foot}% + \ifbeamer@tree@showhooks + \setbox\beamer@tempbox=\hbox{\insertsectionhead}% + \ifdim\wd\beamer@tempbox>1pt% + \hskip2pt\raise1.9pt\hbox{\vrule width 5pt height0.4pt}% + \hskip1pt% + \fi% + \else% + \hskip6pt% + \fi% + \insertsectionhead + \usebeamerfont{subsection in head/foot}% + \ifbeamer@tree@showhooks + \setbox\beamer@tempbox=\hbox{\insertsubsectionhead}% + \ifdim\wd\beamer@tempbox>1pt% + \hskip2pt\raise1.9pt\hbox{\vrule width 5pt height0.4pt}% + \hskip1pt% + \fi% + \else% + \hskip12pt% + \fi% + \insertsubsectionhead\hfill\insertshortauthor\hskip12pt\insertframenumber/\inserttotalframenumber\hspace{0.5em} + \end{beamercolorbox} + \begin{beamercolorbox}[wd=\paperwidth,colsep=1.5pt]{lower separation line head} + \end{beamercolorbox} +} +\makeatother + +% footline color +\setbeamercolor{author in head/foot}{fg=black, bg=mygrey!5!white} +\setbeamercolor{title in head/foot}{fg=black, bg=mygrey!5!white} +\setbeamercolor*{title}{fg=beamer@simple@color, bg=white} +% item settings +\setbeamertemplate{itemize item}{$\color{beamer@simple@color}\bullet$} +\setbeamertemplate{itemize subitem}{$\color{beamer@simple@color}\bullet$} +\setbeamertemplate{enumerate items}[square] +\setbeamertemplate{section in toc}[sections numbered] +\setbeamertemplate{subsection in toc}[square] + + + +% color definition +\definecolor{mygrey}{rgb}{0.52, 0.52, 0.51} + +\setbeamercolor{structure}{fg=beamer@simple@color, bg=mygrey!10!white} +\setbeamercolor{frametitle}{fg=beamer@simple@color, bg=white} +\setbeamercolor{block title}{fg=beamer@simple@color,bg=white} +\setbeamercolor{block body}{fg=black,bg=white} +\setbeamercolor{block body alerted}{bg=white} +\setbeamercolor{block title alerted}{fg=beamer@simple@color,bg=white} +\setbeamercolor{alerted text}{fg=beamer@simple@color} +\setbeamerfont{block title alerted}{series=\mdseries} +\setbeamerfont{alerted text}{series=\bfseries\boldmath} +\hypersetup{colorlinks=true,linkcolor=,citecolor=Green,urlcolor=oliver} +% \usefonttheme[onlymath]{serif} +\setbeamerfont{frametitle}{series=\bfseries\boldmath} +\setbeamerfont{block title}{series=\bfseries\boldmath} +\setbeamerfont{title}{series=\bfseries\boldmath} +\setbeamertemplate{frametitle}{\vskip2pt\hskip-6pt\underline{\insertframetitle}} % add line under frametitle + +% theorem env +\setbeamertemplate{theorem begin}{% +{ + \vspace{5pt}% + \usebeamerfont*{block title}% + \selectfont% + \usebeamercolor[fg]{block title}% + \textbf{% + \inserttheoremname + \inserttheoremnumber + \ifx \inserttheoremaddition \empty \else\ [\inserttheoremaddition]\fi + } +} +} +\setbeamertemplate{theorem end}{\vspace{5pt}} +% proof env +\setbeamertemplate{proof begin}{% +{\vspace{5pt} +\usebeamercolor[fg]{block title} +\textit{\textbf{Proof:}}} +} +\setbeamertemplate{proof end}{ +\qedhere +\vspace{5pt} +} + +% more theorem env +\newtheorem{observation}{Observation} +\newtheorem{question}{Question} + + +% ---------------------------------------------------------------------- +% 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 diff --git a/main.tex b/main.tex new file mode 100644 index 0000000..b49d801 --- /dev/null +++ b/main.tex @@ -0,0 +1,83 @@ +\documentclass{beamer} + +\title[Edge Conn Interdiction]{Faster FPTAS for Edge Connectivity Interdiction} +\date{\today} +\author{丛宇} +% \AtBeginSection[]{ +% \frame{\frametitle{Outline}\tableofcontents[currentsection, +% subsectionstyle=show/show/shaded]} +% } + +\usetheme{Simple} +\usepackage{algo} + +\begin{document} +\begin{frame}[plain] + % Print the title page as the first slide + \titlepage +\end{frame} + +\begin{frame}[plain]{Plan} + \tableofcontents +\end{frame} + +\section{Connectivity Interdiction} + +\begin{frame}{Edge Connectivity \& Cut} +\begin{definition} +Let $G=(V,E)$ be a undirected connected graph. The minimum cut of $G$ is the minimum set of edges whose removal breaks the connectivity of $G$. +\end{definition} + +The edge connectivity of $G$ = $|\text{mincut of $G$}|-1$. +\newline + +Edge connectivity is an important measure of network reliability. The greater the edge connectivity, the more difficult it is to break the network's connectivity. +\newline + +Now suppose that we want to attack the network. To what extent can we decrease the size of the min-cut by removing a limited set of edges? +\end{frame} + + +\begin{frame}{Interdiction} +\begin{problem}[edge connectivity interdiction] +The input is a graph $G=(V,E)$ with edge weights $w:E\to \Z_+$ and edge removal cost $c:E\to \Z_+$ and a budget $b\in \Z_+$. The goal is to find a interdiction set $F\subset E$ with $c(F)\leq b$ that minimizes the mincut in $G-F$. +\end{problem} +\end{frame} + + +\begin{frame}{Examples} +\begin{figure} +Examples for containing knapsack and for unweighted easy case. +\end{figure} +\end{frame} + +\begin{frame}{Prevous Works} +Zenklusen \citep{zenklusen_connectivity_2014} first studied this problem and showed the following results: +\begin{itemize} +\item A PTAS\footnote{polynomial time approximation scheme} for edge connectivity interdiction; +\item A $\tilde{O}(m^2 n^4)$ algorithm for the unit cost case\footnote{$\tilde{O}$ hides polylog factors}. +\end{itemize} + +Later \citep{vygen_fptas_2024} discovered an FPTAS\footnote{fully PTAS} with time complexity $\tilde{O}(m^2 n^4/\epsilon)$. +\end{frame} + + +\section{FPTAS} + +\begin{frame}{placeholder} + +\end{frame} + + +\section{LP Perspective} + +\begin{frame}{placeholder} + +\end{frame} + +\begin{frame}{References} +\bibliographystyle{plainnat} +\bibliography{ref} +\end{frame} + +\end{document} \ No newline at end of file diff --git a/ref.bib b/ref.bib new file mode 100644 index 0000000..07f17d1 --- /dev/null +++ b/ref.bib @@ -0,0 +1,33 @@ + +@inproceedings{vygen_fptas_2024, + address = {Cham}, + title = {An {FPTAS} for {Connectivity} {Interdiction}}, + volume = {14679}, + isbn = {978-3-031-59834-0 978-3-031-59835-7}, + url = {https://link.springer.com/10.1007/978-3-031-59835-7_16}, + language = {en}, + urldate = {2024-11-04}, + booktitle = {Integer {Programming} and {Combinatorial} {Optimization}}, + publisher = {Springer Nature Switzerland}, + author = {Huang, Chien-Chung and Obscura Acosta, Nidia and Yingchareonthawornchai, Sorrachai}, + editor = {Vygen, Jens and Byrka, Jarosław}, + year = {2024}, + doi = {10.1007/978-3-031-59835-7_16}, + note = {Series Title: Lecture Notes in Computer Science}, + pages = {210--223}, +} + +@article{zenklusen_connectivity_2014, + title = {Connectivity interdiction}, + volume = {42}, + issn = {01676377}, + url = {http://dx.doi.org/10.1016/j.orl.2014.07.010}, + doi = {10.1016/j.orl.2014.07.010}, + number = {6-7}, + journal = {Operations Research Letters}, + author = {Zenklusen, Rico}, + year = {2014}, + note = {Publisher: Elsevier B.V.}, + keywords = {Approximation algorithms, Interdiction problems, Multi-objective optimization, Robust optimization}, + pages = {450--454}, +}