Với những gì c được chia cho c trong AC0?


11

Giả sử rằng đầu vào của chúng tôi là nhị phân và chúng tôi phải xuất , trong đó là một số nguyên không đổi. Đây chỉ là một sự thay đổi nếu là lũy thừa của hai, nhưng còn các số khác thì sao? Chúng ta có thể làm điều đó với một mạch sâu không đổi cho mọi ? Còn thì sao?xx/ccccc=3

ps. Tôi biết rằng tính toán là khó, nhưng điều này dường như không liên quan.xmodc

Câu trả lời:


16

Phép cộng và phép trừ các số nhị phân có trong AC0 .

Đối với bất kỳ số không đổi c , xmodcAC0 có thể rút ngắn để chia theo c ( x/c ):

xmodc=x(x/c++x/cc times)

Được biết, xmodc khó đối với AC0 đối với bất kỳ c nào không phải là lũy thừa của 2 . Do đó, x/c khó cho AC0 cho bất kỳ c nào không phải là lũy thừa của 2 .

Như Emil đã lưu ý trong các nhận xét, có một sự giảm dễ dàng cho số nguyên tố lẻ từ (nghĩa là, với ) thành với đầu vào nhị phân: chúng tôi chỉ sử dụng các bit đầu vào là bội số của và sử dụng FLT ( ). cMODciximodcxi{0,1}xmodcp12(p1)imodp=1


Lập luận tương tự áp dụng cho bất kỳ không phải là c
lũy

4
Đó không phải là AC ^ 0 cho khác rất dễ dàng để hiển thị: ví dụ, chúng ta có thể giả định là một số nguyên tố lẻ, và sau đó bạn có thể giảm MOD_p với nó bằng cách sử dụng tất cả lần thứ chút . Hoặc bạn có thể áp dụng phân loại Barrington-Thérien: đó là ngôn ngữ thông thường và đơn điệu cú pháp của nó là một nhóm không cần thiết. xmodccc=p(p1)
Emil Jeřábek 3.0

@Emil Jerabek: Cảm ơn, đây chính xác là sự giúp đỡ tôi cần :)
daniello
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.