คำถามติดแท็ก oracles

คำถามเกี่ยวกับเครื่องจักร oracle ในทฤษฎีความซับซ้อนเชิงคำนวณ Oracles สามารถใช้เป็นตัวบ่งชี้ว่าการแบ่งแยกระหว่างคลาสความซับซ้อนอยู่นอกเหนือขอบเขตของเทคนิคการพิสูจน์บางอย่าง

2
มี oracle เช่นนั้นหรือไม่ที่ SAT มักจะไม่สิ้นสุดในช่วงเวลาแทนเลขชี้กำลัง?
กำหนด -ให้เป็นคลาสของภาษาเช่นที่มีภาษาและสำหรับ ,และไร้ขีด จำกัดเห็นด้วยในทุกกรณีของความยาวn(นั่นคือนี่เป็นคลาสของภาษาที่สามารถ "แก้ไขได้บ่อยครั้งอย่างไม่ จำกัด ในเวลาเอ็กซ์โปเนนเชียล")S U B E X P L L ' ∈ ∩ ε > 0 T ฉันM E ( 2 n ε ) n L L ' nฉันoioioSยูB อีXPSUBEXPSUBEXPLLLL'∈ ∩ε > 0TผมME( 2)nε)L′∈∩ε>0TIME(2nε)L' \in \cap_{\varepsilon > 0} TIME(2^{n^{\varepsilon}})nnnLLLL'L′L'nnn มี oracleที่ - SUBEXP ^ Aหรือไม่? หากเราติดตั้ง …

1
มีเทคนิคที่ไม่เกี่ยวข้องกับการยอมรับหรือไม่?
ในโดเมนจำนวนมากมีเทคนิคบัญญัติที่ทุกคนทำงานในสาขาควรเป็นผู้เชี่ยวชาญ ตัวอย่างเช่นสำหรับการลดพื้นที่ว่างนั้น "เคล็ดลับบิต" สำหรับการแต่งเพลงประกอบด้วยการไม่สร้างเอาต์พุตเต็มของฟังก์ชันที่เขียนขึ้น แต่ขอให้คำนวณผลลัพธ์ใหม่สำหรับเอาต์พุตทุกบิตซึ่งอนุญาตให้เก็บข้อ จำกัด ของ logspace ได้เสมอ คำถามของฉันเกี่ยวกับเทคนิคที่ไม่เกี่ยวข้อง นักทฤษฎีได้อธิบายการดำเนินการที่ไม่เกี่ยวข้องกับพื้นฐานบางอย่างหรือมีกลอุบายที่แตกต่างกันสำหรับการพิสูจน์ที่ไม่เกี่ยวข้อง

3
TM และ oracles ที่ จำกัด ขอบเขตพื้นที่
โดยทั่วไปเคียวรี - เทปสำหรับ oracle จะนับรวมกับความซับซ้อนของอวกาศของ TM อย่างไรก็ตามดูเหมือนเป็นไปได้ที่จะอนุญาตให้ใช้ oracle-tape แบบเขียนอย่างเดียว (เช่นใช้ในการลด L-space) การก่อสร้างดังกล่าวมีประโยชน์หรือไม่? มันให้ผลลัพธ์ที่ไร้สาระโดยเฉพาะอย่างยิ่ง?

2
สำหรับ oracle R แบบสุ่ม BPP จะเท่ากับชุดของภาษาที่คำนวณได้ใน P ^ R หรือไม่?
ชื่อเรื่องสวยมากบอกทุกอย่าง คำถามที่น่าสนใจข้างต้นถูกถามโดย commenter Jay บนบล็อกของฉัน (ดูที่นี่และที่นี่ ) ฉันเดาว่าทั้งสองคำตอบคือใช่และมีหลักฐานที่ค่อนข้างง่าย แต่ฉันไม่เห็นมันเลย (อย่างคร่าวๆแม้ว่าเราจะพยายามแสดงให้เห็นว่าหากภาษาในไม่ได้อยู่ในB P Pดังนั้นมันจะต้องมีข้อมูลร่วมกันที่ไม่มีที่สิ้นสุดของอัลกอริทึมกับRในกรณีนี้มันจะไม่สามารถคำนวณได้เช่นกัน ว่าทิศทางหนึ่งเป็นเล็กน้อย: ภาษาคำนวณในP Rแน่นอนประกอบด้วยB P P ).PRPRP^RB PPBPPBPPRRRPRPRP^R B PPBPPBPP หมายเหตุว่าฉันไม่ได้ถามเกี่ยวกับการเรียนAlmostPซึ่งประกอบด้วยภาษาเหล่านั้นที่อยู่ในสำหรับเกือบทุกR (และเป็นที่รู้จักกันดีเท่ากับB P P ) ในคำถามนี้เราแก้ไขครั้งแรกRแล้วมองไปที่ชุดของภาษาที่คำนวณในP R ในทางกลับกันคนหนึ่งได้พยายามที่จะแสดงให้เห็นว่าหากมีการใช้ภาษาในP Rคือคำนวณแม้สำหรับการแก้ไข oracle สุ่มRแล้วในความเป็นจริงว่าภาษาจะต้องอยู่ในลิตรเมตรo s T PPRPRP^RRRRB PPBPPBPPRRRPRPRP^RPRPRP^RRRRA l m o s t PAlmostPAlmostP คำถามที่เกี่ยวข้องอย่างใกล้ชิดคือว่ามีความน่าจะเป็น 1 ในการสุ่ม oracle หรือไม่RRR M= NPR∩ Co …

2
การสร้างต้นไม้ใหม่จากคิวรีตัวคั่น
สมมติว่าเป็นต้นไม้ที่มีค่าคงที่ซึ่งเราไม่รู้โครงสร้าง ปัญหาคือการส่งออกต้นไม้โดยขอให้สอบถามรูปแบบ: "โหนดอยู่บนเส้นทางจากโหนดไปยังโหนดหรือไม่" สมมติว่าแต่ละแบบสอบถามสามารถตอบได้ในเวลาคงที่โดย oracle เรารู้ค่าของ , จำนวนโหนดในทรี โดยมีวัตถุประสงค์เพื่อลดเวลาที่ใช้ในการส่งออกต้นไม้ในแง่ของnt x a b n nTTTTTTxxxaaabbbnnnnnn มีอัลกอริทึมสำหรับปัญหาข้างต้นหรือไม่o(n2)o(n2)o(n^2) สมมติว่าระดับของโหนดใด ๆ ในมากที่สุด 3TTT สิ่งที่ฉันรู้ กรณีเส้นผ่าศูนย์กลาง bounded เป็นเรื่องง่าย ถ้าเส้นผ่านศูนย์กลางของต้นไม้คือเราจะได้อัลกอริธึมหารและพิชิต:DDD ต้นไม้ไบนารีใด ๆ ที่มีตัวคั่นที่ดีที่แบ่งต้นไม้เป็นองค์ประกอบที่มีขนาดไม่น้อยกว่า 1 / 3n เลือกจุดสุดยอดใด ๆ x ถ้าเป็นป้ายคั่นที่ดีนั้นและรับคืน ค้นหา 3 ประเทศเพื่อนบ้านทั้งหมดของ x ย้ายไปในทิศทางของเพื่อนบ้านที่มีจำนวนโหนดมากที่สุด ทำซ้ำขั้นตอนที่ 2 กับเพื่อนบ้าน เนื่องจากการค้นหาตัวคั่นใช้ขั้นตอนมากที่สุดเราจึงได้อัลกอริทึมO ( n D log n )DDDO ( …

5
P พร้อม oracle การแยกตัวประกอบจำนวนเต็ม
ฉันเพิ่งอ่านคำถาม "การแยกตัวประกอบจำนวนเต็มเป็นปัญหาแบบสมบูรณ์หรือไม่ " คำถาม ... ดังนั้นฉันจึงตัดสินใจใช้ชื่อเสียงของฉัน :-) ถามคำถามอีกข้อมี :P ( Q เป็นเรื่องไม่สำคัญ) ≈ 1QQQP(Q is trivial)≈1P(Q is trivial)≈1P(\text{Q is trivial}) \approx 1 ถ้าเป็น oracle ที่แก้การแยกตัวประกอบจำนวนเต็มพลังของคืออะไร? P AAAAPAPAP^A ฉันคิดว่ามันทำให้การเข้ารหัสคีย์สาธารณะแบบ RSA ไม่ปลอดภัย ... แต่นอกเหนือจากนี้แล้วยังมีผลลัพธ์ที่น่าทึ่งอื่น ๆ อีกหรือไม่

1
ความซับซ้อนขั้นต่ำพยากรณ์ที่แยก PSPACE จากลำดับชั้นพหุนามคืออะไร?
พื้นหลัง เป็นที่ทราบกันว่ามีอยู่พยากรณ์เช่นนั้นอรรถเป็นP S P A C E A ≠ P H AAAAPSPACEA≠PHAPSPACEA≠PHAPSPACE^A \neq PH^A เป็นที่ทราบกันดีอยู่แล้วว่าการแยกนั้นสัมพันธ์กับการทำนายแบบสุ่ม อย่างไม่เป็นทางการคนหนึ่งอาจตีความได้ว่านี่หมายความว่ามีออราเคิลมากมายที่PSPACEPSPACEPSPACEและPHPHPHแยกออกจากกัน คำถาม วิธีที่ซับซ้อนออราเคิลเหล่านี้ที่แยกต่างหากPSPACEPSPACEPSPACEจากPHPHPH H โดยเฉพาะอย่างยิ่งมีออราเคิลA∈DTIME(22n)A∈DTIME(22n)A \in DTIME(2^{2^{n}})เช่นที่ PSPACEA≠PHAPSPACEA≠PHAPSPACE^A \neq PH^A ? เรามี oracleที่และมีความซับซ้อนที่ทราบกันดีหรือไม่?P S P A C E A ≠ P H A AAAAPSPACEA≠PHAPSPACEA≠PHAPSPACE^A \neq PH^AAAA หมายเหตุ:การดำรงอยู่ของออราเคิลอาจมีการแตกสาขาในทฤษฎีความซับซ้อนเชิงโครงสร้าง ดูการอัพเดทต่อไปนี้ด้านล่างสำหรับรายละเอียดเพิ่มเติม อัปเดตพร้อมรายละเอียดเกี่ยวกับเทคนิคขอบล่าง การอ้างสิทธิ์:หากแล้วสำหรับออราเคิลทั้งหมด ,อรรถเป็น∈ P / P o …

1
Oracle Construction for Algorithm ของโกรเวอร์
ในการคำนวณควอนตัมและข้อมูลควอนตัมของไมค์และไอค์อัลกอริทึมของโกรเวอร์มีการอธิบายอย่างละเอียด อย่างไรก็ตามในหนังสือและในคำอธิบายทั้งหมดที่ฉันพบออนไลน์สำหรับอัลกอริทึมของ Grover ดูเหมือนจะไม่มีการเอ่ยถึงวิธีการสร้าง Oracle ของ Grover เว้นแต่ว่าเรารู้อยู่แล้วว่าเรากำลังค้นหาเอาชนะจุดประสงค์ของ ขั้นตอนวิธี โดยเฉพาะคำถามของฉันคือ: ให้ f (x) เช่นนั้นสำหรับบางค่า x, f (x) = 1 แต่สำหรับคนอื่น ๆ ทั้งหมด f (x) = 0 เราจะสร้าง oracle ได้อย่างไรจาก สถานะเริ่มต้นโดยพลการของเรา | x> | y> ถึง | x> | y + f (x)>? รายละเอียดที่ชัดเจนที่สุดเท่าที่จะเป็นไปได้ (อาจเป็นตัวอย่าง?) จะได้รับการชื่นชมอย่างมาก หากการก่อสร้างใด ๆ สำหรับฟังก์ชั่นใด ๆ เป็นไปได้ด้วย …

3
ทฤษฎีความซับซ้อนเมื่อพยากรณ์เป็นส่วนหนึ่งของอินพุต
วิธีที่พบมากที่สุดที่เกิดขึ้นในทฤษฎีความซับซ้อนมีดังนี้: oracle คงที่มีให้พูดเครื่องทัวริงกับทรัพยากรที่มีอยู่อย่าง จำกัด มี แต่วิธีที่ออราเคิลบางครั้งเกิดขึ้นอีกเป็นส่วนหนึ่งของการป้อนข้อมูล ตัวอย่างเช่นสมมติว่าฉันต้องการศึกษาอัลกอริธึมสำหรับคำนวณปริมาตรของโพลีท็อปมิติที่กำหนด โดยทั่วไปจะต้องระบุ polytope โดยจัดทำรายการ facets ของมันหรือการนำเสนอที่ชัดเจนอื่น ๆ อย่างไรก็ตามเราสามารถสร้างปัญหาในการคำนวณปริมาตรของโพลีท็อปที่ระบุโดยออราเคิลปริมาณที่ใช้พิกัดของจุดในอวกาศเป็นอินพุทและเอาท์พุท "ใช่" ถ้าและถ้าจุดที่กำหนดอยู่ภายใน polytope จากนั้นเราสามารถถามได้ว่าทรัพยากรการคำนวณใดที่จำเป็นในการคำนวณปริมาตรของ polytope ที่ระบุไว้ในลักษณะนี้ ในกรณีนี้เรามีรูปแบบการประมาณเวลาพหุนามที่ดีมากของ Dyer, Frieze และ Kannan และน่าสนใจจากมุมมองของทฤษฎีความซับซ้อนการพิสูจน์ว่าการสุ่มช่วยในวิธีที่สำคัญสำหรับปัญหานี้โดยที่ไม่มีอัลกอริธึมที่กำหนดได้ ดำเนินการเช่นเดียวกับอัลกอริทึม Dyer-Frieze-Kannan มีวิธีที่เป็นระบบในการศึกษาทฤษฎีความซับซ้อนของปัญหาที่มีการจัดออราเคิลไว้เป็นส่วนหนึ่งของข้อมูลหรือไม่? มันช่วยลดทฤษฏีของคลาสความซับซ้อนที่มีออราเคิลหรือไม่? ฉันเดาว่าไม่ได้และเนื่องจากมีหลายวิธีมากเกินไปที่ oracle สามารถจัดหาให้เป็นส่วนหนึ่งของข้อมูลได้ทุกปัญหาของการจัดเรียงนี้จะต้องได้รับการจัดการในลักษณะที่เป็นกิจวัตร อย่างไรก็ตามฉันยินดีที่จะพิสูจน์ว่าผิดในจุดนี้

2
Simulator ที่หลบหนีของ Zero-Knowledge Protocol ในโมเดล Oracle แบบสุ่ม
ในกระดาษเรื่อง "On Deniability ในสตริงอ้างอิงทั่วไปและโมเดล Oracle แบบสุ่ม" Rafael Pass เขียน: เราทราบว่าเมื่อการพิสูจน์ความปลอดภัยตามนิยามศูนย์ความรู้มาตรฐานในรุ่น RO [Random Oracle] ตัวจำลองมีข้อดีสองประการเหนือตัวจำลองแบบธรรมดาคือ เครื่องจำลองสามารถดูได้ว่าฝ่ายใดสอบถามค่าพยากรณ์ใน เครื่องมือจำลองสามารถตอบแบบสอบถามเหล่านี้ในแบบที่มันเลือกตราบเท่าที่คำตอบ "ดู" ตกลง เทคนิคแรกคือความสามารถในการ "ติดตาม" การสืบค้น RO เป็นเรื่องธรรมดามากในเอกสารทั้งหมดที่อ้างถึงแนวคิดของศูนย์ความรู้ในแบบจำลอง RO ตอนนี้ให้พิจารณานิยามของzero-knowledge -black-box ( PPTหมายถึงความน่าจะเป็น, เครื่องทัวริงพหุนาม - เวลา ): a PPT simulator S , เช่นนั้น ∀ (อาจจะโกง) PPT verifier V ∗ , ∀อินพุตทั่วไป x ∈ L , …

1
วงจรกับ oracles เทียบกับ Turing Machines กับ oracles
กล่าวอย่างง่ายๆคืออะไรการติดต่อกันระหว่างเครื่องจักรทัวริงกับ oracles และตระกูลวงจรที่มี oracles? วิธีหลังถูกกำหนดเพื่อให้ได้แบบจำลองการคำนวณเดียวกันสำหรับเครื่องพยากรณ์ทัวริงที่กำหนด? นี่อาจเป็นคำถามระดับประถม แต่ก็ไม่ชัดเจนว่าจะต้องดูที่ไหนและฉันเป็นคนประเภทที่ชอบที่จะทำให้แน่ใจว่ารากฐานของฉันกำลังใช้ปูนคุณภาพดี หากมีการอ้างอิงมาตรฐานโปรดชี้ฉันไปที่มัน (ตัวอย่างเช่นหนังสือของ Papadimitriou ดูเหมือนจะไม่อธิบายวงจรที่มี oracles เลย) สมมุติฐานการทำงานของฉันคือ: ชุดวงจรตระกูลที่มีการเข้าถึง oracle (เช่นสำหรับการแก้ปัญหา NP-complete) ถูกกำหนดดังนี้: หนึ่งกำหนดตระกูลอนันต์ของ "oracle gates" O n , หนึ่งสำหรับแต่ละขนาดวงจร n, แต่ละอันคำนวณฟังก์ชัน f n : {0,1} cn → {0,1} สำหรับค่าคงที่บางค่า ฟังก์ชั่น f nคำนวณโดย oracle gates O nควรเป็น "ชุด" ในแง่ต่อไปนี้: สำหรับ n <N และx ∈ …

1
การบีบอัดข้อมูลเกี่ยวกับปัญหาการหยุดทำงานของเครื่อง oracle ทัวริง
ปัญหาการหยุดชะงักเป็นที่รู้จักกันดีว่าไม่สามารถคำนวณได้ อย่างไรก็ตามมันเป็นไปได้ที่จะอธิบาย "บีบอัด" ข้อมูลเกี่ยวกับปัญหาการหยุดชะงักเพื่อชี้แจงว่าการบีบอัดมันคำนวณได้ แม่นยำยิ่งขึ้นเป็นไปได้ที่จะคำนวณจากคำอธิบายของเครื่องทัวริงและคำแนะนำn- bit ระบุคำตอบของปัญหาการหยุดทำงานสำหรับเครื่องทัวริงทั้งหมด2 n - 1โดยสมมติว่าสถานะคำแนะนำนั้นน่าเชื่อถือ - เรา ให้ที่ปรึกษาของเราเลือกบิตเพื่ออธิบายจำนวนเครื่องจักรทัวริงที่หยุดในไบนารีรอจนกว่าจะมีหลายหยุดและเอาท์พุทที่เหลือไม่หยุด2n- 12n−12^{n}-1nnn2n- 12n−12^{n}-1 อาร์กิวเมนต์นี้เป็นตัวแปรที่เรียบง่ายของการพิสูจน์ว่าค่าคงที่ของ Chaitin สามารถใช้ในการแก้ปัญหาการหยุดชะงัก สิ่งที่ทำให้ฉันประหลาดใจก็คือมันคม ไม่มีแผนที่ที่คำนวณได้จากคำอธิบายของทัวริงแมชชีนและคำแนะนำn- bit ไปจนถึง2 nบิตของการหยุดการทำงานที่ได้รับคำตอบที่ถูกต้องสำหรับ tuple ของทัวริงแต่ละเครื่องสำหรับ tuple บิต หากมีเราสามารถสร้างตัวอย่างโดยการทำให้เส้นทแยงมุมกับเครื่องทัวริง2 n แต่ละเครื่องจำลองสิ่งที่โปรแกรมทำในการจัดเรียงหนึ่งใน2 n ที่เป็นไปได้ของnบิตจากนั้นเลือกสถานะการหยุดของตนเองเพื่อละเมิดการทำนาย2n2n2^nnnn2n2n2^n2n2n2^n2n2n2^nnnn มันเป็นไปไม่ได้ที่จะบีบอัดข้อมูลเกี่ยวกับปัญหาการหยุดชะงักของเครื่องจักรทัวริงด้วย oracle หยุดนิ่งเลย (โดยไม่ต้องเข้าถึง oracle บางชนิดด้วยตัวเอง) เครื่องจักรสามารถจำลองสิ่งที่คุณทำนายในอินพุตที่เป็นไปได้ทั้งหมดโดยไม่สนใจสิ่งที่คุณไม่หยุดและเลือกช่วงเวลาหยุดของพวกเขาเพื่อให้คำตอบแรกของคำศัพท์ สิ่งนี้ทำให้ฉันคิดว่าเกิดอะไรขึ้นกับออราเคิลอื่น ๆ : มีตัวอย่างของ oracle ที่ปัญหาการหยุดเครื่องจักรของทัวริงกับ oracle นั้นสามารถบีบอัดได้ที่อัตราการเติบโตปานกลางระหว่างเส้นตรงและเลขชี้กำลังหรือไม่? f(n)f(n)f(n)mmmmmmnnnmmmmmmnnnmmm111000 n&lt;f(n)&lt;2n−1n&lt;f(n)&lt;2n−1n<f(n)<2^{n}-1ω(n)=f(n)=o(2n)ω(n)=f(n)=o(2n)\omega(n)=f(n)=o(2^n)

1
ทฤษฎีบทของ Kannan บอกเป็นนัยว่า NEXPTIME ^ NP ⊄ P / poly หรือไม่?
ผมอ่านกระดาษ Buhrman และโฮเมอร์“วงจร Superpolynomial เกือบเบาบางออราเคิลและชี้แจงลำดับชั้น” ที่ด้านล่างของหน้า 2 พวกเขากล่าวว่าผลลัพธ์ของ Kannan บอกเป็นนัยว่าไม่มีวงจรขนาดพหุนาม ฉันรู้ว่าในลำดับชั้นเวลาชี้แจงเป็นเพียงและฉันก็รู้ว่าผลลัพธ์ของ Kannan คือเช่นc) แน่นอนว่าทฤษฎีบทบอกว่า (เพื่อให้เป็นกรณีที่เราจะต้องแสดงให้เห็นว่า\ มีอยู่จริง \ \ L \ in \ Sigma_2Pเช่นนั้น\ forall c , L \ not \ in ขนาด (n ^ c)อย่างไรก็ตามฉันไม่เห็นว่าผลลัพธ์ของ Kannan มีความหมายอย่างไรNEXPTIMENPNEXPTIMENPNEXPTIME^{NP}NEXPTIMENPNEXPTIMENPNEXPTIME^{NP}Σ2EXPΣ2EXP\Sigma_2EXP∀c ∃L∈Σ2P∀c ∃L∈Σ2P\forall c\mbox{ }\exists L\in\Sigma_2PL∉Size(nc)L∉Size(nc)L \not\in Size(n^c)Σ2P⊄P/polyΣ2P⊄P/poly\Sigma_2P \not\subset P/poly∃L∈Σ2P∃L∈Σ2P\exists L\in\Sigma_2P∀c∀c\forall cL∉Size(nc)L∉Size(nc)L \not\in Size(n^c)NEXPTIMENP⊄P/polyNEXPTIMENP⊄P/polyNEXPTIME^{NP} …

1
เป็น oracle
ไม่ถือไว้หรือไม่NPNP∩coNP=NPNPNP∩coNP=NP\mathsf{NP^{NP \,\cap\, coNP}=NP} เห็นได้ชัดว่าแต่สำหรับฉันแล้วดูเหมือนว่าN P ∩ c o N Pคือ "กำหนดขึ้น" ซึ่งทำให้ฉันเชื่อว่านี่เป็นความจริงNPNP≠NPNPNP≠NP\mathsf{NP^{NP}\neq NP}NP∩coNPNP∩coNP\mathsf{NP\cap coNP} มีหลักฐานง่าย ๆ (หรืออาจเป็นแค่คำจำกัดความ)?

1
ออราเคิลเทียบกับ
XXXBPPX⊈Δ2PXBPPX⊈Δ2PX\mathsf{BPP}^X \nsubseteq \mathsf{\Delta_2 \mathsf{P}}^XBPPX⊈PNPXBPPX⊈PNPX\mathsf{BPP}^X \nsubseteq \mathsf{P}^{\mathsf{NP}^X} คำถามนี้ได้รับแรงบันดาลใจบางส่วนจากคำตอบของฉันต่อคำถาม“ อะไรคือสิ่งที่รู้กันดีเกี่ยวกับบทพิสูจน์แบบโต้ตอบหลายตัวพร้อมข้อความสั้น ๆ ” โดย Joe Fitzsimons ฉันโพสต์คำถามนี้ในmath.stackexchange.comเมื่อวันที่ 2 ตุลาคม แต่ฉันไม่ได้รับคำตอบและลบคำถามเกี่ยวกับคณิตศาสตร์ที่ติดตามโพสต์นี้ใน meta.math

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.