15 svar
323 visningar
SeriousCephalopod 2696
Postad: 18 jan 2022 00:16 Redigerad: 25 apr 2022 10:15

Hur många fylogenetiska träd?

Baserat på tråden https://www.pluggakuten.se/trad/fylogenetiskt-trad/ inspirerades jag till att formulera följande kluring/problem. Något klumpigt laddar jag upp det som en bild för skissade det som en poster att sätta upp i fikarummet på jobbet för att fortsätta distrahera mina kollegor.

Aloosher 238
Postad: 18 jan 2022 08:44
Visa spoiler

Kan det vara 28? Vet inte varför jag fick den siffran hahaha 

SeriousCephalopod 2696
Postad: 18 jan 2022 08:48
Aloosher skrev:
Visa spoiler

Kan det vara 28? Vet inte varför jag fick den siffran hahaha 

Jag fick ett annat tal (i samma storleksordning) men kan ju vara för att du tolkat problemet annorlunda än jag tänkt. Enda sättet man kan veta det är att redovisa sin metod : )

Aloosher 238
Postad: 18 jan 2022 08:57
SeriousCephalopod skrev:
Aloosher skrev:
Visa spoiler

Kan det vara 28? Vet inte varför jag fick den siffran hahaha 

Jag fick ett annat tal (i samma storleksordning) men kan ju vara för att du tolkat problemet annorlunda än jag tänkt. Enda sättet man kan veta det är att redovisa sin metod : )

Visa spoiler

Jag tänkte såhär, det finns totalt 2 träd du kan bilda, en med 1 gren och 3 grenar bredvid varandra och en med 2 grenar och 2 grenar. 

I trädet med 2 stycken 2 grenar så finns det totalt 6 sätt att kombinera insekterna, 6 * 1  (Anledningen till att det inte är 4*3*2*1 är för att insekt 1, insekt 2 och insekt 2, insekt 1 i samma "grenträd" räknas som samma så det blir 4 choose 2 gånger 2 choose 2.)

I trädet med 3 grenar och 1 gren så finns det totalt 4 sätt att kombinerna insekterna, 1 * 4 (samma anledning som ovan). 

 

Totalt blir det då 10 sätt. (Jag tänkte först i huvudet när jag fick 28 men tänkte på samma sätt, är det rätt?): 

SeriousCephalopod 2696
Postad: 18 jan 2022 09:10 Redigerad: 18 jan 2022 09:11

@Aloosher

Visa spoiler

Grundlogiken tycker jag ser rimlig ut, att dela upp i två  typer av träd och räkna hur man kan placera djuren i de räden, men jag är inte riktigt med på vad du menar med "1 gren och 3 grenar"-fallet. 

 

nigus 52
Postad: 18 jan 2022 11:00
Visa spoiler

https://oeis.org/A001147 ?

SeriousCephalopod 2696
Postad: 18 jan 2022 12:27 Redigerad: 18 jan 2022 12:28
nigus skrev:
Visa spoiler

https://oeis.org/A001147 ?

Faller inte under accepterade lösningar så som listade :P . Men ja...! det är serien.

nigus 52
Postad: 18 jan 2022 12:53
SeriousCephalopod skrev:
nigus skrev:
Visa spoiler

https://oeis.org/A001147 ?

Faller inte under accepterade lösningar så som listade :P . Men ja...! det är serien.

Visa spoiler

OK, trevligt problem. Jag hittade första termerna med rekursionen 

f(n)=i=1n-1f(i)f(n-i)ni2f(n) = \frac{\sum_{i=1}^{n-1}f(i)f(n-i)\binom{n}{i}}{2}

Så vi testar alla möjligheter för trädets första förgrening, det finns $\binom{n}{i}$ sätt att välja delmängden för det vänstra subträdet, och $f(i)f(n-i)$ sätt att konstruera de två subträden. Sedan måste vi dela med två för att slippa dubbelräkning eftersom vi kan byta plats på de två subträden. 

Fast jag vet inte hur man går från rekursionen till (2n-1)!!. Eller induktion funkar men det är lite fusk tycker jag. Finns det någon fin bijektion eller något?

SeriousCephalopod 2696
Postad: 18 jan 2022 13:33

Sammanhanget var att jag var intresserad av rekursiva algoritmer för att generera själva graferna snarare än att räkna antal så kan inte säga så mycket om kombinatoriska förenklingar för att få enklare formel för antalet.

Aloosher 238
Postad: 18 jan 2022 21:29 Redigerad: 18 jan 2022 21:30
SeriousCephalopod skrev:

@Aloosher

Visa spoiler

Grundlogiken tycker jag ser rimlig ut, att dela upp i två  typer av träd och räkna hur man kan placera djuren i de räden, men jag är inte riktigt med på vad du menar med "1 gren och 3 grenar"-fallet. 

 

Jag gör en snabb illustration: 

Men vad ska man få för svar? 

SeriousCephalopod 2696
Postad: 18 jan 2022 22:48

Trädet till vänster är inte ett tillåtet träd. Poängen med fylogenetiska träd är att man ska kunna avgöra vilka arter som är närmast släkt. Har man en tregrening så kan man inte se vilket par som är närmast släkt.

Trädet till vänster måste se ut lite mer som

I slutändan kommer svaret, när man summerar möjligheterna i de två träden att bli

Visa spoiler 15
Aloosher 238
Postad: 19 jan 2022 08:30
SeriousCephalopod skrev:

Trädet till vänster är inte ett tillåtet träd. Poängen med fylogenetiska träd är att man ska kunna avgöra vilka arter som är närmast släkt. Har man en tregrening så kan man inte se vilket par som är närmast släkt.

Trädet till vänster måste se ut lite mer som

I slutändan kommer svaret, när man summerar möjligheterna i de två träden att bli

Visa spoiler 15

Det är logiskt faktiskt. I trädet med 2, 2 grenar finns 3 kombinationer (för i lättare ord finns det 6 "par" av insekter man kan skapa och om du väljer exempelvis par 1 så kommer du få par 2 automatiskt i den andra gruppen av grener men om du tar par 2 så får du också par 1 automatiskt i den andra grenen så du överäknar 6 dubbelt så du delar det med 2 för att få 3) och i det nya trädet finns det 12 kombinationer för det finns 6 sätt du kan kombinera grenerna längst åt höger och sen kan du multiplicera det med 2 för de två sista insekternas plats spelar roll. Man kan även göra tvärtom, 4 *3 * 1 = 12. 

12+3 = 15. 

Smutsmunnen 1048
Postad: 23 jan 2022 00:06

För n>1 finns det (2n-3)!! möjligheter.

Om det finns intresse kan jag bevisa det, annars lämnar jag det som en överskurskluring för den som känner sig hågad.

Behövs ingen avancerad matematik för att bevisa, typ bara sådant som ingår i en första kurs i diskret matematik.

En lista över alla kombinationer, illustrerad med tvåpotenser för enkelhetens skull. Vi döper de fyra djuren till 1, 2, 4, respektive 8. Barnet till två djur skrivs som summan av föräldrarnas tal. 

Visa spoiler

Den första möjligheten är att trädet är ett "V", följt av två extra grenar. Det ger tolv möjligheter.

1. Gen 1:12Gen 2: 34Gen 3: 78Gen 4: 15

2. Gen 1:12Gen 2: 38Gen 3: 114Gen 4: 15

3. Gen 1:14Gen 2: 52Gen 3: 78Gen 4: 15

4. Gen 1:14Gen 2: 58Gen 3: 132Gen 4: 15

5. Gen 1:18Gen 2: 92Gen 3: 114Gen 4: 15

6. Gen 1:18Gen 2: 94Gen 3: 132Gen 4: 15

7. Gen 1:24Gen 2: 61Gen 3: 78Gen 4: 15

8. Gen 1:24Gen 2: 68Gen 3: 141Gen 4: 15

9. Gen 1:28Gen 2: 101Gen 3: 114Gen 4: 15

10. Gen 1:28Gen 2: 104Gen 3: 141Gen 4: 15

11. Gen 1:48Gen 2: 121Gen 3: 132Gen 4: 15

12. Gen 1:48Gen 2: 122Gen 3: 141Gen 4: 15

 

Vi har även möjligheten att trädet ser ut som två "V:n", som sedan förenas. Det ger tre möjligheter: 

1. Gen 1:1248Gen 2:312Gen 3:15

 

2. Gen 1:1428Gen 2:510Gen 3:15

 

3. Gen 1:1824Gen 2:96Gen 3:15

 

Kul uppgift!

Smutsmunnen 1048
Postad: 24 jan 2022 13:54 Redigerad: 24 jan 2022 13:57

Måttligt intresse för min generella lösning.

Jag kör ändå, jag har lite grejer jag behöver prokastinera.

Visa spoiler

Huvudidén är följande antal fylogenetiska träd med n+1 arter är lika med antal sätt att välja ett fylogenetiskt träd med n arter och sedan välja en nod i det trädet. I princip väljer vi först hur trädet skulle sett ut utan art n+1 och sedan väljer vi vid vilken nod vi ska stoppa in art n+1.

Vad vi visar först är att antalet noder i ett fylogenetiskt träd med n arter är 2n-1. 

Vi börjar med lite terminologi. Noden som är "the common ancestor" kallar vi roten. Noderna längst ner som svarar mot en specifik art kallar vi löv. Noder däremellan kallar vi grenar.

Observera att roten har grad 2, löven grad 1 och grenar grad 3. Vi vet att det finns 1 rot och n löv. Säg att det finns k grenar. Eulers formel ger

Noder-kanter+ytor =2

Ett träd har inga slutna ytor så ytor=1 och vi får

Noder-kanter =1

Noder är n+1+k. Summan av alla noders gradtal är 2+3k+n, Antal kanter är hälften av detta. Löser vi det ekvationssystemet får vi k=n-2. Totalt antal noder är alltså 1, rot, n-2 grenar, n löv, det vill säga 2n-1 noder.

Vi har ju nu ett binärt träd, så varje icke-löv har två noder under sig, vilka vi tänka på som en högernod och en vänsternod. Bara rent konventionsmässigt antar vi art n+1 alltid är i en högernod.

Givet en nod i ett träd, kallar vi den noden och alla noder under den för ett delträd.

Betrakta nu ett fylogeneiskt träd med n+1 arter. 

Lövet för art n+1 är då högernod för någon nod u, vars vänsternod v är rot till ett delträd T. Suddar vi bort lövet för art n+1 samt u och ersätter u med T, med rot i v, så får vi ett fylogenetiskt med n arter.

Omvänt, givet ett fylogenetiskt träd med n arter, kan vi välja en nod v, som är rot till delträdet T, ersätta v med u, en nod som har ett löv för art n+1 som högernod och som har delträdet T med rot v, som vänsternod.

Det finns alltså lika många träd för n+1 arter som det finns sätt att välja träd med n arter och sedan välja en nod i det trädet. Varje träd för n arter har 2n-1 noder så vi får,

a_(n+1)=a_n*(2n-1)

som tillsammans med initialvillkoret a_1=1 ger a_n =(2n-3)!! för n>1.

 

 

 

Aloosher 238
Postad: 24 jan 2022 23:14 Redigerad: 24 jan 2022 23:15
Smutsmunnen skrev:

Måttligt intresse för min generella lösning.

Jag kör ändå, jag har lite grejer jag behöver prokastinera.

Visa spoiler

Huvudidén är följande antal fylogenetiska träd med n+1 arter är lika med antal sätt att välja ett fylogenetiskt träd med n arter och sedan välja en nod i det trädet. I princip väljer vi först hur trädet skulle sett ut utan art n+1 och sedan väljer vi vid vilken nod vi ska stoppa in art n+1.

Vad vi visar först är att antalet noder i ett fylogenetiskt träd med n arter är 2n-1. 

Vi börjar med lite terminologi. Noden som är "the common ancestor" kallar vi roten. Noderna längst ner som svarar mot en specifik art kallar vi löv. Noder däremellan kallar vi grenar.

Observera att roten har grad 2, löven grad 1 och grenar grad 3. Vi vet att det finns 1 rot och n löv. Säg att det finns k grenar. Eulers formel ger

Noder-kanter+ytor =2

Ett träd har inga slutna ytor så ytor=1 och vi får

Noder-kanter =1

Noder är n+1+k. Summan av alla noders gradtal är 2+3k+n, Antal kanter är hälften av detta. Löser vi det ekvationssystemet får vi k=n-2. Totalt antal noder är alltså 1, rot, n-2 grenar, n löv, det vill säga 2n-1 noder.

Vi har ju nu ett binärt träd, så varje icke-löv har två noder under sig, vilka vi tänka på som en högernod och en vänsternod. Bara rent konventionsmässigt antar vi art n+1 alltid är i en högernod.

Givet en nod i ett träd, kallar vi den noden och alla noder under den för ett delträd.

Betrakta nu ett fylogeneiskt träd med n+1 arter. 

Lövet för art n+1 är då högernod för någon nod u, vars vänsternod v är rot till ett delträd T. Suddar vi bort lövet för art n+1 samt u och ersätter u med T, med rot i v, så får vi ett fylogenetiskt med n arter.

Omvänt, givet ett fylogenetiskt träd med n arter, kan vi välja en nod v, som är rot till delträdet T, ersätta v med u, en nod som har ett löv för art n+1 som högernod och som har delträdet T med rot v, som vänsternod.

Det finns alltså lika många träd för n+1 arter som det finns sätt att välja träd med n arter och sedan välja en nod i det trädet. Varje träd för n arter har 2n-1 noder så vi får,

a_(n+1)=a_n*(2n-1)

som tillsammans med initialvillkoret a_1=1 ger a_n =(2n-3)!! för n>1.

 

 

 

Wow riktigt snyggt, tror jag iaf för det är ju inte som att jag fattar 

 

Bra jobbat hahaha :d (Jag var faktiskt väldigt intresserad men vågade inte fråga) 

Svara
Close