সীমাবদ্ধ গোষ্ঠীর উপগোষ্ঠীর সংখ্যা সন্ধান করুন


14

সংজ্ঞা

আপনি ইতিমধ্যে গোষ্ঠী , সসীম গোষ্ঠী এবং উপগোষ্ঠীগুলির সংজ্ঞাটি জানলে আপনি এই অংশটি এড়িয়ে যেতে পারেন ।

গ্রুপ

বিমূর্ত বীজগণিতের মধ্যে, একটি গোষ্ঠী একটি টিউপল (জি, ∗) হয় , যেখানে জি একটি সেট এবং একটি ফাংশন জি × জি → জি যা নিম্নলিখিতগুলি ধারণ করে:

  • বন্ধ সব জন্য X, Y মধ্যে জি , এক্স * Y এছাড়াও রয়েছে জি (সত্য যে ক্ষেত্রে প্রযোজ্য * একটি ফাংশন জি × জি → জি )।

  • Associativity সব জন্য X, Y, Z মধ্যে জি , (এক্স * Y) * z- র = এক্স * (Y * য)

  • পরিচয়: সেখানে একটি উপাদান বিদ্যমান মধ্যে জি যেমন যে সব জন্য এক্স মধ্যে জি , এক্স * E = এক্স = ঙ * এক্স

  • ইনভার্স: প্রত্যেকের জন্য এক্স মধ্যে জি , সেখানে একটি উপাদান বিদ্যমান Y মধ্যে জি যেমন যে এক্স * Y = E = Y * এক্স , যেখানে পরিচয় উপাদান পূর্ববর্তী বুলেট পয়েন্ট উল্লেখ করা হয়।

সীমাবদ্ধ গ্রুপ

একটি সীমাবদ্ধ গ্রুপ হ'ল একটি গ্রুপ (জি, ∗) যেখানে জি সীমাবদ্ধ, অর্থাৎ চূড়ান্তভাবে অনেকগুলি উপাদান রয়েছে has

উপগোষ্ঠী

একটি উপদলের (এইচ, *) একটি গোষ্ঠীর (জি, *) যেমন যে এইচ একটি উপসেট হয় জি (অগত্যা সঠিক নয় উপসেট) এবং (এইচ, *) একটি গ্রুপ (যেমন সন্তুষ্ট 4 মানদণ্ড উপরে) হয়।

উদাহরণ

বিবেচনা করুন দ্বিতলকোণ গ্রুপ ডি 3 (জি, *) যেখানে জি = {1, এ, বি, সি, ডি, ই} এবং * নিচের (এই মত একটি টেবিল একটি বলা হয় সংজ্ঞায়িত করা হয় Cayley টেবিল ):

∗ | 1 এবিসিডিই
- + + ----------------------
1 | 1 এবিসিডিই
ক | এবি 1 ডিসি
খ | বি 1 এসইসিডি
সি | সিডি 1 বিএ
ডি | ডিসিইএ 1 বি
E | ইডিসিবিএ ঘ

এই গ্রুপে, পরিচয় 1 । এছাড়াও, একটি এবং বি একে অপরের inverses তৈরী করছেন, 1 , সি , ডি , আর যথাক্রমে নিজেদের inverses হয় (বিপরীত 1 হয় 1 , বিপরীত সি হল সি , বিপরীত ডি হল ডি , আর বিপরীত হয় )।

এখন, আমরা তা যাচাই করতে পারি (H, ∗) যেখানে H = {1, A, B ((জি, ∗) এর উপগোষ্ঠী । বন্ধের জন্য, নীচের টেবিলটি দেখুন:

∗ | 1 এবি
- + + ----------
1 | 1 এবি
ক | এবি 1
খ | খ 1 এ

যেখানে উপাদানের সব সম্ভব জোড়া এইচ অধীনে * মধ্যে একজন সদস্য দিতে এইচ

এইচ- এর উপাদানগুলি জি এর উপাদান হওয়ায় সাহচর্য পরীক্ষা করার প্রয়োজন হয় না ।

পরিচয় 1 । গ্রুপ পরিচয়ের সাথে এটি অবশ্যই একই হতে হবে। এছাড়াও, একটি গোষ্ঠীর পরিচয় অবশ্যই অনন্য হতে হবে। (আপনি কি এটি প্রমাণ করতে পারবেন?)

বিপরীত জন্য চেক করুন যে বিপরীত একটি হল বি , যা একজন সদস্য এইচ । বিপরীত বি হল একটি , যা একজন সদস্য এইচ1 এর বিপরীতমুখীটি এখনও নিজেই, যার জন্য চেকিংয়ের প্রয়োজন হয় না।


কার্য

বিবরণ

একটি সীমাবদ্ধ গোষ্ঠী দেওয়া (জি, ∗) , এর উপগোষ্ঠীর সংখ্যাটি সন্ধান করুন।

ইনপুট

একটি দলের জন্য (জি, *) , আপনি আকারের একটি 2D অ্যারে পাবেন এন × এন , যেখানে n হল উপাদান সংখ্যা জি । ধরে নিন যে সূচকটি 0পরিচয়ের উপাদান। 2 ডি অ্যারেটি গুণক সারণীর প্রতিনিধিত্ব করবে। উদাহরণস্বরূপ, উপরের গোষ্ঠীর জন্য, আপনি নিম্নলিখিত 2D অ্যারে পাবেন:

[[0, 1, 2, 3, 4, 5],
[1, 2, 0, 4, 5, 3],
[2, 0, 1, 5, 3, 4],
[3, 5, 4, 0, 2, 1],
[4, 3, 5, 1, 0, 2],
[5, 4, 3, 2, 1, 0]]

উদাহরণস্বরূপ, আপনি দেখতে পাচ্ছেন যে 3 ∗ 1 = 5 কারণ উপরের 2D অ্যারেটি a[3][1] = 5কোথায় a

মন্তব্য:

  • আপনি 1-ইনডেক্সড 2 ডি অ্যারে ব্যবহার করতে পারেন।
  • পরিচয়ের জন্য সারি এবং কলাম বাদ দেওয়া যেতে পারে।
  • আপনি ফিট হিসাবে দেখতে অন্যান্য ফর্ম্যাট ব্যবহার করতে পারেন, তবে এটি অবশ্যই সামঞ্জস্যপূর্ণ হতে হবে। (অর্থাত আপনি শেষ সূচকটি পরিবর্তে পরিচয় হিসাবে দেখাতে পারেন ইত্যাদি)

আউটপুট

একটি ধনাত্মক সংখ্যা যা গ্রুপে উপগোষ্ঠীর সংখ্যা উপস্থাপন করে।

উদাহরণস্বরূপ, উপরে গ্রুপ, জন্য (এইচ, *) একটি উপদলের হয় (জি, *) যখনই এইচ =

  • {1}
  • {1, এ, বি}
  • {1, সি}
  • {1, ডি
  • {1, ই}
  • {1, এ, বি, সি, ডি, ই

সুতরাং, এখানে 6 টি উপগোষ্ঠী রয়েছে এবং এই উদাহরণের জন্য আপনার আউটপুট হওয়া উচিত 6


সংকেতগুলি

আমি যে নিবন্ধগুলি লিঙ্ক করেছি তা আপনি পড়তে পারেন। এই নিবন্ধগুলিতে গোষ্ঠী এবং উপগোষ্ঠী সম্পর্কে উপপাদ্য রয়েছে যা আপনার পক্ষে কার্যকর হতে পারে।


স্কোরিং

এটি । সর্বনিম্ন বাইট-কাউন্ট জয়ের উত্তর দিন।


ওহ এটা আমার কাছে পরিষ্কার ছিল না এবং বিশেষত পরিচয় উপাদানকে বোঝায়, কেবল কোনও মধ্যবর্তী ফলাফল নয়।
orlp

@orlp স্পষ্ট।
লিকি নুন

আপনি যদি 0পরিচয় উপাদানটিকে কল করতে চলেছেন , তবে অপারেটরটিকে গুণ হিসাবে চিহ্নিত করা বিভ্রান্তিকর ...
নীল

@ নীল এহ ... কনভেনশন সংঘর্ষের সময়।
লিকি নুন

1
আমি ধরে নিয়েছি যে 2 ডি তালিকার উপাদানগুলি তাদের সারি / কলামগুলির সূচকগুলির সাথে সমান, অন্যথায় আপনি কীভাবে সনাক্ত করতে পারবেন কোন সারি / কলামটি কোনটির সাথে চলেছে?
janর্জন জোহানসেন

উত্তর:


8

গণিত, 62 48 বাইট

Count[Subsets@First@#,x_/;Union@@#[[x,x]]==x]-1&

1-ইনডেক্সড 2 ডি অ্যারের প্রত্যাশা করে বিশুদ্ধ ফাংশন। Countসংখ্যা গুলি Subsetsএর Firstইনপুট অ্যারের গ্রুপ অপারেশন অধীনে বন্ধ করা হয় সারি। যেহেতু এটি খালি সেট অন্তর্ভুক্ত করবে, তাই আমরা বিয়োগ করি 1। মনে রাখবেন যে গ্রুপ অপারেশনের অধীনে বন্ধ হওয়া একটি সীমাবদ্ধ গোষ্ঠীর একটি নোম্পটি সাবসেটটি আসলে একটি উপগোষ্ঠী , (এবং বিপরীতে সংজ্ঞা অনুসারে)।

কঠোরভাবে বলতে গেলে আমি xগোষ্ঠী অপারেশনের অধীনে সাবসেটটি বন্ধ আছে কিনা তা পরীক্ষা করে দেখছি না , আমি সাবসেটে গুণক টেবিলকে সীমাবদ্ধ রেখেছি xএবং এটিতে নিখুঁতভাবে উপাদান রয়েছে কিনা তা পরীক্ষা করি x। স্পষ্টতই এর দ্বারা বোঝা যায় যে xগ্রুপ অপারেশনের সাথে সম্মতিতে বন্ধ রয়েছে। বিপরীতভাবে, যে কোনও উপগোষ্ঠী xএতে অন্তর্ভুক্ত থাকবে 1এবং সুতরাং xএটি সীমাবদ্ধ গুণক সারণীতে উপস্থিত উপাদানগুলির একটি উপসেট হবে এবং যেহেতু xগ্রুপ অপারেশনের অধীনে বন্ধ রয়েছে তাই এটি অবশ্যই সমান হবে x


4

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

মূলত নেজেনিসিসের ম্যাথমেটিক পদ্ধতিতে একটি বন্দর। (আমি 0-ইনডেক্সড অ্যারেগুলি বাদ দিচ্ছি))

cএর তালিকার একটি তালিকা নেয় Intএবং পূর্ণসংখ্যা ফেরত দেয় returns

c g=sum[1|l<-foldr(\r->([id,(r!!0:)]<*>))[[]]g,and[g!!x!!y`elem`l|x<-l,y<-l]]-1

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

ধারণা করা হয় যে Intগুলিগুলি সারিগুলি (বাহ্যিক তালিকাগুলি) এবং কলামগুলি তাদের গুণক দেখানোর মতোই সংখ্যাযুক্ত। সুতরাং, যেহেতু 0 টি পরিচয়, প্রথম কলামটি সারিগুলির সূচকগুলির সমান। এটি সাবসেটগুলি তৈরি করতে প্রথম কলামের এন্ট্রিগুলি ব্যবহার করে allows

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

  • c প্রধান কাজ।
  • g তালিকার তালিকা হিসাবে গ্রুপ অ্যারে।
  • lউপাদানগুলির একটি উপসেট। সাবসেটের তালিকাটি নিম্নরূপভাবে নির্মিত হয়েছে:
    • foldr(\r->([id,(r!!0:)]<*>))[[]]gএর সারিগুলির উপরে একটি ফাংশন ভাঁজ করে g
    • rএর একটি সারি g, যার প্রথম (0 তম) উপাদানটি এমন উপাদান হিসাবে নিষ্কাশন করা হয়েছে যা অন্তর্ভুক্ত থাকতে পারে ( (r!!0:)) বা না ( id)।
    • <*> নিম্নলিখিত সারির সাথে এই সারির জন্য পছন্দগুলি একত্রিত করে।
  • and[g!!x!!y`elem`l|x<-l,y<-l]প্রতিটি জোড় উপাদানগুলির lএকাধিক হয় কিনা তা পরীক্ষা করে l
  • sum[1|...]-1 খালি সাবসেটটি বাদ দিয়ে পরীক্ষায় পাস করা সাবসেটগুলি গণনা করে।

3

জেলি , 17 16 বাইট

1 টি বাইট ইটিএইচ প্রডাকশনগুলিতে ধন্যবাদ ( LR → J)

ị³Z⁸ịFḟ
JŒPÇÐḟL’

JŒPÇÐḟL’  main link. one argument (2D array)
J         [1,2,3,...,length of argument]
 ŒP       power set of ^
    Ðḟ    throw away elements that pass the test...
   Ç      in the helper link
      L   length (number of elements that do not pass)
       ’  decrement (the empty set is still closed under
          multiplication, but it is not a subgroup, as
          the identity element does not exist.)

ị³Z⁸ịFḟ   helper link. one argument (1D indexing array)
ị³        elements at required indices of program input (2D array)
  Z       transpose
   ⁸ị     elements at required indices of ^
     F    flatten
      ḟ   remove elements of ^ that are in the argument given
          if the set is closed under multiplication, this will
          result in an empty set, which is considered falsey.

এটি অনলাইন চেষ্টা করুন! (1-ইন্ডেক্স)


আপনি করতে পারেন JLR কোনও বাইট সংরক্ষণ করার পরিবর্তে :-)
ETH প্রোডাকশনগুলি

@ এথ প্রডাকশনগুলি ওয়াও, এটি সন্ধানের জন্য ধন্যবাদ।
লিকি নুন

3

পাইথন 2, 297 215 বাইট

from itertools import*
T=input()
G=T[0]
print sum(all(T[y][x]in g for x,y in product(g,g))*all(any(T[y][x]==G[0]==T[x][y]for y in g)for x in g)*(G[0]in g)for g in chain(*[combinations(G,n)for n in range(len(G)+1)]))

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

এই প্রোগ্রামটি ব্যতীত উদাহরণ গোষ্ঠীর জন্য কাজ করে ==T[x][y], তবে আমি এখনও এটির প্রয়োজনীয় এটি সম্পর্কে বেশ নিশ্চিত।

সম্পাদনা: এখন ধরে নিন যে জি এর পরিচয় উপাদানটি সর্বদা প্রথম।


Ungolfed:

from itertools import*
T=input()
G=T[0]
def f(x,y):return T[y][x]                                           # function
def C(g):return all(f(x,y)in g for x,y in product(g,g))             # closure
def E(g):return[all(f(x,y)==y for y in g)for x in g]                # identity

a=E(G)
e=any(a)
e=G[a.index(1)]if e else-1                                          # e in G

def I(G):return all(any(f(x,y)==e==f(y,x)for y in G)for x in G)     # inverse

#print e
#print C(G),any(E(G)),I(G)

#for g in chain(*[combinations(G,n)for n in range(len(G)+1)]):      # print all subgroups
#   if C(g)and I(g)and e in g:print g

print sum(C(g)*I(g)*(e in g)for g in chain(*[combinations(G,n)for n in range(len(G)+1)]))

অবহেলিত টিআইও

নেতিবাচক গ্রুপ উপাদান পরিবর্তন করে কোন খরচ সমর্থিত হতে পারে -1জন্য ''


আপনি পরিচয় পরীক্ষা কেন? পরিচয়টি প্রথম উপাদান হিসাবে গ্যারান্টিযুক্ত। কেবলমাত্র প্রথম উপাদান ছাড়াই সমস্ত সংমিশ্রণ তৈরি করুন এবং প্রতিটি সংমিশ্রমে প্রথম উপাদান যুক্ত করুন।
orp

"ধরে নিন যে 0 হল পরিচয়ের উপাদান" "
orlp

হ্যাঁ, তবে এর অর্থ এই নয় যে এটি তালিকায় প্রথম। আমি ভেবেছিলাম এটি 0উদাহরণের জন্য নম্বর সম্পর্কে কথা বলছে , সূচক নয়।
mbomb007

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