RETRIANGULATE(1) The Regina Handbook RETRIANGULATE(1)

retriangulate - جستجوی جامع در میان مثلث‌بندی‌ها یا نمودارهای گره/پیوند با استفاده از حرکت‌های محلی

retriangulate [ -h, --height=height ] [ -t, --threads=threads ] [ -3, --dim3 | -4, --dim4 | -k, --knot ] [ -l, --all ] [ -a, --anysig ] [ -c, --classical | -V, --virtual ] [ -- ] signature

retriangulate { -v, --version | -?, --help }

با دریافت یک مثلث‌بندی ۳-چندمنظوره، مثلث‌بندی ۴-چندمنظوره یا یک نمودار پیوند، این ابزار با استفاده از حرکت‌های محلی، به جستجوی جامع برای یافتن مثلث‌بندی‌ها یا نمودارهای دیگر از همان چندمنظوره یا پیوند که هم‌اندازه یا کوچک‌تر هستند می‌پردازد. در اینجا منظور از «حرکت‌های محلی»، حرکت‌های پاشنر (Pachner moves) برای مثلث‌بندی‌ها، یا حرکت‌های رایدامایستر (Reidemeister moves) برای پیوندها است.

به‌طور مشخص، فرض کنید مثلث‌بندی یا نمودار پیوند ورودی شامل n چهاروجهی، پنج‌خانه یا تقاطع باشد (به ترتیب برای یک ۳-چندمنظوره، ۴-چندمنظوره یا پیوند). سپس این ابزار با استفاده از حرکت‌های محلی، به‌طور جامع مثلث‌بندی یا نمودار پیوند را دگرگون می‌کند، بدون آنکه مجموع چهاروجهی‌ها، پنج‌خانه‌ها یا تقاطع‌ها هرگز از n + height فراتر رود. علاوه بر این، تضمین می‌شود که تمامی چنین مثلث‌بندی‌ها یا نمودارهایی، هر کدام دقیقاً یک‌بار یافت شوند (تا حد یکسان‌ریختی ترکیبیاتی مناسب).

در رابطه با اینکه چه چیزی یک «حرکت محلی» به شمار می‌رود:

•
برای مثلث‌بندی‌های ۳-چندمنظوره‌ها، این ابزار تنها حرکت‌های پاشنر ۲-۳ و ۳-۲ را می‌آزماید، و هرگز حرکت‌های ۱-۴ یا ۴-۱ را اجرا نمی‌کند.
•
برای مثلث‌بندی‌های ۴-چندمنظوره‌ها، این ابزار از تمام انواع حرکت‌های پاشنر استفاده خواهد کرد.
•
برای نمودارهای پیوند، این ابزار از تمام حرکت‌های کلاسیک (مسطح) رایدامایستر استفاده می‌کند. همچنین این گزینه وجود دارد که از حرکت نوع II مجازی (غیرمسطح) استفاده شود؛ این حرکت با عبور دادن هر دو رشته از روی یکدیگر از هر جهتی، دو تقاطع اضافه می‌کند و در نتیجه می‌تواند یک دسته به سطحی که نمودار در آن نشانده شده است اضافه کند. به‌طور پیش‌فرض، حرکت نوع II مجازی تنها در صورتی در نظر گرفته می‌شود که نمودار ورودی دارای جینس مجازی مثبت باشد (یعنی یک نمودار کلاسیک نباشد)؛ این رفتار را می‌توان با استفاده از گزینه‌های --classical و --virtual تغییر داد.

ورودی به عنوان یک مثلث‌بندی ۳-چندمنظوره در نظر گرفته می‌شود مگر اینکه یکی از گزینه‌های --dim4 یا --knot داده شود.

برنامه هر مثلث‌بندی یا نمودار پیوندی را که با اندازهٔ یکسان n بیابد (شامل مثلث‌بندی یا نمودار ورودی اصلی) در خروجی چاپ می‌کند. اگر هر زمان یک مثلث‌بندی یا نمودار کوچک‌تر پیدا کند (که در نتیجه غیرکمینه بودن مورد اصلی را اثبات می‌کند)، آن مثلث‌بندی یا نمودار کوچک‌تر را در خروجی چاپ کرده و بلافاصله متوقف می‌شود. در غیر این صورت، به چاپ مثلث‌بندی‌ها یا نمودارهای با اندازهٔ n ادامه می‌دهد تا زمانی که دیگر موردی یافت نشود. اگرچه برنامه به عنوان بخشی از جستجوی جامع خود با استفاده از حرکت‌های محلی، مثلث‌بندی‌ها یا نمودارهای بزرگ‌تری را نیز می‌یابد، این موارد بزرگ‌تر (که معمولاً تعدادشان بسیار زیاد است) در خروجی نوشته نخواهند شد مگر اینکه گزینهٔ --all داده شده باشد.

تمامی مثلث‌بندی‌ها یا نمودارهای پیوند، چه ورودی و چه خروجی، به ترتیب با استفاده از امضاهای یکسان‌ریختی و امضاهای گره/پیوند توصیف می‌شوند. این‌ها رشته‌های متنی کوتاهی هستند که یک مثلث‌بندی یا نمودار پیوند را تا حد یکسان‌ریختی ترکیبیاتی به‌طور یکتا مشخص می‌کنند (که شامل برچسب‌گذاری مجدد چهاروجهی‌ها/پنج‌خانه‌ها/تقاطع‌ها، برچسب‌گذاری مجدد رأس‌های چهاروجهی‌ها/پنج‌خانه‌ها، و انواع عملیات‌های دوران/انعکاس/معکوس‌سازی روی نمودارهای پیوند است).

برای مشاهدهٔ امضای یکسان‌ریختی یک مثلث‌بندی: در رابط کاربری گرافیکی Regina می‌توانید آن را در برگهٔ Composition در نمایشگر مثلث‌بندی بیابید، و در پایتون می‌توانید برای مثلث‌بندی t، دستور t.isoSig() را فراخوانی کنید. برای مشاهدهٔ یک امضای گره/پیوند: در رابط کاربری گرافیکی Regina این امضا از طریق برگهٔ Codes در نمایشگر گره/پیوند در دسترس است، و در پایتون می‌توانید برای نمودار پیوند d، دستور d.sig() را فراخوانی کنید.

برای مشخصات کامل و دقیق امضاهای یکسان‌ریختی برای ۳-چندمنظوره‌ها، ببینید: Simplification paths in the Pachner graphs of closed orientable 3-manifold triangulations, Burton, 2011, arXiv:1110.6080.

نکته: مثلث‌بندی‌ها یا پیوندهای بسیار بزرگ دارای امضاهایی هستند که با یک خط تیره (-) آغاز می‌شوند. چنین امضایی هنگام ارسال در خط فرمان ممکن است با یک گزینه اشتباه گرفته شود. برای جلوگیری از این مشکل، می‌توانید گزینهٔ ویژهٔ -- را بلافاصله پیش از آن ارسال کنید: این کار نشان می‌دهد که تمامی گزینه‌های خط فرمان پایان یافته‌اند و هر آنچه در ادامه می‌آید باید به عنوان امضای ورودی در نظر گرفته شود.
example$ retriangulate -h1 -- -b-LLvALwvM...

تعداد چهاروجهی‌ها، پنج‌خانه‌ها یا تقاطع‌های اضافی را مشخص می‌کند (به ترتیب برای یک ۳-چندمنظوره، ۴-چندمنظوره یا پیوند) که در طول مراحل میانی باز‌مثلث‌بندی مجاز می‌دانیم. به این معنا که اگر مثلث‌بندی یا نمودار پیوند ورودی دارای n چهاروجهی/پنج‌خانه/تقاطع باشد، این ابزار به‌طور جامع در میان تمام مثلث‌بندی‌ها یا نمودارهای پیوندی که از طریق حرکت‌های محلی بدون فراتر رفتن از مجموع n + height چهاروجهی/پنج‌خانه/تقاطع قابل دسترسی هستند، به جستجو می‌پردازد.

توجه داشته باشید که این مثلث‌بندی‌ها یا نمودارهای میانی بزرگ‌تر در خروجی نوشته نخواهند شد؛ با این حال، مقدار بیشتر height ممکن است به برنامه اجازه دهد به مثلث‌بندی‌ها یا نمودارهای کوچک‌تر دیگری دسترسی پیدا کند که در غیر این صورت دسترسی‌ناپذیر بودند.

مقدار height داده‌شده باید یک عدد صحیح نامنفی باشد. علاوه بر این، برای ۳-چندمنظوره‌ها باید اکیداً مثبت و برای ۴-چندمنظوره‌ها باید زوج باشد.

در صورت عدم تعیین، این گزینه هنگام کار با ۳-چندمنظوره‌ها یا نمودارهای پیوند به‌طور پیش‌فرض 1 و هنگام کار با ۴-چندمنظوره‌ها به‌طور پیش‌فرض 2 است.

هشدار: به‌طور کلی، زمان اجرا می‌تواند با height به‌صورت فوق‌نمایی رشد کند. اکیداً پیشنهاد می‌شود که با height=1-- (یا 2 برای ۴-چندمنظوره‌ها) شروع کنید و آن را گام به گام افزایش دهید تا زمانی که کارایی به سطحی غیرقابل قبول برسد.
میزان استفادهٔ این ابزار از پردازش موازی را مشخص می‌کند. به‌طور مشخص، این برنامه از threads رشتهٔ اجرایی هم‌زمان در هنگام پیمایش باز‌مثلث‌بندی‌ها یا نمودارهای مختلف از چندمنظوره یا پیوند ورودی استفاده خواهد کرد.

این برنامه معمولاً قادر است از موازی‌سازی به‌طور مؤثر استفاده کند، بنابراین اجرا با k رشته باید زمان اجرا را تقریباً بر k تقسیم کند.

در صورت عدم تعیین، این گزینه به‌طور پیش‌فرض 1 است (یعنی پردازش تک‌رشته‌ای، بدون موازی‌سازی).

-3, --dim3 (پیش‌فرض)
نشان می‌دهد که امضای داده‌شده، امضای یکسان‌ریختی یک مثلث‌بندی ۳-چندمنظوره است. حرکت‌های محلی مورداستفاده، حرکت‌های پاشنر ۲-۳ و ۳-۲ خواهند بود.

اگر هیچ‌یک از آرگومان‌های --dim3، --dim4 یا --knot ارسال نشوند، این حالت پیش‌فرض است.

-4, --dim4
نشان می‌دهد که امضای داده‌شده، امضای یکسان‌ریختی یک مثلث‌بندی ۴-چندمنظوره است. حرکت‌های محلی مورداستفاده، حرکت‌های پاشنر ۱-۵، ۲-۴، ۳-۳، ۴-۲ و ۵-۱ خواهند بود.
نشان می‌دهد که امضای داده‌شده، یک امضای گره/پیوند است. حرکت‌های محلی مورداستفاده، حرکت‌های رایدامایستر خواهند بود که احتمالاً شامل حرکت مجازی نوع II نیز می‌شود؛ برای جزئیات به --classical و --virtual مراجعه کنید.
امضاهای تمامی مثلث‌بندی‌ها یا نمودارهای پیوند پیمایش‌شده را چاپ می‌کند، از جمله آن‌هایی که از مورد اصلی بزرگ‌تر هستند.

به‌طور پیش‌فرض، مثلث‌بندی‌ها یا نمودارهای پیوند بزرگ‌تر (که ممکن است تعدادشان بسیار زیاد باشد) در خروجی گنجانده نمی‌شوند.

نشان می‌دهد که نیازی نیست خروجی حتماً امضاهای یکسان‌ریختی کلاسیک باشد.

نسخهٔ Regina 7.0 انواع (types) جایگزینی از امضاهای یکسان‌ریختی را معرفی کرد. همانند امضاهای یکسان‌ریختی اصلی که سال‌ها پیش معرفی شدند، هر نوع از امضا، یک مثلث‌بندی را تا حد یکسان‌ریختی ترکیبیاتی به‌طور یکتا مشخص می‌کند. علاوه بر این، Regina می‌تواند یک مثلث‌بندی یا پیوند را از روی امضایی با هر نوعی بازسازی کند.

در پشت صحنه، این ابزار از یکی از انواع جدیدتر و جایگزین امضا استفاده می‌کند که محاسبهٔ آن سریع‌تر است. با این حال، همچنان امضاهای کلاسیک را خروجی می‌دهد؛ یعنی همان امضاهای یکسان‌ریختی که ابتدا در سال ۲۰۱۱ معرفی شدند. این تبدیل از امضاهای جایگزین به کلاسیک، بار اضافی به زمان اجرا تحمیل می‌کند.

اگر گزینهٔ --anysig را ارسال کنید، Regina خروجی خود را به امضاهای کلاسیک تبدیل نخواهد کرد؛ در عوض هر نوع امضای جایگزینی را که در داخل استفاده می‌کند در خروجی چاپ می‌کند. این روند سریع‌تر خواهد بود و شما همچنان می‌توانید از این امضاهای جایگزین برای بازسازی مثلث‌بندی‌ها استفاده کنید؛ تنها دلیل برای عدم انجام این کار زمانی است که نیاز به تضمین سازگاری با امضاهای کلاسیک اصلی داشته باشید (برای مثال، برای مقایسه با فهرستی از امضاها که در جای دیگری تولید شده است).

هشدار: نوع امضای داخلی ممکن است در نگارش‌های آیندهٔ Regina دستخوش تغییر شود. به این معنا که در صورت استفاده از --anysig، بسته به اینکه از کدام نگارش Regina استفاده می‌کنید ممکن است خروجی‌های متفاوتی دریافت کنید.
توجه: در حال حاضر Regina تنها برای مثلث‌بندی‌ها از انواع امضای جایگزین استفاده می‌کند. برای امضاهای گره/پیوند، همچنان از امضاهای کلاسیک استفاده می‌شود، هرچند این موضوع نیز ممکن است در نگارش‌های آیندهٔ Regina تغییر کند.
برای نمودارهای پیوند، تنها از حرکت‌های کلاسیک رایدامایستر نوع I، II و III استفاده می‌کند. این رفتار پیش‌فرض هنگامی است که ورودی یک نمودار پیوند کلاسیک (مسطح) باشد.

این گزینه تنها می‌تواند همراه با --knot استفاده شود.

برای نمودارهای پیوند، از حرکت‌های کلاسیک نوع I، II و III رایدامایستر و همچنین حرکت مجازی نوع II استفاده می‌کند. حرکت مجازی نوع II شبیه به حرکت کلاسیک نوع II برای افزودن دو تقاطع است، با این تفاوت که مجاز هستیم هر دو رشته را از هر جهتی از روی یکدیگر عبور دهیم؛ در نتیجه، این کار می‌تواند یک دسته به سطحی که نمودار پیوند در آن نشانده شده است اضافه کند. این گزینه رفتار پیش‌فرض هنگامی است که ورودی یک نمودار پیوند با جینس مجازی مثبت باشد (یعنی یک نمودار پیوند غیرکلاسیک).

این گزینه تنها می‌تواند همراه با --knot استفاده شود.

--
نشان می‌دهد که تمام گزینه‌های دیگر پایان یافته‌اند و هر آنچه در ادامه در خط فرمان می‌آید باید به عنوان امضای ورودی در نظر گرفته شود.

این گزینه زمانی کاربرد دارد که امضای شما با یک خط تیره شروع شود، تا از اشتباه گرفته شدن امضای ورودی با گزینه‌های معمول خط فرمان جلوگیری گردد.

نگارش Regina مورداستفاده را نمایش می‌دهد و بلافاصله خارج می‌شود.
-?, --help
اطلاعات مختصر دربارهٔ نحوهٔ استفاده را نمایش می‌دهد و بلافاصله خارج می‌شود.

مثلث‌بندی ۳-چندمنظورهٔ زیر غیرکمینه است، اما مشاهدهٔ این موضوع نیازمند کمی محاسبات است:

example$ retriangulate -h2 hLLAAkbdceefggdonxdjxn
hLLAAkbdceefggdonxdjxn
hLALPkbcbefgfghxwnxark
Found 2 triangulation(s).
example$ retriangulate -h3 hLLAAkbdceefggdonxdjxn
hLLAAkbdceefggdonxdjxn
hLALPkbcbefgfghxwnxark
hLLMMkbcdfefgglcghtchj
gLLPQcdcefffqsjpunw
Triangulation is non-minimal!
Smaller triangulation: gLLPQcdcefffqsjpunw
example$

اگرچه برنامه به محض یافتن یک مثلث‌بندی کوچک‌تر متوقف شد، این مورد را می‌توان حتی بیش از این نیز ساده‌سازی کرد:

example$ retriangulate gLLPQcdcefffqsjpunw
gLLPQcdcefffqsjpunw
fLAMcbbcdeedhwhxn
Triangulation is non-minimal!
Smaller triangulation: fLAMcbbcdeedhwhxn
example$

کمی بررسی بیشتر نشان می‌دهد که این چندمنظوره، چندمنظورهٔ هذلولوی نوک‌دار m112 است:

example$ censuslookup fLAMcbbcdeedhwhxn
fLAMcbbcdeedhwhxn: 1 hit
    m112 : #2 -- Cusped hyperbolic census (orientable)
example$

اگر یک بستهٔ برنامه‌ای Drag-and-Drop را بارگیری کرده‌اید، این ابزار درون آن گنجانده شده است. اگر Regina را به پوشهٔ اصلی Applications کشیده‌اید، می‌توانید آن را به صورت /Applications/Regina.app/Contents/MacOS/retriangulate اجرا کنید.

ابزارهای خط فرمان در زیر پوشهٔ Program Files نصب می‌شوند؛ در برخی سیستم‌ها این پوشه Program Files (x86) نامیده می‌شود. می‌توانید این ابزار را با اجرای c:\Program Files\Regina\Regina 7.4.1\bin\retriangulate.exe اجرا کنید.

regina-gui.

این ابزار توسط Benjamin Burton <bab@maths.uq.edu.au> نوشته شده است. افراد زیادی در توسعهٔ Regina مشارکت داشته‌اند؛ برای مشاهدهٔ فهرست کامل همکاران به کتابچه راهنمای کاربران مراجعه کنید.

25 August 2025