এই braids সমান?


13

আপনি বিনুনি-তত্ত্ব আমি সাথে পরিচিত না হন, তাহলে সুপারিশ করছি যে আপনি পড়তে এই প্রথম। এই প্রশ্নটি ধরে নিয়েছে যে আপনি হাতে থাকা ধারণাগুলির সাথে কমপক্ষে পরিচিত এবং ধরে নিচ্ছেন গ্রুপ-তত্ত্বের সাথে আপনি ভাল পরিচিত

আমাদের সংজ্ঞায়িত করা যাক σ এন বিনুনি যা হতে এন এ শুধু Top ক্রস থেকে তম Strand (এক ইন্ডেক্স) এন +1 ম তীরভূমি, এবং σ এন - বিপরীত হতে σ এন (যে এন +1 ম স্ট্র্যান্ড n তম স্ট্র্যান্ড অতিক্রম করে )।

এর পরে ব্রিডিট গ্রুপ বি এন1 , σ 2 , σ 3 , দ্বারা উত্পাদিত হয় , σ n-1 > । সুতরাং বি এন এর প্রত্যেকটি বিনুনি σ-braids এর পণ্য হিসাবে লেখা যেতে পারে। 1


একটি গ্রুপে দুটি braids সমান কিনা তা নির্ধারণ করা কোনও সহজ কাজ নয়। এটা স্পষ্ট যে চমত্কার হতে পারে σ 1 σ 3 = σ 3 σ 1 , কিন্তু এটা একটু কম সুস্পষ্ট যে উদাহরণস্বরূপ σ 2 σ 1 σ 2 = σ 1 σ 2 σ 12

সুতরাং প্রশ্নটি হল "দুটি ব্রেড একইরূপে কীভাবে আমরা নির্ধারণ করতে পারি?"। ভাল প্রতিটি উপরোক্ত দুটি উদাহরণ এটি একটি বিস্তৃত। সাধারণভাবে আর্টিনের সম্পর্ক নামে পরিচিত নিম্নলিখিত সম্পর্কগুলি সত্য:

  • σ i σ j = σ j σ i ; i - j> 1

  • σ i σ i + 1 σ i = σ i + 1 σ i σ i + 1

আমরা এই দুটি সম্পর্ককে গ্রুপ অ্যাকোরিওমের সাথে একত্রে ব্যবহার করতে পারি তা প্রমাণ করতে যে কোনও সমান braids সমান। এই সম্পর্কগুলির পুনরাবৃত্তি প্রয়োগ এবং গ্রুপ অ্যাকোরিওমগুলি যদি এটি প্রদর্শন করতে পারে তবে দুটি বৌদ্ধ সমান।

কার্য

আপনি দুটি প্রোগ্রামের জন্য একটি প্রোগ্রাম বা ফাংশন লিখবেন এবং সেগুলি সমান কিনা তা নির্ধারণ করবেন। আপনি গ্রুপের ক্রমে প্রতিনিধিত্ব করে কোনও ইতিবাচক পূর্ণসংখ্যাও নিতে পারেন।

এটি একটি প্রশ্ন তাই কম বাইট ভাল হওয়ার সাথে উত্তরগুলি বাইটে স্কোর করা হবে।

ইনপুট এবং আউটপুট

জেনারেটরগুলির অর্ডার তালিকা হিসাবে আপনার একটি বেটির প্রতিনিধিত্ব করা উচিত (বা কোনও সমতুল্য কাঠামো, যেমন ভেক্টর)। আপনি যেকোন যুক্তিসঙ্গত আকারে জেনারেটরগুলি উপস্থাপন করতে পারেন (উদাহরণস্বরূপ একটি পূর্ণসংখ্যা, ধনাত্মক পূর্ণসংখ্যার দুটি দ্বিগুণ এবং একটি বুলিয়ান)।

মানক নিয়মের আপনার দুটি স্বতন্ত্র মানগুলির মধ্যে একটি আউটপুট করা উচিত, একটি প্রত্যাখ্যান গ্রহণ করুন।

পরীক্ষার কেস

[],       []              -> True
[1,-1],   []              -> True
[1,2,1],  [2,1,2]         -> True
[1,3],    [3,1]           -> True
[1,3,2,1],[3,2,1,2]       -> True
[1,4,-4,3,2,1], [3,2,1,2] -> True
[2,2,1],  [2,1,2]         -> False
[1,2,-1], [-1,2,1]        -> False
[1,1,1,2],[1,1,2]         -> False

1: দ্রষ্টব্য যে বি এন একটি গোষ্ঠীর সমস্ত সম্পত্তি সন্তুষ্ট করার সময় আমাদের ব্রেইড গ্রুপের ক্রিয়াকলাপটি পরিবহণমূলক নয় এবং সুতরাং আমাদের গোষ্ঠীটি আবেলীয় নয়।

2: আপনি যদি নিজের জন্য এটি যাচাই করতে চান তবে আমি আমার পক্ষে σ 1 - উভয় পক্ষের জন্য প্রয়োগ করার পরামর্শ দিচ্ছি , যদি আপনি দুজনকে কাগজে আঁকেন, বা তাদের সত্যিকারের স্ট্রিং দিয়ে মডেল করেন তবে কেন এটি ঘটছে তা স্পষ্ট হওয়া উচিত।


আমি ব্রেড তত্ত্বের সাথে অপরিচিত, তাই আমি সম্পূর্ণ গীবেরিশ হিসাবে ভিসিটিিং করছি (কেবল মজা করছি)
কেয়ার্ড কোইনারিংহিং

2
আমাদের কিছু পরীক্ষার কেস থাকতে পারে দয়া করে?
হাইপার নিউট্রিনো

@ হাইপারনিট্রিনো দুঃখিত, তাদের যুক্ত করতে ভুলে গেছি। যোগ করা হয়েছে এখন। আরও পরামর্শ নির্দ্বিধায়।
অ্যাডহক গার্ফ হান্টার

@ ওয়েট উইজার্ড পরীক্ষার কেস পরামর্শ:[],[]
পাভেল

প্রস্তাবিত পরীক্ষার কেস:[1, 4, -4, 3, 2, 1], [3, 2, 1, 2] => TRUE
হাইপার নিউট্রিনো

উত্তর:


11

হাস্কেল , 190 বাইট

i!j|j<0=reverse$map(0-)$i!(-j)|i==j=[i,i+1,-i]|i+1==j=[i]|i+j==0=[j+1]|i+j==1=[-j,-i,j]
_!j=[j]
j%(k:a)|j+k==0=a
j%a=j:a
i&a=foldr(%)[]$foldr((=<<).(!))[i]a
a?n=map(&a)[1..n]
(a#b)n=a?n==b?n

এটি অনলাইন চেষ্টা করুন!

কিভাবে এটা কাজ করে

যাক এফ এন হতে বিনামূল্যে গ্রুপ উপর এন জেনারেটর এক্স 1 , ..., x এর এন । বিনুনি তত্ত্ব প্রথম ফলাফল (এমিল Artin, এক Theorie Zöpfe ডের , 1925) যে আমরা একটি injective আছে homomorphism : বি এনAUT ( এফ এন ) যেখানে কর্ম σ আমি σ এর আমি দ্বারা সংজ্ঞায়িত করা হয়

σ আমি ( এক্স আমি ) = এক্স আমি এক্স আমি +1 এক্স আমি -1 ,
σ আমি ( এক্স আমি +1 ) = এক্স আমি ,
σ আমি ( এক্স ) = x এর জন্য ∉ { আমি , আমি + + 1}।

বিপরীত f σ i −1 দ্বারা দেওয়া হয়েছে

f σ i −1 ( x i ) = x i + 1 ,
f σ i −1 ( x i + 1 ) = x i + 1 −1 x i x i + 1 ,
f σ i −1 ( x j ) = এক্স জন্য ∉ { আমি , আমি + 1}

এবং অবশ্যই রচনাটি f ab = f af b দ্বারা প্রদত্ত ।

পরীক্ষা করেন যে, একটি = বি এন , এটা পরীক্ষা করার জন্য যথেষ্ট যে একটি ( এক্স আমি ) = ( এক্স আমি সবার জন্য) আমি = 1, ..., এন । এই অনেক বেশী সাদাসিধে সমস্যা এফ এন , যেখানে আমরা শুধু জানি বাতিল কিভাবে প্রয়োজন এক্স আমি সঙ্গে এক্স আমি -1

কোডে:

  • i!jf σ i ( x j ) গণনা করুন (যেখানে হয় iবা jনেতিবাচক হতে পারে, একটি বিপরীত উপস্থাপন করে),
  • foldr(%)[] মুক্ত গ্রুপে হ্রাস সম্পাদন করে,
  • i&af a ( x i ) গণনা ,
  • a?nগণনাগুলি [ a ( x 1 ),…, f ( x এন )],
  • এবং (a#b)nজন্য সমতা পরীক্ষা একটি = মধ্যে বি এন

4

পাইথন 2 , 270 263 260 250 249 241 বাইট

def g(b,i=0):
 while i<len(b)-1:
  R,s=b[i:i+2]
  if R<0<s:b[i:i+2]=[[],[s,-R,-s,R],[s,R]][min(abs(R+s),2)];i=-1
  i+=1
 return b
def f(a,b):
 b=g(a+[-v for v in b][::-1]);i=0
 while i<len(b)and b[0]>0:b=b[1:]+[b[0]];i+=1   
 return g(b)==[]

এটি অনলাইন চেষ্টা করুন!

ব্রেড আইসোটোপি সমস্যা সমাধানের 'সাবওয়ার্ড রিভার্সিং' পদ্ধতির প্রয়োগ: a = b iff ab ^ -1 = পরিচয়।

অ্যালগরিদম থেকে নেওয়া: ব্রেড আইসোটোপি সমস্যার কার্যকর সমাধান, প্যাট্রিক দেহর্নয় ; তিনি বেশ কয়েকটি অন্যান্য অ্যালগরিদম বর্ণনা করেছেন যা আগ্রহী হতে পারে ...

এই অ্যালগরিদম তালিকায় বাম থেকে ডান দিকে মার্চ করে কাজ করে, ধনাত্মক সংখ্যার পরে একটি নেতিবাচক সংখ্যা অনুসন্ধান করে; অর্থাত্, i, j> 0 সহ x i -1 x j ফর্মের একটি সাব-শব্দ ।

এটি নিম্নলিখিত সমতা ব্যবহার করে:

x i -1 x j = x j x i x j -1 x i -1 যদি i = j + 1 বা j = i + 1

x i -1 x j = পরিচয় (খালি তালিকা) যদি i == জে

x i -1 x j = x j x i -1 অন্যথায়।

বারবার প্রয়োগের মাধ্যমে, আমরা ফর্মটির একটি তালিকা দিয়ে শেষ করি w1 + w2, যেখানে প্রতিটি উপাদান w1ইতিবাচক এবং প্রতিটি উপাদানই w2negativeণাত্মক। (এটি ফাংশনের ক্রিয়া g)।

তারপরে আমরা gতালিকায় দ্বিতীয়বার আবেদন করি w2 + w1; যদি মূল তালিকাটি পরিচয়ের সমান হয় তবে ফলাফলের তালিকাটি খালি থাকতে হবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.