พารามิเตอร์เชิงสัมพันธ์สามารถกระตุ้นได้อย่างไร


15

มีวิธีธรรมชาติที่จะเข้าใจสาระสำคัญของความหมายเชิงสัมพันธ์สำหรับตัวแปรหลากหลายหรือไม่?

ฉันเพิ่งเริ่มอ่านเกี่ยวกับความคิดเกี่ยวกับตัวแปรเชิงสัมพันธ์, "ประเภทของ La John John Reynolds ', Abstraction และ Parametric Polymorphism" และฉันมีปัญหาในการทำความเข้าใจว่าความหมายเชิงสัมพันธ์เป็นแรงจูงใจ ความหมายชุดทำให้รู้สึกที่สมบูรณ์แบบสำหรับฉันและฉันตระหนักว่าชุดความหมายไม่เพียงพอที่จะอธิบายตัวแปรหลากหลาย แต่กระโดดไปสู่ความหมายเชิงสัมพันธ์ดูเหมือนว่าจะเป็นเวทมนตร์มาจากที่ไหนเลยอย่างสมบูรณ์

มีวิธีการอธิบายบางอย่างตามแนว "สมมติความสัมพันธ์กับประเภทฐานและเงื่อนไขและจากนั้นการตีความคำที่ได้รับนั้นเป็นเพียงความสัมพันธ์ตามธรรมชาติระหว่าง... เช่นและสิ่งที่เป็นธรรมชาติ ...ในภาษาการเขียนโปรแกรมของคุณ "? หรือคำอธิบายตามธรรมชาติอื่น ๆ ?

คำตอบ:


22

พาราเมทริกตี้เชิงสัมพันธ์เป็นหนึ่งในความคิดที่สำคัญที่สุดที่จอห์นเรย์โนลด์แนะนำดังนั้นจึงไม่น่าแปลกใจมากนักที่ดูเหมือนว่าเวทมนตร์ นี่คือเทพนิยายเกี่ยวกับวิธีที่เขาอาจจะคิดค้นมัน

สมมติว่าคุณกำลังพยายามทำให้ความคิดเป็นทางการว่าฟังก์ชั่นบางอย่าง (ตัวตน, แผนที่, พับ, การกลับรายการ) ทำหน้าที่ "แบบเดียวกับหลาย ๆ ประเภท" เช่นคุณมีความคิดที่เข้าใจง่ายเกี่ยวกับตัวแปรพหุสัณฐานและคุณได้กำหนดกฎบางอย่าง สำหรับการสร้างแผนที่ดังกล่าวกล่าวคือ polymorphic λแคลคูลัสหรือตัวแปรต้นของมัน คุณสังเกตเห็นว่าความหมายที่ไร้เดียงสาของทฤษฎีเซตไม่ทำงาน

ตัวอย่างเช่นเราจ้องที่ประเภท

X:Type.XX,
ซึ่งควรมีเฉพาะในแผนที่ของตัวตน แต่ไร้เดียงสาชุดทฤษฎีความหมายช่วยให้การทำงานที่ไม่พึงประสงค์เช่น
λX:Type.λa:X.if (X={0,1}) then 0 else a.
เพื่อกำจัดสิ่งเหล่านี้เราจำเป็นต้องกำหนดเงื่อนไขเพิ่มเติมเกี่ยวกับฟังก์ชั่น ตัวอย่างเช่นเราสามารถลองใช้ทฤษฎีโดเมน: จัดเซตXแต่ละชุดด้วยคำสั่งบางส่วนXและต้องการให้ฟังก์ชันทั้งหมดเป็นเสียงเดียว แต่นั่นไม่ได้ลดลงเพราะฟังก์ชั่นที่ไม่พึงประสงค์ข้างต้นนั้นเป็นค่าคงที่หรือตัวตนขึ้นอยู่กับXและนั่นคือแผนที่โมโนโทน

บางส่วนเพื่อเป็น relfexive, สกรรมกริยาและ antisymmetric เราสามารถลองเปลี่ยนโครงสร้างตัวอย่างเช่นเราสามารถลองใช้คำสั่งบางส่วนที่เข้มงวดหรือคำสั่งเชิงเส้นหรือความสัมพันธ์ที่เท่ากันหรือเพียงแค่ความสัมพันธ์แบบสมมาตร อย่างไรก็ตามในแต่ละกรณีตัวอย่างที่ไม่ต้องการคืบคลานเข้ามาตัวอย่างเช่นความสัมพันธ์แบบสมมาตรกำจัดหน้าที่ที่ไม่ต้องการของเรา

จากนั้นคุณสังเกตเห็นสองสิ่ง:

  1. ต้องการตัวอย่างที่ไม่เคยตัดความสัมพันธ์กับสิ่งที่คุณใช้ในสถานที่ของคำสั่งซื้อบางส่วน≤
  2. สำหรับตัวอย่างที่ไม่พึงประสงค์ที่คุณต้องการแต่ละครั้งคุณสามารถค้นหาความสัมพันธ์ที่กำจัดมันได้ แต่ไม่มีความสัมพันธ์เดียวที่กำจัดพวกเขาทั้งหมด

ดังนั้นคุณมีความคิดที่ยอดเยี่ยมว่าฟังก์ชันที่ต้องการคือฟังก์ชันที่รักษาความสัมพันธ์ทั้งหมดไว้และโมเดลเชิงสัมพันธ์เกิดขึ้น


1
ขอบคุณ Andrej สิ่งนี้ทำให้เกิดคำถามเพิ่มเติม: มีความสัมพันธ์ย่อยที่เล็กกว่าที่กำจัดตัวอย่างที่ไม่ต้องการทั้งหมดหรือไม่?
Tom Ellis

เราอาจจำกัดความซับซ้อนเชิงตรรกะของความสัมพันธ์ได้เนื่องจากเราต้องกังวลเกี่ยวกับแผนที่ที่คำนวณได้เท่านั้น แต่ฉันไม่เพียงพอที่จะตอบผู้เชี่ยวชาญ ฉันเรียก @UdayReddy
Andrej Bauer

2
@TomEllis ใช่ในกรณีพิเศษคลาสย่อยของความสัมพันธ์อาจพอเพียง กรณีพิเศษที่เกิดขึ้นทันทีที่สุดคือถ้าการดำเนินการทั้งหมดเป็นลำดับแรกฟังก์ชัน (ความสัมพันธ์ทั้งหมดที่มีค่าเดียว) ก็เพียงพอแล้ว สำหรับทุ่งนามอร์ฟอสมีบางส่วนก็เพียงพอ โปรดจำไว้ว่าตัวอย่างชั้นนำของ Reynolds คือฟิลด์ของจำนวนเชิงซ้อนและความสัมพันธ์เชิงตรรกะระหว่าง Bessel และ Descartes นั้นเป็นมอร์ฟิซึ่มบางส่วน
Uday Reddy

4
X.XX

คุณแสดงให้เห็นว่าถ้าคุณตีความประเภทเป็นชุดแล้วมีฟังก์ชั่นที่ไม่ต้องการ ไม่เหมือนกันกับความสัมพันธ์? \X:Type. \a:X. if X = {(0,0), (1,0), (0,1), (1,1)} then 0 else a
จูลส์

11

คำตอบสำหรับคำถามของคุณมีอยู่ในนิทานของ Reynolds (ส่วนที่ 1) ให้ฉันลองตีความมันให้คุณฟัง

ในภาษาหรือเป็นทางการซึ่งเป็นประเภทที่ถือเป็นabstractionsตัวแปรประเภทสามารถยืนหยัดเพื่อความคิดนามธรรมใด ๆ เราไม่คิดว่าประเภทนั้นจะถูกสร้างขึ้นผ่านทาง syntax ของ type term หรือคอลเล็กชันคงที่ของตัวดำเนินการชนิดหรือว่าเราสามารถทดสอบสองประเภทสำหรับความเท่าเทียมกันเป็นต้นในภาษานั้นถ้าฟังก์ชั่นนั้นเกี่ยวข้องกับตัวแปรประเภทเท่านั้น สิ่งที่ฟังก์ชั่นสามารถทำได้กับค่าของประเภทนั้นคือการสับเปลี่ยนค่าที่ได้รับ มันไม่สามารถประดิษฐ์ค่าใหม่ของประเภทนั้นได้เพราะมันไม่ "รู้" ว่ามันคืออะไร! นั่นคือความคิดที่ใช้งานง่ายของparametricity

tAAR:AAxAxAxxRtxxRxx

AAAAAA

RIKKt×IntInt×tR×IIntIInt×Rf(x,n)(x,n)(m,x)(m,x)F(IA1,,IAn)=IF(A1,,An) คุณสมบัติ

tttIntInttt×tt×t(tt)t(tt)(tt)


ในที่สุดการอัญเชิญของฉันก็ใช้ได้!
Andrej Bauer

2
@AndrejBauer อืมฉันไม่ได้เรียกจริง อาจเป็นได้ว่าคาถา @ UdayReddy ใช้งานได้เฉพาะตอนเริ่มต้นความคิดเห็น ไม่ว่าในกรณีใด ๆ ไม่จำเป็นต้องเรียก "Parametricity" เป็นหนึ่งในตัวกรองของฉัน
Uday Reddy

"สิ่งเดียวที่ฟังก์ชั่นสามารถทำได้กับค่าของประเภทนั้นคือการสับเปลี่ยนค่าที่ได้รับ" - ที่จริงนอกเหนือจากการสับแล้วฟังก์ชันสามารถลบค่าที่กำหนด (ลดลง) และคัดลอก (หดตัว) เนื่องจากการดำเนินการเหล่านี้พร้อมใช้งานเสมอค่าจึงไม่เป็นนามธรรมอย่างที่ควรจะเป็น
Łukasz Lew

@ ŁukaszLewคุณพูดถูก ฉันไม่ทราบว่าสิ่งนี้อาจมีลักษณะเป็นการสูญเสีย "สิ่งที่เป็นนามธรรม" ได้หรือไม่
Uday Reddy

@UdayReddy ผมได้ลบยกย่องและถามนี้เป็นคำถามแบบสแตนด์อะโลน
Łukasz Lew

3

ω

ยิ่งไปกว่านั้นมันเป็นการดึงดูดให้ระบุฟังก์ชันที่มีพฤติกรรมแบบมิติเดียวกันซึ่งนำไปสู่ความสัมพันธ์ที่เท่าเทียมกัน ความสัมพันธ์เป็นบางส่วนถ้าเราแยกฟังก์ชั่น "ไม่ได้กำหนด" นั่นคือฟังก์ชั่นที่ "ลูป" สำหรับอินพุตที่มีรูปแบบที่ดี

รุ่น PER นั้นเป็นลักษณะทั่วไปของสิ่งนี้

วิธีการที่จะดูรูปแบบเหล่านี้จะเป็น (มาก) กรณีพิเศษของรุ่นชุด simplicial อีกHomotopy ประเภททฤษฎี ในกรอบนั้นประเภทถูกตีความว่าเป็น (ความเห็นโดยทั่วไป), ชุดที่มีความสัมพันธ์และความสัมพันธ์ระหว่างความสัมพันธ์เหล่านั้น ฯลฯ ในระดับต่ำสุดเราก็มีโมเดล PER

ในที่สุดสาขาคณิตศาสตร์เชิงสร้างสรรค์ได้เห็นลักษณะที่ปรากฏของแนวคิดที่เกี่ยวข้องโดยเฉพาะทฤษฎีเซตของบิชอปที่เกี่ยวข้องกับการอธิบายชุดโดยให้ทั้งสององค์ประกอบและความสัมพันธ์ความเท่าเทียมกันอย่างชัดเจนซึ่งจะต้องเทียบเท่า เป็นเรื่องปกติที่จะคาดหวังว่าหลักการทางคณิตศาสตร์เชิงสร้างสรรค์บางอย่างของพวกเขาจะนำไปสู่ทฤษฎีประเภท


1
อ้า แต่รุ่น PER นั้นไม่ค่อยดีนักและสามารถมีฟังก์ชั่น polymorphic ที่เป็นที่ต้องการได้ หนึ่งจะต้องผ่านไปยังรุ่น PER เชิงสัมพันธ์เพื่อกำจัดพวกเขา
Andrej Bauer

ฉันยังคงรู้สึกว่ามันเป็นแรงบันดาลใจในการเข้าถึงความสัมพันธ์
ดี้

@cody ฉันเห็นด้วย. ฉันคิดว่า PERs เป็นวิธีการสร้างความสัมพันธ์ใน "ทฤษฎีเซต" เพื่อให้เราสามารถสร้างแบบจำลองที่น่าประทับใจได้ตั้งแต่แรก ขอบคุณที่กล่าวถึงทฤษฎีประเภท Homotopy ฉันไม่รู้ว่ามันมีแนวคิดที่คล้ายกัน
Uday Reddy

@UdayReddy: ความคิดคล้ายกันมาก! โดยเฉพาะอย่างยิ่งแนวคิดของ "การติดตั้งใช้งานที่พึ่งพากันได้" ซึ่งเกี่ยวข้องกับประเภทนามธรรมที่มีการอ้างอิงสามารถเข้าใจได้ผ่านเลนส์ของความเสมอภาคที่ไม่เป็นเอกภาพ
ดี้
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.